点对点协议PPP(point-to-point protocol)是最常用的数据链路层协议
PPP 协议是用户计算机和 ISP 进行通信所使用的数据链路层协议。
1 PPP协议的特点
1)PPP 协议应满足的需求
- (1)简单:数据链路层没有必要提供比IP协议更多的功能。接收方每收到一个帧,就进行CRC检验,如果CRC检验正确,就收下这个帧,反之就丢弃这个帧
- (2)封装成帧:规定特殊的字符作为帧定界符
- (3)透明性:保证数据传输的透明性
- (4)多种网络层协议:在同一条物理链路上能同时支持多种网络层协议
- (5)多种类型链路:能在多种类型的链路上运行
- (6)差错检测:能够对接收端收到的帧进行检测,并立即丢弃有差错的帧
- (7)检测连接状态:能及时自动检测出链路是否处于正常工作状态
- (8)最大传送单元:设置最大传送单元的默认值,促进各种实现之间的互操作性
- (9)网络层地址协商:必须提供一种机制使通信的两个网络层实体能知道彼此的网络层地址
- (10)数据压缩协商:必须提供一种,但并未要求标准化
2)PPP 协议的组成:
- (1)一个将IP数据报封装到串行链路的方法。
- (2)一个用来建立、配置和测试数据链路连接的链路控制协议 LCP(link control protocol)
- (3)一套网络控制协议 NCP(network control protocol)
2 PPP协议的帧格式
(1)各字段的含义
- 首部中:有标志字段F、地址字段A和控制字段C,还有2字节的协议字段
- 尾部中:有帧检验序列FCS和标志字段F
(2)字节填充
- 在异步传输中:使用转义字符进行字节填充
- 在同步传输中:使用零比特填充,即在连续的1之后添加一个0
3 PPP协议的工作状态
- 链路静止:PPP链路的起始和终止状态是链路静止(link dead)状态,此时在用户机和ISP的路由器之间没有物理层的连接
- 链路建立:当用户机通过调制解调器呼叫路由器时,路由器检测到发出的载波信号,在双方建立了物理层连接后,进入链路建立(link establish)状态
- 配置协商:发送 LCP 的配置请求帧(configure-request),链路的另一端可以发送配置确认帧(ack)、配置否认帧(nak)和配置拒绝帧(reject)
- 鉴别:配置协商结束后建立了 LCP 链路,进入鉴别(authenticate)状态
- 网络层协议:身份鉴别成功则进入网络层协议(network-layer protocol)
- 链路打开:PPP链路的两端的网络控制协议 NCP 根据网络层的不同协议互相交换网络层特定的网络控制分组,然后进入数据通信的链路打开(link open)状态。此时链路的两个PPP端点可以彼此向对方发送分组
- 链路终止:当数据传输结束后,由一端发出终止请求LCP分组(terminate-request)请求终止链路连接,转到链路终止状态