Fragment Offset alanının bayt cinsinden değil 8 baytlık birimlerle ifade edildiğini unutmayın. Bu, son bölüm hariç, parçanın her birindeki yük boyutunun 8 bayttan fazla olması gerektiğinden kaynaklanır.
Fragman Dengesi 13 bit olarak kodlandığında, aralığının 0 ile 8191 birim 8 bayt arasında olmasıyla sonuçlanır. Bununla birlikte, Toplam Uzunluk, IP Başlığını da dikkate aldığından, Parçacık Ofset maksimum sınırı aslında 8191 birim değil, 8191 birimdir, aşağıya bakınız:
Toplam uzunluk 16 bit olarak kodlanmış demektir, bunun anlamı 65535 ile sınırlıdır. bayt. Sonra, IP üstbilgisi en az 20 bayt olduğu için, Yük yükünün maksimum 65535 bayt - 20 bayt = 65515 bayt ile sınırlı olduğu sonucunu verir. Bu 65515 baytın 8 baytlık birimlere bölünmesi, maksimum 8189 birim olabileceğine ve dolayısıyla Parçalanma Dengesinin maksimum 8189 birim ile sınırlı olmasına neden olur.
bir IP parçası 8189, bu maksimum değere Veridilimi değerine sahip olan, en fazla 3 bayt yükü olabilir:
maksimum 65535 bayt - en az 20 bayt - (8189 adet birim * 8 byte) = Wayne onlar verimli verimli bellekte parçalarını saklayabilir, böylece aslında bir satırda, yani uç ana kullanılır ofset aslında artı söyledikleri en fazla 3 bayt
Rurre
Yanıtladığınız gibi @Wayne Shears için teşekkürler: Parça Ofset'i 8192 (2^13) birimi tutabilir [** ortalama birimleri?, byte'ları ifade ediyor? **] ancak datagram'ın 8192 * 8'i olamaz = 65536 bayt veri [** why? **] çünkü IP üstbilgisinin "Toplam Uzunluk" alanı, başlık ve veriler dahil olmak üzere toplam boyutu kaydeder [** tek bildiğim totallength = üstbilgi boyutu + taşıma yüküdür. ve toplam legth boyutu 16, bu yüzden değer 65536 olan 2^16'ya kadar çıkacak mı, yanlış bir şey mi düşündüm? **]. – user991482