计算机网络协议分析第三课
第二章 链路层技术
2.3.5 PPP认证
PPP协议支持两种认证协议:PAP和CHAP:
- PAP密码验证协议:通过两次握手机制验证
- CHAP挑战握手验证协议:使用三次握手机制来启动一条链路和周期性的验证
*握手次数和报文数量挂钩
PAP认证
PAP认证:验证方通常是ISP的服务器,被验证方经常是客户端
- 两次握手,发送两次报文
- 密码在链路上是以明文方式传输的。被验证方首 先发起验证请求。即客户讲账号密码同时传输过去
- 不能防止回放攻击和重复的尝试攻击(验证重试频率和次数由被验证控制)。主动权在客户端手里
- PAP认证只在链路建立阶段使用。过了这个阶段就不会再认证了
串行接口,服务端是HDLC
第一步在服务端本地建立数据库,其中存储用户名和密码
第二步配置端口,进入接口模式,IP地址和子网掩码
第三步打开时钟频率,激活
第四步把报文用PPP协议封装,用pap认证
*注意:思科的设备默认点对点连接用的不是PPP协议,而是HDLC协议
CHAP认证
CHAP主动权掌握在服务器手里,验证方是服务器,被验证方是客户端
CHAP认证可在链路建立和数据通信阶段使用
- CHAP身份验证呼叫阶段:客户端从物理上和服务器联通
- CHAP身份验证挑战阶段: 服务器方会产生一个报文,包含ID数和随机数发给客户端
- CHAP身份验证回应阶段:客户端把ID随机数通过MD5算法算出hash值
- CHAP身份验证回应阶段:客户端把ID和hash值装进报文发给服务端
- CHAP身份验证确认阶段:客户端的报文中的数值和服务器本地的数据算出的hash值做比对,看看是否正确
- 回报认证结果
CHAP配置与PAP配置的区别:
- 验证方两者建立的数据库是不一样的,体现在:CHAP配置服务端的用户名必须是对端的路由器名称
- 被验证方PAP认证不需要建立本地用户名密码,CHAP认证需要建立本地用户名和密码,该名称必须是对端路由器名称,密码一致。
- 被验证方PAP需要把本地用户用户名密码发给验证方,CHAP不需要
2.4 PPPoE
PPPoE:即基于以太网的PPP协议,拨号宽带接入:ADSL、光纤宽带
PPPoE允许ISP监控用户流量,可以方便ISP收费(基于时长和流量计费)
- 封装在以太网帧里,类型取值0x8863
- 版本类型大部分取1,len为载荷长度
- 载荷为tlv格式
- 类型0x8864,代码为0x00,载荷为PPP帧
PPPoE发现阶段
- PADI:主机广播发送PADI报文,寻找AC,目的MAC地址为广播地址,代码09
- PADO:AC单播发送相应报文PADO,代码07
- PADR:主机在可能受到的多个PADO报文中选择一个合适的PADO报文,然后向所选择的AC发送PADR报文,代码19
- PADS:AC发送一个PADS报文,确认可以进入PPP会话阶段,代码65
类似于DHCP协议
问:在PPPoE会话阶段,以太网帧首部中“类型”字段取值是什么?PPPoE报文中“代码”字段为何值?
答:0x00;0x8864
27页习题7,8。4