Skip to content

4.4 NCP 协商:IPCP 与动态获取 IP ​

在 LCP 协商好链路参数,PAP/CHAP 验证完身份后,PPP 就进入了 NCP (Network Control Protocol) 阶段。

NCP 是一组协议,针对不同的网络层协议有不同的 NCP。最常用的是 IPCP (Internet Protocol Control Protocol),用于协商 IPv4 地址。

1. IPCP 的两大功能 ​

1.1 互推地址 (Address Negotiation) ​

即使 PPP 链路两端的 IP 地址不在同一个网段(例如 R1: 1.1.1.1/32, R2: 2.2.2.2/32),它们也能互通!这是 PPP 的一大特色。

  • 原理:
    1. R1 发送 Config-Request (IP-Address=1.1.1.1) 给 R2。
    2. R2 收到后,回复 Config-Ack。同时,R2 会将 R1 的 IP 地址 1.1.1.1 作为一条 32 位主机路由 添加到自己的路由表中,下一跳指向 PPP 接口。
      • Display ip routing-table 会看到:1.1.1.1/32 Direct ... Serial1/0/0。
    3. 反之亦然。
  • 结果:双方都有去往对方 IP 的路由,所以能通。这就是为什么 PPP 接口可以借用 (Unnumbered) 其他接口 IP 的原因。

1.2 动态获取 IP (IP Address Assignment) ​

这是最常见的家用宽带拨号上网场景(PPPoE)。你的路由器没有固定 IP,而是通过 PPP 向运营商请求分配一个公网 IP。

  • 流程:
    1. Client -> Server: Config-Request (IP-Address=0.0.0.0) —— "我有 IP 吗?"
    2. Server -> Client: Config-Nak (IP-Address=1.2.3.4) —— "0.0.0.0 不行,给你分配个 1.2.3.4 吧。"
    3. Client -> Server: Config-Request (IP-Address=1.2.3.4) —— "好的,那我就用 1.2.3.4。"
    4. Server -> Client: Config-Ack —— "成交。"

2. 配置实战 ​

2.1 互推地址配置 ​

无需特殊配置,只要接口配置了 IP 地址,IPCP 协商就会自动完成。

AR2:

bash
interface Serial 1/0/1
 ip address 202.100.23.2 24

AR3:

bash
interface Serial 1/0/0
 ip address 202.100.23.3 24

2.2 动态获取 IP 配置 (PPPoE 模拟) ​

Server (运营商 AR3):

bash
# 1. 创建地址池
[AR3] ip pool MyPool
[AR3-ip-pool-MyPool] network 1.2.3.0 mask 24
[AR3-ip-pool-MyPool] gateway-list 1.2.3.1

# 2. 接口配置
[AR3] interface Serial 1/0/0
[AR3-Serial1/0/0] ip address 202.100.33.3 24
# 开启分配 IP 功能
[AR3-Serial1/0/0] remote address pool MyPool

Client (用户 AR2):

bash
[AR2] interface Serial 1/0/1
# 关键命令:协商获取 IP
[AR2-Serial1/0/1] ip address ppp-negotiate

协商过程细节:

  1. Client 发送 Config-Request (IP=0.0.0.0)。
  2. Server 回复 Config-Nak (IP=1.2.3.4) (提供地址)。
  3. Client 再次发送 Config-Request (IP=1.2.3.4) (确认地址)。
  4. Server 回复 Config-Ack (确认)。
  5. Client 安装 1.2.3.4 到接口。

eNSP/EVE-NG 拓扑

(此处待补充 IPCP 协商与路由表截图)


3. 本章小结 ​

PPP 协议是一个功能非常强大的协议族:

  1. LCP:负责修路(链路建立、参数协商)。
  2. 认证:PAP(明文,两次握手)和 CHAP(密文,三次握手,更安全)。
  3. NCP (IPCP):负责跑车(互推路由,动态分配 IP)。

理解了 PPP,你也就理解了广域网连接的基石。

真人撰写written by human