Bisakah paket latensi berfluktuasi?

9

Bisakah waktu yang dibutuhkan untuk paket yang akan dikirim dari klien ke server berfluktuasi?

liamzebedee
sumber

Jawaban:

9

Protokol IP, di atas mana TCP dan UDP dibangun, menentukan bahwa datagram tidak dijamin untuk tiba dalam urutan, atau melalui rute yang sama, atau, dalam hal ini, sama sekali (terima kasih Trevor untuk pengingat). Jadi, terlepas dari apakah TCP atau UDP digunakan, latensi akan berfluktuasi. Latensi sebagian disebabkan oleh jarak yang ditempuh , yang berubah jika jalur berubah, dan sebagian karena terjemahan protokol stack pada perangkat perutean di sepanjang jalur yang dipilih - yang juga berubah jika jalur berubah.

Ini adalah bagian dari sifat perbaikan-diri dari internet, memungkinkannya untuk melakukan apa yang dilakukannya setiap hari: jika satu rute menjadi kurang cocok sesuai dengan heuristik yang diprogram ke dalam berbagai perangkat perutean di sepanjang jalan, rute lain akan dipilih sebagai gantinya. Ini bisa bersifat sementara, atau jangka panjang. Ingat bahwa sebelum internet, itu adalah ARPANET - jaringan pertahanan yang dirancang untuk menangani misalnya. penghapusan instan bagian besar jaringan (pikirkan perang nuklir), tanpa jaringan secara keseluruhan turun. Dengan merutekan area yang rusak atau yang tidak ideal, jaringan yang lebih besar terus berfungsi (meskipun, mungkin, secara optimal).

Insinyur
sumber
1
Layak menambahkan bahwa datagram tidak dijamin akan datang sama sekali. Mereka hanya bisa diam-diam dijatuhkan di mana saja di sepanjang perjalanan mereka. Hanya transport TCP yang dibangun di atas IP yang menambah ilusi keandalan komunikasi jaringan.
Trevor Powell
Juga lihat jawaban Danny Pflughoeft, ia dengan tepat menambahkan bahwa TCP akan mengalami penundaan tambahan karena cara operasinya - jika paket hilang, mereka akan diminta kembali dan dibenci, menambahkan waktu perjalanan pulang pergi tambahan penuh ke latensi pesan. Dan itu bisa terjadi berulang kali secara sewenang-wenang. UDP mengatasi hal ini dengan mengirimkan aliran pembaruan yang terus-menerus, dan di mana simulasi dapat bergerak maju terlepas dari hilangnya paket (namun lebih banyak untuk dipikirkan dan direncanakan dalam sistem semacam ini).
Insinyur
5

Ini mungkin bukan pertanyaan pengembangan game, tapi ya. Dalam koneksi IP normal, setiap paket dapat melalui "hop" perantara yang berbeda, dan masing-masing "hop" yang berbeda mungkin memiliki latensi yang berbeda.

Jika Anda menggunakan TCP untuk mentransfer data Anda, protokol akan mengabstraksi untuk Anda dan akan menyusun ulang paket untuk mengirimkan paket sesuai urutan pengiriman aslinya; namun jika Anda menggunakan UDP, paket dapat dan memang keluar dari urutan, tergantung pada latensi masing-masing paket.

Lie Ryan
sumber
Secara khusus, jika paket-paket UDP dan TCP dirutekan dengan cara yang sama dan paket-paket UDP secara rutin tiba di luar urutan, ini diterjemahkan menjadi "lag spike" melalui koneksi yang sama menggunakan TCP sebagai gantinya.
Martin Sojka
1

Selain dari apa yang telah dikatakan, jangan lupa bahwa router diizinkan untuk menjatuhkan paket secara sewenang - wenang , artinya dalam TCP suatu paket secara teoritis dapat memakan waktu lama secara sewenang-wenang untuk mencapai tujuannya (dan di UDP, mungkin tidak akan pernah mencapai tujuannya!).

BlueRaja - Danny Pflughoeft
sumber