当前位置:首页>弱电技术>网络通信>什么是 PPPoE 点对点协议?

什么是 PPPoE 点对点协议?

什么是 PPPoE

PPPoE 是以太网链路层上的点对点协议,用于在以太网上建立 PPPoE 连接,建立 PPP 会话,并将 PPP 帧封装在 PPPoE 帧中。它使用户能够连接到远程接入设备,提供经济高效的用户接入和强大的访问控制。PPPoE 支持通过以太网实现多用户主机的远程接入,并生成计费数据以供传输,以解决上网计费等应用问题。因此,PPPoE 广泛应用于运营商网络接入。

应对 PPPoE 挑战

PPP 是一种用于点对点通信的协议,允许一个节点以独占方式与另一个指定节点连接。PPP 位于 OSI 参考模型的第二层和 TCP/IP 模型的数据链路层,主要用于通过全双工异步链路点对点传输数据。身份验证是 PPP 的一项重要功能,但它不提供地址信息。由于以太网的广播特性,PPP 不能直接用于以太网链路。

以太网虽然具有简单、成本低廉等优点,但是其广播特性给通信方的身份认证带来了挑战,导致通信不安全。

为了应对这些挑战,同时在现有基础设施内保持经济高效的网络运营,PPPoE 技术提供了一种解决方案。PPPoE 集成了 PPP 的身份验证功能,用于验证通信双方的身份。利用 PPP 网络框架,PPP 帧被封装在 PPPoE 帧中,以实现以太网上的点对点通信。这使以太网客户端能够无缝连接到远程宽带接入设备。

PPPoE 特性

PPPoE 提供以下功能:

功能方面:

PPPoE 结合了 PPP 的优点,加入了传统以太网所不支持的身份验证、加密和压缩等功能。

  • PPPoE 结合了 PPP 的优点,加入了传统以太网所不支持的身份验证、加密和压缩等功能。
  • PPPoE采用不同的会话ID来保证用户的安全。

应用方面:

  • PPPoE拨号是目前终端连接到ISP网络实现宽带接入的主流方式。
  • PPPoE可以应用于以太网接口,包括电缆调制解调器、数字用户线路(DSL)等,​​为用户提供通过以太网协议接入服务。

简单来说,PPPoE结合了以太网的成本优势和PPP的可管理、可控制的特点,实现了Internet接入。对于运营商来说,可以充分利用现有的电信接入网架构和拨号网络资源,而不需要对运营和管理模式进行大的改变。而对于用户来说,可以享受到与传统拨号上网类似的用户体验。

PPPoE 连接是如何建立的?

PPPoE 数据包

PPPoE 数据包由封装在以太网帧内的 PPP 数据包组成。下图说明了数据包封装结构。

什么是 PPPoE 点对点协议?

 

PPPoE 数据包的结构

以下是PPPoE数据包字段说明

  • 1. Ver ——表示PPPoE版本号。该字段长度为4位,必须设置为0x1。
  • 2. Type ——表示PPPoE类型,该字段长度为4位,必须设置为0x1。
  • 3.Code ——表示PPPoE数据包类型,该字段长度为8位,取值可以为:0x00(会话数据)、0x09(PADI数据包)、0x07(PADO或PADT数据包)、0x19(PADR数据包)、0x65(PADS数据包)
  • 4. Session_ID ——表示 PPP 会话 ID。该字段长 16 位。该值对于给定的 PPP 会话是固定的,并与以太网源地址和目标地址一起定义 PPP 会话。0xffff 值保留供将来使用,不得使用。
  • 5. Length ——表示PPPoE负载的长度,该字段长16位,不包括以太网头和PPPoE头的长度。

建立 PPPoE 连接的阶段

PPPoE 采用客户端/服务器模型。如下图所示,PPPoE 网络中的基本角色包括 PPPoE 客户端、PPPoE 服务器和 RADIUS 设备。

什么是 PPPoE 点对点协议?

PPPoE接入组网图

PPPoE用户上线过程包括发现和PPP会话两个阶段。发现阶段包括选择PPPoE服务器,确定要建立的会话ID。PPP会话阶段包括标准的PPP流程,包括LCP协商、PAP/CHAP认证、NCP协商等。

什么是 PPPoE 点对点协议?

 

PPPoE 的工作流程

下图显示了PPPoE发现和PPP会话阶段的时间顺序。

什么是 PPPoE 点对点协议?

 

探索阶段

在发现阶段,设备会为用户分配一个会话ID,这个会话ID用来标识用户和设备之间建立的一条PPPoE虚链路。

  • 1. PPPoE 客户端通过广播 PPPoE 主动发现启动 (PADI) 数据包来启动连接过程,并指定请求的服务类型。
  • 2. 以太网内的所有 PPPoE 服务器收到 PADI 数据包后,会将请求的服务与自己提供的服务进行比较,能够提供所请求服务的 PPPoE 服务器会以 PPPoE 主动发现提供 (PADO) 数据包进行响应。
  • 3. PPPoE 客户端可能会收到来自不同 PPPoE 服务器的多个 PADO 数据包。客户端会根据某些标准从提供 PADO 数据包的服务器中选择一个合适的 PPPoE 服务器,并向所选服务器发送 PPPoE 主动发现请求 (PADR) 数据包,其中指定所请求服务的详细信息。
  • 4. 收到 PADR 数据包后,指定的 PPPoE 服务器会生成一个独特的会话 ID,以标识服务器与客户端之间建立的 PPPoE 会话。随后,PPPoE 服务器会使用包含唯一会话 ID 的 PPPoE 主动发现会话确认 (PADS) 数据包响应 PPPoE 客户端。如果没有发生错误,PPPoE 服务器将转换到 PPP 会话阶段。同样,PPPoE 客户端在收到 PADS 数据包且没有遇到任何错误后,也会进入 PPP 会话阶段。

PPP 会话阶段

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

  • LCP协商

进入PPP会话阶段后,开始LCP协商,具体步骤如下:

  • 1、PPPoE客户端和PPPoE服务器双方交互LCP Configure-Request报文。
  • 2. 两端收到 Configure-Request 报文后,根据报文中包含的协商选项进行响应(具体见下表),如果两端都回复 Configure-ACK 报文,则表示 LCP 链路建立成功。在此之前,两端会继续交互 LCP Configure-Request 报文。
  • 如果两端在指定的LCP协商时间内,以及LCP协商定时器超时之前,都发送了Configure-ACK报文,则LCP链路建立成功。
  • 如果在 LCP 协商定时器超时之前没有收到 Configure-ACK 数据包,则 LCP 协商终止。
  • 3. LCP链路建立后,PPPoE服务器会定期向PPPoE客户端发送LCP Echo-Request报文,并等待客户端的Echo-Reply报文,以此来验证LCP链路的正常性。
  • PAP/CHAP 身份验证

LCP协商完成后,进入认证阶段,支持PAP、CHAP两种认证方式。

PAP 验证

PAP 是一种双向握手协议,使用以明文传输的用户名和密码来验证用户。PPPoE 服务器(或 RADIUS 服务器)根据本地用户表验证用户名和密码的正确性。此方法适用于对网络安全要求较低的环境。

CHAP 身份验证

CHAP 认证是 PPPoE 服务器(或 RADIUS 服务器)用来验证用户名和密码与本地用户表是否正确的三次握手协议。在 CHAP 认证模式下,只有用户名(而不是用户密码)在网络上传输,与 PAP 认证相比,安全性更高。

  • NCP协商

NCP 协商主要处理 PPP 数据包中的网络层参数,例如 IPCP 和 IPv6CP。PPPoE 客户端主要利用 IPCP 获取网络连接的 IP 地址或 IP 地址范围。

NCP协商过程与LCP协商过程类似,协商成功后,PPPoE客户端即可正常访问网络。

当NCP协商成功后,PPPoE客户端会自动发起在线连接,随后PPPoE服务器(一般是BRAS)会向RADIUS服务器发送计费请求报文,由RADIUS服务器对PPPoE客户端进行计费管理。

本文由 @孔明 发布于弱电智能网 。

题图来自Unsplash,基于CC0协议

内容观点仅代表作者本人,弱电智能网平台仅提供信息存储空间服务。

如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章名称:《什么是 PPPoE 点对点协议?》

文章链接:https://www.ruodian360.com/tech/networking/54729.html

添加微信ydian188免费入群,记得备注“弱电智能网”。

给TA打赏
共{{data.count}}人
人已打赏
网络通信

什么是零漫游 DAP?

2024-7-6 15:59:09

网络通信

电梯网桥连接信号不稳定?

2024-7-14 1:24:29

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索