理论教育 PPP、PPPoE和PPPoA在计算机网络技术中的应用

PPP、PPPoE和PPPoA在计算机网络技术中的应用

时间:2023-11-22 理论教育 版权反馈
【摘要】:图8-30PPPoE的帧格式和报文格式在PPPoE的帧格式中,目的地址和源地址就是6字节的MAC地址。长度字段为2字节,用来指示PPPoE报文中负载的长度。而在PPPoE的会话阶段,该字段携带的是PPP报文。同样,在ATM网络上运行PPP协议来管理用户认证的方式称为PPPoA。它与PPPoE的原理相同,作用相同,不同的是PPPoA运行在ATM网络上,而PPPoE运行在以太网上,PPPoA适应的是ATM标准。

PPP、PPPoE和PPPoA在计算机网络技术中的应用

点到点协议(Point-to-Point Protocol,PPP)最初是为在点到点链路上传输IP数据报而设计的,现在可以传输多种上层协议。PPP常用于用户通过拨号线路或专用线路与ISP(因特网服务提供商)的连接,这种情况下,除了物理线路的连接外,用户还需提供账号和密码等认证信息。PPP提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。

PPP协议包含下面几个部分:链路控制协议LCP(Link Control Protocol);网络控制协议NCP(Network Control Protocol);认证协议。

LCP负责创建、维护或终止一次物理连接,配置和测试数据链路。链路两端设备通过LCP向对方发送配置信息报文,协商一些选项。在链路创建阶段,对认证协议进行选择。最常用的包括口令验证协议PAP(Password Authentication Protocol)和挑战握手验证协议CHAP(Challenge-Handshake Authentication Protocol)。PAP使用明文验证方式,用户账号和密码都是明文传送。CHAP对PAP进行了改进,使用三次握手和密文传送方式实现用户的身份认证,不再直接通过链路发送明文口令。

链路创建后,进入认证阶段。在这个阶段,客户端将自己的账号和密码发送给远端的接入服务器。该阶段使用一种安全验证方式,避免第三方窃取数据或冒充远程客户接管与客户端的连接。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,则跳到链路终止阶段。

NCP是一族协议,用于创建和配置网络层协议,解决PPP链路上的网络层协议问题,例如,给用户分配IP地址等。

PPP的帧结构与HDLC非常相似,只是多了一个2字节的协议字段,如图8-29所示。

978-7-111-31053-2-Chapter08-30.jpg

图8-29 PPP帧结构

标志字段为011111110,用于帧的定界。地址字段为1字节,由于是点到点链路,实际上无需地址,这里使用了广播地址11111111。控制字段固定为03,没有序号等信息。协议字段指示了信息字段封装的是哪个协议,例如,0x0021表示信息字段是IP数据报,0xC021是链路控制数据LCP,0x8021网络控制数据NCP,0xC023是PAP,0xC223是CHAP等。帧校验字段采用CRC校验。

PPP协议由于简单、具备用户验证能力、可以解决IP地址分配等原因,使其成为是广域网上应用最广泛的协议之一,比较适合拨号和专线上网场合。在ADSL接入中,使用的是PPP的派生协议PPPoE(PPPover Ethernet)和PPPoA(PPP over ATM),这是根据局端复用器DSLAM所连接的是以太网还是ATM网络所决定的。(www.daowen.com)

在以太网上运行PPP来进行用户认证接入的方式称为PPPoE。PPP协议要求进行通信的双方之间是点到点的关系,利用PPPoE协议,可以在多点的共享式以太网上建立虚拟的点到点的PPPoE连接,在PPPoE连接上使用PPP协议对用户进行验证、接入和数据传输。

PPPoE的思想是把PPP帧封装进PPPoE报文中,PPPoE报文再封装进PPPoE帧中,PP-PoE帧在以太网上传输。简单来说就是在以太网上运行PPP协议,因此,PPPoE的帧格式与以太网的MAC帧格式一样,如图8-30所示。

978-7-111-31053-2-Chapter08-31.jpg

图8-30 PPPoE的帧格式和报文格式

在PPPoE的帧格式中,目的地址和源地址就是6字节的MAC地址。类型字段区分负荷字段所包含的PPPoE报文的类型。PPPoE协议分为两个阶段:发现阶段和会话阶段。类型字段为0x8863表示为发现阶段的报文,而在会话阶段类型字段为0x8864。校验字段采用CRC-32。

PPPoE的每个接入用户均需要建立一个独一无二的PPP会话,因此,会话建立之前必须知道远端接入服务器的MAC地址,PPPoE协议是在发现阶段获取的。它首先要执行一个发现过程来识别对方的MAC地址,然后建立一个唯一的PPPoE会话ID。一旦PPP会话被建立起来,发现阶段就结束,进入会话阶段。

PPPoE的会话阶段开始后,主机和接入服务器之间就依据PPP协议传送PPP数据,进行PPP的各项协商和数据传输。会话阶段传输的报文必须包含在发现阶段确定的会话ID,并保持不变。

在PPPoE报文中,版本字段为4bit,目前为0x01。类型字段为4bit,固定为0x01。代码字段为1字节,对于PPPoE的不同阶段,代码字段的内容也是不一样的,如在PPP会话阶段,该字段必须为0。会话ID点用2字节,当访问集中器还未分配唯一的会话ID给用户主机的话,则该域内的内容必须填充为0x0000,一旦主机获取了会话ID后,那么在后续的所有报文中该域必须填充这个唯一的会话ID值。长度字段为2字节,用来指示PPPoE报文中负载的长度。负载字段在PPPoE的不同阶段内容会有很大的不同。在PPPoE的发现阶段时,该字段内会填充一些标记,表示携带的信息是服务名称、设备名称等。而在PPPoE的会话阶段,该字段携带的是PPP报文。

同样,在ATM网络上运行PPP协议来管理用户认证的方式称为PPPoA。它与PPPoE的原理相同,作用相同,不同的是PPPoA运行在ATM网络上,而PPPoE运行在以太网上,PPPoA适应的是ATM标准。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈