1
计算机网络技术理论与实践
1.5.5.2 4.5.2 PPPoE原理

4.5.2 PPPoE原理

一般的用户要想接入Internet网络,首先必须与ISP(Internet服务提供商)的接入服务器之间建立起物理的连接,这些连接可以是PSTN的物理电路,也可以是帧中继、X.25、ATM等虚电路。这些连接都在用户端和接入服务器端建立起了点到点的连接关系。在这些点到点的连接上可以通过PPP协议在用户端和接入服务器之间建立PPP链路,并协商网络层的参数,当配置好网络层后,就可以实现用户端与Internet的互通。

当前的电信运营商大量使用小区宽带和ADSL接入方式,小区宽带中使用以太网作为光纤网络的最后接入部分,而ADSL接入的终端通常也是内部以太网或者PC,PC终端上最常用的是以太网接口。所以以太网已经慢慢成为终端接入时使用最广泛的网络。由于以太网是无连接网络,也没有鉴权和计费能力,无法直接在用户端和接入服务器之间建立链路,而PPP协议在传统的拨号上网中显示了良好的可扩展性和优质的管理控制机制,具有快速、便捷、容易检查到用户上/下线、动态IP地址分配、安全认证等优点,这就促使了PPPoE协议的提出,它提供了在以太网环境下PC主机和远端宽带接入服务器(BRAS)之间建立点到点连接关系的一种方法,RFC2516规范详细描述了PPPoE(PPP over Ethernet)协议。

与PPP链路的建立方式不同,PPPoE链路的建立要经过PPPoE的发现阶段(PPPoE Discovery Stage)和PPPoE的会话阶段(PPPoE Session Stage)。其中发现阶段是PC主机在广播式的网络上搜寻宽带接入服务器,并在多个可选的宽带接入服务器中确定连接目标,建立点到点连接关系的过程。会话阶段是PPP的LCP、认证、NCP的会话过程,与PPP不同的是PPPoE的数据报文被封装成以太网帧在以太网中进行传输。

(1)发现阶段

在发现阶段PPPoE报文中的类型域填充为0x8863,发现阶段包括以下4个步骤:

·用户主机首先主动发送广播包PADI寻找宽带接入服务器。由于是广播包,该报文的目的MAC地址域填充为全1的广播地址,而源MAC地址域填充用户主机的MAC地址。

·宽带接入服务器收到PADI报文后回应PADO报文。PADO报文中的源MAC地址字段填入宽带接入服务器的MAC地址,而目的MAC地址则填入从PADI中获取的用户主机的MAC地址。在PADO报文中,代码域填充0x07,会话ID填充0x0000。这个过程是在广播式网络上确定点对点关系的过程。可能会有多个宽带接入服务器收到了PADI广播包,负责该用户接入的宽带接入服务器会回应PADO。

·主机在回应PADO报文的宽带接入服务器中选择一个合适的,并发送PADR单播请求报文给该宽带接入服务器。用户主机在收到所选宽带接入服务器的PADO报文时,就得到了宽带接入服务器的MAC地址,在PADR报文中的源MAC地址填入用户主机的MAC地址,目的MAC地址填入所选宽带接入服务器的MAC地址。

·宽带接入服务器收到PADR包后,如果能够满足用户所申请的服务,则为用户主机分配一个唯一的会话标识符(Session ID),并启动PPP状态机以准备开始PPP会话,然后发送一个携带该会话标识符的会话确认包PADS;如果不能满足用户所申请的服务,则会向用户发送一个PADS报文,其中携带一个服务名错误的标记,会话标识符(Session ID)填充0x0000。

(2)会话阶段

会话阶段包括LCP建立链路过程、认证过程和NCP协商过程。当PPPoE协议进入会话阶段后,将PPP的数据报文填充在PPPoE的净荷中进行传输,在这个过程中用户主机和宽带接入服务器所发送的以太网数据帧都是单播帧,这些单播帧的类型域填充为0x8864,代码域填充0x00,整个会话的过程与点到点线路上的PPP会话过程一样。

PPPoE还有一个PADT(PPPoE Active Discovery Terminate)报文,它是用来终止一个PPPoE会话,可以在会话开始之后发送。PADT报文中会携带一个会话ID来标识需要终止的会话。

目前小区宽带接入、ADSL接入等技术都使用PPPoE技术,图4-25中展示了PPPoE在小区宽带接入中的应用,从图中可以看出,一个小区中的用户主机用以太网交换机组成局域网,并通过路由器与ISP的宽带接入服务器相连。用户主机与宽带接入服务器间都是通过以太网连接在一起,为了能够在用户主机与宽带接入服务器间进行身份认证和建立链路,必须采用PPPoE协议,在以太网上利用PPP协议为某个用户主机进行身份认证,当通过认证后就可以为其分配IP地址等网络参数,然后完成接入Internet的服务。此外,通过PPP协议还能够随时监控用户主机的状态,当用户主机关机后能够及时发现,断开链接,方便进行上网计费统计。

img101

图4-25 PPPoE在小区宽带接入的应用

在ADSL中也采用PPPoE协议实现用户接入Internet,如图4-26所示。在用户侧,用户主机通过ADSL Modem(ATU-R)与局端的DSLAM之间建立ATM的PVC虚电路来承载PPPoE数据帧。用户端的主机与ADSL Modem之间是以太网,直接传送PPPoE数据帧,局端的DSLAM与BRAS之间可以是ATM的虚电路,也可以是以太网进行PPPoE数据帧的传输。总之,在用户主机与BRAS之间建立了PPPoE链路,来完成用户接入Internet。

img102

图4-26 PPPoE在ADSL接入中的应用