Bir MTU sorununun belirtileri var : bazı TCP bağlantıları donuyor, belirli bir komut veya URL için az çok tekrarlanabilir, ancak kolayca ayırt edilebilen bir genel desen yok. Bir belirti belirtisi, etkileşimli ssh oturumlarının iyi çalıştığı, ancak dosya aktarımlarının neredeyse her zaman başarısız olduğudur. Ayrıca pppoe, ev kullanıcıları için MTU sorununun bir numaralı getiricisidir. Bu yüzden bir MTU kontrolü yazıyorum.
Bu ne? M OLUNAN AZAMI t ransmission u sirke bir ağ bağlantısı üzerinden bir paket boyutudur. MTU, taşıma ortamından taşıma ortamına kadar değişir, örneğin kablolu Ethernet ve wifi (802.11) farklı MTU'lara sahiptir ve ATM bağlantılarının (uzun mesafe altyapısının çoğunu oluşturan) kendi MTU'ları vardır.
PPPOE , kapsüllenmiş bir protokoldür, yani her paketin birkaç baytlık başlıktan ve ardından alttaki paketten oluştuğu anlamına gelir - böylece maksimum paket boyutunu başlık boyutuna göre azaltır.
IP , yönlendiricilerin bir sonraki atlama için çok büyük olduklarını algılamaları durumunda paketleri parçalarına ayırmasına izin verir, ancak bu her zaman işe yaramaz. Teoride doğru MTU bulunmalıdırotomatik , ancak bu da her zaman da çalışmıyor. Özellikle googling, Network Manager'ın MTU keşfinden elde edilen MTU bilgileri üzerinde her zaman düzgün bir şekilde hareket etmediğini, ancak hangi sürümlerin etkilendiğini veya sorunlu kullanım durumlarının ne olduğunu bilmiyorum.
Nasıl ölçülür.
Eğer varsa tracepath
, Linux gelen olarak iputils çalıştırmak tracepath 8.8.8.8
Google'ın DNS sunucusuna yolu üzerinde MTU görmek için. Sürümünüzde traceroute
bir --mtu
seçenek varsa çalıştırın traceroute -n --mtu 8.8.8.8
. Daha fazla seçenek için bkz. Ben ve hedef IP arasındaki MTU'yu keşfetme .
Otomatik araçlardan yoksun, manuel olarak ölçebilirsiniz. Belirli bir boyuttaki ping paketlerini kendilerine yanıt veren dış ana bilgisayarlara göndermeyi deneyin, örneğin ping -c 1 -s 42 8.8.8.8
(Linux'ta; diğer sistemlerde ping
komutunuzun belgelerine bakın ). Paketleriniz yeterince küçük 42 değer için geçmelidir (42 işe yaramazsa, bir şey pingleri engelliyor demektir). Daha büyük değerler için paket geçemez. 1464, sınırlayıcı altyapı parçası yerel Ethernet ağınızsa tipik bir maksimum değerdir. Şanslıysanız, çok büyük bir paket gönderdiğinizde, aşağıdaki gibi bir mesaj görürsünüz Frag needed and DF set (mtu = 1492)
. Şanslı değilseniz, maksimum değerin ne olduğunu bulana kadar değeri denemeye devam edin, ardından 28 ekleyin ( -s
faydalı yük boyutunu belirtir ve buna ek olarak 28 bayt üstbilgi vardır). Ayrıca bakınızUbuntu forumlarında MTU ve RWIN kullanarak Internet Bağlantınızı En İyi Duruma Getirme .
Nasıl ayarlanır (1454 yerine belirlediğiniz MTU ve eth0
ağ arayüzünüzün adıyla değiştirin)
- Bir kerelik (Linux): run
ifconfig eth0 mtu 1454
- Kalıcı olarak (Debian ve Network Manager kullanılmıyorsa Ubuntu gibi türevler): Düzenle
/etc/network/interfaces
. Ağ arayüzünüzün girişinden hemen sonra ( iface eth0 …
yönergeden sonra ) ile bir satır ekleyin pre-up ifconfig $IFACE mtu 1454
. Alternatif olarak, IP adresiniz statikse, mtu 1454
parametreyi iface eth0 inet static
yönergeye ekleyebilirsiniz .
Kalıcı olarak (Debian ve Ubuntu gibi türevler, Ağ Yöneticisi ile veya Ağ Yöneticisi olmadan): /etc/network/if-pre-up.d/mtu
Aşağıdaki içeriklerle adlandırılan bir komut dosyası oluşturun ve bunu dünya çapında çalıştırılabilir yapın ( chmod a+rx
):
#!/bin/sh
ifconfig $IFACE mtu 1454
Diğer kaynaklar