Internet

Maksymalna jednostka transmisji (MTU)

Maksymalna jednostka transmisji (MTU)

W sieciach komputerowych termin Maximum Transmission Unit (MTU) odnosi się do rozmiaru (w bajtach) największej jednostki PDU, którą dana warstwa protokołu komunikacyjnego może przekazać dalej. Parametry MTU zwykle pojawiają się w połączeniu z interfejsem komunikacyjnym (NIC, port szeregowy itp.). Wartość MTU może być ustalana standardowo (jak w przypadku Ethernetu) lub ustalana w czasie połączenia (jak to zwykle ma miejsce w przypadku łączy szeregowych punkt-punkt). Wyższa jednostka MTU zapewnia większą wydajność, ponieważ każdy pakiet przenosi więcej danych użytkownika, podczas gdy narzuty protokołu, takie jak nagłówki lub podstawowe opóźnienia na pakiet, pozostają stałe, a wyższa wydajność oznacza niewielką poprawę przepustowości protokołu zbiorczego. Jednak duże pakiety mogą przez pewien czas zajmować wolne łącze, powodując większe opóźnienia w kolejnych pakietach oraz zwiększając opóźnienie i minimalne opóźnienie. Na przykład pakiet 1500 bajtów, największy dozwolony przez Ethernet w warstwie sieci (a tym samym większość Internetu), związałby modem 14.4k na około jedną sekundę.

Odkrywanie ścieżki MTU
Protokół internetowy definiuje „MTU ścieżki” ścieżki transmisji internetowej jako najmniejszą jednostkę MTU spośród przeskoków IP „ścieżki” między źródłem a miejscem docelowym. Innymi słowy, MTU ścieżki to największy rozmiar pakietu, który przemierza tę ścieżkę bez fragmentacji.

RFC 1191 opisuje „Wykrywanie MTU ścieżki”, technikę określania MTU ścieżki między dwoma hostami IP. Działa poprzez ustawienie opcji DF (Nie fragmentuj) w nagłówkach IP wychodzących pakietów. Każde urządzenie na ścieżce, którego MTU jest mniejsze niż pakiet, odrzuci takie pakiety i odeśle komunikat ICMP „Destination Unreachable (Datagram Too Big)” zawierający jego MTU, umożliwiając hostowi źródłowemu odpowiednie zmniejszenie zakładanego MTU ścieżki. Proces jest powtarzany, dopóki jednostka MTU nie będzie wystarczająco mała, aby przebyć całą ścieżkę bez fragmentacji.

Możesz również zainteresować się:  Konfiguracja routera 2 WIRE

Niestety, coraz większa liczba sieci odrzuca ruch ICMP (np. w celu zapobiegania atakom typu „odmowa usługi”), co uniemożliwia działanie wykrywania MTU ścieżki. Często wykrywa się takie blokowanie w przypadkach, gdy połączenie działa dla małych ilości danych, ale zawiesza się, gdy tylko host wyśle ​​duży blok danych na raz. Na przykład, z IRC, łączący się klient może zobaczyć wiadomość ping, ale po tym nie otrzyma żadnej odpowiedzi. Dzieje się tak, ponieważ duży zestaw wiadomości powitalnych jest wysyłany w pakietach większych niż rzeczywista jednostka MTU. Również w sieci IP ścieżka od adresu źródłowego do adresu docelowego jest często modyfikowana dynamicznie, w odpowiedzi na różne zdarzenia (równoważenie obciążenia, przeciążenie, wyjścia itp.) – może to skutkować zmianą MTU ścieżki (czasami powtarzane) podczas transmisji, co może spowodować dalsze odrzucanie pakietów, zanim host znajdzie nowe bezpieczne MTU.

Większość sieci LAN Ethernet używa MTU 1500 bajtów (nowoczesne sieci LAN mogą używać ramek Jumbo, co pozwala na MTU do 9000 bajtów), jednak protokoły graniczne, takie jak PPPoE, zmniejszą to. Powoduje to, że wykrywanie MTU ścieżki zaczyna działać, co może spowodować, że niektóre witryny za źle skonfigurowanymi zaporami będą nieosiągalne. Można to obejść, w zależności od tego, którą część sieci kontrolujemy; na przykład można zmienić MSS (maksymalny rozmiar segmentu) w początkowym pakiecie, który zestawia połączenie TCP na swoim firewallu.

Problem ten pojawiał się coraz częściej od czasu wprowadzenia systemu Windows Vista, który wprowadza „stos TCP/IP nowej generacji”. Implementuje to „Automatyczne dostrajanie okna odbioru, które stale określa optymalny rozmiar okna odbioru, mierząc iloczyn opóźnienia przepustowości i szybkość pobierania aplikacji oraz dostosowuje maksymalny rozmiar okna odbioru w zależności od zmieniających się warunków sieciowych”. [2] Zaobserwowano, że zawiodło to w połączeniu ze starszymi routerami i zaporami ogniowymi, które wydawały się działać z innymi systemami operacyjnymi. Najczęściej występuje w routerach ADSL i często można go naprawić za pomocą aktualizacji oprogramowania układowego.

Możesz również zainteresować się:  Leki przyjmowane w szpitalach izolacyjnych

Szkielety ATM, przykład strojenia MTU
Czasami z punktu widzenia wydajności korzystniej jest sztucznie zadeklarować zmniejszone MTU w oprogramowaniu poniżej prawdziwej maksymalnej możliwej obsługiwanej długości. Jednym z przykładów jest przypadek, w którym ruch IP jest przenoszony przez sieć ATM (tryb transferu asynchronicznego). Niektórzy dostawcy, szczególnie ci z zapleczem telefonicznym, korzystają z bankomatów w swojej wewnętrznej sieci szkieletowej.

Korzystanie z ATM z optymalną wydajnością jest osiągane, gdy długość pakietu jest wielokrotnością 48 bajtów. Dzieje się tak, ponieważ ATM jest wysyłany jako strumień pakietów o stałej długości (znanych jako „komórki”), z których każdy może przenosić ładunek 48 bajtów danych użytkownika z 5 bajtami narzutu, co daje całkowity koszt 53 bajtów na komórkę. Zatem całkowita długość przesyłanych danych wynosi 53 * ncells bajtów, gdzie ncells = liczba wymaganych komórek = INT((payload_length+47)/48). Tak więc w najgorszym przypadku, gdy całkowita długość = (48*n+1) bajtów, do przesłania ostatniego bajtu ładunku potrzebna jest jedna dodatkowa komórka, przy czym końcowa komórka kosztuje dodatkowe 53 przesłane bajty, z których 47 to wypełnienie. Z tego powodu sztuczne deklarowanie w oprogramowaniu zmniejszonej jednostki MTU maksymalizuje wydajność protokołu w warstwie ATM, czyniąc całkowitą długość ładunku ATM AAL5, gdy tylko jest to możliwe, wielokrotnością 48 bajtów.

Na przykład, 31 całkowicie wypełnionych komórek ATM ma ładunek 31*48=1488 bajtów. Biorąc tę ​​liczbę 1488 i odejmując od niej wszelkie koszty ogólne wnoszone przez wszystkie odpowiednie wyższe protokoły, możemy uzyskać sugerowaną wartość dla sztucznie zredukowanego optymalnie MTU. W przypadku, gdy użytkownik normalnie wysłałby pakiety 1500 bajtów, wysłanie od 1489 do 1536 bajtów wymaga dodatkowego stałego kosztu transmisji 53 bajtów, w postaci jednej dodatkowej komórki ATM.

Możesz również zainteresować się:  Jak dodać MTU w zxhn h108n

Dla przykładu połączeń IP over DSL z wykorzystaniem PPPoA/VC-MUX, ponownie wybierając wypełnienie 31 komórek ATM, jak poprzednio, otrzymujemy pożądaną optymalnie zredukowaną liczbę MTU 1478 = 31*48-10, biorąc pod uwagę narzut 10 bajtów składający się z 2 bajtów narzutu protokołu Point-to-Point i 5 bajtów narzutu AAL8. Daje to całkowity koszt 31*53=1643 bajtów przesyłanych przez ATM z 1478 bajtowego pakietu przekazanego do PPPoA. W przypadku IP przesyłanego przez ADSL przy użyciu PPPoA liczba 1478 będzie całkowitą długością pakietu IP wraz z nagłówkami IP. Tak więc w tym przykładzie trzymanie się narzuconego przez siebie zredukowanego MTU 1478, w przeciwieństwie do wysyłania pakietów IP o łącznej długości 1500, pozwala zaoszczędzić 53 bajty na pakiet w warstwie ATM kosztem 22 bajtowej redukcji długości pakietów IP.

Maksymalna wartość MTU dla połączeń PPPoE/DSL wynosi 1492, zgodnie z RFC 2516: 6 bajtów to nagłówek PPPoE, co pozostawia wystarczająco dużo miejsca na 1488 bajtowy ładunek lub 31 pełnych komórek ATM.

Wreszcie: Standardowa wartość MTU ma wynosić 1492.... a w przypadku problemów z przeglądaniem lub problemów z łącznością MSN należy ją obniżyć do wartości 1422 i 1420.

Numer referencyjny: Wikipedia

Z poważaniem

Poprzednia
Prędkość transmisji dla kabla sieciowego Cat 5, Cat 5e, Cat 6
Następna
Jak opróżnić DNS na MAC, Linux, Win XP i Vista oraz 7 i 8?

jeden komentarz

Dodaj komentarz

  1. mistrz Lanmastera Powiedział:

    Witam, dziękuję za przydatny artykuł

zostaw komentarz