HDLC和PPP验证

简介:

一、简单介绍

1、高级数据链路控制(HDLC)协议是基于的一种数据链路层协议,促进传送到下一层的数据在传输过程中能够准确地被接收(也就是差错释放中没有任何损失并且序列正确)。HDLC 的另一个重要功能是流量控制,换句话说,一旦接收端收到数据,便能立即进行传输。HDLC 具有两种不同的实现方式:高级数据链路控制正常响应模式即 HDLC NRM(又称为SDLC)和 HDLC 链路访问过程平衡(LAPB)。其中第二种使用更为普遍。HDLC 是 X.25 栈的一部分。

点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议。在 TCP-IP 协议集中它是一种用来同步调制连接的数据链路层协议(OSI 模式中的第二层),替代了原来非标准的第二层协议,即 SLIP。除了 IP 以外 PPP 还可以携带其它协议,包括 DECnet 和 Novell 的 Internet 网包交换(IPX)。

2. PPP 认证:PAP 和CHAP

(1)PAP——密码验证协议

PAP(Password Authentication Protocol)利用 2 次握手的简单方法进行认证。在

PPP 链路建立完毕后,源节点不停地在链路上反复发送用户名和密码,直到验证通过。PAP

的验证中,密码在链路上是以明文传输的,而且由于是源节点控制验证重试频率和次数,因

此 PAP 不能防范再生攻击和重复的尝试攻击。

(2)CHAP——询问握手验证协议

CHAP(Challenge Handshake Authentication Protocol)利用 3 次握手周期地验证源端

节点的身份。CHAP 验证过程在链路建立之后进行,而且在以后的任何时候都可以再次进行。这使得链路更为安全;CHAP 不允许连接发起方在没有收到询问消息的情况下进行验证尝试。CHAP 每次使用不同的询问消息,每个消息都是不可预测的唯一的值,CHAP 不直接传送密码,只传送一个不可预测的询问消息,以及该询问消息与密码经过 MD5 加密运算后的加密值。所以 CHAP 可以防止再生攻击,CHAP 的安全性比 PAP 要高。

二、实验拓扑图

clip_image002

实验一 HDLC和PPP封装

一、实验步骤:

在R1、R2路由器上配置IP地址,保证直连链路的连通性

1、R1#show interfaces serial 1/0

Serial1/0 is up, line protocol is up

Hardware is M4T

Internet address is 192.168.12.1/24

MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,

reliability 255/255, txload 1/255, rxload 1/255

Encapsulation HDLC, crc 16, loopback not set //该接口的默认封装为HDLC封装;

(此后省略)

2、把串行链路两端的接口封装为ppp协议

R1(config)#interface serial 1/0

R1(config-if)#encapsulation ppp

R2(config)#interface serial 1/0

R2(config-if)#encapsulation ppp

R1#show interfaces serial 1/0

Serial1/0 is up, line protocol is up

Hardware is M4T

Internet address is 192.168.12.1/24

MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,

reliability 255/255, txload 1/255, rxload 1/255

Encapsulation PPP, LCP Open //该接口封装为PPP协议;

Open: IPCP, CDPCP, crc 16, loopback not set //网络层支持IP和CDP协议

(此后省略)

二、实验调试

①测试R1和R2之间串行链路的连通性;

clip_image004

如果两端封装协议相同,则ping测试应该正常。

②链路两端封装不同的协议;

clip_image005

clip_image006

clip_image007

链路两端封装协议不匹配,导致链路故障

【注】:

显示链路接口时,常见以下几种状态:

Serial1/0 is up, line protocol is up

//链路正常;

Serial1/0 is administratively down, line protocol is down

//没有打开该接口,执行“no shutdown ”可以打开接口;

Serial1/0 is up, line protocol is down

//物理层正常,数据链路层有问题,通常是没有配置时钟、两端封装不匹配、PPP认证错误;

Serial1/0 is down, line protocol is down

//物理层故障,通常为连线问题;

实验二 PAP认证

在实验一的基础上继续试验,首先配置路由器R1(远程路由器,被认证方)在路由器R2(中心路由器,认证方)取得验证。

1、两端路由器上的串口都采用PPP封装;

2、在远程路由器的R1上配置在中心路由器上登陆的用户名和密码。

clip_image008

3、在中心路由器上的串口采用PPP封装,用“encapsulation”命令;

配置PAP认证,使用“ppp authencation pap ”命令;

clip_image009

4、中心路由器R2上为远程用户设置用户名和密码;

clip_image010

以上的步骤只是配置了R1(远程路由器)在R2(中心路由器)取得验证,即单项验证。然而在实际情况中通常采用双向验证,即R2要验证R1,R1也要验证R2,因此要采用类似的步骤配置R1对R2的验证,这是R1为中心路由器,R2为远端路由器。

5、在远程路由器R2上配置在中心路由器上登陆的用户名和密码;

clip_image011

6、在中心路由器R1上配置PAP验证;

在中心路由器R1上为远程路由器设置用户名和密码;

clip_image012

【注】在ISDN拨号上网时,却通常只是电信对用户进行验证,用户不能对电信进行验证,即验证是单向的。

实验调试:

使用“debug ppp authentication ”命令可以查看ppp认证过程。

clip_image013

在R1上关闭、打开serial1/0端口

clip_image014

在R2上可以看到PAP认证成功的过程

clip_image016

如果在R1上改变密码,在R2上将可以看到PAP认证失败的过程

clip_image018

实验三、CHAP认证

接下来,我们看一下CHAP验证的配置方法

在实验一的基础上继续试验,

使用“username 用户名 password 密码”命令为对方配置用户名和密码,双方的密码一定要相同,

R1(config)#username R2 password 123456

R2(config)#username R1 password 123456

然后在R2上使用“debug ppp authentication ”命令查看CHAP的认证过程

在R1上关闭、开启serial1/0端口。

clip_image020

以上的CHAP认证最简单的配置,也是实际应用最多的配置,要求用户名必须为对方路由器名,双方密码必须一致。由于CHAP默认使用本地路由器的名字作为建立PPP连接时的识别符。路由器在收到对方发送过来的询问信息时,将本地路由器上的名字作为身份标识发送给对方,而在对方发送过来的身份标识之后,默认使用本地验证方法,即在配置文件中找,看看有没有用户身份识别和密码,如果有,计算加密值,结果正确则验证通过,否则验证失败,连接无法建立。










本文转自 linuxtro 51CTO博客,原文链接:http://blog.51cto.com/linuxtro/389339,如需转载请自行联系原作者
目录
相关文章
|
IDE 开发工具
IntelliJ插件开发教程之新建Action
认识Action 在IDE编辑器中可以通过右键打开选项,如下图所示,这里的动作便是Action,同时在顶部的ToolBar也会有相应的Action,如下图所示。可能大家对我这个IDE的UI有点陌生,其实这是2022.3版本的IDEA开启了New UI,NEW UI还是内测中,需要手动开启,设置位置在:Settings->appearance&behavior -> New UI
IntelliJ插件开发教程之新建Action
|
Go 调度 开发者
Go语言中的并发编程:深入理解与实践###
探索Go语言在并发编程中的独特优势,揭秘其高效实现的底层机制。本文通过实例和分析,引导读者从基础到进阶,掌握Goroutines、Channels等核心概念,提升并发处理能力。 ###
|
9月前
|
存储 Android开发 索引
鸿蒙特效教程10-卡片展开/收起效果
本教程将详细讲解如何在HarmonyOS中实现卡片的展开/收起效果,通过这个实例,你将掌握ArkUI中状态管理和动画实现的核心技巧。
385 6
鸿蒙特效教程10-卡片展开/收起效果
|
10月前
|
机器学习/深度学习 编解码 计算机视觉
YOLOv11改进策略【Backbone/主干网络】| 替换骨干网络为:Swin Transformer,提高多尺度特征提取能力
YOLOv11改进策略【Backbone/主干网络】| 替换骨干网络为:Swin Transformer,提高多尺度特征提取能力
763 0
YOLOv11改进策略【Backbone/主干网络】| 替换骨干网络为:Swin Transformer,提高多尺度特征提取能力
|
存储 分布式数据库 数据处理
未来数据库技术发展趋势及挑战
【2月更文挑战第2天】 传统的数据库技术面临着越来越多的挑战,如数据规模的爆炸性增长、实时性和可扩展性要求的提升等。本文将探讨未来数据库技术的发展趋势,包括分布式数据库、无服务器数据库、区块链技术在数据库领域的应用等,并分析这些新技术带来的机遇和挑战。
|
前端开发 数据可视化 JavaScript
前端echarts加标记点及标记线和提示框
通过本文的介绍,希望您能够深入理解和掌握如何在ECharts中添加标记点、标记线和提示框,并在实际项目中灵活运用这些功能,提升数据可视化效果。
1565 4
|
Java 数据库连接 API
Seata异常捕获问题之回滚事务如何解决
Seata是一款开源的分布式事务解决方案,旨在提供高效且无缝的分布式事务服务;在集成和使用Seata过程中,开发者可能会遇到不同的异常问题,本合集针对Seata常见异常进行系统整理,为开发者提供详细的问题分析和解决方案,助力高效解决分布式事务中的难题。
925 98
|
Go
Golang语言基本数据类型默认值及字符串之间互相转换案例
这篇文章讲解了Golang语言中基本数据类型的默认值、类型转换的概述以及整型、浮点型、字符串之间的相互转换案例,包括如何将基本数据类型转换为字符串类型和字符串类型转换为基本数据类型,以及字符串与字节切片之间的转换。
249 2
|
网络协议 前端开发 关系型数据库
【workerman】uniapp+thinkPHP5使用GatewayWorker实现实时通讯
上述为之前给公司做内部通讯软件时个人整理内容,水平有限,如有错误之处,望各位园友不吝赐教!如果觉得不错,请点击推荐和关注!谢谢~๑•́₃•̀๑ [鲜花][鲜花][鲜花]
639 0
|
JavaScript 定位技术
vue 百度地图开发【教程】1. 绘制百度地图(不使用 vue-baidu-map,解决 BMap is undefined)
vue 百度地图开发【教程】1. 绘制百度地图(不使用 vue-baidu-map,解决 BMap is undefined)
670 0