Network 데이터 단위 정리
Stream
- Socket 수준에서 쓰는 데이터 단위
- user 모드 application process가 파일에 stream 데이터를 Write 함.
- 시작은 있으나, 끝은 알 수 없으며, 개발자가 정한다.
- 따라서, IP 수준에서 논하는 단위보다 굉장히 길어질 수 있다.
Segment
- Stream에서 분해하여 TCP를 만나면 Segmentation이 된다.
- = Socket이 TCP를 만나면 잘라진다(분해)
- 일정한 길이대로 자르며, 일정 길이의 최대 길이를 MSS(Maximum Segment Size) -> MTU보다 더 작다.
Packet
- Segment가 encapsulation된 것.
- 잘려진 Segment를 모든 인터넷 환경에서 전송 가능한 형태로 택배 박스로 포장한 것
- 최대 크기 = MTU(Maximum transmission unit) : 1500bytes
Frame
- Packet이 encapsulation된 것.
- packet을 실어나를 때는 Frame 데이터에 넣는다.
데이터의 흐름
Stream -(분해)-> Segment -(encapsulation) -> packet -(encapsulation) -> Frame
택배로 예시
- Segment : 택배의 내용물 L4
- Packet : 택배 L3
- header : 박스에 붙어있는 송장
- payload: 택배박스