Internet adalah paket-switched, toleransi kegagalan jaringan. Packet switching berarti
bahwa informasi adalah dipecah menjadi paket-paket kecil (biasanya beberapa byte
atau kilobyte dalam ukuran) dan dikirim dari titik A ke titik B
dengan melintasi struktur Server weblike (yang biasanya
kita sebut dunia maya). Dengan
mengatakan Internet adalah toleransi kegagalan, kita berarti bahwa paket dikirim
menggunakan jalan yang beradaptasi dengan keadaan jaringan, kesalahan,
Server kerusakan, dan sebagainya. Jika
server turun,
paket akan menggunakan jalur alternatif untuk mencapai mereka
tujuan. Sebagai
konsekuensi dari kedua prinsip tersebut, sebuah blok besar informasi yang
dikirim antara dua berkomunikasi rekan-rekan tidak selalu harus mengikuti
rute yang unik. Beberapa
paket yang berbeda mungkin menggunakan jalan untuk mengambil keuntungan dari status jaringan.
Packet-switched jaringan berbeda dari sirkuit berbasis jaringan. Di sirkuit
berbasis jaringan, kita "memiliki" pribadi
komunikasi sirkuit dari asal ke tujuan, yang kita
mengakses secara eksklusif. Dalam
sistem sirkuit, kami memiliki jalan dari asal ke tujuan, dan kami hanya mentransfer semua
informasi sebagai single memblokir. Sebuah
contoh klasik dari sistem tersebut adalah "tradisional" (nondigital)
sistem telepon.
Hal ini sangat intuitif untuk menggambarkan Internet sebagai pabrik besar. Pada salah satu ujung pipa
komunikasi, mesin memecah data ke dalam potongan yang lebih kecil, sehingga dapat
ditransfer efisien. Ini paket
informasi kemudian nomor dan dikirim melalui jaringan yang luas dari server Internet,
kadang-kadang menggunakan rute terpisah. Setelah paket ini mencapai tujuan mereka
(mungkin tidak dalam urutan yang benar), sebuah pabrik
kedua melihat serial angka dan menempatkan data kembali bersama-sama dengan cara yang
berarti.
Jelas, ada dua tugas terjadi pada kecepatan yang
sangat tinggi. Pertama, data terfragmentasi
dan dipasang kembali. Kedua, paket individu yang dikirim melalui Internet. Kedua tugas tersebut dilakukan
oleh dua protokol yang bekerja secara paralel. Transmission Control Protocol (TCP) adalah pemisah data
dan assembler, dan Internet Protocol (IP) menangani routing. Jadi sekarang
Anda tahu apa yang TCP / IP adalah tentang: membagi data menjadi
blok sehingga lebih mudah untuk mentransfer dan kemudian
routing efisien.
Dalam jargon pemrograman jaringan, TCP dikatakan sebagai protokol
berorientasi koneksi. Dengan kata
lain, protokol
membuat sambungan permanen terbuka antara dua (atau lebih) rekan-rekan. Perhatikan bagaimana ini tidak
selalu berarti saluran, komunikasi khusus tetap. Karena IP melakukan routing
dinamis, beberapa Data mungkin mengikuti program yang berbeda untuk mencapai tujuannya. Tapi TCP bekerja di atas IP,
menyediakan logis end-to-end koneksi yang dapat digunakan setiap saat.
TCP / IP dianjurkan untuk jaringan "tradisional". Koneksi berbasis
protokol jaminan FIFO operasi (Data tiba dalam urutan yang benar) dan memastikan bahwa
semua data yang dikirim dari satu ujung dari aliran TCP akan mencapai nya
tujuan. Berbagai
mekanisme memungkinkan penerima untuk mendeteksi paket hilang, kembali
permintaan mereka, dan dengan demikian pastikan semua data diterima (dalam urutan yang benar). Namun, ada sisi
negatifnya: Koneksi berbasis protokol yang lambat. Mereka
harus menunggu beberapa paket untuk tiba untuk membangun kembali urutan awal,
dan mereka memeriksa paket yang hilang. Akibatnya,
mereka menyediakan transmisi aman pada biaya kinerja berkurang.
Protokol lain ada yang dapat digunakan untuk menggantikan TCP dalam TCP /
IP. Ini
adalah protokol yang sangat ringan yang
mengorbankan beberapa "lebih lambat" fitur demi
kecepatan. Ini
adalah User Datagram Protocol (UDP), dan karena tidak memerlukan sambungan aktif, dikatakan
menjadi protokol connectionless. UDP memungkinkan kita untuk
mengirim paket berukuran tetap informasi antara dua titik
akhir. Paket-paket
ini mungkin atau tidak mungkin mencapai mereka tujuan (meskipun mereka hampir selalu dilakukan). Selain itu,
mereka mungkin tidak datang secara berurutan.
Sebuah paket dapat dialihkan melalui jalur server yang
lebih cepat, sehingga melewati paket lain yang dipancarkan sebelumnya. Tapi UDP menawarkan kinerja yang sangat baik. Tabel 10.1 berisi
daftar perbedaan antara TCP dan UDP.
Tabel Perbedaan Antara TCP dan UDP
Namun, akan salah untuk
berpikir UDP sebagai "baik" dan TCP sebagai "buruk" per se.
Protokol yang Anda pilih tergantung pada
apa yang Anda mencoba kode. Jika Anda perlu kode permainan strategi di mana kelambanan
dapat diterima
tapi langkah masing-masing sangat penting demi permainan,
TCP masih merupakan cara untuk pergi. Ini adalah protokol lambat, tetapi mondar-mandir dari permainan Anda akan dapat mengatasinya
dengan baik. Jika Anda perlu kode sesuatu seperti orang yang pertama- penembak berjalan pada 60 fps pada jaringan hari ini, TCP
akan kemungkinan besar akan terlalu lambat untuk Anda, dan paket UDP yang kerugian akan menjadi ketidaknyamanan kecil. Untuk sisa bab ini, kita akan membahas kedua protokol secara detail, menunjukkan contoh baik dalam penggunaan dan mengekspos potensi jebakan, sehingga Anda dapat membuat keputusan tentang mana yang
akan digunakan.
Sumber : ebook berjudul
“Core Techniques and Algorithms in Game
Programming”
0 comments:
Post a Comment