计算机网络(3.5)数据链路层- PPP 协议的特点
对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议PPP (Point-to-Point Protocol)。
PPP(Point-to-Point Protocol)是SLIP (Serial Line Internet Protocol)的改进,1994年正式成为因特网的标准协议[RFC 1661]。用户使用拨号电话线接入互联网时,用户计算机和ISP进行通信时所使用的数据链路层协议就是PPP 协议。PPP是一个面向连接的协议,它使得第2层链路能够经多种不同的物理层连接。它支持同步和异步链路,也能在半双工和全双工模式下工作。它允许任意类型的网络层数据报通过PPP连接发送。
PPP协议是目前使用最广泛的广域网协议,这是因为它具有以下特性:
1、能够控制数据链路的建立;
2、能够对IP地址进行分配和使用;
3、允许同时采用多种网络层协议;
4、能够配置和测试数据链路;
5、能够进行错误检测;
6、有协商选项,能够对网络层的地址和数据压缩等进行协商。
用户到ISP 的链路使用PPP 协议:
PPP 协议应满足的需求
-
简单——这是首要的要求。
-
封装成帧 —— 必须规定特殊的字符作为帧定界符。
-
透明性 —— 必须保证数据传输的透明性。
-
多种网络层协议 —— 能够在同一条物理链路上同时支持多种网络层协议。
-
多种类型链路 ——能够在多种类型的链路上运行。
-
差错检测 —— 能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
-
检测连接状态 —— 能够及时自动检测出链路是否处于正常工作状态。
-
最大传送单元 —— 必须对每一种类型的点对点链路设置最大传送单元 MTU 的标准默认值,促进各种实现之间的互操作性。
-
网络层地址协商 —— 必须提供一种机制使通信的两 个网络层实体能够通过协商知道或能够配置彼此的 网络层地址。
-
数据压缩协商 —— 必须提供一种方法来协商使用数据压缩算法。
PPP 协议不需要的功能
- 纠错
- 流量控制
- 序号
- 多点线路
- 半双工或单工链路
PPP协议之所以不使用序号和确认机制是出于以下的考虑:在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。在互联网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。帧检验序列 FCS 字段可保证无差错接受。
PPP 协议的组成
PPP 协议有三个组成部分:
(1) 一个将 IP 数据报封装到串行链路的方法。支持异、同步链路;还需注意PPP帧中的IP数据报的长度受到 MTU的限制。
(2) 链路控制协议 LCP (Link Control Protocol)。用来建立、配置和测试数据链路连接的。RFC1661中定义了11 种类型的分组。
(3) 网络控制协议 NCP (Network Control Protocol)。每一个协议支持不同的网络层协议。
PPP的协议体系
采用高级数据链路控制协议HDLC作为点到点的串行链路上封装数据报的基本方法;
采用链路控制协议LCP(Link Control Protocol)用于启动线路、测试、任选功能的协商及关闭连接;
采用网络控制协议NCP(Network Control Protocol)用来建立和配置不同的网络层协议,PPP允许同时采用多种网络层协议,如IP、IPX、AppleTalk和DECnet, PPP使用NCP对多种协议进行封装。
HDLC 的帧结构:标志字段F (Flag) 为6 个连续 1 加上两边各一个 0 共8 bit。在接收端只要找到标志字段就可确定一 个帧的位置。