🖥️ 네트워크 입문 정리
본 내용은 널널한 개발자 TV의 네트워크 입문 강의를 공부하고 정리한 내용입니다.
네트워크에서 데이터가 전달되기까지는 여러 단계의 변환 과정을 거치게 되는데, 이를 캡슐화(Encapsulation)라고 한다.

먼저 유저모드에는 우리가 실행하는 프로세스가 존재하고, 커널 모드에는 TCP/IP 스택이나 디바이스 드라이버 같은 구성요소가 있다. 하드웨어 쪽에는 NIC(Network Interface Card)와 같은 장치들이 연결된다.
이때 유저모드에서 커널의 TCP 구성요소를 사용할 수 있게 만든 추상화된 인터페이스가 바로 소켓(Socket)이다.
소켓에서 데이터를 다룰 때는 스트림(Stream)이라는 형태로 메모리에 저장되며, 이 스트림을 잘라낸 단위를 세그먼트(Segment)라고 한다.
세그먼트는 다시 IP 헤더와 함께 캡슐화되어 패킷(Packet)이 되고, 이 패킷은 다시 이더넷 헤더 등과 함께 캡슐화되어 프레임(Frame)이 된다.
패킷은 보통 다음과 같이 구성된다:
→ 총합 1500 bytes로, 이는 일반적으로 MTU(Maximum Transmission Unit)의 크기이다.
결과적으로 Payload의 최대 크기인 MSS(Maximum Segment Size)는 1460 bytes가 된다.
DPI는 패킷 내부를 깊게 들여다보는 기법으로, 헤더뿐만 아니라 Payload 내용까지 분석한다.
보안 장비나 트래픽 분석기에서 주로 활용되며, 민감한 정보까지 파악할 수 있는 만큼 보안과 관련된 기능에서 중요하게 다뤄진다.

즉, 스트림으로 쌓인 데이터를 작게 나누고, 그걸 송장 붙여 포장하고, 다시 트럭에 실어 보내는 과정이라고 생각하면 쉽게 이해할 수 있다.
📌 한 줄 요약
데이터는 Stream → Segment → Packet → Frame 순으로 감싸지며 전송된다.
그 과정에서 각각의 계층은 고유의 역할을 수행하고, 성능 최적화를 위해 MTU, MSS 같은 개념도 중요하다.