文章目录
- 1 定义
- 2 LCP 与 NCP
- 3 PPP的帧格式
- 4 PPPoE
- 5 IPv6 IPoE
1 定义
PPP(Point-to-Point Protocol)是指点对点协议,即一对一连接计算机的协议。
PPP 属于 OSI 参考模型的第 2 层,即数据链路层的协议。
PPP 不像以太网和 FDDI 等数据链路,后两者不仅与 OSI 参考模型的数据链路层有关,还与第 1 层的物理层有关。
具体来讲,以太网使用同轴电缆或双绞线电缆,还定义了使用何种电子信号表示帧中的 0 和 1。
与之相比,PPP 属于纯粹的数据链路层协议,与物理层没有任何关系。
换句话说,仅有 PPP 无法实现通信,还需要有物理层的支持。
2 LCP 与 NCP
在开始进行数据传输前,要先建立一个 PPP 连接。
当这个连接建立以后就可以进行身份认证、压缩与加密。
在 PPP 的主要功能中包括两个协议:
- 一个是不依赖上层的 LCP(Link Control Protocol)
- 另一个是依赖上层的 NCP ( Network Control Protocol ),如果上层为 IP,此时的 NCP 也叫作 IPCP(IP Control Protocol)。
LCP 主要负责建立连接、断开连接、设置最大接收单元(MRU,Maximum Receive Unit)、设置验证协议(PAP 或 CHAP)及设置是否进行通信质量的监控。
IPCP 则负责设置 IP 地址并在设备之间交换是否需要压缩 TCP/IP 首部等信息(协商/Negotiate)。
在通过 PPP 连接时,通常需要验证用户名和密码,并且对通信两端进行双向的验证。
验证协议有两种,分别是 PAP(Password Authentication Protocol)和 CHAP(Challenge Handshake Authentication Protocol)。
PAP 在 PPP 连接建立时,通过两次握手验证用户名和密码,其中密码以明文方式传输。因此,PAP 一般用于安全要求不是很高的环境,否则可能会有窃听或盗用连接的风险。
CHAP 使用 OTP(One Time Password,一次性密码),可以有效防止窃听。此外,在建立连接后,还可以进行定期的密码交换,以验证对端是否中途被替换。
3 PPP的帧格式
PPP 数据帧格式如下图所示,其中标志码用来区分每个帧。
这一点与 HDLC(High Level Data Link Control,高级数据链路控制)协议非常相似,因为 PPP 本身就是基于 HDLC 制定出来的一种协议。
HDLC 在每个帧的前端和后端附加一个 8 位字节“01111110”用来区分帧,这一个 8 位字节叫作标志码。
在两个标志码中间的数据部分不允许出现连续 6 个以上的“1”。
因此,发送端在发送帧时,当出现连续 5 个“1”时,后面必须插入一个 0。
当接收端在接收帧时,如果收到连续 5 个“1”且后面跟着的是 0,就必须删除这个0。
由于最多出现 5 个连续的“1”,就比较容易通过标志码区分帧的起始与终止。
PPP 标准帧格式与此完全相同。
另外,在通过计算机进行拨号时,PPP 已经在软件中实现。
因此,那些插入或删除“0”的操作及 FCS 计算都交由计算机的 CPU 去处理。
这也是人们常说 PPP 这种方式会给计算机带来大量负荷的原因所在。
4 PPPoE
有些互联网接入服务商在以太网上利用 PPPoE(PPP over Ethernet)提供 PPP 功能,PPPoE 数据帧格式如下图所示。
在这种互联网接入服务中,通信线路由以太网模拟。
由于以太网越来越普及再加上它的网络设备与相应的 NIC 价格比较便宜,因此 ISP 能够提供一种单价更低的互联网接入服务。
单纯的以太网没有验证功能,也不能进行建立连接和断开连接的处理,因此无法按时计费。
而如果采用 PPPoE 管理以太网连接,就可以利用 PPP 的验证等功能使各家 ISP 可以有效地管理终端用户。
PPPoE 数据帧格式:
5 IPv6 IPoE
IPv6 IPoE 是利用 NTT 的 NGN 网络(以下简称 NGN 网络),提供 IPv6 互联网连接服务的一种机制。
NGN 网络是使用 IPv6 的专有网络。
在 NGN 网络中,由称为 VNE(Virtual Network Enabler)的运营商提供 IPv6 互联网接入服务,用户利用 IPv6 IPoE 通过 VNE 网络连接到 IPv6 互联网。
NGN 网络根据 VNE 为用户分配的 IPv6 前缀识别出作为通信源头的 VNE。