핵심 인사이트 (3줄 요약)

  1. 본질: IPv4 헤더의 9번째 바이트에 위치한 '프로토콜(Protocol)' 필드는, IP 패킷이 목적지 컴퓨터에 무사히 도착한 후, 껍데기(IP 헤더)를 벗기고 난 알맹이(페이로드)를 **운영체제 내부의 어느 소프트웨어 모듈(TCP, UDP, ICMP 등)로 넘겨주어야 할지 지정하는 이정표(다중화 식별자)**다.
  2. 역다중화(Demultiplexing)의 열쇠: 하위 3계층인 IP는 오직 하나지만 상위 계층은 여러 개이므로, 수신 측 IP 모듈은 이 필드에 적힌 번호를 보고 우편물을 각 부서(포트)로 정확히 배분해 주는 역할을 수행한다.
  3. 암기 필수 번호: 실무에서 방화벽 룰을 짜거나 와이어샤크로 패킷을 뜰 때, **ICMP는 1, TCP는 6, UDP는 17**이라는 고유 번호가 외계어처럼 사용되므로 네트워크 엔지니어의 필수 암기 사항이다.

Ⅰ. 개요 및 필요성 (Context & Necessity)

  • 개념: IPv4 헤더 내에 있는 8비트(1바이트) 크기의 식별 코드. IP 데이터그램 뱃속(페이로드)에 캡슐화되어 들어있는 상위 계층(보통 L4 전송 계층)의 프로토콜이 무엇인지 숫자로 나타낸다. IANA(인터넷 할당 번호 관리기관)에서 표준 번호를 관리한다.

  • 필요성: 우체부(IP 패킷)가 내 컴퓨터(목적지 IP)까지 편지를 무사히 배달했다. 그런데 편지 봉투 안에 들어있는 알맹이가 "반드시 응답을 해줘야 하는 중요한 계약서(TCP)"인지, "그냥 한번 보고 버려도 되는 잡지(UDP)"인지, 아니면 "길이 막힌다고 알려주는 우체국 통지서(ICMP)"인지 컴퓨터는 봉투만 보고는 알 수가 없다. 컴퓨터의 뇌(운영체제)가 내용물을 해석하려면 미리 "이건 TCP 부서로 올려보내라"라는 꼬리표가 필요하다.

  • 💡 비유: 목적지 회사 건물(IP 주소) 1층 안내 데스크에 도착한 택배 박스입니다. 안내 데스크(IP 모듈) 직원이 박스에 적힌 송장을 봅니다. 송장의 **[담당 부서란(Protocol)]**에 **'6번'**이라고 적혀 있으면 영업부(TCP)로 올리고, **'17번'**이라고 적혀 있으면 총무부(UDP)로 던져주는 것과 완벽히 똑같습니다.

📢 섹션 요약 비유: 프로토콜 필드는 큰 박스(IP) 안에 들어있는 작은 박스(L4)가 **"어떤 모양의 블록인지 알려주는 힌트 스티커"**입니다. 컴퓨터는 이 스티커의 번호를 보고 네모 모양 구멍(TCP)이나 세모 모양 구멍(UDP)에 맞춰서 박스를 쏙 집어넣습니다.


Ⅱ. 핵심 식별 번호와 방화벽 실무 적용 (Deep Dive)

1. 상위 계층으로의 역다중화 (Demultiplexing)

IP는 여러 상위 프로토콜의 데이터를 실어 나르는 거대한 덤프트럭(다중화, Multiplexing)이다. 반대로 수신 측에 도착해 짐을 내릴 때는, 짐을 각 주인에게 쪼개서 나눠주는 역다중화 과정이 필수적이다.

 ┌─────────────────────────────────────────────────────────────┐
 │                Protocol 필드를 통한 수신 측 역다중화            │
 ├─────────────────────────────────────────────────────────────┤
 │                                                             │
 │   [ 수신자 OS 내부 (4계층 모듈들) ]                               │
 │                                                             │
 │     [ ICMP 모듈 ]     [ TCP 모듈 ]      [ UDP 모듈 ]          │
 │          ▲                 ▲                 ▲              │
 │          │                 │                 │              │
 │   Protocol = 1      Protocol = 6      Protocol = 17         │
 │          │                 │                 │              │
 │          └───────── ┬ ───────── ┬ ─────────┘              │
 │                       │         │                           │
 │   [ 수신자 IP 모듈 (3계층) ] "야! 택배 도착했다. 번호 보고 찾아가라!" │
 │                       ▲                                     │
 │                       │ (IP 헤더를 벗김)                      │
 │     인터넷 ───▶ [ IP Header | TCP/UDP/ICMP Data ] ───▶       │
 │                                                             │
 └─────────────────────────────────────────────────────────────┘

2. 실무 / 시험 필수 암기 프로토콜 번호 (Decimal)

IANA가 정의한 프로토콜 번호 중 네트워크 실무자가 평생 마주치는 숫자는 아래 5개 정도다.

  • 1 (ICMP): 인터넷 제어 메시지 프로토콜. (Ping 쏘거나 에러 메시지 날아올 때)
  • 2 (IGMP): 멀티캐스트 그룹 관리 프로토콜. (IPTV 등 그룹 가입할 때)
  • 6 (TCP): 신뢰성 있는 연결 지향 전송. (웹 HTTP, 메일, 파일 전송 등 거의 모든 인터넷)
  • 17 (UDP): 신뢰성 없는 비연결 전송. (DNS 조회, 실시간 동영상, 게임)
  • 89 (OSPF): 라우팅 프로토콜. (라우터들끼리 지도를 주고받을 때)

(참고: 이더넷 프레임 겉면에 붙은 0x0800(IPv4)은 Type 필드이고, IP 헤더 안에 들어있는 6(TCP)은 Protocol 필드다. 헷갈리면 안 된다.)

3. 방화벽(ACL) 룰 세팅에서의 활용

네트워크 엔지니어가 회사 방화벽(Cisco 라우터 ACL 등)에서 "외부에서 들어오는 핑(Ping) 공격을 막아라!"라고 룰을 짤 때, IP 주소만 적어서는 막을 수 없다. 엔지니어는 deny ip any any protocol 1 또는 deny icmp any any라는 식으로, 3계층 IP 패킷의 Protocol 필드 값이 '1'인 놈들만 핀셋으로 집어내어 쓰레기통에 버려버리는(Drop) 방식으로 통신을 차단한다.

📢 섹션 요약 비유: Protocol 번호 1, 6, 17은 네트워크 세계를 살아가는 엔지니어들의 **"구구단"**과 같습니다. 방화벽이라는 수문장에게 "6번(TCP) 배지 단 놈들은 통과시키고, 17번(UDP) 배지 단 놈들은 쏴 죽여라!"라고 명령을 내릴 때 쓰는 가장 확실한 암구호입니다.