14.[Network] 패킷의 생성 원리와 캡슐화
패킷의 생성원리
소켓: 파일의 일종
- 모든 프로그램은 파일에 대고 읽던지 쓰던지(입출력)를 함
- Stream: 소켓 수준에서 쓰는 데이터의 단위
- 시작은 있는데 끝은 개발자가 정할 수 있다
- 소켓은 TCP를 만나면 잘라지고 잘라진 단위는 Segment라고 한다
- Segment가 encapsulation되면 Packet
- Packet이 한번더 encapsulation되면 Frame
패킷
- 1500 MTU
- 패킷= Header + Payload
- Header= IP(L3, 20byte) + TCP(L4, 20byte)
- Payload = 1460byte (MSS맥시멈 세그먼트 사이즈)
- 세그먼트= 택배 내용물, L4
- encapsulation= 택배포장
- 패킷= 택배 L3
- 헤더= 송장(택배 주소)
- 프레임= 트럭, L2
DPI(Deep Packet Inspection) - 패킷을 조사하기
send: 소켓에서 데이터를 보낼 때 함수 이름이 보통 send
- send("데이터")
- 2000byte를 보냈다고 한다면 MTU가 1500이기 때문에 패킷을 2개 보낼 것