PPP总结
PPP(Point to PointProtocol)是工作在数据链路层的简单的点对点的协议。而PPP协议是用户计算机和ISP之间进行通信的一种协议。广域网的数据链路层协议。
PPP特点:简单,封装成帧,透明性,多种网络层协议,多种类型链路,差错检验,检测连接状态,最大传输单元,网络层地址协商,数据压缩协商。
分别介绍不同的特点:
1. 简单:我们知道在因特网的体系结构中最复杂的一部分是TCP,而在传输层下层的网络层协议也已经很简单了,IP层时不提供可靠的数据服务的。这样,处于数据链路层的协议更加没有做的太复杂的必要,因此,PPP很简单。在接收方每收到一个帧时,就进行CRC检验,如果正确,收下,不正确,丢弃。
2. 封装成帧:PPP规定了特殊的字符作为帧定界符,标志着一个帧的开始和结束,以便接收端能够从比特流中准确的找到帧的开始和结束的位置。
3. 透明性:既然才用了特殊的字符作为定界符,那么要是数据中出现了特殊字符怎么办,为了保证不出现歧义,PPP使用了字节填充的方法来实现。
4. 多种网络协议:支持多种网络层协议,如IP,IPX等,同时也要支持所连接的局域网上的各种网络协议。
5. 多种类型链路:各种链路,包括串行的,并行的,同步的,异步的,低速的,高速的,电的,光的,交换的,非交换的点对点链路。
6. 差错检验:支持差错检验,当数据出现错误时,就会丢弃这个报文,具体的检验的方式就是使用帧尾部的检验FCS。
7. 检验链路的连接状态:每隔规定的单位时间就行进行链路连接状态的检查。
8. 最大的传输单元:在数据链路层都要规定最大的传输单元MTU。注意:最大传输单元是指数据部分的最大的长度。
9. 网络层地址协商:使得通信的两个网络层的实体能够通过协商的方法来知道或者来配置彼此的网络层地址。(这个需要强烈记忆的)
10. 数据压缩协商:提供一种方法来进行数据压缩算法的协商。
PPP的组成:
1) 一个将IP数据报封装到链路层的方法。
2) 一个用来建立,配置,测试数据链路的连接状态的协议,链路控制协议LCP(Link Control Protocol)。
3) 一套网络控制协议NCP(Net Control Protocol)每一个协议支持不同的网络层的协议。
PPP的帧格式:
如上图所示为PPP帧的格式。
对透明传输的实现方法:
1. 使用字节填充的方法,通过上面的PPP的数据的帧格式我们知道,帧定界符是使用特殊的字符进行标识的,但是如果在数据部分也出现了这样的定界符,该怎样处理呢?处理方法如下:(异步传输时)
1. 把数据部分出现的每个0X7E转化为2字节的序列(0X7D,0X5E)。
2. 把信息字段中出现的每个0X7D转化为两个字节序列(0X7D,0X5D)。
3. 如果数据字段出现了控制字符(所有的控制字符小于0X20),就是数据帧中没有使用的字符时,比如是0X03,就把它转化为(0X7D,0X23)。
4. 这样在接受端接收后,进行相反的转化得到真正的报文。
2. 在进行同步传输是,数据是以一连串的比特连续的传送,这时采用的方式就是0比特填充的方法:在数据的发动端,首先扫描要发送的数据部分,没发现连续的五个1后就在最后的一个1后添加一个0,然后在接受端,如果发现连续的五个1,就把后边的0删除,这样就能避免出现6个1的和标志字段一样的字段,而产生歧义。
如下图所示为,PPP链路建立的过程图解:
这个过程中需要注意的几点:
1. PPP链路的起始和终止状态都是链路静止状态,这时在用户pc和ISP的路由器之间并不存在物理层的连接。
2. 建立物理连接之后建立LCP连接,商量LCP层的配置选项。
3. 在LCP连接建立完成后要进行鉴别,这个鉴别使用的方式有CHAP和PAP,鉴别成功的话,就进入了网络层的状态。
4. 在NCP层进行配置时,使用IPCP等协议,实现IP地址的获得,tcp ip等的协商。
5. 当数据传输结束后,就直接进入链路终止状态,然后LCP链路终止,回到初始状态链路静止状态。