为了解决SLIP存在的问题,在串行通信应用中又开发了PPP协议。PPP协议是为在点对点连接上传输多协议数据包提供了一个标准方法。PPP最初设计是为两个对等节点之间的IP流量传输提供一种封装协议。在TCP-IP协议集中它是一种用来同步调制连接的数据链路层协议(OSI模式中的第二层),替代了原来非标准的第二层协议,即SLIP。除了IP以外PPP还可以携带其他协议,包括DECnet和Novell的Internet网包交换(IPX)。
PPP主要由以下几部分组成:
(1)封装:一种封装多协议数据报的方法。PPP封装提供了不同网络层协议同时在同一链路传输的多路复用技术。PPP封装精心设计,能保持对大多数常用硬件的兼容性。它提供的WAN数据链接封装服务类似于LAN所提供的封闭服务。所以,PPP不仅提供帧定界,而且提供协议标识和位级完整性检查服务。
(2)链路控制协议:PPP提供的LCP功能全面,适用于大多数环境。LCP用于就封装格式选项自动达成一致,处理数据包大小限制,探测环路链路和其他普通的配置错误,以及终止链路。LCP提供的其他可选功能有:认证链路中对等单元的身份,决定链路功能正常或链路失败情况。
(3)网络控制协议:一种扩展链路控制协议,用于建立、配置、测试和管理数据链路连接。(www.xing528.com)
(4)配置:使用链路控制协议的简单和自制机制。该机制也应用于其他控制协议,例如,网络控制协议(NCP)。
为了建立点对点链路通信,PPP链路的每一端,必须首先发送LCP包以便设定和测试数据链路。在链路建立,LCP所需的可选功能被选定之后,PPP必须发送NCP包以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好,来自每个网络层协议的数据报就能在链路上发送了。
链路将保持通信设定不变,直到有LCP和NCP数据包关闭链路,或者是发生一些外部事件的时候(如休止状态的定时器期满或者网络管理员干涉)。
由于PPP帧中设置了校验字段,因而PPP在链路层上具有差错检验的功能。PPP中的LCP协议提供了通信双方进行参数协商的手段,并且提供了一组NCPs协议,使得PPP可以支持多种网络层协议,如IP、IPX、OSI等。另外,支持IP的NCP提供了在建立连接时动态分配IP地址的功能,解决了个人用户上Internet网的问题。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。