国家 / 地区

PPPoE技术白皮书-6W100

手册下载

PPPoE技术白皮书

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2019 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。



概述

1.1  产生背景

随着运营商对宽带接入技术要求的不断提高,以xDSLCableModem和以太网为主的几种宽带接入技术在用户管理和计费等方面的不足开始显露,已无法满足运营商的需求。

在众多的接入技术中,以太网接入方式经济实惠,而PPP协议又可以提供良好的访问控制和计费功能,结合以太网的经济性及PPP良好的可扩展性与管理控制功能,于是产生了PPPoEPoint-to-Point Protocol over Ethernet,在以太网上承载PPP协议)。

PPPoE协议的提出很好地解决了用户管理和上网收费等实际应用问题,得到了运营商的认可并广为采用。

1.2  技术优点

1.2.1  用户角度

对于用户来说,PPPoE具有以下优点:

·     沿袭传统的拨号上网方式,依旧使用用户熟悉的硬件以及类似的软件进行Internet的接入。

·     兼容现有的所有xDSL Modem需要对客户端的xDSL Modem进行复杂的配置。

·     使用以太网网卡连接PCxDSL Modem,允许多台PC同时共享xDSL线路,可以节约用户投资。

1.2.2  运营商角度

对于运营商来说,PPPoE具有以下优点:

·     运营商可以通过数字用户线、电缆调制解调器或无线连接等方式提供支持多用户的宽带接入服务。

·     运营商可以利用可靠和熟悉的技术来加速部署高速互联网业务,对现有网络部署影响小。

·     运营商可以通过访问控制功能对用户的身份进行确认,通过计费功能对用户进行计费,同时对用户的网络行为进行监控,保证了网络安全。

·     终端用户可同时接入多个运营商,这种动态服务选择的功能可以使运营商容易创建和提供新的业务。

PPPoE技术实现

2.1  PPPoE组网结构

PPPoE使用Client/Server模型。PPPoE ClientPPPoE Server发起连接请求,两者之间会话协商通过后,就建立PPPoE会话,此后PPPoE ServerPPPoE Client提供接入控制、认证、计费等功能。

根据PPPoE会话的起点所在位置的不同,PPPoE分为Router-InitiatedHost-Initiated两种组网结构。

2.1.1  Router-Initiated组网结构

1所示,Router-Initiated组网结构是在两台路由器之间建立PPPoE会话,所有主机通过同一个PPPoE会话传送数据,主机上不用安装PPPoE客户端拨号软件,一般是一个企业共用一个账号接入网络(图中PPPoE Client位于企业/公司内部,PPPoE Server是运营商的设备)。

图1 Router-Initiated组网结构图

 

2.1.2  Host-Initiated组网结构

2所示,Host-Initiated组网结构是将PPPoE会话建立在Host和运营商的路由器之间,为每一个Host建立一个PPPoE会话,每个Host都是PPPoE Client,每个Host使用一个帐号,方便运营商对用户进行计费和控制。Host上必须安装PPPoE客户端拨号软件。

图2 Host-Initiated组网结构图

 

2.2  PPPoE报文

2.2.1  PPPoE报文格式

3所示,PPPoE报文的格式是在以太网帧中携带PPP报文。

图3 报文格式

 

各个字段解释如下:

·     Destination_address域:一个以太网单播目的地址或者以太网广播地址(0xffffffff)。Discovery阶段,该域的值可以是单播或者广播地址,PPPoE Client寻找PPPoE Server的过程使用广播地址,确认PPPoE Server后使用单播地址。Session阶段,该域的值必须是Discovery阶段已确定的通信对方的单播地址。

·     Source_address域:源设备的以太网MAC地址。

·     Ether_type取值0x8863表示Discovery阶段或Terminate阶段0x8864表示Session阶段。

·     Ver域:4bitsPPPoE版本号,值为0x1

·     Type域:4bitsPPPoE类型,值为0x1

·     Code域:8bitsPPPoE报文类型,取值包括:

¡     0x00,表示会话数据。

¡     0x09,表示PADIPPPoE Active Discovery Initiation报文。

¡     0x07,表示PADOPPPoE Active Discovery Offer)或PADTPPPoE Active Discovery Terminate)报文

¡     0x19,表示PADRPPPoE Active Discovery Request)报文

¡     0x65,表示PADSPPPoE Active Discovery Session-confirmation报文。

·     Session_ID域:16bits,对于一个给定的PPP会话,该值是一个固定值,并且与以太网Source_addressDestination_address一起实际地定义了一个PPP会话。0xffff为将来的使用保留,不允许使用。

·     Length域:16bits,定义PPPoEPayload域长度。不包括以太网头部和PPPoE头部的长度。

2.2.2  PADI报文

4所示,PADI报文的主要字段包括:

·     Code域为0x09

·     Session_ID域为0x0000

·     TAG_TYPE域为0x0101Service-Name),表明后面紧跟的是服务的名称。有且只有一个TAG_TYPEService-NameTAG,其他类型的TAG可选。

图4 PADI数据包举例

 

2.2.3  PADO报文

5所示,PADO报文的主要字段包括:

·     Code域为0x07

·     SESSION_ID域为0x0000

·     TAG_TYPE域为0x0101Service-Name),表明后面紧跟的是服务的名称;为0x0102AC-Name)表明后面紧跟的字符串唯一地表示了某个特定的访问集中器。有且只有一个TAG_TYPEAC-NameTAG,至少一个TAG_TYPEService-NameTAG

图5 PADO数据包举例

 

2.2.4  PADR报文

6所示,PADR报文的主要字段包括:

·     Code域为0x19

·     SESSION_ID0x0000

·     TAG_TYPE域为0x0101Service-Name),表明后面紧跟的是服务的名称。有且只有一个TAG_TYPEService-NameTAG,其他类型的TAG可选。

图6 PADR数据包举例

 

2.2.5  PADS报文

7所示,PADS报文的主要字段包括:

·     Code域为0x65

·     SESSION_IDDiscovery阶段分配的数值。

·     TAG为可选。

图7 PADS数据包举例

 

2.2.6  PADT报文

8所示,PADT报文的主要字段包括:

·     Code域为0xa7

·     SESSION_ID域为Discovery阶段分配的数值。

·     TAG

图8 PADT数据包举例

 

2.3  PPPoE工作过程

PPPoE的协商过程如9所示:

图9 PPPoE协商过程

 

PPPoE协商过程包括DiscoverySessionTerminate三个阶段。

2.3.1  Discovery阶段

Discovery阶段完成之后通信双方都会知道PPPoESession ID以及对方以太网地址,它们共同确定了唯一的PPPoE Session

Discovery阶段由四个过程组成,具体如下:

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

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

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

(4)     PPPoE Server产生一个唯一的会话IDSession ID),标识和PPPoE Client的这个会话,通过发送一个PADS报文把会话ID发送给PPPoE Client从而建立会话,并进入PPPoE Session阶段。

2.3.2  Session阶段

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

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

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

(3)     认证成功后,PPP进入NCP阶段。NCP是一个协议族,用于配置不同的网络层协议,常用的是IP控制协议(IPCP),它负责配置用户的IPDNS等工作。

PPPoE SessionPPP协商成功后,其上就可以承载PPP数据报文。

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

2.3.3  Terminate阶段

进入PPPoE Session阶段后,PPPoE ClientPPPoE Server都可以通过发送PADT报文的方式来结束PPPoE连接。PADT报文可以在会话建立以后的任意时刻单播发送。在发送或接收到PADT后,就不允许再使用该会话发送PPP流量,即使是常规的PPP结束数据包也不允许发送。

典型组网应用

3.1  利用ADSL Modem将局域网接入Internet

图10 利用ADSL Modem将局域网接入Internet组网图

 

10所示,企业希望使用一个公共帐号访问InternetRouter A作为PPPoE Client,通过一个帐号访问Internet(相当于整个企业的员工公用这个帐号)。Router B作为PPPoE Server连接至DSLAM,提供RADIUS认证、计费等功能,同时连接到Internet

3.2  无线PPPoE接入

图11 无线PPPoE接入组网图

 

11所示,AP设备作为PPPoE ClientBRAS设备作为PPPoE Server,终端用户可以直接通过无线网络访问Internet

参考文献

·     RFC1661The Point-to-Point Protocol (PPP)

·     RFC2516A Method for Transmitting PPP Over Ethernet (PPPoE)

联系我们 联系我们
联系我们
回到顶部 回到顶部