问题描述
运营商希望把一个站点上的多台主机连接到同一台远程接入设备,同时接入设备能够提供与拨号上网类似的访问控制和计费功能。
在众多的接入技术中,把多个主机连接到接入设备的最经济的方法就是以太网,而PPP协议可以提供良好的访问控制和计费功能。
解决方案
于是产生了在以太网上传输PPP报文的技术,即 PPPoE 协议。PPPoE 能够使以太网网络中的多台主机连接到远端的宽带接入服务器。
原理简述
PPPoE(PPP over Ethernet,以太网承载PPP协议)是种把 PPP 帧封装到以太网帧中的链路层协议。将 PPP 报文封装在以太链路中,并进行传输。
协议特性
PPPoE集中了PPP和Ethernet两个技术的优点:既有以太网的组网灵活优势,又能利用 PPP 协议实现认证、计费等功能。
应用场景
PPPoE实现了在以太网上提供点到点的连接。PPPoE Client 与 PPPoE 服Server 之间建立 PPP 会话,封装PPP数据报文,为以太网上的主机提供接入服务,实现用户控制和计费,在企业网络与运营商网络中应用广泛。
拨号上网:PPPoE的常见应用场景有家庭用户拨号上网、企业用户拨号上网等。
报文格式
PPPoE = PPPoE Header + PPP Packet (Payload)
PPPoE Header
Ver、Type、Length
Session ID:用于区分会话所属客户端;
PPP Packet (Payload)
WIP
协议细节:PPPoE 会话建立
PPPoE 发现,PPPoE 协商
解释:发现 PPPoE Server,用户接入,创建 PPPoE 虚拟链路。
PPPoE 协议发现有四个步骤:客户端发送请求、服务端响应请求、客户端确认响应、建立会话。
PPPoE 会话,PPP 协商
解释:协商阶段包括(1)LCP 协商、(2)PAP/CHAP 认证、(3)NCP 协商
在整个会话阶段,由 PPPoE Server 分配的 Session ID 值保持不变。
PPPoE 终结,PPPoE 断开
解释:用户下线,客户端断开连接或者服务器端断开连接。
当 PPPoE Client 希望关闭连接时,会向 PPPoE Server 发送 PADT 报文,用于关闭连接。反之亦然。
在 PADT 中,通过携带 Session ID 值来标识需要关闭的会话。
参考文献
Point-to-Point Protocol over Ethernet – Wikipedia