Friday, June 29, 2012

Bagaimana Internet Benar-Benar Bekerja


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