本站点使用Cookies,继续浏览表示您同意我们使用Cookies。 Cookies和隐私政策>

首页 信息速查 产品智能选型 IP知识百科

什么是PPPoE?PPPoE解决了哪些问题?

PPPoE(Point-to-Point Protocol over Ethernet)可以称作为以太网上的PPP协议,应用在链路层。它通过在以太网上提供点到点的连接,建立PPP会话,封装PPP报文为PPPoE报文。PPPoE技术可以将用户连接到远程接入设备上,并提供良好访问控制功能,提供了一种经济的用户接入技术,并实现了对用户的控制。
PPPoE利用以太网络,提供远程的多个用户主机接入功能,并且能够提供数据传输的计费数据,解决用户上网收费等实际应用问题,因而被广泛应用于接入运营商网络。

PPPoE解决了哪些问题?

PPP协议是一种点对点协议,点对点的含义即为一个节点只能访问另一个指定的节点。PPP协议处于OSI(Open Systems Interconnection)参考模型的第二层,即TCP/IP数据链路层,主要用于全双工的异步链路上进行点到点的数据传输。PPP协议的一个重要功能便是提供了身份验证功能。但是PPP协议虽然提供了通信双方身份验证的功能,其协议中没有提供地址信息,而以太网是一个广播类型的多路访问网络,因而PPP协议是无法直接应用在以太网链路上的。

以太网技术虽然具有简单易用,成本低等特点,但是以太网广播网络的属性,使得其通信双方无法相互验证对方的身份,因而通信是不安全的。

如何解决以上问题,同时又在现有的网络结构基础上,保证网络的低成本运营?答案便是:PPPoE技术。PPPoE结合了PPP协议通信双方身份验证的功能,在PPP组网结构的基础上,将PPP报文封装成PPPoE报文,从而实现以太网上的点对点通信,使得以太网中的客户端能够连接到远端的宽带接入设备上。

PPPoE的特点

PPPoE具有以下特点:

功能上:
  1. PPPoE由于集成了PPP协议,实现了传统以太网不能提供的身份验证、加密以及压缩等功能。
  2. PPPoE通过唯一的Session ID可以很好的保障用户的安全性。

应用上:

  1. PPPoE拨号上网作为一种最常见的方式让终端设备能够连接ISP从而实现宽带接入。
  2. PPPoE可用于缆线调制解调器(Cable Modem)和数字用户线路(DSL)等以太网线,通过以太网协议向用户提供接入服务的协议体系。

总而言之,PPPoE技术将以太网技术的经济性与PPP协议的可管理控制性结合在一起,提供接入互联网的功能。对于运营商来说,它能够最大限度地利用电信接入网现有的体系结构,利用现有的拨号网络资源,运营和管理的模式也不需要很大的改变;对于用户来说,使用感与原来的拨号上网没有太大区别,较容易接受。

PPPoE如何建立连接?

本节将介绍PPPoE的报文结构以及PPPoE建立连接的几个阶段。

PPPoE报文

在了解PPPoE建立连接的阶段之前,我们先来了解下PPPoE协议的报文结构,PPPoE报文的格式就是在以太网帧中携带PPP报文,报文封装结构如下图所示。

PPPoE协议报文结构图
PPPoE协议报文结构图
表1-1 PPPoE报文字段说明

报文字段

说明

Ver域

4bits,PPPoE版本号,值为0x1。

Type域

4bits,PPPoE类型,值为0x1。

Code域

8bits,PPPoE报文类型。Code域为0x00,表示会话数据。Code域为0x09,表示PADI报文;Code域为0x07,表示PADO或PADT报文;Code域为0x19,表示PADR报文;Code域为0x65,表示PADS报文。

Session_ID域

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

Length域

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

PPPoE建立连接的阶段

在了解PPPoE建立连接的阶段之前,先了解下PPPoE组网结构中的各种角色。

PPPoE协议采用Client/Server模式,如PPPoE接入组网图所示,基本的PPPoE组网中的角色有PPPoE Client,PPPoE Server,以及RADIUS设备。

PPPoE接入组网图
PPPoE接入组网图

PPPoE用户上线需要经过两个阶段,发现阶段和PPP会话阶段。发现阶段主要是选择PPPoE服务器,并确定索要建立的会话标识符Session ID。PPP会话阶段即执行标准的PPP过程,包括LCP协商、PAP/CHAP认证、NCP协商等阶段。

PPPoE工作原理实现过程
PPPoE工作原理实现过程

具体的PPPoE发现阶段和PPP会话阶段的时序如下图所示。

PPPoE发现阶段和PPP会话阶段时序图
PPPoE发现阶段和PPP会话阶段时序图

发现阶段

发现阶段是指设备为用户分配接入的Session ID,用来标识一条用户与设备之间的PPPoE虚拟链路。

  1. PPPoE Client广播一个PADI(PPPoE Active Discovery Initiation,PPPoE激活发现起始)报文,在此报文中包含用户想要得到的服务类型信息。
  2. 以太网内的所有PPPoE Server在收到这个初始化报文后,将其中请求的服务与自己能提供的服务进行比较,其中可以为PPPoE Client提供此服务的PPPoE Server会回应PADO(PPPoE Active Discovery Offer,PPPoE激活发现服务)报文。
  3. PPPoE Client可能会收到多个PPPoE Server回应的PADO报文。PPPoE Client会根据一定的条件从返回PADO报文的PPPoE Server中选定符合条件的PPPoE Server,并向它返回一个会话请求报文PADR(非广播)(PPPoE Active Discovery Request,PPPoE激活发现请求),在PADR报文中封装所需的服务信息。
  4. 被选定的PPPoE Server在收到PADR报文后,PPPoE Server会产生一个唯一的会话标识以标识它和PPPoE Client的这段PPPoE会话。并把这个特定的会话标识包含在会话确认报文PADS(PPPoE Active Discovery Session-confirmation,PPPoE激活发现会话确认)中回应给PPPoE Client,如果没有错误发生就进入到PPP会话阶段,而PPPoE Client在收到会话确认报文后如果没有错误发生也进入到PPP会话阶段。

PPP会话阶段

PPP会话阶段包括LCP协商、PAP/CHAP认证、NCP协商等阶段。

  • LCP协商

    进入PPP会话阶段之后,首先进行LCP协商,LCP协商过程如下。

    1. PPPoE Client与PPPoE Server互相发送LCP Configure-Request报文。
    2. 双方收到Configure-Request报文后,根据报文中协商选项支持情况做出适当的回应(请参见下表)。若两端都回应了Configure-ACK,则标志LCP链路建立成功,否则会继续发送Request报文:
      • 如果在设定的LCP协商间隔与协商次数内,对端回应了Configure-ACK,则LCP链路建立成功。
      • 如果在超过了设定的LCP协商次数后,对端尚未回应Configure-ACK,则终止LCP协商。
    3. LCP链路建立成功后,PPPoE Server会周期性地向PPPoE Client发送LCP Echo-Request报文,然后接收PPPoE Client回应的Echo-Reply报文,来探测LCP链路是否正常,以维持LCP连接。
    表1-2 回应报文类型列表

    回应报文类型

    含义

    Configure-ACK

    若完全支持对端的LCP选项,则回应Configure-ACK报文,报文中必须完全协带对端Request报文中的选项。

    Configure-NAK

    若支持对端的协商选项,但不认可该项协商的内容,则回应Configure-NAK报文,在Configure-NAK的选项中填上本端期望的内容,如:对端MRU值为1500,而本端期望MRU值为1492,则在Configure-NAK报文中填上1492。

    Configure-Reject

    若不能支持对端的协商选项,则回应Configure-Reject报文,报文中带上不能支持的选项

  • PAP/CHAP认证

    LCP协商完成后,会进入认证阶段,该分为PAP认证和CHAP认证两种认证方式。

    PAP认证

    PAP为两次握手协议,是通过用户名和密码来对用户进行认证,并且是以明文的方式传递用户名和密码。PPPoE Server(或者RADIUS服务器)根据本端的用户表查看用户名和密码是否正确。适用于网络安全要求相对较低的环境。

    CHAP认证

    CHAP认证为三次握手协议,也是由PPPoE Server(或者RADIUS服务器)根据本端的用户表查看用户名和密码是否正确。但是CHAP认证方式只在网络上传输用户名,不传输用户密码,安全性比PAP要高。

  • NCP协商

    NCP协商的主要功能是协商PPP报文的网络层参数,如IPCP、IPv6CP等。PPPoE Client主要通过IPCP协议来获取访问网络的IP地址或IP地址段。

    NCP协商的流程与LCP流程类似。NCP协商成功之后,PPPoE Client可以正常访问网络。

NCP协商成功之后,即为PPPoE Client上线,此时PPPoE Server(通常为BRAS设备),会给RADIUS服务器发送计费请求报文,通过RADIUS服务器对PPPoE Client进行计费。

PPPoE与IPoE相比有哪些不同?

目前,PPPoE和IPoE作为用户接入两大最常见的接入方式,已经实现了广泛的应用。虽然两者都属于用户接入的方式,但PPPoE和IPoE之间有很大的区别。接下来对PPPoE和IPoE进行对比。

IPoE是一种在以太网络上直接封装传输IP报文的用户接入方式。IPoE技术依赖DHCP协议提供IP地址,但是DHCP协议本身并不具备建立链路、认证用户以及链路监测的功能。因而IPoE技术将DHCP协议和可扩展身份验证协议,例如Web协议,802.1x协议等,结合在一起,提供了与PPPoE相同的功能。详细对比如下图所示。

PPPoE和IPoE对比图
PPPoE和IPoE对比图

PPPoE的认证方式,可管理性强,本身安全性很高,其代价是限制了网络的使用范围和组播业务的开展,因此在HSI(High Speed Internet)高速上网业务和光纤宽带拨号上网业务应用比较广泛,给学校、企业、家庭用户带来了快速、方便的宽带接入方式。IPoE可以自主管理IP地址的使用期限,可以在局域网范围内进行设置,无需客户端软件,操作简单,但是需要配合其他协议来进行认证,在IPTV/VoIP业务上应用比较广泛。

IPoE的安全性方面需要家庭网关,网络接入设备,宽带网络网关协同工作。其保证策略包括:反地址欺骗,用户终端数限制,防 Dos 攻击,业务隔离,非法组播源抑制,端口隔离。IPoE在组播业务场景下,可以将组播复制下移到靠近用户的设备,因此在互联网电视和语音方面得到了广泛应用。

词条统计
  • 作者: 黄慧娴
  • 最近更新: 2021-10-09
  • 浏览次数: 61303
  • 平均得分:
分享链接到: