点对点协议由IETF在1992年制定,并分别在1993年和1994年进行了修订。在第二次修订后,其被确定为数据链路层的正式协议。一般来说,网络用户需要通过互联网服务供应商(Internet Service Provider,ISP)提供的接入网接入互联网,此时使用的数据链路层协议即为点对点协议。
点对点协议主要由三部分组成:
(1)将IP数据报封装到串行链路的方法。点对点协议同时支持同步链路和异步链路,IP数据报是点对点协议帧的数据部分,点对点协议需要提供相应的将IP数据报封装成帧的方法,这个方法还应当对MTU作出规定。
(2)用以建立、配置和测试数据链路连接的链路控制协议(Link Control Protocol,LCP)。LCP的分组类型有很多,进行通信的双方可以对选用的分组类型提前进行协商。
(3)一套网络控制协议(Network Control Protocol,NCP)。其包含多个协议,每个协议均对应支持不同的网络层协议。
根据数据链路层的特点和任务,在进行点对点协议设计时应当从以下几个方面加以考虑。
1.简单方便
TCP/IP体系结构的设计思想是将复杂的工作交给高层协议处理,而越靠近下层的协议应当越简单,因此,运输层的TCP承担了最为复杂的工作内容,需要提供差错控制、流量流通及拥塞控制等功能。相对而言,网络层的IP就要简单得多,只需提供一种不可靠的数据报服务。按照这一设计思想,数据链路层协议应当更为简单,只需提供简单的封装成帧及差错检测的方法即可,而无须对帧进行排序、纠错和流量控制。所以,简单方便是IETF在设计点对点协议时遵守的首要原则,发送方提供一种简单的帧封装方法,接收方每收到一个帧,就对其进行循环冗余检验,正确的就收下,错误的就丢弃,其他的什么都不用做。
2.封装成帧
数据链路层需要确定一类特殊字符作为帧定界符,从而明确帧的起始和结束位置,因此,点对点协议也需要指定一类特殊字符作为帧定界符,目前主要采用十六进制字符7E,对应的二进制字符为01111110。
3.透明传输
点对点协议需要保障帧在数据链路层的透明传输,当帧的数据部分中一旦出现和帧定界符相同的字符时,需要采取有效的措施来解决这一问题,以保障帧传输的透明性。
4.支持多种网络协议
点对点协议需要能够在同一物理链路上同时支持多种网络层协议的运行。如果点对点链路所连接的是局域网或路由器,点对点协议需要同时支持链路上所链接的局域网或者路由器上运行的各种网络层协议。(www.xing528.com)
5.支持多种类型链路
数据链路层支持的链路类型有很多种,如串行或者并行、同步或者异步、高速或者低速、电路或者光路等,点对点要求能够兼容各种链路类型。
6.差错检测
点对点协议需要提供差错检测机制,对于出错的帧,应当给予丢弃,以减少网络资源的浪费。点对点协议同样采用循环冗余检验技术实现差错检测。
7.连接状态检测
点对点协议需提供相应的机制,以实现定时自动检测链路工作状态。
8.最大传输单元
点对点协议需要对每一种类型的点对点链路设置MTU的标准默认值。最大传输单元是指数据链路层帧中数据部分的最大长度,并非是帧的总长度。如果网络层递交的IP数据报长度超过最大传输单元,则需要进行分片处理,否则就将被数据链路层丢弃。
9.网络层地址协商
点对点协议必须提供一种机制,使互相通信的网络层的实体能够通过协商知道或者配置彼此的网络层地址。协商的算法应该尽可能简单,并且能够在所有的情况下得出协商结果。这一点对于拨号连接的链路非常重要,因为如果仅在数据链路层建立了连接而不知道对方网络层的地址,则不能保证网络层可以传送分组。
10.数据压缩协商
点对点协议必须能够提供一种方法来协商使用数据压缩的算法,但这一算法并不需要标准化。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。