浅谈PPPoE基于以太网的点对点协议
一、PPPoE概念
1、定义
1.Point-to-Point Protocol over Ethernet,PPPoE,即基于以太网的点对点协议,是一种数据链路层的协议,它结合了PPP(Point-to-Point Protocol)和以太网技术,允许通过宽带连接如DSL或 Cable Modem 提供商的网络服务。
2.PPPoE通过以太网提供了一个数据通道,并在该通道上建立PPP会话,用以封装PPP报文,使得用户可以通过宽带接入设备连接到ISP的网络。
2、工作原理
PPPoE的工作流程主要包括发现Discovery、会话Session、终止Terminate,三个阶段。
1.Discovery发现阶段:客户端广播一个特殊的帧来寻找并建立与接入服务器的联系,并通过这个过程获得一个会话ID。
①用户端的PPPoE客户端会发送PADI(PPPoE Active Discovery Initiation 主动发现启动)报文到接入集中器(如DSLAM或CMTS)。
②接入集中器会响应PADO(PPPoE Active Discovery Offer 主动发现回复)报文。
③用户端随后发送PADR(PPPoE Active Discovery Request 主动发现请求)报文选择一个特定的接入集中器。
④最后由接入集中器发送PADS(PPPoE Active Discovery Session Confirmation 主动发现会话确认)报文确认建立连接。
2.Session会话阶段:会话建立后,客户端和服务器之间就会建立起一条持续的连接,以便后续的数据传输,其中PPP协议负责认证、授权和加密等过程,确保数据的可靠传输。
3、优缺点
1.优点:
1、PPPoE继承了PPP协议的安全特性,可以提供用户认证和网络计费功能。
2、适用于多种宽带接入技术,如ADSL和光纤接入。
3、支持多个用户通过单一的以太网连接接入互联网。
2.缺点:
1、PPPoE需要在发现阶段进行广播,这可能导致网络性能下降。
1、需要额外的认证过程,可能会增加连接建立时的延迟。
2、对设备和处理能力的要求较高,且可能成为网络瓶颈。
4、应用
1.PPPoE主要用于宽带接入,如ADSL、Cable Modem等场景。
2.它允许多个用户通过单个以太网连接共享高速互联网连接。
3.PPPoE也被用于虚拟私人网络(VPN)和远程访问服务器(RAS)的环境中。
5、配置及故障排查
1.配置PPPoE通常需要在用户端的操作系统或路由器中设置相应的PPPoE客户端参数,包括服务名、用户名和密码等信息。
2.在故障排除方面,常见的错误代码包括678、691、769等,这些错误码可以帮助用户和网络管理员快速定位问题所在。例如,678错误通常意味着无法建立连接,可能是由于线路问题或ISP设备问题导致的;691错误表明认证失败,可能是用户名或密码错误,或是ISP的Radius服务器拒绝了连接请求。
二、PPPoE报文类型
1.Destination_address:目的地址,用于指示报文的接收方。在发现阶段通常是广播地址,在会话阶段则是特定设备的单播地址。
2.Source_address:源地址,表明报文的发送方。
3.Ether_type:以太网类型,对于PPPoE报文,其值通常设置为0x8863(发现阶段或拆链阶段)或0x8864(会话阶段)。
4.Ver:版本号,对于PPPoE,该字段的值固定为0x1。
5.Type:类型字段,对于PPPoE,该字段的值固定为0x1。
6.Code:代码字段,指示报文的类型。常见的类型包括:
7.0x00:会话数据。
8.发现和会话阶段特殊报文:
0x09:PADI(PPPoE Active Discovery Initiation,PPPoE 发现初始报文)。
0x07:PADO(PPPoE Active Discovery Offer,PPPoE 发现提供报文)。
0x19:PADR(PPPoE Active Discovery Request,PPPoE 发现请求报文)。
0x65:PADS(PPPoE Active Discovery Session-confirmation,PPPoE 发现会话确认报文)。
0x67:PADT(PPPoE Active Discovery Terminate,PPPoE 发现终止报文)。
9.Session_ID:会话ID,用于唯一标识一个PPPoE会话。
10.Length:长度字段,指明了整个PPPoE报文的长度。
11.Data:数据字段,包含了PPP报文或其他特定于PPPoE的附加信息。
三、PPP与PPPoE的区别与联系
1、区别
1.应用场景:
① PPP常用于点对点的串行连接,如电话线的Modem拨号上网。
②PPPoE常用于以太网环境,特别是宽带接入服务,如ADSL。
2.封装方式:
①PPP协议本身不支持以太网封装。
②PPPoE在以太网帧中封装PPP数据包,以便在以太网中传输。
3.认证和计费:
PPPoE继承了PPP的认证机制,还增加了计费功能,便于服务提供商进行用户管理和计费。
2、联系
1.协议层次: PPPPoE建立在PPP协议之上,两者在协议栈的位置有所不同,但PPP协议的一些核心功能,如认证和链路控制,在PPPoE中得以保留和扩展。
2.协商过程: PPPPoE的会话建立过程包括发现阶段、会话阶段和终结阶段,这些阶段与PPP的链路控制协议(LCP)和网络控制协议(NCP)的协商过程有相似之处。