前文我们了解了广域网中的HDLC和PPP协议相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15174240.html;今天我们来聊一聊PPPoE协议相关话题;

  数字用户线路DSL(Digital Subscriber Line)是以电话线为传输介质的传输技术,我们通常把所有的DSL技术统称为xDSL,x代表不同种类的数字用户线路技术;目前比较流行的宽带接入方式是ADSL,ADSL是非对称DSL技术,使用的是PPPoE(PPP over Ethernet)协议;PPPoE协议通过在以太网上提供点到点的连接,建立PPP会话,使得以太网中的主机能够连接到远端的宽带接入服务器。PPPoE具有使用范围广、安全性高、计费方便等特点;

  DSL技术应用场景

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:BRAS是运营商的宽带接入设备;DSLAM是Digital Subscriber Line Access Multiplexer的简称,中文称呼数字用户线路接入复用器。DSLAM是各种DSL系统的局端设备,属于最后一公里接入设备(the last mile),其功能是接纳所有的DSL线路,汇聚流量,相当于一个二层交换机。

  PPPoE在DSL中的应用

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:在企业内部,我们通过PPPoE客户端通过网线和Modem连接;Modem的作用就是将数字信号转换为模拟信号,它有两个种接口,一种是连接PPPoE客户端的网口,一种是连接DSLAM的电话口;运营商希望通过一台接入设备来连接远程的多个主机,同时接入设备能够提供访问控制和计费功能;在众多的接入技术中,把多个主机连接到接入设备的最经济的方法就是以太网,而PPP协议可以提供良好的访问控制和计费功能,于是产生了在以太网上传输的PPP报文技术,即PPPoE;PPPoE利用以太网将大量主机组成网络,通过一个远端接入设备连接因特网,并运用PPP协议对接入的每个主机进行控制,具有使用范围广,安全性高,计费放备案的特点;PPPoE解决了用户上网收费等实际应用问题,得到了宽带接入运营商店认可并被广泛应用;

  PPPoE报文格式

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:PPPoE报文是使用Ethernet格式进行封装,所以PPPoE是以太网的上层协议;在封装过程中首先要先封装以太网首部,随后才是PPPoE首部;以太网首部中的Type是用来表示上层协议的类型;当Type的值为0x8863时,就表示承载的是PPPoE发现阶段的报文;当type的值为0x8864时就表示承载的是PPPoE会话阶段的报文;

  PPPoE会话建立过程

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:PPPoE建立会话的过程主要要经过上述二个阶段,发现阶段和会话阶段;其中发现阶段主要是发现PPPoE服务器,获取对方以太网地址;会话阶段主要是PPP协议的各种协商;经过上述两个阶段以后,一个PPPoE会话就建立好了,后续用户就可以通过PPPoE会话进行上网,数据传输;会话终结阶段是用户侧发送PPPoE终止报文,随后PPPoE会话终止;

  PPPoE数据包类型

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:PPPoE会话建立和终止过程中主要有以上5中类型的报文;PADI是PPPoE发现初始报文,主要用户寻找PPPoE服务端;当PPPoE服务端收到PPPoE客户端发送的PADI报文后,对应服务端会向客户端发送PADO,该类型报文主要是告诉PPPoE客户端对应服务端能够满足客户端的请求;当客户端收到服务端发送的PADO时(可能会有多个服务端发送PADO),它会选择最早收到的PADO对应的服务端发送PADR;PADR是客户端向服务端请求建立会话,同时也拒绝其他服务端发送的PADO报文;服务端收到客户端发送的PADR后,会回复一个PADS报文,该类型报文主要作用是告诉客户端会话id等信息;当客户端或服务端需要断开连接时,客户端或服务端会向对端发送PADT,表示终止连接,该类型报文的主要作用是通知对端PPPoE会话结束;对端收到该类型报文,会话会立即断开;

  PPPoE工作流程

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:客户端通过广播发送PADI报文来发送接入服务器;类似DHCP中的DHCP discover包;

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:当服务器收到客户端发送的PADI报文后,将客户端请求的服务于自己能够提供的服务进行比较,如果可以提供,则单播恢复PADO报文;类似DHCP中的DHCP offer包;

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:PPPoE客户端会根据自己收到的PADO选择最优的PADO报文对应的服务器,并单播发送一个PADR报文;PADR报文有两层作用,一层是向对应服务端请求建立会话等信息,二是拒绝其他服务端的PADO;类似DHCP中的DHCP Request包;

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:PPPoE服务端收到客户端的PADR报文后,服务端会生成一个唯一的PPPoE session ID,并通过发送PADS报文给客户端,表示会话建立成功;类似DHCP中的DHCP ack包;

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:当PPPoE会话建立成功以后,后续就是PPP参数协商;ppp参数协商和串口链路上的PPP参数协商过程一样;主要分LCP和NCP协商;如果有认证,还需要进行认证;当PPP参数协商成功以后,对应客户端会通过服务端获取到一个规划的ip地址等参数,后续客户端就可以通过这个ip地址等进行上网,数据传输;

  PPPoE会话建立全过程

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:只有PPP中NCP协商完成以后,对应客户端才会获取到ip地址,后续的通信客户端会通过这个ip地址来进行数据传输;

  PPPoE会话终止过程

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:当PPPoE客户端或者服务端需要关闭连接时,可以向服务端或者客服端发送PADT报文;表示关闭连接;在PADT报文中,目的mac地址为单播地址,session id为希望关闭的session id;一旦收到一个PADT报文后,对应会话会随即关闭;

  PPPoE配置

  实验:如下拓扑,配置PPPoE客户端和服务端

HCNA Routing&Switching之PPPoE协议-LMLPHP

  服务端配置

  1、在服务端上建立用于认证的用户名和密码

HCNA Routing&Switching之PPPoE协议-LMLPHP

  2、创建用于分配ip地址等信息的地址池

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:地址池中可以添加网关、dns、排除地址等等信息;

  3、创建虚拟模板接口

HCNA Routing&Switching之PPPoE协议-LMLPHP

  提示:虚拟模板接口里主要配置ppp认证模式,以及关联地址池,和本端的ip地址;

  4、将物理接口和虚拟模板接口关联

HCNA Routing&Switching之PPPoE协议-LMLPHP

  服务端全部配置

HCNA Routing&Switching之PPPoE协议-LMLPHPHCNA Routing&Switching之PPPoE协议-LMLPHP
sys
sys server
aaa
local-user qiuhom password cipher admin123.com
local-user qiuhom server ppp
q
ip pool PPPoE
net 100.1.1.0 mask 255.255.255.252
q
int virtual-template 1
ppp authentication-mode chap
remote address pool PPPoE
ip add 100.1.1.1 30
q
int g0/0/0
pppoe-server bind virtual-template 1
08-25 07:55