TCP / IP 4계층 MTU, MSS, PMTUD

배기호 Notebook·2023년 7월 26일
0

CS공부

목록 보기
21/35

TCP / IP 4계층 MTU, MSS, PMTUD

데이터 송수신 시 패킷이 쪼개지면서 데이터를 송수신하며,
이 때 패킷은 MTU(Maximum Transmission Unit)를 기반으로 쪼개진다.

MTU는 네트워크 통신할 때 할 수 있는 가장 큰 PDU의 크기를 의미한다.

이때 통신을 하는 양쪽 끝은 두 장치의 MTU만이 아니라 중간의 모든 라우터, 스위치, 서버를 고려해야한다.

네트워크 경로 상에 있는 아무 장치나 MTU보다 패킷이 큰 경우 그 패킷은 분해될 수 있다.



MTU와 MSS

MTU는 IP헤더와 TCP헤더의 크기까지 합쳐치만 MSS는 TCP에서 사용할 수 있는 데이터의 크기이자 TCP 헤더, IP헤더를 뺀 크기를 말한다.

일반적으로 MTU는 1500 바이트이며, MSS는 1460 바이트이다.

그렇기 때문에 MTU가 1500이라도 데이터는 보통 1460바이트 이하의 크기로 보내야 전달이 가능하다.

FCS(Frame Check Sequence)는 데이터의 에러검출을 돕기 위해 삽입되는 필드이다.
따라서 이더넷 프레임의 크기는 일반적으로 1518 바이트 이다.

패킷이 분할되지 않는 경우

패킷을 분할할 수 없어 네트워크 경로 상에 있는 어떤 라우터나 장치의 MTU를 초과할 때 분할해서 전달하는 것이 아니라,
전달을 하지 않는 경우가 있다.

ex.IPv6는 분할을 허용하지 않는다.

IPv4의 경우
헤더 안에 flags라는 필드가 있는데 여기서 bit가 1이되면 "Don't Fragment"플래그가 활성화된다라는 의미이다. 이 경우 분할이 불가능하다.

netsh를 통한 MTU 확인

netsh interface ipv4 show interfaces


PMTUD

PMTUD(Path MTU Discovery)는 수신자와 송신자의 경로 상에서 장치가 패킷을 누락한 경우 테스트 패킷의 크기를 낮추면서 MTU에 맞게 반복해 보내는 과정


참고
인프런 강의 _ CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조대시보드

0개의 댓글