HCIA-ICT实战基础10-广域网技术PPP
HCIA-ICT实战基础-广域网技术PPP
目录
早期广域网技术概述
PPP协议原理与配置
1 早期广域网技术概述
1.1 什么是广域网
广域网是连接不同地区局域网的网络, 通常所覆盖的范围从几十公里到几千公里. 他能连接多个地区、城市和国家, 或横跨几个洲提供远距离通信, 形成国际性的远程网络.
1.2 广域网与局域网区别
注: ISP-网络服务提供商
1.3 早期广域网结束介绍
早去广域网与局域网的区别在于数据链路层和物理层的差异性.
1.4 广域网络设备角色介绍
广域网络设备基本角色有三种: CE(Customer Edge, 用户边缘设备)、PE(Provider Edge, 服务提供商边缘设备)和P(Provider, 服务提供商设备)
1.5 早期广域网技术应用
早期的广域网技术主要是针对不同的物理链路类型, 在数据链路层进行不同的二层封装. 在CE和PE之间常用的广域网封装协议有PPP/HDLC/FR(主要常用只剩PPP)等, 用于解决用户接入广域网的长距离传输问题. 在ISP内部常用的广域网协议主要是ATM(慢慢被以太网和MPLS取代), 它用于解决骨干网高速转发的问题.
2 PPP协议原理与配置
2.1 PPP协议概述
PPP(Point-to-Point Protocol, 点到点协议)是一种常见的广域网数据链路层协议, 主要用于在全双工的链路上进行点到点的数据传输封装. 不同于802.1q被用于以太网链路上, PPP协议通常用在串行链路上.
PPP提供了安全认证协议族PAP(Password Authentication Protocol, 密码验证协议)和CHAP(Challenge Handshake Authentication Protocol, 挑战握手认证协议).
PPP协议具有良好的扩展性, 例如, 当需要在以太网链路上承载PPP协议时, PPP可扩展为PPPoE.
PPP协议提供LCP(Link Control Protocol, 链路控制协议), 用于各种链路层参数的协商, 例如最大接收单元, 认证模式等.
PPP协议提供各种NCP(Network Control Protocol, 网络控制协议), 如IPCP(IP Control Protocol, IP控制协议), 用于各网络层参数的协商, 更好的支持了网络层协议.
2.2 PPP链路建立流程
PPP链路的建立有三个阶段的协商过程: 链路层协商、认证协商(可选)和网络层协商.
- 链路层协商: 通过LCP报文进行链路参数协商, 检录链路层连接.
- 认证协商: 通过链路建立阶段协商认证方式进行链路认证.
- 网络层协商: 通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商.
2.3 PPP链路接口状态机
PPP协商由链路两端的接口完成, 接口状态表示了协议协商阶段
2.4 LCP(Link Control Protocol, 链路控制协议) 报文格式
PPP报文可由Protocol字段表示不同类型的PPP报文, 例如, 当Protocol字段为0xC021是, 代表是LCP报文. 此时又由Code字段标识不同类型的LCP报文, 如下所示:
TLV结构(Type,、Length、Value, 类型、长度、值), 可扩展性强.
2.5 LCP协商过程
2.5.1 正常协商
LCP协商由不同的LCP报文交互完成. 协商由任意一方发送Configure-Request报文发起, 如果对端接收次报文且参数匹配, 则通过回复Configure-Ack响应协商成功.
需要确认的参数:
MRU: 最大接收单元, 和MTU(最大传输单元有区别, 默认最大都是1500);
Auth_Type=PAP: 认证类型=" ", 此处认证类型为PAP;
Magic_Num=a: 魔术字(迫真翻译), 功能是防环检测, a是R1上产生的随机数, 如果收到的报文的魔术字和自己产生的魔术字相同的话, 那么R1就认为网络中发生了环路.
2.5.2 参数不匹配
在LCP报文交互中出现LCP参数不匹配时, 接收方回复Configure-Nak响应告知对端修改参数然后重新协商.
2.5.3 参数不识别
在LCP报文交互中出现LCP参数不识别时, 接收方回复Configure-Reject响应告知对端删除不识别的参数然后重新协商.
2.6 PPP认证模式
链路协商成功后, 进行认证协商(此过程可选). 认证协商有两种模式, PAP(Password Authentication Protocol, 密码验证协议)和CHAP(Challenge Handshake Authentication Protocol, 挑战握手认证协议);
2.6.1 PAP(Password Authentication Protocol, 密码验证协议)
PAP认证双方有两次握手, 协商报文以明文形式在链路传输, 所以不常用.
2.6.2 CHAP(Challenge Handshake Authentication Protocol, 挑战握手认证协议)
CHAP认证双方有三次握手, 协商报文被加密后再在链路上传输.
挑战报文参数介绍:
被认证方收到报文后, 会将挑战值和随机数和密码进行哈希计算并得出MD5值, 然后封装进报文中的Response参数回复给认证方, 认证方收到之后也会进行本地计算并比较结果, 如果成功就回复成功的报文.
2.7 NCP协商
PPP认证协商通过后, 双方进入NCP协商阶段, 协商在数据链路上所传输的数据包的格式与类型. 以常见的IPCP协议为例, 他分为静态IP地址协商和动态IP地址协商.
2.7.1 静态IP地址协商
静态IP地址协商需要手动在链路两端配置IP地址.
协商检查内容为IP地址格式和对端ip地址是否与自己的IP地址冲突
2.7.3 动态IP地址协商
动态IP地址协商支持PPP链路一端为对端配置IP地址
这里有点类似于R2作为DHCP服务端将IP地址分发给R1.
2.8 配置命令
2.8.1 PPP基础配置命令
配置接口封装PPP协议
[Huawei-Serial0/0/0]link-protocol ppp
在接口视图下, 将接口封装协议改为PPP, 华为设备串行接口默认封装协议为PPP, 思科设备为HDLC.
配置协商超时时间间隔
[Huawei-Serial0/0/0]ppp timer negotiate seconds
在PPP LCP协商协议中, 本端设备会向对端设备发送LCP协商报文, 如果在指定协商时间间隔内没有收到对端的应答报文, 则重新发送.
多嘴一句, 在配置网络设备时, 关于时间的配置都不建议去修改.
2.8.2 PAP认证配置命令
配置验证方式以PAP方式认证对端
[Huawei-aaa]local-user username password {cipher | irreversible-cipher} password
[Huawei-aaa]local-user user-name service-type ppp
[Huawei-Serial0/0/0]ppp authentication-mode pap
配置验证方以PAP方式认证对端, 首先需要通过AAA将被验证方的用户名和密码加入本地用户列表, 然后选择认证模式.
配置被验证方以PAP方式被对端认证.
[Huawei-Serial0/0/0]ppp pap local-user username password {cipher | irreversible-cipher} password
配置本地被对端以PAP方式验证时, 本地发送PAP用户名和口令
2.8.3 CHAP认证配置命令
配置验证方以CHAP方式认证对端
[Huawei-aaa]local-user user-name password {cipher | irrevesible} password
[Huawei-aaa]local-user user-name service-type ppp
[Huawei-Serial0/0/0]ppp authentication-mode chap
配置被验证方以CHAP方式被对端认证
[Huawei-Serial0/0/0]ppp chap user user-name
[Huawei-Serial0/0/0]ppp chap password {cipher | irrevesible} password
配置本地用户名, 配置本地被对端以CHAP方式验证时的口令
HCIA-ICT实战基础10-广域网技术PPP的更多相关文章
- 1月中旬值得一读的10本技术新书(机器学习、Java、大数据等)!
1月中旬,阿里云云栖社区 联合 博文视点 为大家带来十本技术书籍(机器学习.Java.大数据等).以下为书籍详情,文末还有福利哦! 书籍名称:Oracle数据库问题解决方案和故障排除手册 内容简介 & ...
- Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录
1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...
- J2EE开发实战基础系列之开卷有益
2014.10.24[致歉]{抱歉,从7.4号接到朋友的请求,一直忙到现在,最近又有新的CASE要忙,很抱歉教程要延误,开课时间请大家关注Q群} 时隔七年再次接触培训有关的事情,是兴奋,更多的是恐惧, ...
- 万门大学Python零基础10天进阶班视频教程
点击了解更多Python课程>>> 万门大学Python零基础10天进阶班视频教程 课程简介: 旨在通过两周的学习,让学生不仅能掌握python编程基础从而进行计算机程序的开发, 还 ...
- 集成 Spring Doc 接口文档和 knife4j-SpringBoot 2.7.2 实战基础
优雅哥 SpringBoot 2.7.2 实战基础 - 04 -集成 Spring Doc 接口文档和 knife4j 前面已经集成 MyBatis Plus.Druid 数据源,开发了 5 个接口. ...
- 清晰梳理最全日志框架关系与日志配置-SpringBoot 2.7.2 实战基础
优雅哥 SpringBoot 2.7.2 实战基础 - 07 - 日志配置 Java 中日志相关的 jar 包非常多,log4j.log4j2.commons-logging.logback.slf4 ...
- 全局异常处理及参数校验-SpringBoot 2.7 实战基础 (建议收藏)
优雅哥 SpringBoot 2.7 实战基础 - 08 - 全局异常处理及参数校验 前后端分离开发非常普遍,后端处理业务,为前端提供接口.服务中总会出现很多运行时异常和业务异常,本文主要讲解在 Sp ...
- [.net 面向对象编程基础] (10) 类的成员(字段、属性、方法)
[.net 面向对象编程基础] (10) 类的成员(字段.属性.方法) 前面定义的Person的类,里面的成员包括:字段.属性.方法.事件等,此外,前面说的嵌套类也是类的成员. a.类的成员为分:静态 ...
- 网络技术教程笔记(18)常见广域网技术——X.25与郑中基技术(←_←搜狗输入法你够了)
广域网与接入网技术 广域网与接入网技术 常见广域网技术--X.25 产生背景 尽管在当时,苹果二代计算机已经取得了很大的成功,但是PC和工作站却没有流行,也没有获得很多的网络支持,大多数人还是使用便宜 ...
- 十. Python基础(10)--装饰器
十. Python基础(10)--装饰器 1 ● 装饰器 A decorator is a function that take a function as an argument and retur ...
随机推荐
- CocosCreator 性能优化:DrawCall
在游戏开发中,DrawCall 作为一个非常重要的性能指标,直接影响游戏的整体性能表现. 无论是 Cocos Creator.Unity.Unreal 还是其他游戏引擎,只要说到游戏性能优化,Draw ...
- WCF教程 简单入门
版权 本文摘自 http://www.cnblogs.com/iamlilinfeng 本人只做了搬运工 转载请注明出处:http://www.cnblogs.com/iamlilinfeng ...
- k8s部署-kubeadm
环境配置 内核配置 基本组件安装 高可用组件安装 kubeadm集群初始化
- 一套 .NET开发的邮箱Mail开源库
今天给大家推荐一个基于.Net开发的邮箱开源库. 邮箱在我们日常工作中,可以说是非常常见了.个人邮箱一般都是免费的,但企业邮箱会收费,虽然一般情况下,市面邮箱已经够用了.但有些企业对内容安全要求比较严 ...
- Win10桌面点鼠标右键一直转圈的解决方法
win10桌面右键菜单就一直转圈,无法调出桌面右键菜单,下面给大家分享一下怎么解决的问题,一起了解一下! 步骤阅读 工具/原料 win10 企业版 HT1902 方法/步 ...
- Excel怎么把公式转成数值并复制
直接选中复制,粘贴时选择选择性粘贴,选择数值确认
- 前端之Vue day08 Vue3项目搭建、setup、toRefs
一.Vue3 介绍 # 新项目使用vue3,有部分老项目使用vue2 # vue3 的变化 1.性能的提升 -打包大小减少41% -初次渲染快55%, 更新渲染快133% -内存减少54% 2.源码的 ...
- Mysql 无法使用注释 带注释执行报错 Dbeaver
一.场景 执行时,前面带一段注释,在dbeaver执行报语法错误 二.解决办法 在注释后面插入一个空格,识别注释后变成灰色,执行成功
- UITextView布局不是从0开始的问题
///去掉padding UITextView.textContainer.lineFragmentPadding = 0; UITextView.textContainerInset = UIEdg ...
- 解决python 操作 hbase报错:TTransportException(type=4,message=’TSocket read 0 bytes’)
```text# 解决报错:hbase报错TTransportException(type=4,message='TSocket read 0 bytes')这种情况一般协议问题和服务端没开启,如果服 ...