(1)ppp协议
1、提供用户认证功能的
2、强大的链路控制能力[链路通断链路建立与拆除]
3、强大的上层协议扩展能力[IPV4 IPV6 OSI MPLS-多协议标签交换]>PPP-->串行链路上的--
(2)PPPOE三大组件
1、如何提供链路控制能力?--->LCP协议 [link-control-protoco]
2、如何提供上层扩展能力?--->NCP协仪 [network-control-protocol]
3、如何提供用户认证能力?…>PAP协议[密码认证协议]
CHAP协议[挑战握手协议]EAP协议[扩展认证协议]-->IPSECVPN
LCP协议:建立逻辑的链路协商链路传输时参数信息线路一旦连接,且通电。
1、MRU:最大接收单元:MTU->在此链路上传递的数据的最大的长度:1500
2、认证信息协商认证信息默认无认证
3、检测是有否环路magic-number:魔术字
Address:为固定的数据[全1->FF]无意义
control:固定为03
Protocol:上层交互的协议->标识”奇数”LCP-->C021 IPCP-->8021
(3)4种报文信息的协商
1、彼此发送request报文,双方接收到彼此的request报文后,检测其中的参数。
如果是MRU不同,向小兼容。
如果是魔术字相同,则认为出现环路。
2、如果某些参数出现冲突,比如魔术字相同,则回复NAK报文,并且在NAK报文中携带自己可以接收的参数。
3、彼此都接收到对方的ACK报文后,则LCP阶段协商完成,进入下一个阶段。
<1>request:携带自己的参数
<2>ack携带自己确认对方的参数
<3>nak:自己认识该参数,但是此参数本地不认同,于是携带自己可以认同的参数。
<4>reject:自己本地压根不认识于是将此不认识的参数以reject报文的形式发送回去,对方接收到该reject之后,将此参数删除,重新发送request协商。[一端开启了某个功能,另一端没有配置,则会出现该报文】
nak和reject;
1、NAK:认识但不认同发送自己认同的参数令对方修改后协商
2、Reject:自己压根不认识发送该不认识的信息,令对方删除后重新协商。
认证成功/无认证到达下一个阶段:NCP阶段--->IPV4--->IPCP IPV6-->IPV6CP lOSl--->OSICP
PPP特点:一旦抵达下个阶段后,除非链路层故障,否则不会回归到上个阶段。
PAP协议:password authentication protocol 两步走问题:密码不加密的形式安全风险
用户发送用户名+密码
运营商接收之后,比对用户名+密码,如果相同,认证成功回复ACK,不同认证失败,NAK,
(4)实验
拓扑环境
配置认证 运营商端配置 aaa local-user admin password cipher lidong local-user lidong service-type ppp interface Serial1/0/0 ppp authentication-mode pap 客户端配置 interface Serial1/0/0 ppp pap local-user lidong password simple lidong |
CHAP协议:挑战握手认证[三次握手认证]
1、运营商发送挑战报文->[ID+随机数]
2、用户利用[ID+随机数]+自己的密码执行哈希运算,得到结果,将该结果+用户名发送
3、运营商使用相同[ID+随机数]+根据对方的用户名寻找的密码执行同样的哈希运算,如果结果相同,则认证成功。
哈希运算:输入的信息有一丝不同,得到的结果完全不同=雪崩效应。
chap认证配置 运营商端配置 interface Serial1/0/0 ppp authentication-mode chap 客户端配置 interface Serial1/0/0 ppp chap user lidong ppp chap password simple lidong |
IPCP阶段:进行
<1>静态配置[地址互推]-->用户端直接自己配置
网络层地址的协商,进行地址的分配,进行路由的生成。-->3层参数
双方直接发送自己的地址参数,以request发送至对方,对方接收后执行两步走:
1.检查(是否冲突/是否全0.0.0.0]->如果不冲突也不全0.0.0.0
2.加表将该地址/32的形式加入到路由表
路由生成后,向对方发送ack做确认,单向的地址互推完成。
<2>动态配置[地址获得]->运营商为用户分配
1.设备如果没有IP地址时,发送的request报文中以全0.0.0.0的形式发送。
对方收到全0.0.0.0的request后,发送给对方可以使用地址,以nak的形式。
设备收到对方的NAK报文时,将该地址提取,重新发送request报文,此时添加该地址。
对方收到新的request报文后,执行检查+加表的行为,发送ack做确认。
2.设备彼此都会进行相同的操作。[request-->ack]
运营商端配置 [ISP-Serial1/0/0]remote address 1.1.1.1 客户端配置 [CK-Serial1/0/0]ip add ppp-negotiate |
LCP阶段+NCP阶段完成后--->LCP Open IPCP Open
PPP即便是两端网段地址不一致,依然可以通信。
PPP通电一>>LCP协议lopen]--->>[authentication]->>NCP[open]
OSIcp用于支持OSl模型的ncp协议
IPCP:用于支持PV4的NCP协议
PPP现在不用了-->串行链路->成本问题点到点的链路
运营商:经济化的组网多个设备使用统一的一个设备进行认证的协商/地址的分配,同时提供接入服务。
以太网:成本最低的,但是以太网没有任何的认证的协商/地址的分配。
体现:使用以太网络在其中添加关于pPP的协议信息,实现既有关于ppP的认证及地址分配,也可以实现以太网的经济化接入。
PPPOE接入的特点:
特点:正式开始LCP协议以及NCP协议之前,对于以太网组网中,需要寻找到服务器的地址。
PPPOE一共有三个阶段
1、发现阶段:四个报文1-O-R-s:我爱0泡果奶的路由交换==1->O->R->S
PADI:init:初始化的意思寻找服务器的位置-->广播:不知道服务器的位置希望与服务器建立连接,以实现接下来的会话阶段的协商。
PADO:ofer回复的意思接收到PADl报文的服务器会向客户端回复PADO报文,代表自己本身为一台服务器服务器单播回复至客户端。
先到先得原则:会记录最先接收到的PPPOE服务器回复的报文,以及其MAC地址
-寻找服务器
PADR:request的意思 PPPOE的客户端此时会向服务器发送该报文,申请获得一个独一的会话ID,以此实现在数据交互式标识身份的作用
PADS.session的意思 PPPOE的服务器会向请求的客户端回复一个唯一的会话ID作为标识。
服务器单播回复客户端分配会话ID。
…………向服务器申请会话ID
2、会话阶段:LCP-认证-NCP-->和PpP过程一样|链路控制认证策略|网络层参数
所有的报文都是以单播的形式发送和接收的。
3、终止阶段:PADT:终止的任何一端都可以主动终止该会话
为什么使用PPPOE:实现接入时既能经济化接入,同时也能实现控制。…>增值性的技术/功能
额外的一次封装:开销变大
华为PPPOE的配置
PPPOE的发现阶段:会话ID何时出现会话阶段是以_播发送
PPPOE的会话阶段:LCP/认证/NCP
拨号接口:拥有地址信息以及通过PPPOE阶段协商的MAC地址信息,所以此时,写出接口可以直接利用拨号的MAC地址信息,不用再考虑ARP。
|未来配置默认路由及NAT策略,需要在拨号接口下。
以太网:代理ARP目标的MAC无法封装
点到点:PPPOE协商过程学习到了MAC地址可以直接写出接口