先说什么是宽带拨号上网:宽带拨号即ADSL拨号上网方式,ADSL拨号上网属于DSL技术的一种,全称Asymmetric Digital Subscriber Line( 非对称数字用户线路),即非对称数字用户线路。是一种数据传输方式。
再说说PPPOE这个协议:Point-to-Point Protocol Over Ethernet),以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协议

那么到底为何我们要使用PPPOE这个技术呢?请听我细细道来。
我先解释一下PPP这个技术,他叫Point-To-Point Protocol,即点对点协议,这个协议是IETF退出的数据链路层封装协议,是正式的因特网标准。PPP支持的物理链路基本包括同步串行接口、异步串行接口、高速串行接口(HSSI)和综合业务数字网(ISDN)等。也就是说他无法直接运行在以太网上。
PPP有两种模式,PAP(password authentication protocol)是一种两次握手协议,它在网络上明文传输用户名和口令;CHAP(challenge handshake authentication protocol)是一种三次握手式协议,它只在网络上传输用户名,密码并不在网络上传输。
由于PPP这个协议我们可以用来做认证和审计和计费,所以我们特别希望他能运营在我们当前的以太网上。怎么做呢?
看下面PPP数据包的封装格式(以Telnet数据包为例):

看以太网上PPP数据包的封装格式(以Telnet数据包为例):

为何我要在MAC和PPP之间画一个PPPOE呢,原因就是:PPP无法直接工作在以太网上,需要依靠PPPOE作为一个中间介质,让PPP可以直接工作在以太网之上。这也正好符号PPPOE英文名字的意思Point-To-Point Over Ethernet。
那么为何做PPPOE配置的时候要修改IP MTU为1492?
注意:PPPOE包头6字节,PPP包头2字节。
MTU值的概念:从帧尾开始计算,固定为1500字节。
IP MTU值概念:从IP包头开始计算,大小为1500字节-(帧头和IP包头之间的内容长度)
为了防止一个正常为1500字节的数据包通过拨号接口Dialer发出去的时候经过多次分片,对方需要多次重组,因此做PPPOE配置的时候,一般需要把Dialer接口的ip mtu值修改成1500-6-2=1492字节
OK。到此为止,同学们大概能了解为何我们要使用PPPOE了吧。
下面我简单做个小实验,演示一下,PPPOE服务器端和客户端拨号上网的配置:

ISP端配置:
ip local pool Toutiao 192.0.2.6 //定义地址池名字和地址
username CISCO password CCIE //定义拨号的用户名和密码
interface Virtual-Template1
ip address 192.0.2.5 255.255.255.252
ip mtu 1492
peer default ip address pool Toutiao //调用本地的地址处
ppp authentication chap //使用挑战握手协议进行认证
bba-group pppoe Toutiao
virtual-template 1
interface ethernet0/0
pppoe enable group R19
no shutdown
GW端配置:
interface Ethernet0/0
pppoe enable group global
pppoe-client dial-pool-number 1
interface Dialer1 //创建虚拟拨号接口
ip address negotiated //自动协商IP地址
ip mtu 1492
encapsulation ppp
dialer pool 1
ppp chap hostname CISCO //用户名
ppp chap password 0 CCIE //密码
ppp ipcp route default //自动申请一条默认路由
看效果图,在GW上:

GW已经正确获取到ISP分配的IP地址192.0.2.6并且通过IPCP协议协商的方式从ISP获取到了一条默认路由。OK,我的PPPOE讲解到此结束,有兴趣的同学可以自己做实验测试一下。
以上是我整理的PPPOE技术点,希望可以对学习CCIE的同学有帮助,谢谢大家观看。
原文来自公众号:思科CCIE训练营
定期更新更多技术干货,欢迎点击“了解更多”与我互动