Paket gecikmesi dalgalanabilir mi?


Yanıtlar:


9

TCP ve UDP datagramları ne, bu konuda, sırayla gelmesi garanti, ne de aynı yolla, ne de vardır belirtir ki inşa edildiği tepesinde IP protokolü, hiç (teşekkürler hatırlatma için Trevor). Bu nedenle, TCP veya UDP'nin kullanılmasına bakılmaksızın gecikme süresi dalgalanacaktır. Gecikme, kısmen , yolun değişmesi durumunda değişen seyahat mesafesinden ve kısmen de seçilen yol boyunca yönlendirme cihazlarındaki protokol yığını çevirisinden kaynaklanır - bu da yolun değişmesi durumunda da değişir.

Bu, internetin kendi kendini onaran yapısının bir parçasıdır ve her gün yaptığı şeyi yapmasını sağlar: Bir rota, çeşitli yönlendirme cihazlarına programlanan sezgisel yöntemlere göre daha az uygun hale gelirse, bunun yerine başka bir rota seçilecektir. Bu anlık veya uzun süreli olabilir. İnternet olmadan önce, bununla başa çıkmak için tasarlanmış bir savunma ağı olan ARPANET olduğunu unutmayın . ağın bir bütün olarak düşmeden ağın geniş bölümlerinin (nükleer savaşı düşünün) anında kaldırılması. Hasarlı veya ideal olmayan alanların etrafından geçerek, daha büyük ağ çalışmaya devam eder (belki de yetersiz olsa da).


1
Datagramların geleceği garanti edilmez. Yolculukları boyunca herhangi bir noktada sessizce düşebilirler. Yalnızca TCP'nin IP üzerine kurulu aktarımı, ağ iletişimine güvenilirlik yanılsaması katar.
Trevor Powell

Ayrıca Danny Pflughoeft'in cevabına bakın, haklı olarak TCP'nin çalışma şekli nedeniyle ek gecikmeler yaşayacağını ekliyor - paketler kaybolursa, yeniden talep edilecek ve yeniden gönderilecek ve mesaj gecikmesine ek bir gidiş-dönüş süresi ekleyecek. Ve bu keyfi olarak birçok kez olabilir. UDP, sürekli bir güncelleme akışı göndererek ve paket kaybına rağmen simülasyonun ilerleyebileceği durumun üstesinden gelir (ancak bu tür bir sistem hakkında düşünmek ve planlamak için çok daha fazlası).
Mühendis

5

Bu muhtemelen oyun geliştirme sorusu değil, evet. Normal IP bağlantısında, her paket farklı ara "atlama" lardan geçebilir ve her farklı "atlama" farklı gecikme süresine sahip olabilir.

Verilerinizi aktarmak için TCP kullanıyorsanız, protokol bunu sizin için özetler ve paketleri ilk gönderildikleri sırayla teslim etmek için yeniden sıralar; ancak UDP kullanıyorsanız, her bir paketin gecikmesine bağlı olarak paketler arızalı olabilir ve gelebilir.


Özellikle, UDP ve TCP paketleri aynı şekilde yönlendiriliyorsa ve UDP paketleri düzenli olarak sipariş dışı kalıyorsa, bunun yerine TCP kullanarak aynı bağlantı üzerinden "gecikme ani" anlamına gelir.
Martin Sojka


1

Daha önce söylenenlerin yanı sıra, yönlendiricilerin paketleri rastgele bırakmasına izin verildiğini unutmayın , yani TCP'de bir paketin teorik olarak hedefine ulaşması keyfi olarak uzun sürebilir (ve UDP'de asla hedefine ulaşamayabilir!).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.