MTU'yu hesaplama konusunda neyi yanlış anlıyorum?


14

Tamam, birkaç Xserves, Netgear GSM7224 ve Drobo B800i arasındaki jumbo çerçeve sorununu çözdüm. Xserves (Mac OS X 10.6.8 Server) ve Drobo B800i'nin MTU'yu normalde beklendiği gibi bayt cinsinden kabul ettiği ortaya çıktı (1500-9000), ancak Netgear'ın çeşitli ethernet üstbilgileri / altbilgileri (fragmanları) da dahil ettiği görülüyor. ) ve sonuçta 9000 MTU ile yapılandırılmış Xserves & Drobo ve Netgear portları 9216 MTU olarak ayarlandım.

Netgear üzerinden iki Xserves arasındaki MTU'yu test etmek ve doğrulamak için aşağıdaki komutları kullandım (Not: bunlar Mac OS X komutlarıdır, Windows ve Linux'lar farklıdır):

ping -D -s <mtu> <ip_address>

traceroute -F <ip_address> <mtu>

Eski kullanım belirtilmektedir içinde mansayfanın "veri sayısı gönderilmek üzere bayt belirtin. Varsayılan ICMP başlık verilerinin 8 byte ile birleştirildiğinde 64 ICMP veri bayt çevirir, hangi 56 olduğunu." Olarak ping -D 1472 <ip_address>Testte, bunun 8 bayt ICMP başlık verisi artı 20 bayt IP başlığı nedeniyle MTU 1500'e eşdeğer olduğunu buldum ( buna ve buna bakın ). Her şey mantıklı.

Şimdi, neden 9000 MTU için eşdeğer komut ping -D -s 8164 <ip_address>? Ben "sendto: Mesaj çok uzun" hataları elde yıldız önce bu sınırı olduğunu doğruladım, ama aynı zamanda 9000 MTU düzgün traceroute -F <ip_address> 9000çalışıyor ve traceroute -F <ip_address> 9001çalışmıyor olarak çalışıyor . Peki, neden 8164? 8972'yi beklerdim (MTU - 28 bayt, tıpkı 1500 MTU için olduğu gibi).

Ayrıca, Netgear için neden 9216 MTU? MAC ve ethernet üstbilgileri (inc. CRC) için 42 bayt artı IP üstbilgileri için (ki MTU'ya yemek gerekir) 20 bayt saydım.

Bu matematikte gerçekten paslıyım ve bir şeyleri kaçırdığımı biliyorum.


1
9216 neredeyse kesinlikle seçildi çünkü 9 x 2 ^ 10.
Chris S

Yanıtlar:


11

Jumbo çerçevelerin garip ve gizemli dünyasına hoş geldiniz! Jumbo çerçeve ethernet donanımının MTU> 1518 ve <65K bayt olması normaldir ve uygun jumbo trafiği sağlamak için L2 alanınızdaki en düşük ortak payda olan bir ayar bulmanız gerekir.

Tahminimce ping / ICMP uygulamanız sadece 8192 bayt yük için çalışıyor, bu nedenle 8164 + 28 (IP başlığı için 20 ve ICMP başlığı için 8) size 8192 bayt veriyor.

MTU 9216 aynı zamanda birçok Cisco'nun ekipmanında standart bir 9K MTU'dur, bu yüzden varsayım Netgear'ın buna `` uyumlu '' olmak istediğidir.

Ayrıca MTU boyut spesifikasyonunun ciddiye alınması gerektiğini unutmayın, birçok satıcı 802.1Q (vLAN) veya hatta L2 çerçeve başlıklarını içermez. MTU boyutu hakkında konuşurken anahtar satıcınızın belgelerine gerçekten ne belirttiklerini kontrol edin.


Eklenecek bir not: Ana makinelerinizin ve yönlendiricilerin MTU'sunun eşleşmesi gerekir; anahtarların MTU'su, ana bilgisayar ayarlarının (+ üstbilgisi) üstünde olduğu sürece tüm önemli öğeler için 12 bazilyon olarak ayarlanabilir.
Hyppy
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.