当前位置: 首页 » 技术支持 » 博文资讯 »

PPPoE点对点协议详解:上网必备基础知识

PPPoE点对点协议详解:上网必备基础知识

PPPoE(Point-to-Point Protocol over Ethernet)是以太网链路层上的一种点对点协议,广泛应用于运营商网络接入,解决了以太网广播特性带来的通信安全问题和身份验证需求。PPPoE结合了以太网的经济性和PPP的可管理性,成为当前宽带接入的主要技术之一。
以太网的成本低廉、部署简便,但因其广播特性,通信安全难以保障。PPP协议虽然具备良好的身份验证功能,但无法直接应用于以太网。PPPoE的出现有效解决了这一问题,它通过封装PPP帧在以太网帧中,实现了点对点通信,确保了通信双方的身份认证和安全性。
PPPoE的主要特点包括:
1. **身份验证**:继承了PPP协议的身份验证机制,确保通信双方身份合法。 2. **数据加密**:提供数据加密功能,保障数据传输的安全性。 3. **会话管理**:通过独特的会话ID,管理和维护每个PPP会话。 4. **灵活应用**:适用于多种网络环境,支持多用户接入,广泛应用于家庭和企业网络
PPPoE的连接过程分为两个阶段:发现阶段和PPP会话阶段。
**发现阶段**: 1. **PADI发送**:客户端广播发送PADI(PPPoE Active Discovery Initiation)数据包,寻找可用的PPPoE服务器。 2. **PADO响应**:服务器收到PADI后,发送PADO(PPPoE Active Discovery Offer)数据包响应客户端。 3. **PADR选择**:客户端根据收到的PADO选择一个服务器,并发送PADR(PPPoE Active Discovery Request)数据包。 4. **PADS确认**:服务器收到PADR后,生成会话ID,发送PADS(PPPoE Active Discovery Session-confirmation)数据包,完成发现阶段。
**PPP会话阶段**: 1. **LCP协商**:客户端与服务器进行LCP(Link Control Protocol)协商,建立链路。 2. **身份验证**:通过PAP(Password Authentication Protocol)或CHAP(Challenge Handshake Authentication Protocol)进行身份验证。 3. **NCP协商**:进行NCP(network Control Protocol)协商,配置网络层参数,如ip地址。 4. **数据传输**:完成上述步骤后,客户端和服务器之间开始数据传输。
PPPoE技术不仅提高了网络接入的安全性,还简化了网络管理,降低了运营成本。对于用户而言,PPPoE提供了稳定、可靠的互联网连接,保证了上网体验。运营商则可以通过PPPoE技术,高效地管理用户接入和计费,提升服务质量
总的来说,PPPoE技术有效结合了以太网和PPP的优势,为现代宽带接入提供了坚实的保障,成为不可或缺的网络技术之一。

什么是 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数据包字段说明

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

 

PPPoE 的工作流程

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

 

探索阶段

在发现阶段,设备会为用户分配一个会话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客户端进行计费管理。

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

在线咨询
未经允许不得转载: 汇鑫科服|一站式ICT服务商 » PPPoE点对点协议详解:上网必备基础知识

PPPoE相关文章

微信扫码咨询

contact