백엔드/네트워크

[네트워크기초이론] 네트워크 데이터 단위 정리 (매우 중요!)

묘걍 2023. 9. 17. 21:21

네트워크를 이야기할 때 매번 나오는 단어는 Packet (= 데이터 덩어리)

- 커널을 추상화한 인터페이스가 파일 → 소켓!

 

파일

길이

Ex) 만약 내가 MS Word로 문서를 작성한다 했을 때

- 길이가 얼마까지 늘어날까?

     타자 많이 치면 계속 늘어남, 물론 운영 체제가 지원하는 한계는 있지만!

Stream

- 유튜브 영상도 동영상 스트림

     → 녹화 한 시간 하면 한 시간 후에 끝남

- 시작은 있는데 끝을 모른다 (프로그램 개발에 따라 다름)

- 길이가 길어질 수 있다

     - 무엇보다 길다 짧다는 상대적인 것이지만 IP수준에서 논하는 단위보다 길어질 수 있다.

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

- IP 수준에서 논하는 단위: Packet

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

- 유저모드 어플리케이션 프로세스가 파일에다 대고 스트림 데이터를 Write 한다

- 유저모드에서 커널로 내려가 TCP를 만나면 이 때 스트림 데이터는

   Segment화 된다. ➡️ 분해가 일어난다/자르기가 일어난다.

- 일정 길이로 자르게 되는데 이때 그 '일정 길이'의 최대 크기는 MSS (Maximum Segment Size)

- MSS는 Packet의 크기에 기초해서 만들어진다

- Packet의 최대 크기는 MTU (Maximum Transport Unit)

     - 특별한 이유가 없다면 보통 1,500bytes

     - 1.5mb가 되는 스트림 데이터를 네트워크로 인터넷으로 보내겠다 하면 적어도 1,000개의 packet이 나온다

- Packet은 Frame으로 Encapsulation 된다

 

 

 

데이터 단위는

유저모드 어플리케이션 프로세스 수준에서는 (소켓 수준에서는) 스트림 데이터다

스트림 데이터는 그 끝을 알 수 없는 일렬로 늘어진 데이터다

 

그것을 네트워크로 보낼 때는 분해가 일어난다.(Segmentation)

잘린 조각 하나를 Segment라고 하는데

그것을 인터넷 환경에서 전송가능한 형태로 만든 것이 Packet이다 (택배 박스 - 택배 박스에 포장)

Packet의 최대 크기는 1,500bytes

MSS는 1,500bytes보다 작다 (택배 상자에 넣으려면 상자보다 물건이 작아야하니까)

 

Packet을 실어 나를 때는 Frame데이터에 넣는다.

 

출처: https://youtu.be/p6ASAAMwgd8?si=BmYWVMZoPbc-0hWO