PPP 协议应满足的需求
IETF 认为,在设计 PPP 协议时必须考虑一下多方面的需求 [RFC 1547]:
- 简单:IETF 在设计互联网体系结构时把其中最复杂的部分放在 TCP 协议中,而网际协议 IP 则相对比较简单,它提供的是不可靠的数据报服务。在这种情况下,数据链路层没有必要提供比 IP 协议更多的功能。IETF 把简单作为首要需求。
- 封装成帧:PPP 协议必须规定特殊的字符作为帧界定符(即标志一个帧的开始和结束的字符),以便使接收端从收到的比特流中能准确的找出帧的开始和结束位置。
- 透明性:PPP 协议必须保证数据传输的透明性。这就是说,如果数据中碰巧出现了帧定界符一样的比特组合时,就要采取有效的措施来解决这个问题。
- 多种网络层协议:PPP 协议必须能够在同一条物理链路上同时支持多种网络层协议(如 IP 和 IPX 等)的运行。当点对点链路所连接的时局域网或路由器时,PPP 协议必须同时支持在链路所连接的局域网或路由器上运行的各种网络层协议。
- 多种类型链路:能够在多种链路上运行。例如,串行的(一次只发送一个比特)或并行的(一次并行地发送多个比特),同步的或异步的,低速的或高速的,电的或光的,交换的(动态的)或非交换的(静态的)点对点链路。
- 差错检测:PPP 协议必须能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。若在数据链路层不进行差错检测,那么已出现差错的无用帧就还要再网络中继续向前转发,因而会白白浪费许多的网络资源。
- 检测连接状态:
PPP 协议的组成
PP 协议有三个组成部分:
- 一个将 IP 数据报封装到串行链路的方法。PPP 既支持异步链路(无奇偶检验的 8 比特数据),也支持面向比特的同步链路。IP 数据报就是其中的信息部分。这个信息部分的长度受最大传送单元 MTU 的限制。
- 一个用来建立、配置和测试数据链路连接的链路控制协议 LCP(Link Control Protocol)。通信的双方可协商一些选项。
- 一套网络控制协议 NCP(Network control Protocol),其中的每一个协议支持不同的网络层协议,如 IP、OSI 的网络层、DECnet 和 AppleTalk 等。
PPP 协议的帧格式
PPP 协议的工作状态