试验预备知识:
PPP协议要求进行通信的双方之间是点到点的关系,不适于广播型的以太网和另外一些多点访问型的网络,于是就产生了PPPOE协议(Point-to-Point Protocol Over Ethernet)。它不仅为使用桥接以太网接入的用户提供了一种宽带接入手段,同时还能提供方便的接入控制和计费。每个接入用户均建立一个独一无二PPP的会话,因此会话建立之前必需知道远端访问集中设备的MAC地址,PPPOE协议可通过发现协议来获取到。
正如RFC2516中定义的,PPPoE有两个明显的阶段,发现阶段(PPPoE Discovery stage)和PPP会话阶段(PPPoE Session Stage)。
当主机希望开始一个PPPOE会话时,它首先要执行一个发现过程来识别对方的MAC地址,然后建立一个唯一的PPPOE会话ID。PPPOE使用一个发现协议来解决这个问题,它是基于客户/服务器模型的。由于以太网的广播特性,在这个过程中主机(客户)能发现所有的访问集中器(服务器),并选择其中一个,根据所获信息在两者之间建立点对点的连接。当一个PPP会话被建立起来之后,就完成了PPPOE的整个发现阶段。
发现阶段有四个步骤。当它完成时,PPPoE双方都知道了PPPoE SESSION_ID和对方的以太网地址,它们一起唯一定义了PPPoE会话:
1. 主机广播一个初始数据包PADI(PPPOE Active Discovery Initiation)
2. 接入集中器发送有效发现提供数据包响应请求PADO(PPPOE Active Discovery Offer)
3. 用户主机向接入集中器以单播发送会话请求数据包PADR(PPPOE Active Discovery Request)
4. 被选中的接入集中器发送一个确认数据包PADS(PPPOE Active Discovery Session-confirmation)
然后PPP经历标准的LCP和NCP(IPCP)过程,下图显示了PPPoE是如何工作的:
下图是PPPoE连接时抓到的数据包:
PPPOE的会话阶段开始后,主机和访问集中器之间就依据PPP协议传送PPP数据,进行PPP的各项协商和数据传输。在这一阶段传输的数据包中必须包含在发现阶段确定的会话标识并保持不变。正常情况下,会话阶段的结束是由PPP协议控制成的,但在PPPOE中定义了一个PADT (PPPOE Active Discovery Terminate)包用来结会话,主机或者访问集中器可以在PPP会话开始的任何时候通过发送这个数据包来结束会话。
PPPoE会话过程分为三个阶段:
1. 主机和接入集中器进行LCP协商
2. 由接入集中器对用户身份进行认证
3. 进行IPCP协商并为主机分配一个IP地址
阅读(592) | 评论(1) | 转发(0) |