PPPoE简介
PPPoE(Point-to-Point Protocol over Ethernet),即以太网上的点对点协议,它可以使以太网上的主机通过一个简单接入设备连到Internet上,并对接入的用户进行控制、计费管理。
PPPoE协议采用Client/Server(客户端/服务器)方式,它将PPP报文封装在以太网帧内,在以太网上提供点对点的连接。
PPPoE连接
PPPoE拨号连接包括Discovery(发现)和Session(PPP会话)两个阶段。下面将分别介绍这两个阶段。
Discovery阶段
此阶段用来建立连接,当一个用户主机想开始一个PPPoE会话时,首先必须进行发现阶段以识别PPPoE Server的以太网MAC地址,并建立一个PPPoE会话标识(Session ID)。
Discovery阶段的基本工作流程
如上图所示, Discovery阶段由四个步骤组成,下面将介绍它的基本工作流程。
1、PADI:如果要建立一条PPPoE连接,首先PPPoE客户端就要以广播的方式发送一个PADI(PPPoE Active Discovery Initiation)数据包,PADI数据包包括客户端请求的服务。
2、PADO:当PPPoE服务器(BRAS)收到一个PADI包之后,它会判断自己是否能够提供服务,如果能够提供服务的话,就会向客户端发送PADO(PPPoE Active Discovery Offer)数据包来进行回应。PADO数据包包括PPPoE服务器名称和与PADI数据包中相同的服务名。如果PPPoE服务器不能为PADI提供服务,则不允许用PADO数据包响应。
3、PADR:由于PADI是以广播的形式发送出去的,PPPoE客户端可能收到不止一个PADO数据包,它将审查所有接收到的PADO数据包并根据其中的服务器名或所提供的服务选择一个PPPoE服务器,并向选中的服务器发送PADR(PPPoE Active Discovery Request)数据包。PADR数据包包括客户端所请求的服务。
4、PADS:当PPPoE服务器收到客户端发送的PADR包时,它就准备开始一个PPPoE会话,它为PPPoE会话创建一个***的PPPoE会话ID,并向客户端发送PADS (PPPoE Active Discovery Session- confirmation)包作为响应。
当发现阶段正常结束后,通信的两端都获得会话标识(Session ID)和对方的MAC地址,它们一起***定义一个PPPoE会话。
PPP会话阶段
当PPPoE进入PPP会话阶段后,客户端和服务器将进行标准的PPP协商,PPP协商通过后,数据通过PPP封装发送。PPP报文作为PPPoE帧的净荷被封装在以太网帧内,发送到PPPoE链路的对端。Session ID必须是Discovery阶段确定的ID,且在会话过程中保持不变,MAC地址必须是对端的MAC地址。
PPPoE连接的断开
在会话阶段的任意时刻,PPPoE服务器和客户端都可向对方发送PADT(PPPoE Active Discovery Terminate)包通知对方结束本会话。当收到PADT以后,就不允许再使用该会话发送PPP流量了。在发送或接收到PADT数据包后,即使是常规的PPP结束数据包也不允许发送。一般情况下,PPP通信双方使用PPP协议自身来结束PPPoE会话,但在无法使用PPP时可以使用PADT来结束会话。
【编辑推荐】