MSS와 MTU의 차이점은 무엇입니까?


33

최대 세그먼트 크기와 최대 전송 단위의 차이에 대해 혼란 스럽습니다.

누군가 레이어 2와 3과 관련하여 설명해 주시겠습니까?

페이로드에 800 바이트의 패킷이 있다면. MSS가 800 바이트 (그것으로 설정하면)이고 MTU는 840이라고 말하는 것이 맞습니까? TCP 20 및 IP 20 바이트 PPPoE를하고 있다면 다른 점이 있습니까?


이 내용이 꼭 중복 되는 것은 아니지만 이 질문에 대한 답변이 귀하의 질문에 답변 될 수도 있습니다.
YLearn

답변:


19

게다가. MSS 값은 MTU 값에서 파생됩니다 . 800 바이트 패킷이있는 경우 이러한 패킷의 길이는 원래 2260 바이트이고 MTU = 1500을 사용하는 경우 2 패킷 1460 + 800 바이트로 나 say
수 있습니다. 즉, MSS = 800이면 MTU는 840 이상이어야합니다. PPPoE 오버 헤드는 8 바이트이므로 MTU = 1492 바이트, MSS = 1492-40 = 1452 바이트입니다.


28

MTU는 주어진 링크의 최대 IP 패킷 크기입니다. MTU보다 큰 패킷은 하위 MTU가 발견되고 체인 아래로 다시 조립되는 지점에서 조각화됩니다.

조각화를 원하지 않으면 각 홉에서 MTU를 확인하거나 해당 도우미 프로토콜을 사용해야합니다 ( Path MTU Discovery ).

IPv6를 않습니다 NOT 당신이 때문에 작은 MTU의 패킷 곳을 잃고 싶지 않으면 라우터가 패킷 단편화를 지원하는이 된 ICMPv6에 따라서 PMTUD는 필수입니다. 끝점은 조각화 될 수 있지만 라우터는 불가능합니다. 또한 IPv6의 MINIMUM MTU는 훨씬 높습니다.

MSS는 최대 TCP 세그먼트 크기입니다. MTU와 달리 MSS를 초과하는 패킷은 조각화되지 않고 단순히 폐기됩니다. MSS는 일반적으로 TCP 3 방향 핸드 셰이크에서 결정되지만 일부 설정은 결정된 MSS가 여전히 너무 큰 경로를 만들어 패킷이 손실 될 수 있습니다. MSS는 패킷 당 협상 된 패킷이 아니라 완전한 TCP 세션을 위해 TCP / IP 헤더를 고려하지도 않습니다.

PPPoE를 사용할 때 모든 오버 헤드는 일반적으로 초크 포인트가있는 라우터에서 MSS를 지정하여 중간에 MSS를 줄여야한다는 것을 의미합니다. 그러면 3 방향 핸드 셰이크를 통과 한 MSS가 더 높은 경우 올바른 낮은 값으로 대체됩니다. PPPoE는 단순히 모든 것 (IP + TCP) 위에 8 바이트 (6 바이트 PPPoE + 2 바이트 PPP)를 추가하고 1500 바이트 MTU에서 이더넷을 통해 실행되도록하므로 1492 MSS는 일반적으로 통과하도록 구성됩니다.

IP 스택은 MSS로 전송 될 데이터를 잘라내어 TCP 세그먼트에 넣은 다음 전송하기 전에 로컬 MTU 설정보다 큰 경우 하나 이상의 IP 패킷에 넣습니다. 중간 라우터는 MTU가 낮 으면 더 세분화 할 수 있지만 TCP 세그먼트 / 헤더로 재생되지 않고 IP 패킷 자체에만 영향을 미칩니다.


4
설명 : IPv6는 라우터에서 조각화를 지원하지 않지만 엔드 스테이션은 IPv6 패킷을 조각화 할 수 있습니다.
Mike Pennington

1
좀 더 구체적으로 내 답변을 편집
Remi Letourneau

0

MTU는 주어진 링크의 최대 IP 패킷 크기입니다. MSS는 최대 TCP 세그먼트 크기입니다.

MTU는 조각화에 사용됩니다. 즉 MTU보다 큰 패킷은 조각화되지만 MSS의 경우 MSS보다 큰 패킷은 폐기됩니다.

MSS는 TCP 핸드 셰이크 중에 기본적으로 SYN으로 지정되며 연결이 설정된 후에는 값을 변경할 수 없습니다.

MSS = MTU-40 (IP 헤더 (20 바이트) + TCP 헤더 (20 바이트))


TCP 헤더가 반드시 20 바이트는 아니라고 생각합니다. 최소 길이입니까?
사주

추가 옵션 헤더가있을 수 있습니다
aneesh joshi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.