3.2点对点协议PPP

对于点对点链路,PPP是目前使用最广泛的数据链路层协议。PPP就是用户计算机和ISP进行通信时所使用的数据链路层协议。

3.2.1PPP协议的特点

1.PPP协议应该满足的需求

  • 简单:IETF在设计互联网体系结构时,把最复杂的部分放在了TCP协议中,网际层协议IP相对简单,而数据链路层没有必要提供更复杂的功能。
  • 封装成帧
  • 透明性
  • 多种网络层协议:PPP必须能够在同一条物理线路上同事支持多种网络层协议(IP、IPX等)的运行。
  • 多种类型的链路
  • 差错检测
  • 检测链接状态:当链路出现故障重新链接的时候尤其需要
  • 最大传送单元
  • 网络层地址协商:如果仅仅链路层实现了链接而不知道对方的网络层地址,不能保证网络层可以传送分组。
  • 数据压缩协商
  • PPP协议只支持全双工链路。

2.PPP协议的组成

组成PPP协议的三个部分:

1、一个将IP数据报封装到串行链路的方法。PPP既支持异步链路、也支持面向比特的同步链路。

ps  参考 同步传输和异步传输 

      参考 网络编程中同步传输和异步传输

2、一个用来建立、配置和测试数据链路链接的链路控制协议LCP。

3、一套网络控制协议NCP,其中每一个协议支持不同的网络层协议。

3.2.2 PPP协议的帧格式

参考 PPP协议的帧格式

è¿éåå¾çæè¿°

1 各个字段的意义

PPP帧的首部和尾部分别为4个字段和2个字段

首部第一个字段和尾部第二个字段为标志字段 0x7E(01111110)。标志一个帧的开始和结束。

扫描二维码关注公众号,回复: 3036923 查看本文章

首部的第二个字段为地址字段A,规定为0xFF,控制字段C规定为0x03,这两个字段意义尚未给出,实际上没有携带PPP帧的信息

首部的第四个字段是两个字节的协议字段

  • 若为0x0021表示信息部分就是IP数据包
  • 若为0xC021表示信息部分是PPP链路控制协议LCP的数据。
  • 0x8021表示这是网络层的控制数据

信息部分长度可变,但是不超过1500字节

尾部第一个字段(2个字节)是使用CRC的帧检验序列FCS

2 实现透明传输

2.1字节填充

当PPP使用异步传输的时候,把转移字符定义为0x7D,并使用字节填充

  • 出现定界符0x7E(一样的比特组合,后省略),则变成两个字节的(0x7D,0x5E)
  • 出现转移字符0x7D,变成两个字节序列(0x7D,0x5D)
  • 出现ASCII控制字符,需要加入转移字符,并对相应的控制字符,做出改变。

2.2零比特填充

PPP协议在使用SONET/SDH链路时,使用同步传输。零比特填充的具体做法:只要发现有5个连续的1,则立即填入一个0.上传的时候,只要发现有5个连续的1时,就删除后面的那个0.

猜你喜欢

转载自blog.csdn.net/qq_24888697/article/details/81868052
今日推荐