7.[Network] 네트워크 데이터 단위 정리 (매우 중요!)

image.png

데이터 단위 정리

Stream: Socket, Application, User mode 수준에서 보내는 데이터 단위

  • 끝을 알 수 없는 일렬로 늘어진 데이터

Segment: TCP에서 다루는 데이터 단위

Packet: IP에서 다루는 데이터 단위

  • 데이터 덩어리

Frame: Driver, NIC에서 다루는 데이터 단위

단위 흐름

Stream:

  • 유저 모드, 어플리케이션, 소켓에서 프로세스가 파일에 대고 스트림데이터를 write한다

Segment:

  • 파일이 유저 모드에서 커널로 내려가면 스트림데이터가 세그먼트화(분해) 된다
  • 길죽한 데이터를 일정 길이로 잘라버린다
  • 잘려진 조각 하나를 세그먼트라고 한다
  • Maximum Segment Size: 세그멘트 일정 길이의 최대크기
  • MSS는 패킷의 크기에 따라 만들어진다
  • MSS < MTU

Packet:

  • Maximum Transfer Unit: 패킷의 최대 전송 크기
  • MTU 1500byte
  • 패킷 1.5MB 1000개 보낼 수 있음

Frame:

  • 패킷이 Frame으로 encapsulation 이 됨
  • 패킷을 실어나를 땐 다시 Frame 데이터에 넣는다

복습:

  • Socket: 유저 어플리케이션이 커널의 TCP 나 IP에 접근할 수 있도록 인터페이스가 제공되는 것