计算机网络之数据链路层(2)PPP协议

Internet中主要的数据链路层协议:

  • SLIP (Serial Line IP)
    — 串行线路的Internet数据链路层协议,面向字符,RFC1055

  • PPP ( Point-to-Point Protocol)
    — 点-点协议,面向字节,RFC1661

  • 通信线路质量较差的年代:HDLC(高级数据链路控制)

1,PPP 协议的特点

PPP协议是IETF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议在1994年就已称为因特网的正式标准。

用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。

PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。

用户到 ISP 的链路使用 PPP 协议 :
这里写图片描述

2,PPP 协议应满足的需求

  • 简单——这是首要的要求

  • 封装成帧 必须规定特殊的字符作为帧定界符。

  • 透明性 多种网络层协议 必须能够在同一条物理链路上同时支持多种网络层协议(如IP和IPX等)的运行。

  • 多种类型链路 能够在多种链路上运行

  • 差错检测 必须能够对接收方收到的帧进行检测,并立即丢弃有差错的帧。

  • 检测连接状态 能够及时(不超过几分钟)检测出一条链路是处于正常工作状态,还是已经出了故障。

  • 最大传送单元 必须对每一种类型的点对点链路设置MTU的标准默认值。

  • 网络层地址协商

  • 数据压缩协商

3,PPP 协议不需要的功能

  • 纠错 ppp协议是不可靠传输协议

  • 流量控制

  • 序号

  • 多点线路

  • 半双工或单工链路

4,PPP协议的组成

(1)一个将IP数据报封装到串行链路的方法。PPP既支持异步链路(无奇偶检验的8比特数据),也支持面向比特的同步链路。IP数据报在PPP帧中就是其信息部分。这个信息部分的长度受最大接收单元MRU (Maximum Receive Unit)的限制。MRU的默认值是1500字节。

(2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP (Link Control Protocol)。通信的双方可协商一些选项。在[RFC 1661]中定义了11种类型的LCP分组。

(3)一套网络控制协议NCP (Network Control Protocol),其中的每一个协议支持不同的网络层协议,如IP、OSI的网络层、DECnet以及AppleTalk等。

5,PPP协议的帧格式

PPP的帧格式和HDLC的相似,PPP不是面向比特而是面向字节的,因而所有的PPP帧的长度都是整数个字节。

1)各字段的含义
  • 标志(flag):01111110
  • 地址(address):为固定值 “FF”(11111111),点-点协议,地址无意义
  • 控制(control):为固定值“03”(00000011),无编号
  • 数据(信息)字段:长度可变,不超过1500字节
  • 协议字段定义参见RFC1700,它标识出网络层协议数据域的类型:

    • 0021:信息字段内容为IP数据报
    • C021:信息字段内容为PPP链路控制数据
    • 8021:信息字段内容为网络控制数据
2)字节填充

当PPP使用异步传输时,它把转义符定义为0x7E,并使用字节填充。

字节填充规则:

将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。

若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列(0x7D, 0x5D)。

若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。

例:
一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)?

答案: 7E FE 27 7D 7D 65 7E

3)零比特填充

当PPP用在同步传输链路(SONET/SDH)时,采用硬件来完成零比特填充(和HDLC的做法一样)。

零比特填充规则:

a,数据中某一段比特组合恰好出现和 F 字段一样的情况

b,发送端在 5 个连 1 之后填入 0 比特再发送出去

c,在接收端将 5 个连 1 之后的 0 比特删除,恢复原样

这里写图片描述

6,PPP协议的工作状态

PPP 协议的三个工作阶段:

1)LCP协商PPP参数,建立数据连接

2)用户验证,客户端会将自己的身份发送给远端的接入服务器。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。

3)调用网络层协议 ,认证阶段完成之后,PPP将调用在链路创建阶段(阶段1)选定的各种网络控制协议(NCP)。选定的NCP解决PPP链路之上的高层协议问题,例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态地址。

PPP 协议的状态图 :

这里写图片描述

6,PPP协议的应用

家庭拨号上网就是通过PPP在用户端和运营商的接入服务器之间建立通信链路。

目前,宽带接入正在成为取代拨号上网的趋势,在宽带接入技术日新月异的今天,PPP也衍生出新的应用。典型的应用是在ADSL接入方式当中,PPP与其他的协议共同派生出了符合宽带接入要求的新的协议,如PPPoE(PPP over Ethernet),PPPoA(PPP over ATM)。

猜你喜欢

转载自blog.csdn.net/rdgfdd/article/details/80543198