pppoe和以太网的区别(3.1.0广域网简介)
篇幅较大,本章主要有以下大点,可通过目录与右侧导航跳转观看:
(1)广域网基本概念
(2)ppp协议介绍
(3)PAP与CHAP认证
(4)PPPoE介绍与配置
简介广域网组网
- 广域网早期组网的X.25只能提供64Kbit/s的带宽
- 其后DDN(Digital Data Network)数据网和FR(Frame Relay)帧中继提供的带宽提高到2Mbit/s
- SDH(Synchronous Digital Hierachy)同步数字结构和ATM(Asynnchronous Transfer Mode)异步传输模式,进下一步把提升到了10Gbit/s
- 最后发展到当前以IP为基础的10Gbit/s甚至更高带宽的广域网络
- CE(CustomerEdge):用户的边缘设备,服务提供商所连接的用户端路由器。
CE路由器通过连接一个或多个PE路由器,为用户提供多点服务接入。
CE路由器通常是一台IP路由器,它与连接的PE路由器建立邻接关系。
- PE(ProviderEdge):运营商的边缘设备,Provide的边缘设备,服务提供商骨干网的边缘路由器,它相当于标签边缘路由器(LER)。
PE路由器连接CE路由器和P路由器,是最重要的网络节点。
用户的流量通过PE路由器流入用户网络,或者通过PE路由器流到组网骨干网。
- P(Provider):运营商的内部核心层设备,提供商路由器,服务提供商是不连接任何CE路由器的骨干网路由设备,它相当于标签交换路由器(LSR)。
ppp 端对端/点对点 协议(Peer-Peer Protocol)
ppp有什么用?用来干嘛的?
答:PPP是一种点到点链路层协议,主要用于在全双工的同异步链路上[Serial串行接口]进行点到点的数据传输。
PPP协议的优势
1、支持LCP协商:链路层参数协商
2、支持NCP协商:网络层参数协商
3、支持用户认证:PAP、CHAP
4、支持扩展:ppp可扩展的支持低层链路
- 以太网网络,PPP可扩展为PPPOE
- ATM网络,PPP可扩展为PPPOA
- PAP密码认证协议(Password Authentication Protocol)
- PAP是明文交互认证
- PAP的简要认证过程
- 1、认证方(服务器)上创建认证的账号密码,被认证方(客户端)上设置好用于认证的账号密码
- 2、由被认证方向认证方发送认证信息(账号密码),认证方检查账号密码,匹配成功则回复认证成功否则回复认证失败。
- 【客户端】》主动认证》【服务器】
CHAP认证
- CHAP 挑战握手认证协议(Challenge Handshake Authentication Protocol )
- CHAP是密文交互认证
- CHAP的简要认证过程:
1、认证方(服务器)上创建认证的账号密码,被认证方(客户端)上设置好用于认证的账号密码
2、认证方主动向被认证方发送挑战报文
含有:(接口认证账号、认证序号A、认证方随机数)
在单向chap认证中,认证方的接口认证账号可有可无。
3、被认证方收到挑战报文,查看接口是否存在chap账号密码:
存在,则回复答复报文:报文序号A、接口认证账号、HASH值 HASH值(认证序号A、认证方随机数、接口认证的密码,三者进行MD5加密得出HASH值)报文序号从始至终都是认证方发送的报文序号。
不存在,则不回复信息,默认认证失败。
4、认证方收到答复报文:
(1)对收到的账号在账号数据库中检索出“密码”
(2)基于报文序号,取出之前产生的“随机数”
(3)进行(报文序号A 认证方随机数 账号对应密码)三者进行MD5加密得到一个HASH值
5、两个HASH值对比,一样则说明认证成功,否则失败。
PPP协议之地址下发
在PPP协议中,可以只在一端上配置地址实现将指定地址下发给对端。
[AR1]int s4/0/0
[AR1-Serial4/0/0]ip add 192.168.1.1 24
[AR1-Serial4/0/0]remote address 192.168.1.2 # 指定对端使用的地址
[AR2]int s4/0/0
[AR2-Serial4/0/0]ip add ppp-negotiate # 通过邻居获取地址
Dec 19 2022 18:28:38-08:00 Huawei %IFNET/4/LINK_STATE(l)[63]:The line protoco
l PPP IPCP on the interface Serial1/0/0 has entered the UP state.
# 出现该提示说明成功获取到地址
- 主动发送request报文给AR2进行链路层参数的协商。
- request报文内容:MRU、认证协议、MP-Group、魔术字
- MRU最大传输单元:保障双向传输数据过程中不会因为MRU不同导致丢包现象。
- 认证协议:为下一个阶段做铺垫,表明是否需要认证。
- MP-Group:表明是否存在链路聚合。
- 魔术字:随机产生,起到防止环路现象,如果在接口收到自己所发送的魔术字,则直接丢弃。
对端收到发送的Request报文进行报文内的参数协商:
- 1、如果协商的参数内容都是正常的,则向对端回复ACK报文,协商成功。
- 2、如果协商的参数内容都识别,但存在不认可的参数,则回复NAK报文,NAK中携带自己认可的参数。
- 收到NAK后的源将再次发送Request报文同时填充使用NAK报文内的参数。
- 3、如果协商的参数有不识别的内容,则回复Reject报文,要求源重新协商,源将去除目标不识别的内容进行剔除再发送Request。
LCP协商完成之后,则周期发送Echo-Request、Echo-Replay维护链路状态
2、pap/chap认证协商如果没有配置ppp authentication-mode,即没有设置认证,则直接跳过该阶段。
pap认证协商
- 被认证《主动向》认证方发送Request报文进行参数协商:(携带认证账号、明文密码)
- 认证方收到Request报文,将报文内的认证账号 密码和自身数据库中的认证账号 密码进行对比:
- ①对比结果相同,回复ACK报文,认证通过
- ②对比结果不同,回复NAK报文,认证失败
chap认证协商
- 认证方《主动向》被认证方,发送的Chalenge信息(接口认证账号<非必要>、认证序号ID、认证方随机数 )
- 被认证方,查看接口是否存在chap账号密码:
存在,则回复的response报文:报文序号A、接口认证账号、HASH值 HASH值(认证序号A、认证方随机数、接口认证的密码,三者进行MD5加密得到一个HASH值)报文序号从始至终都是认证方发送的报文序号。
不存在,则不回复信息,默认认证失败。
- 认证方,收到回复的response报文:
(1)对收到的认证账号,在账号数据库中检索出“密码”
(2)基于报文序号,取出之前产生的“认证方随机数”
(3)进行(报文序号A 随机数 账号对应密码)三者进行MD5加密得到一个HASH值
- 认证方两个HASH值对比,一样则说明认证成功Success,否则失败Failure。
3、NCP协商
- 最常见的NCP协议是IPCP,用来协商IP参数。
- 如果该阶段没有协商成功》display ip interface brief,查看接口状态时会看到Protocol字段处于down状态
- 认证方《主动向》被认证方,发送的Request信息,携带 本端接口IP地址。
- 被认证方收到Request报文:
如果参数不存在问题(地址没有冲突、合法)则回复ACK报文如果参数存在问题(地址有冲突或不合规)则回复NAK报文NCP协商并不看你地址是否相同网段,而是看你的地址信息是否有误。
- 当认证方收到ACK报文,表示协商成功,双方将建立一条直连路由。这也是为什么ppp链路中不同段地址也能互通的原因。
4、建立完成之后,通过Echo Request、Echo Replay保活5、建立chap认证方式的建立全过程抓包信息:
Chap认证建立会话抓包信息下载(Wireshark 3.6.6 )下载链接:https://download.csdn.net/download/qq_45443704/87320707
PPP协议建立的状态机
1.通信双方开始建立PPP链路时,先进入到Establish阶段。
2.在Establish阶段,进行LCP协商:协商通信双方的MRU(Maximum Receive Unit,最大接收单元)、认证方式和魔术字(Magic Number)等选项。 协商成功后进入Opened状态,表示底层链路已建立。
3.如果配置了认证,将进入Authenticate阶段。否则直接进入Network阶段。
4.在Authenticate阶段,会根据连接建立阶段协商的认证方式进行链路认证。 认证方式有两种:PAP和CHAP。如果认证成功,进入Network阶段,否则进入Terminate阶段,拆除链路,LCP状态转为Down。
5.在Network阶段,PPP链路进行NCP协商。 通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。(选择一个IP地址进行网络层参数协商)最常见的NCP协议是IPCP,用来协商IP参数。
6.在Terminate阶段,如果所有的资源都被释放,通信双方将回到Dead阶段。
PPPOEPPPOE简介
PPPOE(PPP Over Ethernet)以太网承载PPP协议
1、PPPOE实现以太网上提供点到点的连接,PPPOE客户端与PPPOE服务器之间建立PPP进行传输数据。
2、使用PPP数据封装的同时,为以太网上的主机提供接入服务,实现用户连接控制和计费,在企业网络与运营商网络中应用广泛。
PPP的帧结构目前HCIA阶段,简要观看即可。
PPPOE的会话建立大致过程
参考华为HCIA-Datacom V1.0 培训教材.pdf (116.68MB)【章节:17 广域网】
下载地址:https://e.huawei.com/cn/talent/#/resources 搜索下载:hcia-datacom v1.0
1、PPPOE会话发现
提前给你打个预防针,其实挺像DHCP的报文交互的…
1-PPPOE PADI 查找开始
1、PPPoE客户端在本地以太网中广播一个PPPOED PADI报文,此PADI报文中包含了客户端需要的服务信息。[类似于DHCP的Discover报文]
》PADI报文的目的MAC地址是一个广播地址,Code字段为0x09,Session ID字段为0x0000。
》所有PPPoE服务器端收到PADI报文之后,会将报文中所请求的服务与自己能够提供的服务进行比较。
2-PPPOE PADO 提供信息
2、如果服务器端可以提供客户端请求的服务,就会回复一个PADO报文。[类似于DHCP的Offer报文]
》PADO报文的目的地址是发送PADI报文的客户端MAC地址,Code字段为0x07,Session ID字段为0x0000。
3-PPPOE PADR 请求信息
3、客户端可能会收到多个PADO报文[就像DHCP可以收到多个Offer报文],此时将选择最先收到的PADO报文对应的PPPoE服务器端,并发送一个PADR报文给这个服务器端。
》PADR报文的目的地址是选中的服务器端的MAC地址,Code字段为0x19,Session ID字段为0x0000。
4-PPPOE PADS 会话确认
4、PPPoE服务器端收到PADR报文后,会生成一个唯一的Session ID来标识和PPPoE客户端的会话,并发送PADS报文。
》PADS报文的目的地址是PPPoE客户端的MAC地址,Code字段为0x65,Session ID字段是PPPoE服务器端为本PPPoE会话产生的Session ID。
5-华为的PPPOE会话发现逻辑示意图
2、PPPOE会话阶段
PPPoE会话阶段会进行PPP协商,分为LCP协商、认证协商、NCP协商三个阶段。
华为的PPPOE会话阶段逻辑示意图
3、PPPOE会话终结
当PPPoE客户端希望关闭连接时,会向PPPoE服务器端发送一个PADT报文,用于关闭连接。
同样,如果PPPoE服务器端希望关闭连接时,也会向PPPoE客户端发送一个PADT报文。
在客户端上进行会话断开: <Client>reset pppoe-client all <Client> Dec 19 2022 23:23:27-08:00 Client %PPP/4/PHYSICALDOWN(l)[0]:On the interface Dialer1:0, PPP link was closed because the status of the physical layer was Down . <Client> Dec 19 2022 23:23:27-08:00 Client %IFNET/4/LINK_STATE(l)[1]:The line protocol PPP on the interface Dialer1:0 has entered the DOWN state. <Client> Dec 19 2022 23:23:27-08:00 Client %IFNET/4/LINK_STATE(l)[2]:The line protocol PPP IPCP on the interface Dialer1:0 has entered the DOWN state.
华为的PPPOE会话终结逻辑示意图PPPOE的配置环境介绍:
- PPPOE服务器拨号地址为192.168.1.254、地址池为192.168.1.0/24、拨号虚拟模板序号1、使用chap认证、账号密码均是pppoe。
- PPPOE客户端使用拨号数字10与PPPOE服务器进行建立会话。
- PPPOE建立会话过程抓包信息(Wireshark 3.6.6)下载链接:https://download.csdn.net/download/qq_45443704/87320944
,
服务器: # 1、创建DHCP地址池,给PPPOE拨号用户下发地址 [Server]dhcp enable [Server]ip pool ppp [Server-ip-pool-ppp]network 192.168.1.0 mask 24 [Server-ip-pool-ppp]gateway-list 192.168.1.254 [Server-ip-pool-ppp]q # 2、配置PPPOE服务端使用chap认证,利用PPP的NCP协商给客户端下发地址 [Server]interface Virtual-Template 1 [Server-Virtual-Template1]ppp authen chap [Server-Virtual-Template1]ip add 192.168.1.254 24 [Server-Virtual-Template1]remote add pool ppp [Server-Virtual-Template1]q # 3、配置chap认证的账号密码(命令有所缩写) [Server]aaa [Server-aaa]local pppoe pa cip pppoe [Server-aaa]local pppoe ser ppp [Server-aaa]q # 4、接口应用PPPOE拨号模板 [Server]int g0/0/0 [Server-GigabitEthernet0/0/0]pppoe-server bind virtual-template 1 # 你可能会有的疑惑: # 1、接口不需要配置地址的吗? # 【拨号模板中已经设置有了,应用模板也相当于应用了地址】 # 2、客户端不需地址吗? # 【客户端会通过发送PADI、PADO、PADR、PADS等报文协助PPPOE的建立】 # 上面的PPPOE会话建立过程有所提到 客户端: [Client]interface Dialer 1 [Client-Dialer1]lin ppp [Client-Dialer1]ppp chap user pppoe [Client-Dialer1]ppp chap password ci pppoe [Client-Dialer1]ip add ppp-negotiate [Client-Dialer1]dialer user client1 [Client-Dialer1]dialer bundle 10 [Client-Dialer1]q [Client]int g0/0/0 [Client-GigabitEthernet0/0/0]pppoe-client dial-bundle-number 10 # PPPOE自动拨号成功提示 [Client] Dec 19 2022 22:14:50-08:00 Client %IFNET/4/LINK_STATE(l)[1]:The line protocol PPP on the interface Dialer1:0 has entered the UP state. [Client] Dec 19 2022 22:14:50-08:00 Client %IFNET/4/LINK_STATE(l)[2]:The line protocol PPP IPCP on the interface Dialer1:0 has entered the UP state. [Client]
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com