Jaka jest różnica między MSS a MTU?


33

Jestem zdezorientowany co do różnicy między maksymalnym rozmiarem segmentu a maksymalną jednostką transmisji.

Czy ktoś może wyjaśnić w odniesieniu do warstw 2 i 3?

Gdybym miał pakiet 800 bajtów w ładunku. Czy słuszne byłoby stwierdzenie, że MSS będzie miał 800 bajtów (jeśli tak ustawię), a MTU to 840? TCP 20 i IP 20 bajtów. Czy byłoby inaczej, gdybym robił PPPoE?


Chociaż nie jest to ściśle powielań, odpowiedź na to pytanie może również odpowiedzieć na twoje pytanie.
YLearn

Odpowiedzi:


19

Dodatkowo. Wartość MSS pochodzi od wartości MTU , jeśli masz pakiet 800-bajtowy, można również powiedzieć, że taki pakiet miał pierwotnie długość 2260 bajtów, a on rozbił się na 2 pakiety 1460 + 800 bajtów, jeśli użyjemy MTU = 1500.
Ty powiedzmy prawda, jeśli MSS = 800, MTU powinna wynosić co najmniej 840. Ponieważ narzut PPPoE wynosi 8 bajtów, a zatem MTU = 1492 bajtów, a MSS = 1492-40 = 1452 bajtów.


28

MTU to maksymalny rozmiar pakietu IP dla danego łącza. Pakiety większe niż MTU są pofragmentowane w punkcie, w którym znajduje się niższy MTU i są ponownie składane w dalszej części łańcucha.

Jeśli fragmentacja nie jest pożądana, musisz sprawdzić MTU przy każdym przeskoku lub użyć do tego protokołu pomocniczego ( Path MTU Discovery ).

Zauważ, że IPv6 NIE obsługuje fragmentacji pakietów przez routery, dlatego PMTUD z ICMPv6 jest obowiązkowy, jeśli nie chcesz gdzieś zgubić pakietu z powodu małego MTU. Punkty końcowe mogą fragmentować, ale nie routery Ponadto IPv6 ma znacznie wyższe MINIMUM MTU.

MSS to maksymalny rozmiar segmentu TCP. W przeciwieństwie do MTU, pakiet przekraczający MSS nie jest pofragmentowany, po prostu jest odrzucany. O MSS zwykle decyduje się w trójstronnym uzgadnianiu TCP, ale niektóre ustawienia mogą dać ścieżkę, w której zdecydowany MSS jest nadal zbyt duży, co prowadzi do odrzucenia pakietów. MSS nie jest negocjowanym pakietem na pakiet, ale dla pełnej sesji TCP, ani nie bierze pod uwagę nagłówków TCP / IP

Podczas korzystania z PPPoE, cały narzut oznacza, że ​​musisz zmniejszyć MSS po drodze, zwykle określając go na routerze, w którym znajduje się punkt chokepoint, który następnie zastąpi MSS przejścia potrójnego uzgadniania o prawidłową niższą wartość, jeśli jest wyższa. PPPoE po prostu dodaje 8 bajtów (6 bajtów PPPoE + 2 bajty PPP) na wierzchu wszystkiego (IP + TCP) i ma być uruchamiany przez Ethernet przy 1500 bajtach MTU, stąd 1492 MSS normalnie skonfigurowany, aby przejść.

Twój stos IP odetnie dane, które zostaną wysłane do MSS, umieści je w segmencie TCP, a następnie umieści je w jednym lub kilku pakietach IP (w zależności od tego, czy są większe niż lokalne ustawienia MTU) przed wysłaniem. Router pośredni może go jeszcze bardziej obniżyć, jeśli mają niższe MTU, ale wpływają tylko na sam pakiet IP, a nie na segment / nagłówek TCP.


4
Clatification: IPv6 nie obsługuje fragmentację w routerach jednak zakończyć stacje mogą fragment pakiety IPv6
Mike Pennington

1
Zmodyfikowałem moją odpowiedź, aby była bardziej szczegółowa
Remi Letourneau

0

MTU to maksymalny rozmiar pakietu IP danego łącza. MSS to maksymalny rozmiar segmentu TCP.

MTU służy do fragmentacji, tzn. Pakiet większy niż MTU jest pofragmentowany, ale w przypadku MSS pakiet większy niż MSS jest odrzucany.

MSS jest określany podczas uzgadniania TCP w zasadzie w SYN i jego wartości nie można zmienić po ustanowieniu połączenia.

MSS = MTU-40 (nagłówek IP (20 bajtów) + nagłówek TCP (20 bajtów))


Myślę, że nagłówek TCP niekoniecznie musi mieć 20 bajtów, to tylko minimalna długość?
Sajuuk

może być dodatkowy nagłówek opcji
aneesh joshi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.