네트워크 데이터 단위

mohadang·2022년 6월 17일
0

네트워크

목록 보기
7/16
post-thumbnail

각 계층별 데이터 단위

Application 계층 데이터 단위

Stream. 파일 데이터

TCP 계층 데이터 단위

Segment 또는 TCP Payload라고도 한다. Stream 데이터가 일정 길이(MSS)로 분해된것이다.

IP 계층 데이터 단위

Packet(IP Header + TCP Header + TCP Payload). MSS는 Packet의 크기에 의해 결정 되는데 Packet의 크기는 각 장비의 MTU에 의해 결정된다

Data(이더넷) 계층 데이터 단위

Frame

Segmentation

MSS

전송할 수 있는 사용자 데이터(TCP Payload)의 최대 크기
Stream을 분해해서 어플리케이션에서 사용할 수 있도록 TCP Segment로 만든다, 이를 Segmentation 이라고 한다.
Stream을 일정 길이로 자르는데 최대 크기 제한 있는데 이를 MSS(Maximum Segment Size) 라고 한다.

MSS 계산

MSS = MTU - IP Header 크기(최소 20byte) - TCP Header 크기(최소 20byte)
MTU = MSS + IP Header 크기(최소 20byte) + TCP Header 크기(최소 20byte)

MTU

Ethernet Frame을 제외한 IP Datagram의 최대 크기
MSS는 패킷의 크기 제한인 MTU(Maximim Transfer Unit) 에 기반해서 결정된다.
MTU는 특별한 이유가 없다면 1500 byte 이다. MTU가 너무 작으면 네트워크 전송 속도가 느리다.

  • EX) 1.5 mb 를 전달한다면... 적어도 1000 정도의 패킷이 전달됨

세그먼트 vs 프래그먼트

세그먼트(Segment)

사용자 데이터들을 대충 조각으로 나눈 것이다. 즉, 그냥 사이즈별로 구획만 나누는 것이다.

프래그먼트(Fragment)

세그먼트와 의미상으로 비슷하지만, 데이터의 원형을 보존한다는 점에서 다르다. 
완성된 원본 데이터의 일부분으로서 부분집합의 형태를 가진다.
유실만 되지 않는다면 정확한 원본 형태로 재현할 수 있다. TCP는 세그먼트, UDP는 프래그먼트를 이용한다.

정리

  • MTU > MSS
  • 네트워크를 통해 전송할 데이터가 MTU보다 크다면 MTU 크기에 맞춰서 자르게 된다.
  • MTU는 전송 규약에 따라 다르나 이더넷(Ethernet)의 경우 일반적으로 1500 byte가 최대값이다. 즉 MTU 사이즈는 데이터링크 계층에서 주고 받는 데이터그램의 최대 단위라고 본다.
  • 이더넷 위에서 작동되는 모든 프로토콜은 기본적으로 이더넷의 MTU 크기를 따르며 통신하는 두 호스트 사이에 존재하는 수많은 네트워크 장비들 중에서 가장 작은 MTU에 영향을 받게 된다. 이 때 경로상 가장 작은 MTU를 path MTU라고 한다.
profile
mohadang

0개의 댓글