PPP协议技术介绍与应用

PPP协议技术介绍与CDMA应用

PPP技术概述

PPP提供了一种在点对点的链路上封装多协议数据报(IP、IPX和AppleTalk)的标准方法。

PPP协议主要包括三部分:LCP(Link Control Protocol)链路控制协议、NCP(Network Control Protocol)和PPP的扩展协议(如Multilink Protocol,详见第五章)。随着网络技术的不断发展,网络带宽已不在是瓶颈,所以PPP扩展协议的应用也就越来越少,因此往往人们在叙述PPP协议时经常会忘记它的存在。

PPP协议默认是不进行认证配置参数选项的协商,它只作为一个可选的参数,当点对点线路的两端需要进行认证时才需配置。当然在实际应用中这个过程是不可忽略的,例如我们使用计算机上网时,需要通过PPP协议与NAS设备互连,在整个协议的协商过程中,我们需要输入用户名和密码。

PPP协议三组件

首先简单介绍一下PPP协议的三组件:PPP协议的封装方式、LCP协议的协商过程和NCP协议的协商过程,然后再结合具体的LCP和NCP数据报的封装格式和两个阶段实际数据报文的交换过程,进一步理解PPP的LCP和NCP协商阶段的具体内容。

1. PPP协议的封装

我们知道ISO参考模型共分七层,自下而上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。通常我们会依据协议所完成的功能将它与这七层进行对照,PPP协议就属于数据链路层协议。

下图为PPP数据帧的封装格式:

以下为对PPP数据帧封装格式的一点说明:

每一个PPP数据帧均是以一个标志字节起始和结束的,该字节为0x7E。

紧接在起始标志字节后的一个字节是地址域,该字节为0xFF。我们熟知网络是分层的,且对等层之间进行相互通信,而下层为上层提供服务。当对等层进行通信时首先需获知对方的地址,而对不同的网络,在数据链路层则表现为需要知道对方的MAC地址、X.121地址、ATM地址等;在网络层则表现为需要知道对方的IP地址、IPX地址等;而在传输层则需要知道对方的协议端口号。例如如果两个以太网上的主机希望能够通信的话,首先发送端需获知对端的MAC地址。但由于PPP协议是被运用在点对点的链路上的特殊性,它不像广播或多点访问的网络一样,因为点对点的链路就可以唯一标示对方,因此使用PPP协议互连的通信设备的两端无须知道对方的数据链路层地址,所以该字节已无任何意义,按照协议的规定将该字节填充为全1的广播地址。

同地址域一样,PPP数据帧的控制域也没有实际意义,按照协议的规定通信双方将该字节的内容填充为0x03。

就PPP协议本身而言,我们最关心的内容应该是它的协议域和信息域。协议域可用来区分PPP数据帧中信息域所承载的数据报文的内容。协议域的内容必须依据ISO 3309的地址扩展机制所给出的规定。该机制规定协议域所填充的内容必须为奇数,也即是要求低字节的最低位为\,高字节的最低位为\。如果当发送端发送的PPP数据帧的协议域字段不符合上述规定,则接收端会认为此数据帧是不可识别的,那么接收端会向发送端发送一个Protocol-Reject报文,在该报文尾部将完整地填充被拒绝的报文。协议域的具体取值如下表所示:

信息域缺省时最大长度不能超过1500字节,其中包括填充域的内容(在图2-1中并未表示,因为它属于信息域的一部分),1500字节大小等于PPP协议中配置参数选项MRU(Maximum Receive Unit)的缺省值,在实际应用当中可根据实际需要进行信息域最大封装长度选项的协商。信息域如果不足1500字节时可被填充,但不是必须的,如果填充则需通信双方的两端能辨认出有用与无用的信息方可正常通信。

我们通常在通信设备的配置过程中,遇到最多的也是MTU(Maximum Transmit Unit)。对于一个设备而言,它网络的层次均使用MTU和MRU两个值,一般情况下设备的MRU

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4