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

  1. 본질: NCP (Network Control Protocol)는 PPP (Point-to-Point Protocol) 연결의 마지막 단계에서, IP나 IPX 등 상위 네트워크 계층 프로토콜을 협상하고 동적으로 설정하기 위한 제어 프로토콜의 집합이다.
  2. 역할: LCP가 물리적 링크를 구성하고 인증을 마친 후, NCP(예: IPCP)가 IP 주소를 할당하고 라우팅 정보를 교환함으로써 비로소 데이터 패킷이 전송될 수 있는 완벽한 통신 환경을 구축한다.
  3. 유연성: 다양한 네트워크 프로토콜(IPv4, IPv6, AppleTalk 등)을 단일 PPP 링크 위에서 동시에 다중화하여 전송할 수 있게 해주는 모듈식 아키텍처의 핵심 요소다.

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

  • 개념: NCP (Network Control Protocol)는 데이터 링크 계층(Layer 2) 통신 규약인 PPP 내에서, 상위 3계층 네트워크 프로토콜을 초기화하고 협상하기 위해 사용되는 하위 프로토콜들의 총칭이다. IP용으로는 IPCP (IP Control Protocol), IPv6용으로는 IPv6CP가 사용된다.

  • 필요성: 두 노드 간 물리적 연결이 완료되고(LCP 단계) 사용자가 인증되었다고 해서 곧바로 인터넷이 되는 것은 아니다. 서로 통신하려면 양단이 IP 주소를 가져야 하고, 헤더 압축 여부 등을 맞춰야 한다. NCP는 이러한 상위 네트워크 논리적 구성을 전담하여 링크를 실사용 가능한 상태로 만든다.

  • 💡 비유: 고속도로(물리적 링크)가 깔리고 톨게이트 요금 정산(LCP/인증)이 끝났다고 차가 달릴 수 있는 것은 아닙니다. NCP는 각 차량에 "차량 번호판(IP 주소)"을 발급하고 "내비게이션 경로(라우팅 설정)"를 세팅해 주어 차가 올바르게 주행할 수 있게 해주는 차량 등록 사업소와 같습니다.

📢 섹션 요약 비유: NCP는 아파트 입주 시 계약(LCP)을 마친 후, 실제로 전구에 불이 들어오게 하려고 **"전기/수도/가스(IP, IPv6)를 개통하는 마지막 행정 절차"**입니다.


Ⅱ. NCP의 동작 원리와 LCP와의 관계 (Deep Dive)

1. PPP 연결 프로세스 내 NCP의 위치

PPP 연결은 크게 세 단계를 거친다.

  1. LCP (Link Control Protocol): 링크 설정, MTU 협상, 루프백 탐지.
  2. 인증 단계 (선택): PAP, CHAP 등을 통한 사용자 확인.
  3. NCP (Network Control Protocol): 네트워크 계층 프로토콜 설정 (IP 주소 등 할당). 이 단계가 성공해야 데이터그램이 교환된다.
 ┌─────────────────────────────────────────────────────────────┐
 │                     PPP 연결 상태 천이도                    │
 ├─────────────────────────────────────────────────────────────┤
 │                                                             │
 │   [Dead] ────(물리적 연결)───▶ [Establish]                  │
 │                                    │  (LCP 협상 진행)       │
 │                                    ▼                        │
 │  ┌─────────────── [Authenticate] ◀─┘                        │
 │  │ (인증 실패)        │                                     │
 │  ▼                    ▼ (인증 성공 또는 인증 없음)          │
 │ [Terminate] ◀────── [Network]  (NCP 협상 진행)              │
 │                       │                                     │
 │                       ▼ (IPCP 등 NCP 설정 완료)             │
 │                     [Open]  ◀─── 실제 IP 데이터 전송 상태!  │
 │                                                             │
 └─────────────────────────────────────────────────────────────┘

2. IPCP (IP Control Protocol) 동작 방식

가장 대표적인 NCP인 IPCP(RFC 1332)의 주요 기능은 다음과 같다.

  • IP 주소 할당: 다이얼업이나 PPPoE 연결 시 ISP 서버가 클라이언트에게 동적 IP를 부여한다.
  • 헤더 압축 협상: Van Jacobson TCP/IP 헤더 압축 등을 사용할지 협상하여 대역폭 효율을 높인다.

3. 멀티프로토콜 지원 (Multiplexing)

NCP 덕분에 PPP는 하나의 시리얼 라인 위에서 IP, IPv6, IPX 데이터그램을 섞어서 전송할 수 있다. 프레임의 Protocol 필드를 통해 수신 측이 이를 식별한다. (예: 0x8021은 IPCP, 0x0021은 IP 데이터)

📢 섹션 요약 비유: NCP는 만능 어댑터입니다. 하나의 수도관(PPP)을 통해 수돗물(IPv4), 정수기 물(IPv6), 온수(IPX) 등 다양한 액체를 문제없이 동시에 흘려보낼 수 있도록 **"각 액체에 맞는 전용 밸브(IPCP, IPv6CP)를 달아주는 역할"**을 합니다.