要理解 NCP 和 LCP,首先需要明确它们的共同”归属”——二者都是 PPP(Point-to-Point Protocol,点对点协议) 的核心组成部分。PPP 是拨号上网(如早期 ADSL、拨号 modem)、专线连接等”点对点场景”中,用于在两个设备(如用户 PC 与 ISP 路由器)之间建立数据传输链路的关键协议,而 NCP 和 LCP 则分别负责 PPP 不同阶段的核心功能,分工明确且有严格的执行顺序。

一、LCP:链路控制协议(Link Control Protocol)
LCP 的核心作用是 “建立、配置和测试数据链路层的连接”,是 PPP 协议中”先于网络层”启动的基础协议,相当于为后续的 IP 通信”铺好物理和数据链路层面的路”。
1. 核心功能(3大核心)
- 链路建立与参数协商:在物理连接(如拨号后 Modem 握手成功)建立后,LCP 会主动发送”配置请求帧”,与对方设备协商数据链路层的关键参数,确保双方”规则一致”,例如:
- 帧的最大长度(MTU,避免数据分片不合理);
- 是否启用”链路质量检测”(避免劣质链路传输数据);
- 是否启用”认证”(如 PAP/CHAP 认证,验证用户身份,防止非法接入)。
- 链路测试:协商完成后,LCP 会发送”回声请求/响应帧”,测试链路是否通畅(类似”ping 测试”的链路层版本),确认链路可用后才允许后续数据传输。
- 链路释放:当通信结束(如用户主动断开拨号),LCP 会发送”终止请求帧”,与对方协商释放数据链路层连接,为最终释放物理连接做准备。
2. 关键特点
- 工作在数据链路层:不涉及 IP 等网络层协议,仅关注”两个设备之间的链路本身”;
- 必须先于 NCP 执行:只有 LCP 完成链路配置和测试,NCP 才能启动网络层的配置。
二、NCP:网络控制协议(Network Control Protocol)
NCP 的核心作用是 “配置网络层协议,使两个设备能通过 PPP 链路传输网络层数据”(最常见的是 IP 数据),相当于在 LCP 铺好的”链路”上,搭建”IP 通信的桥”。
由于 PPP 支持多种网络层协议(如 IP、IPX、AppleTalk),因此 NCP 不是单一协议,而是一组”协议族”,其中最常用的是 IPCP(IP Control Protocol,IP 控制协议)——我们日常拨号上网中提到的 NCP,本质就是 IPCP。
1. 核心功能(以 IPCP 为例)
- 动态分配 IP 地址:这是拨号上网中 NCP 最关键的作用。当 LCP 建立好链路后,IPCP 会向 ISP 的路由器发送”IP 地址请求”,路由器的 IPCP 则会分配一个临时的公网 IP 地址给用户 PC(这也是为什么拨号上网每次 IP 可能不同),使 PC 成为因特网上的”合法主机”。
- 协商网络层参数:除了 IP 地址,IPCP 还会协商其他网络层参数,例如:
- 双方的子网掩码(确保正确判断目标地址是否在同一网段);
- 默认网关(即 ISP 路由器的地址,PC 发送外网数据时的”出口”);
- DNS 服务器地址(用于 PC 解析域名,如将 www.baidu.com 转为 IP)。
- 网络层连接释放:当通信结束时,IPCP 会先”收回”分配的 IP 地址(释放给其他用户使用),再通知 LCP 释放数据链路层连接——对应你问题中”NCP 释放网络层连接,再 LCP 释放数据链路层连接”的流程。
2. 关键特点
- 工作在网络层与数据链路层之间:衔接 LCP(数据链路层)和 IP 协议(网络层),是”让 IP 通信能在 PPP 链路上运行”的关键;
- 依赖 LCP:必须在 LCP 建立好链路后才能启动,若 LCP 链路中断,NCP 连接也会随之失效。
三、NCP 与 LCP 的核心区别(表格对比)
为了更清晰区分二者,可通过以下维度对比:
| 对比维度 | LCP(链路控制协议) | NCP(网络控制协议,以 IPCP 为例) |
|---|---|---|
| 核心作用 | 建立、配置、测试数据链路层连接 | 配置网络层参数(如分配 IP),支持 IP 通信 |
| 工作层级 | 数据链路层(OSI 第二层) | 衔接数据链路层与网络层(OSI 第二层与第三层之间) |
| 关注对象 | 链路本身(如帧长度、链路质量) | 网络层协议(如 IP 地址、DNS、网关) |
| 执行顺序 | 先执行(必须先铺好”链路”) | 后执行(在”链路”上搭”IP 桥”) |
| 释放顺序 | 后释放(先释放网络层,再释放链路层) | 先释放(先收回 IP,再通知释放链路) |
| 典型场景 | 拨号后 Modem 握手、协商帧大小 | 拨号后获取临时 IP、DNS 地址 |

各字段的意义:
首部:4 个字段
- 标志字段 F: 0x7E 。连续两帧之间只需要用一个标志字段。
- 地址字段 A:只置为 0xFF。实际上不起作用。
- 控制字段 C:通常置为 0x03。
- 协议字段。
- 尾部:2 个字段。
四、拨号上网中 NCP 与 LCP 的完整流程
结合你问题中的描述,我们可以将拨号上网的核心流程拆解为”建立-通信-释放”三阶段,更直观理解二者的配合:
-
建立阶段:
- 物理连接:用户拨号,Modem 与 ISP 路由器建立物理连接;
- LCP 工作:双方发送 LCP 分组,协商帧大小、认证方式,测试链路通畅;
- NCP(IPCP)工作:LCP 成功后,IPCP 向 ISP 请求并获取临时 IP、网关、DNS,PC 成为因特网主机。
-
通信阶段:
- LCP 维持链路稳定(如定期检测链路质量);
- NCP(IPCP)维持 IP 配置(如 IP 地址不释放);
- PC 通过获取的 IP 地址,正常发送/接收 IP 数据(如浏览网页、下载文件)。
-
释放阶段:
- NCP 释放:IPCP 收回临时 IP 地址,释放网络层连接;
- LCP 释放:LCP 协商释放数据链路层连接;
- 物理释放:最终断开 Modem 与路由器的物理连接,拨号结束。
简言之:LCP 负责”铺路”(链路),NCP 负责”设门牌号”(IP)和”指路”(网关/DNS),二者配合才能让拨号上网从”物理连接”变成”能访问互联网的有效连接”。
PPP协议的工作状态
当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
- PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
- 这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
- 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。



Some information may be outdated