点对点信道及PPP协议

点对点信道

点对点信道使用一对一的点对点通信方式。
在这里我们先明确一下“链路“、”数据链路"和“帧”。
链路:从一个结点到相邻结点的一段物理路线(有线或无线),而中间没有任何其他的交换结点。
数据链路:在链路的基础上增加了一些必要的硬件(如网络适配器)和软件(如协议的实现)。
:数据链路层传送的协议数据单元是帧。
数据链路层的三个基本问题:封装成帧、透明传输、差错检测

  1. 封装成帧:在一段数据前后分别添加首部和尾部(进行帧定界)构成帧。帧=帧首部+帧的数据部分(<=最大传送单元MTU)+帧尾部。
  2. 透明传输:所传输的数据中任何8bit的组合一定不允许和用作帧定界的控制字符的比特编码一样。具体方法:在控制字符和转义字符前插入一个转义字符,称为字节填充字符填充
  3. 差错检测:误码率BER=传输错误的比特/传输比特总数。检测技术:循环冗余检验CRC,在数据M后面添加n位的冗余码(帧检验序列FCS)
    冗余码求法:用二进制的模2运算进行2n乘M的运算,相当于在M后面加n个0,用该数除以收发双方事先商定的长度为(n+1)位的除数P,得商Q余数R(n位冗余码)

传输差错:
1、比特差错,使用CRC检验实现无比特差错的传输,但这还不是可靠传输。
2、帧丢失、帧重复或帧失序,在CRC基础上增加帧编号、确认、重传机制使数据链路层向上提供可靠传输的服务。

点对点协议PPP

一、定义
PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议,是不可靠传输的协议。
二、特点
1、PPP协议该满足的需求

  1. 简单,为首要需求,主要目的就是提高协议的互操作性。
  2. 封装成帧,PPP协议必须规定特殊的字符作帧定界。
  3. 透明性,PPP协议必须保证数据传输的透明性。
  4. 多种网络层协议,PPP协议必须能够在在同一条物理链路是同时支持多种网络层协议的运行。
  5. 多种类型链路,PPP协议还必须能够在多种类型的链路上运行。典例:PPPoE,是为宽带上网的主机使用的链路层协议。
  6. 差错检测,PPP协议必须能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
  7. 检测连接状态,PPP协议必须具有一种机制能及时自动检测出链路是否处于正常工作状态。
  8. 最大传送单元,PPP协议必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值。
  9. 网络层地址协议,PPP协议必须提供一种机制使通信的两个网络层的实体能通过协商知道或配置彼此的网络层地址。
    10.数据压缩协商,PPP协议必须提供一种方法来协商使用数据压缩算法。
    PPP协议只支持点对点的链路通信,只支持全双工链路。

2、组成

  1. 一个用来建立、配置和测试数据链路连接的链路控制协议LCP。
  2. 一套网络控制协议NCP。
  3. 一个将IP数据报封装到串行链路的方法。

三、PPP协议的帧格式
1、各字段的意义

  • 标志字段 F 表示一个帧的开始或结束
  • 地址字段 A 规定为0xFF(即11111111)
  • 控制字段 C 规定为0x03(即00000011)
  • 协议字段 协议 当协议字段为0x0021时,PPP帧的信息字段就是IP数据报;若为0xC021,则信息字段是PPP链路控制协议LCP的数据;而0x8021表示这是网络层的控制数据。
    如图为PPP帧的格式:
    点对点信道及PPP协议_第1张图片

2、字节填充-------PPP使用异步传输

  • 当PPP异步传输时,它把转移符定义为0x7D,并使用字节填充。
  • RFC1662规定了如下填充方法:
    (1)把信息字段中出现的每一个0x7E字节转变为2字节序列(0x7D,0x5E)。
    (2)若信息字段中出现一个0x7D的字节(即出现了和转义字符一样的比特组合),则把转义字符0x7D转变为2字节序列(0x7D,0x5D)。
    (3)若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。例如,出现0x03(在控制字符中是“传输结束”ETX)就要把它转变为2字节序列的(0x7D,0x31)。
  • 由于在发送端进行了字节填充,因此在链路上传送的信息字节数就超过了原来的信息字节数。但接收端在接收到数据后再进行与发送端字节填充相反的变换,就可以正确地恢复出原来的信息。
    3、零比特填充-------PPP使用同步传输
  • 当PPP使用同步传输时,使用零比特填充。
  • 零比特填充的具体方法:
    (1)在发送端先扫描整个信息字段(通常使用硬件实现,但也可以用软件实现,但是会慢一些)。
    (2)只要发现有5个连续的1,则立即填入一个0。
    (3)接收端在收到一个帧时,先找到标志字段F以确定帧的边界,接着再用硬件对其中的比特流进行扫描,每当发现5个连续1时,就把5个连续1后的一个0删除,以还原成原来的信息比特流。
  • 因此通过这种零比特填充后的数据,就可以保证在信息字段中不会出现连续6个1。
    四、PPP协议的工作状态
  • 链路静止,PPP链路的起始和终止终止状态永远是链路静止
  • 链路建立,建立链路层的LCP连接
  • 鉴别,只允许传送LCP协议的分组、鉴别协议的分组以及监测链路质量的分组。有口令鉴别协议PAP口令握手鉴别协议CHAP,若鉴别成功则进入“网络层协议”状态,若失败则转入“链路终止”状态
  • 网络层协议,PPP链路的两端的网络控制协议NCP根据网络层的不同协议互相交换网络层特定的网络控制分组,即NCP配置协商
  • 链路打开,链路的两个PPP端点可以向对方发送分组,还可以回送请求LCP分组和回送回答LCP分组,以检查链路状态
  • 链路终止,由一端发出终止请求LCP请求终止链路连接,在收到对方发来的终止确认LCP后,转到“链路终止”状态
    如果链路出现故障,也会从“链路打开”状态转到“链路终止”状态,当调制解调器的载波停止后,则回到“链路静止”状态。
    点对点信道及PPP协议_第2张图片

由此可见,PPP协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。

你可能感兴趣的:(计网)