7.[Network] 네트워크 데이터 단위 정리 (매우 중요!)
데이터 단위 정리
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에 접근할 수 있도록 인터페이스가 제공되는 것