PPP
二层最常用的封装技术
PPP共定义了三个协议组件 , 分别是数据封装方式,链路控制协议( Link Control Protocol,LCP )和网络层控制协议( Network Control Protocol, NCP ).
数据封装方式定义了如何封装多种类型的上层协议数据包。
LCP协议可以自动检测链路环境,如是否存在环路;协商链路参数,如最大数据包长度,使用何种认证协议等等。与其他数据链路层协议相比, PPP协议的一一个重要特点是可以提供认证功能,链路两端可以协商使用何种认证协议并实施认证过程,只有认证成功才会建立连接。
NCP ,每-个协议对应-种网络层协议,例如IPCP用于协商控制IP , IPXCP用于协商控制IPX协议等(淘汰)。
一、报文结构
Address域:填充为全1的广播地址,点对点链路无意义;
无需序列号来确认可靠;
二、PPP的工作阶段
Dead:undo shutdown后;
Establis:使用LCP协商,参数如下:MTU、认证、魔术字(防环);
Authenticate:认证对端;
Network:使用NPC协商;
Terminate:关闭PPP
三、LCP三大报文
1、链路配置包:用于建立和配置链路:configure-Reqest(匹配请求),configure-Ack(匹配确认),configure-Nak(匹配否认),configure-Reject(匹配拒绝);
2、链路结束包,用于结束一个链路:terminate-Request(中止请求)和terminate-Ack(中止确认);
3、链路维修包,用于管理和调试一个链路:code-Reject(代码拒绝),protocol-Reject(协议拒绝),echo-Request(回波请求),echo-Reply(回波应答),discard-Request(抛弃请求);
四、LCP协商参数
参数名称 | 功能描述 | 协商规则 | 默认值 |
---|---|---|---|
最大接受单元 MRU | PPP数据帧中information字段的总长度 | 使用两端设置的最小值 | 1500 |
认证协议 | 认证对端使用的认证协议 | 被认证方必须支持认证方使用的认证协议并正确配置,否则协商不成功 | 不认证 |
魔术字Magic-Number | 随机产生的数字用于检测链路环路,如果收到的LCP报文中的魔术字与本地相同,则认为链路有环路 | 启用 |
关于认证
PAP认证协议
被认证方主动发送用户名和密码信息给认证方检验(明文);
CHAP认证协议
认证方先发送信息给被认证方(密文),携带【用户名+随机数+认证序列号】,被认证方将【 MD5(密码+认证序列号+随机数) +用户名】回给认证方;
五、NCP协议
使用IPCP协议,协商控制IP参数,使PPP可用于传输IP数据包;使用与LCP相同的工作过程及报文;
IPCP可使不在同一网段的地址进行通信(必须使用借地址的方法);
IPCP可向对端动态or直接分配地址;
六、MP基本原理及配置
1、MP的优势
增加带宽,将多个PPP链路捆绑使用;
MP允许将报文分片,分片将从对各点对点链路上送到同一个目的地;
2、PPP的配置
ISP配置
aaa //设置本地用户名与密码
local-user kkk password cipher 123
local-user kkk service-type ppp
interface Serial4/0/0
link-protocol ppp
ppp authentication-mode chap //开启chap认证
remote address
10.1.1.2 //配置给远端接口分配的静态接口IP地址
ppp ipcp dns
114.114.114.114 //配置给远端接口分配的DNS地址
ip address
10.1.1.1
255.255.255.0
用户配置
interface Serial4/0/0
link-protocol ppp
ppp ipcp default-route //通过地址协议本地产生一条默认路由
ppp chap user kkk //为chap认证提供用户名
ppp chap password cipher 123 //为chap认证提供密码
ppp ipcp dns request //向对方请求DNS地址
ip address ppp-negotiate //通过地址协商的方式向对方获取地址
#
特别提醒:PPP的配置生效需要重启接口 shutdown->undo shutdown
3、MP配置
IP-Trunk Trunk接口分为IP-Trunk(POS接口)和Eth-Trunk(以太网链路)两种;
IP-Trunk的成员接口只能使用HDLC封装形式,IP-Trunk原理与Eth-Trunk类似;配置也类似;
IP-Trunk可以基于包负载分担,但Eth-Trunk只能基于流负载分担;
PPPoE原理与配置
一、 背景
PPPoE是一种把PPP帧封装到以太网帧中的链路层协议;经济的以太网+快捷的PPP=PPPoE;具有使用范围广、安全性高、计费方便的特点;PPPoE组网结构采用Client/Server模型;
二、 PPPoE会话建立
分为三个阶段:
Discovery:客户端广播一个PADI(包含需要的服务),服务端收到PADI后查看客户端需要的服务是否可以提供,如果可以则单播给客户端回一个PADO,客户端收到多的PADO只接受第一个作为自己的服务端,然后单播向其发一个PADR,服务端收到后产生一个唯一的会话ID,单播回一个PADS将会话ID发送给客户端,会话建立成功后便进入Session阶段;
Session:正常的PPP协商,认证;
Terminate:通过发送PADT来结束PPPoE的连接;
三、 配置