Parçalanmış TCP parçalarının TCP sunucusunda ne kadar süre tutulur


10

Belirli bir TCP parçasının iki IP datagramına bölünmüş olduğunu ve ilk datagramın TCP sunucusuna geldiğini, ancak ikinci datagramın asla ulaşmadığını varsayalım.

Belirli bir süre sonra TCP sunucusu bir kalıcı öğe gönderir ve istemcinin canlı olduğunu belirler. TCP sunucusu bu ilk datagramla ne yapar? İkinci datagramın gelmesi için beklemek mi, yoksa ilk datagramı atmak mı?

Yanıtlar:


8

Parça yeniden montaj zaman aşımı süresi dolduktan sonra, parça düşürülür; diğer ucun yeniden aktarılması gerekir.

Bu zaman aşımı genellikle yapılandırılabilir. Linux'ta varsayılan olarak 30 saniyedir ve üzerinden kontrol edilir /proc/sys/net/ipv4/ipfrag_time.


Parça yeniden montaj zaman aşımı alınan ilk parçaya göre mi, yoksa gelen her parça için zamanlayıcı sıfırlandı mı?
Randomblue

2
Bunu kesin olarak cevaplamak için kaynak kodunu okumanız gerektiğini düşünüyorum.
Michael Hampton

2

Bu sorunun kesin bir cevabı yok;

Eğer görürseniz bu adaptif retransmition ilgili makaleye TCP uygun gecikmeler hesaplanmasında bir faktör olarak RTT'yi kullanır göreceksiniz.

Bu daha ayrıntılı bir makale. Esasen, sadece parçalanma için özel bir zaman aşımı değeri yoktur.

Bu Cisco makalesi, bir IOS XR sanal güvenlik duvarının, kendi yapılandırılabilir zamanlayıcısına sahip parçalar için varsayılan 10 saniyelik bir zaman aşımına sahip olduğunu göstermektedir. Bunu, işletim sistemlerinin ve cihazların farklı davranacağını söylemek için bağlıyorum ve örneğin böyle bir cihazdan bir bağlantı geçiyorsanız, bağlantınızı olumsuz etkileyebilir.

Aynı konfigürasyona sahip iki makineyi bir çaprazlama ile bağlamak ve parçalanma gecikmesinin etkilerini test etmek istiyorsanız oradan test etmeye başlamak en iyisidir.


Teşekkürler. Cisco makalesindeki fragman zaman aşımının ilk alınan fragmana veya son alınan fragmana göre hesaplandığını düşünüyor musunuz?
Randomblue

Son alınan parça birinciden daha mantıklı, ama bilmiyorum, Cisco'nun bu örnekteki takdirine bağlı.
jwbensley
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.