백엔드/네트워크

[네트워크기초이론]#35. 가래떡과 Stream

묘걍 2023. 10. 11. 01:24

Packet

- 모 교수가 packet을 굳이 '보쌈'으로 번역해서 논란

- packet은 데이터 덩어리 정도로 이해하면 된다

- '덩어리'라는 게 사실은 애매한 것

     - 정확한 크기가 없음

     - 정량적, 수치적으로 정확히 나타낼 수 없음

- packet은 인터넷에서 유통되는 데이터 덩어리 정도

 

IRP

- Packet이 kernel mode programming할 때도 나옴

- Interrupt Request Packet

- 위 패킷과 다른 패킷임!

 

덩어리가 두 부분으로 나뉨

 

만약 IP Packet이라면

header

- IP header

     - L3

payload

- TCP

     - L4

- Data

 

➡️ L3헤더와 L4헤더를 합쳐 packet의 헤더라고 하지만 엄밀히 말하면 packet의 헤더는 IP header

➡️ IP payload 속에 TCP header와 데이터 세그먼트가 들어있는 것

➡️ Data(segment) → MSS = 1460

➡️ MTU = 1500 

 

 

📦택배 박스, 송장, 내용물이 있을 때

송장 보고 뜯고 택배 박스를 뜯어서 내용물을 갖고 박스를 버림

- IP 데이터를 뜯으면 그 안에 TCP헤더와 데이터가 있음

- TCP를 뜯어내면 segment가 있는 것

Encapsulation

📦박스 채로 📦박스에 넣는 것

 

- socket의 본질은 file

- file에 대고 process가 R(읽기)W(쓰기)X(실행)을 수행, 형식(protocol)에 맞춰서 함

     - socket이 추상화한 형체에 맞춰서 읽기 쓰기 실행

- file의 논리적 구조는 기본적으로 stream

     - 언제 끝날지 모르는 데이터

- 인터넷 네트워크는 pakcet단위로 움직임

     - MTU: 1500

     - 여기에 맞춰 잘라야해

- socket 타고 내려갈 때 분해가 일어남

- 잘라 온 것에 TCP라는 S/W가 자기 header를 붙임

- 거기에 IP가 자기 header를 붙임

- 거기에 헤더를 붙임

     - Ethernet이면 Ethernet header

➡️ header와 payload는 상대적인 것!

- 헤더, 그 뒤는 다 payload

- 각 계층마다 다름

 

- segment라는 말이 나오면 TCP임

UDP라면

 

가래떡에 비유하기

출처: 강사님 화면

- 가래떡은 사장님이 끊어야 끝남

- 일정 단위(길이)로 맞춰 잘라야 전송 가능

- 파란 박스 = segmentation이 완료 된 segment

- 한 번 더 포장

 

 

출처: https://youtu.be/SJOdlS1uDBg?si=1cL9lZdVLj7Vb9r8