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,如需转载请自行联系原作者
目录
相关文章
|
10月前
|
Linux C语言
Linux 零拷贝sendfile函数
sendfile函数允许在两个文件描述符之间直接传输数据,而无需将数据从内核空间复制到用户空间再发送。它在 Linux 系统上首次出现于 2.2 内核版本。效率很高,这被称为零拷贝。out_fd是输出文件描述符,通常是网络套接字描述符。in_fd是输入文件描述符,通常是打开的文件或套接字。offset是一个指向 off_t 类型的指针,用于指定从输入文件的哪个位置开始传输数据。如果为NULL,则从当前文件偏移量开始传输。count是要传输的字节数。
185 0
|
10月前
|
应用服务中间件 Linux 网络安全
Linux 安装 Nginx 并配置为系统服务(超详细)
Linux 安装 Nginx 并配置为系统服务(超详细)
|
弹性计算 安全 网络协议
VPC的基本原理|学习笔记
快速学习VPC的基本原理
|
XML 编解码 自然语言处理
不需要熟悉,但需要了解的libiconv库
但是很多老式的计算机还在使用当地的传统的字符编码方式。而一些程序,例如邮件程序和浏览器必须能在这些不同的用户编码之间作转换。其他的一些程序则内置支持Unicode,以顺利支持国际化的处理,但是仍然有在Unicode和其他的传统编码之间转换的需求。GNU的libiconv就是为这两种应用设计的编码转换库。
不需要熟悉,但需要了解的libiconv库
|
4月前
|
网络协议 网络架构
TCP/IP协议架构:四层模型详解
在网络通信的世界里,TCP/IP协议栈是构建现代互联网的基础。本文将深入探讨TCP/IP协议涉及的四层架构,以及每一层的关键功能和作用。
428 5
|
10月前
|
缓存 关系型数据库 MySQL
MySQL调优之服务器参数优化实践
MySQL调优之服务器参数优化实践
1275 1
|
10月前
|
存储 分布式数据库 数据处理
未来数据库技术发展趋势及挑战
【2月更文挑战第2天】 传统的数据库技术面临着越来越多的挑战,如数据规模的爆炸性增长、实时性和可扩展性要求的提升等。本文将探讨未来数据库技术的发展趋势,包括分布式数据库、无服务器数据库、区块链技术在数据库领域的应用等,并分析这些新技术带来的机遇和挑战。
|
10月前
|
C++ Windows
windows下内存检测工具
windows下内存检测工具
426 0
|
10月前
|
关系型数据库 MySQL 数据库
【MySQL】:超详细MySQL完整安装和配置教程
【MySQL】:超详细MySQL完整安装和配置教程
19887 3
|
10月前
|
网络协议 安全 算法
谷歌出品!读懂 QUIC 协议:更快、更高效的通信协议
谷歌出品!读懂 QUIC 协议:更快、更高效的通信协议
1710 0