14.[Network] 패킷의 생성 원리와 캡슐화

image.png

패킷의 생성원리

소켓: 파일의 일종

  • 모든 프로그램은 파일에 대고 읽던지 쓰던지(입출력)를 함
  • 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개 보낼 것