第7 部分 HDLC 和PPP

news2024/11/17 13:31:15

        路由器经常用于构建广域网,广域网链路的封装和以太网上的封装有着非常大的差别。常见的广域网封装有HDLC,PPP 和Frame-relay 等,本次介绍HDLC 和PPP。相对而言,PPP 比HDLC 有较多的功能。

7.1 HDLC 和PPP 简介

7.1.1 HDLC 介绍

        HDCL 是点到点串行线路上(同点电路)的帧封装格式,其帧格式和以太网帧格式有很大的差别,HDLC 帧没有源MAC地址和目的MAC 地址。Cisco 公司对HDLC 进行了专有化,Cisco 的HDLC 封装和标准的HDLC 不兼容。如果链路的两端都是Cisco 设备,如果HDLC 封装没有问题,但如果Cisco 设备与非Cisco 设备进行连接,应使用PPP 协议。HDLC不能提供验证,缺少了对链路的安全保护。默认时,Cisco 路由器的串口是采用Cisco HDLC 封装的。如果串口的封装不是HDLC,要把封装改为HDLC,使用”encapsulation hdlc”命令。

7.1.2 PPP 介绍

1.概述

        和HDLC 一样,PPP 也是串行线路上(同步电路或异步电路)的一种帧封装格式,但是PPP 可以提供对多种网络层协议的支持。PPP 支持认证、多链路捆绑、回拨和压缩等功能。PPP 经过4 个过程在一个点到点的链路上建立通信连接:

  • 链路的建立和配置协调——通信的发起方发送LCP 帧来配置和检测数据链路;
  • 链路质量检测——在链路已经建立、协调之后进行,这一阶段是可选的;
  • 网络层协议配置协调——通信的发起方发送NCP 帧以选择并配置网络层协议;
  • 关闭链路——通信链路将一直保持到LCP 或NCP 帧关闭链路或发生一些外部事件。

2.PPP 认证:PAP 和CHAP

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

          在PPP 链路建立完毕后,源节点不停地在链路上发送用户名和密码,直到验证通过。在PAP 的验证中,密码在链路上是以明文传输的,而且由于是源节点控制验证重试频率和次数,PAP 不能防范再生攻击和重复的尝试攻击。

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

          CHAP(Challenge Handshake Authentication Protocol)利用3次握手周期地验证源端节点的身份。CHAP 验证过程在链路建立之后进行,而且在以后的任何时候都可以再次进行。这使得链路更为安全;CHAP不允许连接发起方在没有收到询问消息的情况下进行验证尝试。CHAP 每次使用不同的询问消息,每个消息都是不可预测的唯一的值,CHAP 不直接传送密码,只传送一个不可预测的询问消息,以及该询问消息与密码经过MD5 加密运算后的加密值。

          所以CHAP可以防止再生攻击,CHAP 的安全性比PAP 要高。

7.2 实验1:HDLC 和PPP 封装

1.实验目的

通过本实验,读者可以掌握如下技能:

① 串行链路上的封装概念;

② HDLC 封装;

③ PPP 封装。

2.实验拓扑

实验拓扑图如图所示。

3.实验步骤

(1)步骤1:在路由器R1 和R2 上配置IP 地址,保证直接链路的连通性

R1(config)#int s0/0/0

R1(config-if)#ip address 192.168.12.1 255.255.255.0

R1(config-if)#no shutdown

R1(config-if)#clock rate 128000(与下面的只能用一条)

R2(config)#int s0/0/0

R2(config-if)#clock rate 128000

R2(config-if)#ip address 192.168.12.2 255.255.255.0

R2(config-if)#no shutdown

R1#show interfaces s0/0/0

(2)步骤2:改变串行链路两端的接口封装为PPP 封装

R1(config)#int s0/0/0

R1(config-if)#encapsulation ppp

R2(config)#int s0/0/0

R2(config-if)#encapsulation ppp

4.实验调试

(1)测试R1 和R2 之间串行链路的连通性

R1#ping 192.168.12.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.12.2, timeout is 2 seconds;

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 12/13/16 ms

如果链路的两端封装相同,则ping 测试应该正常。

(2)链路两端封装不同协议

R1(config)#int s0/0/0

R1(config-if)#encapsulation ppp

R2(config)#int s0/0/0

R2(config-if)#encapsulation hdlc

【提示】

当显示串行接口时,常见以下几种状态。

Serial0/0/0 is up, line protocol is up

//链路正常

Serial0/0/0 is administratively down, line protocol is down

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

Serial0/0/0 is up, line protocol is down

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

Serial0/0/0 is down, line protocol is down

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

7.3 实验2:PAP 认证

实验步骤

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

①两端路由器上的串口采用PPP 封装,用”encapsulation”命令:

        R1(config)#int s0/0/0

        R1(config-if)#encapsulation ppp

②在过程路由器R1 上,配置在中心路由器上登录的用户名和密码,使用”ppp pap sent-username 用户名 password 密码”命令:

        R1(config-if)#ppp pap sent-username R1 password 123456

③在中心路由器上的路口采用PPP 封装,用”encapsulation”命令:

        R2(config)#int s0/0/0

        R2(config-if)#encapsulation ppp

④在中心路由器上,配置PAP 验证,使用”ppp authentication pap”命令:

        R2(config-if)#ppp authentication pap

⑤中心路由器上为远程路由器设置用户名和密码,使用”username 用户名 password 密码”命令:

        R2(config)#username R1 password 123456

以上的步骤只是配置了R1(远程路由器)在R2(中心路由器)取得验证,即单向验证。然而,在实际应用中,通常采用双向验证,即R2 要验证R1,而R1 也要验证R2.我们要采用类似的步骤配置R1,对R2 进行验证,这时R1 为中心路由器,R2 为远程路由器。

⑥在中心路由器R1 上,配置PAP 验证,使用”ppp authentication pap”命令:

        R1(config-if)#ppp authentication pap

⑦在中心路由器R1 上为远程路由器R2 设置用户名和密码,使用”username 用户名 password 密码”命令:

        R1(config-if)#username R2 password 654321

⑧在远程路由器R2 上,配置以什么用户名和密码在远程路由器上登录,使用”ppp pap sent-username 用户名 password密码”命令:

        R2(config-if)#ppp pap sent-username R2 password 654321

【提示】

        在ISDN 拨号上网时,却通常只是电信运营商对用户进行验证(要根据用户名来收费),用户不能对电信进行验证,即验证是单向的。

实验调试

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

R1#debug ppp authentication

PPP authentication debugging is on        //打开PPP 认证调试

R1(config)#int s0/0/0

R1(config-if)#shutdown

R1(config-if)#no shutdown

7.4 实验3: CHAP 认证

实验步骤

在实验1 基础上继续本实验

①使用”username 用户名 password 密码”命令为对方配置用户名和密码,需要注意的是双方的密码要相同:

R1(config)#username R2 password hello

R2(config)#username R1 password hello

②路由器的两端串口采用PPP 封装,并采用配置CHAP 验证:

R1(config)#int s0/0/0

R1(config-if)#encapsulation ppp

R1(config-if)#ppp authentication chap

R2(config)#int s0/0/0

R2(config-if)#encapsulation ppp

R2(config-if)#ppp authentication chap

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

【提示】在配置验证时也可以选择同时使用PAP 和CHAP 如:

R2(config-if)#ppp authentication chap pap 或

R2(config-if)#ppp authentication pap chap

如果同时使用两种验证方式,那么在链路协商阶段将先用第一种验证方式进行验证;如果对方建议使用第二种验证方式或者只是简单拒绝使用第一种方式,那将采用第二种方式。

7.5 HDLC、PPP 命令汇总

命令                                                                 作用

encapsulation hdlc                                         把接口的封装改为HDLC

encapsulation PPP                                        把接口的封装改为PPP

ppp pap sent-username R1                           PAP认证时,向对方发送用户名R1
                password 123456                          和密码123456

                                                                        

PPP authentication pap                                 PPP 的认证方式为PAP

user R1 password 123456                            为对方创建用户R1,密码为123456

debug ppp authentication                              打开PPP 的认证调试过程

ppp authentication chap                                PPP 的认证方式为CHAP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/63508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

批处理及有状态等应用类型在 K8S 上应该如何配置?

众所周知, Kubernetes(K8S)更适合运行无状态应用, 但是除了无状态应用. 我们还会有很多其他应用类型, 如: 有状态应用, 批处理, 监控代理(每台主机上都得跑), 更复杂的应用(如:hadoop 生态...). 那么这些应用可以在 K8S 上运行么? 如何配置? 其实, K8S 针对这些都有对应的不…

操作系统:存储器管理 练习题(带有详细答案解析)

文章目录1.存储器的层次结构2.程序的装入和链接2.1.程序的装入2.2.程序的链接3.连续分配存储管理方式3.1.单一连续分配3.2.固定分区分配3.3.动态分区分配3.4.基于顺序搜索的动态分区分配算法3.5.基于索引搜索的动态分区分配算法3.6.动态可重定位分区分配4.对换4.1.多道程序环境…

SBT 树原理和实战

一 基本概念 SBT(Size Balanced Tree,节点大小平衡树)是一种自平衡二叉查找树,通过子树的大小来保持平衡。与红黑树、AVL 树等自平衡二叉查找树相比,SBT更易于实现。SBT 可以在 O (logn) 时间内完成所有二叉搜索树的相…

【考研】操作系统复习冲刺(2023年408)

前言 本文内容主要源自于王道讲解的学习笔记总结。梳理《操作系统》考点(以理论为重点),并对重点内容划下横线和加粗标注,方便考研复习。 可搭配以下链接一起学习: 【考研复习】《操作系统原理》孟庆昌等编著课后习…

数字IC手撕代码-同步FIFO

前言: 本专栏旨在记录高频笔面试手撕代码题,以备数字前端秋招,本专栏所有文章提供原理分析、代码及波形,所有代码均经过本人验证。 目录如下: 1.数字IC手撕代码-分频器(任意偶数分频) 2.数字…

磁环选型攻略及EMC整改技巧

磁环选型攻略及EMC整改技巧 今天跟大家分享一下磁环选型及应用相关的知识,希望对你有帮助。 本文将从以下四个方面对磁环进行阐述。 一、磁环的应用场景 首先我们来看几张图片 图1 显示屏VGA线 图2 适配器连接线 图3 USB通信线 这三根线都是我们生活中常见的供电…

简单个人网页设计作业 静态HTML个人博客主页——HTML+CSS+JavaScript 明星鹿晗(7页)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

ping回显间隔长或第一个包很久才显示是怎么回事?

问题现象 在ping某些域名的时候,第一个回显十几秒才出现,但时延time正常,第二个包开始回显频率正常且最终统计结果为不丢包;或是每一个回显均间隔数秒才显示,但时延time又都是正常的,且统计结果为不丢包。…

U-Net 模型改进和应用场景研究性综述

U-Net综述1 文章介绍2 U-Net介绍3 结构改进4 非结构改进4.1 预处理——数据增强4.2 训练——数据归一化4.3 训练——激活函数4.4 训练——损失函数4.5 结构改进总结5 U-Net应用场景5.1 视网膜血管分割5.2 肺结节分割5.3 肝脏和肝脏肿瘤分割5.4 脑肿瘤分割5.5 不同应用场景总结6…

[附源码]计算机毕业设计基于Springboot校刊投稿系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Vue学习:模板语法

容器里面的模板&#xff1a;对应的模板语法 {{xxx}}:插值语法 指令语法&#xff1a; v-bind&#xff1a;vue指令 绑定 后面的数据会变成属性或者方法 <h1>指令语法</h1><!-- v-bind会将"xxx"里面的内容当成表达式执行 --><a v-bind:href&quo…

这些 MySQL 最朴素的监控方式!用完爱不释手!

对于当前数据库的监控方式有很多&#xff0c;分为数据库自带、商用、开源三大类&#xff0c;每一种都有各自的特色&#xff1b;而对于 mysql 数据库由于其有很高的社区活跃度&#xff0c;监控方式更是多种多样&#xff0c;不管哪种监控方式最核心的就是监控数据&#xff0c;获取…

嵌入式之总线协议:1、UART

嵌入式之总线协议&#xff1a;1、UART 目录 第一章 UART 帧格式讲解 第二章 UART 寄存器讲解 第三章 UART 编程 第四章 输出重定向 第五章 RS232、RS485协议原理与应用 第一章 UART嵌入式之总线协议&#xff1a;1、UART前言一、UART简介1、串行/并行1.1 并行1.2 串行2、异步3、…

C语言第十八课:初阶结构体

目录 前言&#xff1a; 一、结构体类型的声明&#xff1a; 1.结构的基础知识&#xff1a; 2.结构的声明&#xff1a; 3.结构成员允许的类型&#xff1a; 4.结构体变量的定义&#xff1a; 5.结构体变量的初始化&#xff1a; 二、结构体成员的访问&#xff1a; 1.结构体变量访…

[附源码]计算机毕业设计实验室管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

4 第一个程序

第一个程序 1 源程序 源程序中包括两种指令&#xff1a;伪指令和汇编指令 汇编指令是有对应机器码的指令&#xff0c;可以用CPU直接执行 伪指令没有对应的机器码&#xff0c;只有编译器执行不用CPU执行 1.1 segment ends segment和ends的功能是定义一个段。使用格式如下 …

[附源码]计算机毕业设计三星小区车辆登记系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

多线程中的公平锁、非公平锁、可重入锁、死锁【详细总结】

目录公平锁非公平锁公平锁和非公平锁的用法可重入锁synchronized可重入锁示例ReentrantLock的示例代码死锁死锁产生的原因常用解决死锁的方法判断程序是否发生死锁死锁的案例&#xff08;面试会问&#xff09;公平锁 多个线程按照申请锁的顺序去获得锁&#xff0c;线程会直接进…

第十六章 Dijkstra算法的讲解以及证明(与众不同的通俗证明)

第十六章 Dijsktra算法的讲解以及粗略证明一、Dijkstra的用途二、Dijkstra的思想及证明&#xff08;1&#xff09;相关结论及证明&#xff1a;结论1&#xff1a;必须借助中间点时某个点到终点的最短路程&#xff1d;该点到中间点的最短距离&#xff0b;中间点到终点的最短距离结…

数据分析思维(一)|信度与效度思维

信度与效度思维 1、概念 信度与效度思维通常用于在数据分析中进行更有价值的指标选择。 信度&#xff1a;指标的可靠程度。包括一致性及稳定性。&#xff08;口径是否一致&#xff0c;是否具有波动性&#xff09; 效度&#xff1a;指标的有效性。一个数据或指标的生成&…