早期通信线路质量较差,在数据链路层使用可靠传输协议曾经是种好方法,于是早期主要流行的是能实现可靠传输的高级数据链路控制HDLC(High-level Data Link Control),但随着通信线路质量的提升,对于点对点链路,现在多采用点对点协议PPP(Point-to-Point Protocol)。
其中这种数据链路层协议1.简单,就是说接收方每接收一个帧,就进行CRC检验。如果CRC检验正确,就收下这个帧;反之则丢弃这个帧,其他什么也不做。4.支持多种网络层协议是指PPP协议必须同时支持在链路层所连接的局域网或路由器上运行的各种网络层协议。8.设置最大传送单元MTU规定MTU的默认值至少是1500字节,在 RFC1661中,MTU叫做最大接收单元MRU,如果高层协议发送的分组过长并且超过MTU的数值,PPP就要丢弃这样的帧,并返回差错,需要强调的是MTU指的是数据部分长度,不是帧长度。9.网络层地址协商是指PPP协议必须提供一种机制使通信的两个网络层的实体能够通过协商知道或能够配置彼此的网络层地址,这对拨号连接的链路特别重要,因为仅仅在链路层建立了连接而不知道对方网络层地址时,还不能够保证网络层能够传送分组。
1.纠错和2.流量控制均由上层的TCP/IP协议族中TCP协议负责,TCP负责可靠传输,具有纠错的能力,而数据链路层的PPP协议只进行检错,这就是说PPP协议是不可靠传输协议,并且TCP进行流量控制,所以PPP协议不需要再重复进行流量控制。3.序号,PPP不是可靠传输协议,因此不需要使用帧的序号。4.多点线路即一个主站轮流和链路上的多个从站进行通信,PPP协议只支持点对点链路通信,不支持多点线路。5.半双工或单工链路对PPP协议来说不需要,PPP协议只支持全双工链路。
1. 一个将IP数据报封装到串行链路的方法,高级数据链路控制协议HDLC(High Data Link Control)。 2. 一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link Control Protocol) 3. 一套网络控制协议NCP(Network Control Protocol)
首部的第一个字段和尾部的第二个字段都是标志字段F(Flag),规定0x7E(二进制01111110,中间有6个1)。标志字段表示一个帧的开始或结束,因此标志字段就是PPP帧的定界符。 连续两帧之间只需要用一个标志字段,如果出现连续两个标志字段,就表示这是一个空帧。 地址字段 A 规定为0xFF(二进制11111111) 控制字段 C 规定为0x03(二进制00000011)
最初曾考虑以后再对A、C字段的值进行其他定义,但至今没有给出,可见这两个字段实际上并没有携带PPP帧的信息。
PPP首部第四个字段是2字节的协议字段。当协议字段为0x0021时,PPP帧的信息字段就是IP数据报,若为0xC021,则信息字段是PPP链路控制协议LCP的数据,若为0x8021,则表示网络层的控制数据。
(1)当 PPP 用在异步传输时,使用字节(字符)填充:
在异步传输的链路上,数据传输以字节为单位,PPP帧的转义字符定为0x7D,并使用字节填充。把信息字段(即除开始和结束定界符外)中出现的每一个0x7E字节转变为2字节的(0x7D,0x5E)若信息字段中出现一个0x7D的字节(即出现了和转入字符一样的比特组合),则把0x7D转变为2字节序列(0x7D,0x5D)(2)当 PPP 用在同步传输时,使用零比特填充:
在同步传输的链路上,数据传输以帧为单位,PPP协议采用零比特填充的方法来实现透明传输。(注意PPP协议帧定界符为0x7E,二进制为01111110,中间有连续的6个1)。发送端先扫描整个信息字段(通常由硬件实现),只要发现有连接的5个1,则立即填入一个0。从而保证在信息字段中不会出现帧定界符(6个连续的1)。接收端收到数据后,从确定一个帧的开始,接着扫描比特流,如果发现连续的5个1,就把其后的0删除,还原成原来的信息比特流。当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
这些分组及其响应选择一些 PPP 参数,和进行网络层配置,NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
参考资料: https://my.oschina.net/xinxingegeya/blog/297774 http://www.cnblogs.com/5iedu/p/6940007.html http://www.cnblogs.com/wuchaodzxx/p/6553415.html http://blog.csdn.net/cainv89/article/details/50614218