Jak ustawić właściwą MTU
Wprowadzenie do MTU
- Co to jest MTU?
- Oblicz MTU
- Znajdź wartość MTU w systemie Windows
- Zmiana MTU w systemie Windows
- Znajdź wartość MTU w systemie Linux
- Zmiana MTU w systemie Linux
Co to jest MTU?
Maksymalna jednostka transmisji (MTU) (maksymalny rozmiar jednostki transferu) to parametr określający najdłuższy datagram, który może być przesyłany przez interfejs IP, bez konieczności dzielenia go na mniejsze jednostki. MTU powinien być większy niż największy datagram, który chcesz przekazać bez fragmentacji. Mówiąc prościej, MTU określa maksymalny rozmiar (w bajtach) pakietu, który można przesłać jednocześnie.- W przypadku sieci Ethernet ta wartość powinna wynosić 1500 bajtów.
- Dla połączeń PPPoE, 1492
- Dla CTS (niska prędkość), 576
Oblicz MTU
Każda ramka transmisji jest zdefiniowana przez ciało (= MMS = maksymalny rozmiar segmentu), który określa największy segment informacji TCP, który może być przesyłany, oraz nagłówek.- MTU = nagłówki MSS + TCP / IP
Rozważ, że:
- MSS = MTU-40 <- 40 dla nagłówka (20 bajtów IP i 20 bajtów TCP)
Pakiety nie są pofragmentowane
Brak zagubionych pakietów
- Rozmiar / prędkość pakietu
Albo transfer informacji 1500000 bajtów przy użyciu różnych rozmiarów pakietów przez linię T1 (CTS) (T1 = 1544000 bitów / s) w następujący sposób:
(Nagłówek MSS +) * 8 bitów / bajt---------------------------------- = Opóźnienie
1, 544, 000 bitów / s.
- Używając różnych wartości MTU, można obliczyć opóźnienie transmisji:
Jeśli MTU = 1500, to: (1460 +40) * 8/1544000 = 7772 ms
Jeśli MTU = 576, to: (536 +40) * 8/1544000 = 2924 ms
- Przy 10 pętlach otrzymujemy 77, 72 ms dla MTU do 1500 i 29, 24 ms dla 576.
- Podsumowując, im więcej pakietów, tym dłuższy transfer ;-)
Używając tej samej formuły do transferu 1 MB.
1 MB = 1024 KB = 1 048 576 bajtów.
- Jeśli MTU = 1500, to: (1460 +40) * 8/1544000 = 7772 ms
- 1 MB / MSS = 1048576 bajtów / 1460 = 718.2, więc 719 pakietów do transferu 1 MB.
- Aby przesłać 1 MB: 719 ms 7772 * pakietów (zawsze pętla) = 5588.068 ms lub 5588 sekund.
- Jeśli przeniesiemy nasz 1 MB w 10 pętli (określonych przez nagłówek), idealnie:
(1 pętla pakietów * 10 * opóźnienie 7, 772 ms) + 718 * 7772 = 5658 sekund.
Jeśli MTU = 576, to: (536 +40) * 8/1544000 = 2924 ms
1 MB / MSS = 1048576 bajtów / 536 = 1956, 3, a zatem 1957 pakietów do przesłania 1 MB.
- Aby przesłać 1 MB: 1957 pakietów * 2924 ms (zawsze pętla) = 5722.268 ms lub 5722 sekund na pętlę.
Jeśli przenieśliśmy 1 MB na 10 pętli:
(1 pętla pakietu * 10 * 2, 924ms) * 2924 + 1956 = 5748 sek.
Różnica polega na tym, że większość wielkości pakietów jest duża, mniej ważna jest wielkość nagłówka (stosunkowo ^ ^)
Aby przesłać 1 MB, jeśli używa się MTU do 1500, to dla nagłówka jest 719 * 40 = 28 760 bajtów, podczas gdy MTU do 576, otrzymujemy 1957 * 40 = 78 280, więcej niż 49 520 bajtów nagłówka wysyłane każdego MB. Dla naszego przykładu 10 pętli, nie jest znaczna, ale na codziennych transferach ...
Większość modemów używa większego nagłówka i nie bierzemy pod uwagę innych opóźnień, które mogą być powiązane.
Znajdź wartość MTU w systemie Windows
Aby znaleźć maksymalną MTU, powinna ona znajdować się w wierszu polecenia (Start> Uruchom> „cmd”). W wierszu polecenia (czarna strona) należy przetestować ping, wskazując rozmiar pakietów do przetestowania:- ping-fl (rozmiar pakietu -28) (adres IP twojego serwera)
Opcja-f pozwala wykonać test, wymagając od routerów napotkanych, a nie fragmentowania pakietu
Opcja-l wysyła rozmiar pakietu
Usunięcie 28 do wielkości pakietu do testowania odpowiada nagłówkowi tego pakietu
Musimy przeprowadzić test na adres IP. Ze względu na przeglądarkę internetową lepiej jest wziąć adres internetowy.
- To daje:
ping-fl 1372 192.168.0.1- Jeśli odpowiedź na zapytanie brzmi:
Odpowiedź z 192.168.0.1: bytes = 1372 ....
Odpowiedź z 192.168.0.1: bytes = 1372 ....
Odpowiedź z 192.168.0.1: bytes = 1372 ....
Odpowiedź z 192.168.0.1: bytes = 1372 ....
Tutaj rozmiar pakietu pozwala na transport bez fragmentacji, można przetestować wyższą wartość. Gdy pojawi się komunikat: „Pakiet musi być pofragmentowany, ale zestaw DF”, rozmiar pakietu jest zbyt duży.
Zmiana MTU w systemie Windows
Po określeniu optymalnej wartości MTU istnieją dwa sposoby zmiany wartości MTU. Wspominam tutaj o najłatwiejszym do wdrożenia przez oprogramowanie:- DrTCP
Po zainstalowaniu masz pole „MTU”, w którym musisz wprowadzić wartość testu w DOS, dodając 28 dla nagłówka.
Znajdź wartość MTU w systemie Linux
- Wystarczy uruchomić to polecenie jako root z nazwą_interfejsu, aby zastąpić nazwą danego interfejsu sieciowego:
nazwa_interfejsu ifconfig | grep-Eo "MTU: [0-9] +"
Zmiana MTU w systemie Linux
- W root z komendą ifconfig, która zmienia MTU w Linuksie z następującą składnią:
nazwa_interfejsu ifconfig mtu value_mtu
- Przykład: ustaw MUT interfejsu na 1500
ifconfig eth0 mtu 1500