패킷 구조
[Ether Header][IP Header][TCP Header][Pay Load(app data)]
패킷 생성 순서
- 프로세스에서 전달할 스트림 데이터가 생기고 이를 send 함
- 전달할 스트림 데이터를 세그먼테이션해서 세그먼트를 만듬.
- 세그먼트 최대 크기는 MSS에 제한됨. 스트림 데이터는 MSS 크기만큼 잘려짐
- MSS는 MTU 기반으로 결정됨
- 일반적으로 IP 헤더 크기(20), TCP 헤더 크기(20) 제외하고 1460이 MSS 크기이다.
- 세그먼트가 OS의 TCP 계층으로 전달되면 TCP 세그먼트에 TCP 헤더가 붙어서 엔캡슐레이션 됨
- 엔캡슐레이션 된 데이터는 OS의 IP 계층으로 전달되고 IP 헤더를 엔캡슐레이션하여 패킷으로 만듬. 패킷은 OS에 설정된 MTU 사이즈를 넘을 수 없음
- 패킷은 OS의 이더넷 계층으로 전달되어 Ether Header를 엔캡슐레이션 하고 Frame이 됨
DPI(Deep Packet Inspection)
- 세그먼트 데이터를 깊이 들여 보는 행위
- 감청 행위
- 택배 안을 들여다 보는것과 마찬가지