zl程序教程

您现在的位置是:首页 >  工具

当前栏目

华为数通笔记-PPPoE

笔记华为 数通
2023-09-11 14:15:52 时间

PPPoE简介

定义

PPPoE(PPP over Ethernet)协议是一种把PPP帧封装到以太网帧中的链路层协议。PPPoE可以使以太网网络中的多台主机连接到远端的宽带接入服务器。

目的

运营商希望把一个站点上的多台主机连接到同一台远程接入设备,同时接入设备能够提供与拨号上网类似的访问控制和计费功能。在众多的接入技术中,把多个主机连接到接入设备的最经济的方法就是以太网,而PPP协议可以提供良好的访问控制和计费功能,于是产生了在以太网上传输PPP报文的技术,即PPPoE。

PPPoE利用以太网将大量主机组成网络,通过一个远端接入设备连入因特网,并运用PPP协议对接入的每个主机进行控制,具有适用范围广、安全性高、计费方便的特点。

PPPoE典型组网

PPPoE组网结构采用Client/Server模型,PPPoE的客户端为PPPoE Client,PPPoE的服务器端为PPPoE Server。PPPoE Client向PPPoE Server发起连接请求,PPPoE Server为PPPoE Client提供接入控制、认证等功能。

设备作为PPPoE Client

图1所示,Router A作为PPPoE Client下行连接局域网用户,Router B是运营商的设备。所有主机不用安装PPPoE Client拨号软件,同一个局域网中的所有主机共享一个账号,通过Router A与Router B建立PPPoE会话。

图1 设备作为PPPoE Client组网图

通过配置拨号组,将主机加入拨号组

设备作为PPPoE Server

设备作为PPPoE Server,支持动态分配IP地址,提供多种认证方式,适用于校园、智能小区等通过以太网接入Internet的组网应用。

图2所示,所有主机上安装PPPoE Client拨号软件,每个主机都是一个PPPoE Client,分别与Router建立一个PPPoE会话。每个主机单独使用一个帐号,方便运营商对用户进行计费和控制。

图2 设备作为PPPoE Server组网图

设备作为PPPoE Server时,对端的PPPoE Client可以是安装拨号软件的主机,也可以是路由器设备。

PPPoE拨号的工作原理

PPPoE拨号是为了实现PPPoE Client与PPPoE Server之间的连接,建立PPPoE会话PPPoE拨号可分为三个阶段,即Discovery阶段、Session阶段和Terminate阶段

Discovery阶段

Discovery阶段由四个过程组成。

PPPoE Client广播发送一个PADI(PPPoE Active Discovery Initial)报文,在此报文中包含PPPoE Client想要得到的服务类型信息。

所有的PPPoE Server收到PADI报文之后,将其中请求的服务与自己能够提供的服务进行比较,如果可以提供,则单播回复一个PADO(PPPoE Active Discovery Offer)报文。

根据网络的拓扑结构,PPPoE Client可能收到多个PPPoE Server发送的PADO报文,PPPoE Client选择最先收到的PADO报文对应的PPPoE Server做为自己的PPPoE Server,并单播发送一个PADR(PPPoE Active Discovery Request)报文。

PPPoE Server产生一个唯一的会话ID(Session ID),标识和PPPoE Client的这个会话,通过发送一个PADS(PPPoE Active Discovery Session-confirmation)报文把会话ID发送给PPPoE Client,会话建立成功后便进入PPPoE Session阶段。

完成之后通信双方都会知道PPPoE的Session_ID以及对方的以太网地址它们共同确定了唯一的PPPoE Session。

Session阶段

PPPoE Session阶段可划分为两部分,一是PPP协商阶段,二是PPP数据传输阶段。

PPPoE Session上的PPP协商和普通的PPP协商方式一致,分为LCP、认证、NCP三个阶段。

LCP阶段主要完成建立、配置和检测数据链路连接。

LCP协商成功后,开始进行认证,认证协议类型由LCP协商结果(CHAP或者PAP)决定。

认证成功后,PPP进入NCP阶段。NCP是一个协议族,用于配置不同的网络层协议,常用的是IP控制协议(IPCP),它主要负责协商用户的IP地址和DNS服务器地址。

PPPoE Session的PPP协商成功后,就可以承载PPP数据报文。

在PPPoE Session阶段所有的以太网数据包都是单播发送的。

Terminate阶段

PPP通信双方可以使用PPP协议自身来结束PPPoE会话,当无法使用PPP协议结束会话时可以使用PADT(PPPoE Active Discovery Terminate)报文。

当PPPoE客户端希望关闭连接时,会向PPPoE服务器端发送一个PADT报文,用于关闭连接。同样,如果PPPoE服务器端希望关闭连接时,也会向PPPoE客户端发送一个PADT报文

在PADT报文中,目的MAC地址为单播地址,Session ID为希望关闭的连接的Session ID。一旦发送或收到一个PADT报文之后,连接随即关闭,就不允许再使用该会话发送PPP流量了。