浅谈PPP协议 下载本文

内容发布更新时间 : 2024/7/8 11:23:45星期一 下面是文章的全部内容请认真阅读。

浅谈PPP协议

在我们生活可能经常会听到PPP协议,那到底什么是PPP协议呢?

PPP协议又称点对点协议,是目前对于点对点链路中使用最广泛的数据链路层协议,为在点对点连接上传输多协议数据包提供了一个标准方法。我们都知道,互联网用户通常都要连接到某个ISP才能接入到互联网,而PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层的协议。

PPP的特点:

(1)PPP通过IPCP过程实现动态分配IP地址,允许在连接时刻协商IP地。因为PPP协议能提供一种机制使通信的两个网络层(比如说IP层)的实体能够通过协商知道或能够配置彼此的网络层地址。这样才能保证网络层可以传送分组。

(2)PPP支持多种网络协议,比如TCP/IP、NetBEUI、NWLINK等。因为PPP协议是属于数据链路层的协议,如果点对点信道的数据链路层要进行通信时,必须把网络层交下来的IP数据报添加首尾封装成帧,这样就需要PPP支持多种网络协议。否则,网络层交下来的数据可能会缺失或者出错,这会严重得影响到数据链路层之间的数据传送。

(3)PPP具有错误检测以及纠错能力,支持数据压缩。检测和纠正其中的比特差错。差错检测有3种技术:奇偶校验、检验和方法(通常更多地应用于运输层)、循环冗余检测(通常更多地应用在适配器中的链路层)。

奇偶校验最简单的方式就是用单个奇偶校验位。其缺点就是无法校验偶数个比特差错。另外包含一些二维奇偶校验。

检验和方法,就是将k比特整数加起来,如TCP和UDP中的校验和就是基于这种方法。

循环冗余检测(CRC),是现今计算机网络中广泛应用的差错检测技术。下面举例来说明,假设传送的数据M=101001(共k为,k=6),在数据M后面加供差错检测用的n位冗余码一起传送(一共发送n+k),虽然增大了数据传输的开销,但却可以进行差错检测。

n位冗余码可以用以下方法计算,先用二进制的模2运算进行2^n乘M,这相当于在M后边添加n个0,然后用得到的(k+n)位的数除以首发双方事先确定好的长度为(n+1)位的数p,得出商是Q,而余数是R,把余数R作为冗余码添加在数据M后面发送出去。

M=101001,n=3,P=1101,则Q=110101,R=001,二进制的除法相当于异或运算。 接收方对接收到的帧进行CRC检验,把接收到的帧以同样的P,得出余数R,如果传输过程中没有差错,则得出的余数显然应为0。之外PPP协议还能提供一种方法来协商使用数据压缩算法。

(4)PPP具有身份验证功能。

(5) PPP可以用于多种类型的物理介质上,包括串口线、电话线、移动电话和光纤(例如SDH),PPP也用于Internet接入。

(6)PPP协议不支持多点线路,而只支持点对点的链路通信。此外,PPP协议只支持全双工链路,

PPP协议的帧格式:

(1)帧格式类型为:

如上图所示,其中首部7E位标志字段,表示一个帧的开始或结束。FF为地址字段,03为控制字段。尾部的crc是使用CRC的帧检验序列FCS。

(2)字节填充

若信息字段中出现与标志字段一样的比特组合时,会将该字段转换为2字节的序列,然后在接受端再恢复原来的信息

(3)零比特填充

PPP协议在使用同步传输的时候会采用这种方法,即只要发现5个连续1就立即填入一个0。在接受再把这些0删掉,恢复原来的信息。

PPP协议的工作流程:

当用户拨号接入ISP后,就建立了一条从用户PC机到ISP的物理连接。

这时用户PC机向ISP发送一系列的LCP分组(封装成多个PPP帧),以便建立LCP连接。

这些分组及其响应选择了将要使用的一些PPP参数。

接着还要进行网络层配置,NCP给新接入的用户PC机分配一个临时的IP地址。 这样,用户PC机就成为因特网上的一个有IP地址的主机了。

当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。 接着,LCP释放数据链路层连接。