모든 네트워크 상황은 결국 프로토콜로 설명될 수 있고,
프로토콜은 아래 요소들로 구성된다:
- 패킷의 구조 정의 (+ 여기에 실제로 담긴 데이터)
- 패킷 해석 로직
- 기본적인 제어 로직 (패킷과 별개로)
또한, 로직과 패킷 구조 정의 정보가 실제로 들어있는 곳은 아래의 `처리 주체`이다 (gpt가 알려줌):
OSI 7 Layer | 주요 프로토콜 / 기능 예시 | 처리 주체 | |
7 | 응용 계층 (Application) | HTTP, HTTPS, FTP, SMTP, DNS, SSH 등 | 애플리케이션 소프트웨어 (브라우저, 메일클라이언트 등) |
6 | 표현 계층 (Presentation) | 인코딩, 암호화, 압축 (e.g., JPEG, TLS, ASCII) | 운영체제 또는 라이브러리 (예: OpenSSL, codec) |
5 | 세션 계층 (Session) | 세션 관리 (RPC, NetBIOS, PPTP 등) | 운영체제 또는 소켓 라이브러리 |
4 | 전송 계층 (Transport) | TCP, UDP | 운영체제 (커널, TCP/IP 스택) |
3 | 네트워크 계층 (Network) | IP, ICMP, ARP, OSPF, RIP, BGP | 라우터, L3 스위치, OS의 IP 스택 |
2 | 데이터링크 계층 (Data Link) | Ethernet, PPP, Frame Relay, VLAN, MAC 주소 | 스위치, 네트워크 카드(NIC) |
1 | 물리 계층 (Physical) | 전기신호, 광신호, 케이블, 전압, 비트 전송 | 허브, 리피터, 케이블, NIC의 물리 회로 |
이때, 스위치, 라우터 등 장비는 자신이 맡은 프로토콜을 처리하기 위한 OS / 펌웨어 / 모듈 등이 필요함.