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链路的建立有三个阶段的协商过程: 链路层协商认证协商(可选)网络层协商.

  1. 链路层协商: 通过LCP报文进行链路参数协商, 检录链路层连接.
  2. 认证协商: 通过链路建立阶段协商认证方式进行链路认证.
  3. 网络层协商: 通过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基础配置命令

  1. 配置接口封装PPP协议

    [Huawei-Serial0/0/0]link-protocol ppp

    在接口视图下, 将接口封装协议改为PPP, 华为设备串行接口默认封装协议为PPP, 思科设备为HDLC.

  2. 配置协商超时时间间隔

    [Huawei-Serial0/0/0]ppp timer negotiate seconds

    在PPP LCP协商协议中, 本端设备会向对端设备发送LCP协商报文, 如果在指定协商时间间隔内没有收到对端的应答报文, 则重新发送.

    多嘴一句, 在配置网络设备时, 关于时间的配置都不建议去修改.

2.8.2 PAP认证配置命令

  1. 配置验证方式以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将被验证方的用户名和密码加入本地用户列表, 然后选择认证模式.

  2. 配置被验证方以PAP方式被对端认证.

    [Huawei-Serial0/0/0]ppp pap local-user username password {cipher | irreversible-cipher} password

    配置本地被对端以PAP方式验证时, 本地发送PAP用户名和口令

2.8.3 CHAP认证配置命令

  1. 配置验证方以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
  2. 配置被验证方以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. 1月中旬值得一读的10本技术新书(机器学习、Java、大数据等)!

    1月中旬,阿里云云栖社区 联合 博文视点 为大家带来十本技术书籍(机器学习.Java.大数据等).以下为书籍详情,文末还有福利哦! 书籍名称:Oracle数据库问题解决方案和故障排除手册 内容简介 & ...

  2. Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录

    1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...

  3. J2EE开发实战基础系列之开卷有益

    2014.10.24[致歉]{抱歉,从7.4号接到朋友的请求,一直忙到现在,最近又有新的CASE要忙,很抱歉教程要延误,开课时间请大家关注Q群} 时隔七年再次接触培训有关的事情,是兴奋,更多的是恐惧, ...

  4. 万门大学Python零基础10天进阶班视频教程

    点击了解更多Python课程>>> 万门大学Python零基础10天进阶班视频教程 课程简介: 旨在通过两周的学习,让学生不仅能掌握python编程基础从而进行计算机程序的开发, 还 ...

  5. 集成 Spring Doc 接口文档和 knife4j-SpringBoot 2.7.2 实战基础

    优雅哥 SpringBoot 2.7.2 实战基础 - 04 -集成 Spring Doc 接口文档和 knife4j 前面已经集成 MyBatis Plus.Druid 数据源,开发了 5 个接口. ...

  6. 清晰梳理最全日志框架关系与日志配置-SpringBoot 2.7.2 实战基础

    优雅哥 SpringBoot 2.7.2 实战基础 - 07 - 日志配置 Java 中日志相关的 jar 包非常多,log4j.log4j2.commons-logging.logback.slf4 ...

  7. 全局异常处理及参数校验-SpringBoot 2.7 实战基础 (建议收藏)

    优雅哥 SpringBoot 2.7 实战基础 - 08 - 全局异常处理及参数校验 前后端分离开发非常普遍,后端处理业务,为前端提供接口.服务中总会出现很多运行时异常和业务异常,本文主要讲解在 Sp ...

  8. [.net 面向对象编程基础] (10) 类的成员(字段、属性、方法)

    [.net 面向对象编程基础] (10) 类的成员(字段.属性.方法) 前面定义的Person的类,里面的成员包括:字段.属性.方法.事件等,此外,前面说的嵌套类也是类的成员. a.类的成员为分:静态 ...

  9. 网络技术教程笔记(18)常见广域网技术——X.25与郑中基技术(←_←搜狗输入法你够了)

    广域网与接入网技术 广域网与接入网技术 常见广域网技术--X.25 产生背景 尽管在当时,苹果二代计算机已经取得了很大的成功,但是PC和工作站却没有流行,也没有获得很多的网络支持,大多数人还是使用便宜 ...

  10. 十. Python基础(10)--装饰器

    十. Python基础(10)--装饰器 1 ● 装饰器 A decorator is a function that take a function as an argument and retur ...

随机推荐

  1. vue 数组对象深拷贝 并根据某项属性排序

    vue 数组对象深拷贝 并根据某项属性   serialNumber  排序 原始数据 navListData: [ { name: '企业速览', isHot: false, isVip: fals ...

  2. javase_note

    我上班摸鱼重新学习java基础做的笔记,从面向对象开始 面向对象基础 类与对象 人类.鸟类.鱼类...所谓类,就是对一类事物的描述 对象是某一类事物实际存在的每个个体,因此也称为实例 类是抽象概念,对 ...

  3. 反射的学习笔记--sql语句生成

    学生实体类 public class Student { public int Id { get; set; } public string Name { get; set; } public int ...

  4. js中各种导出和导入

        exports和module exports的区别: exports是module exports的地址引用 export和export default的区别: export和export d ...

  5. webpack的加载器兼容配置一览

    "devDependencies": { "css-loader": "^3.2.1", "file-loader": ...

  6. vs MFC c++ rc文件的dilog打不开,显示加载失败

    最近在做一个项目,在vs2012上面用mfc画界面,由于没有确定好且不熟悉这个架构,控件类型变了又变,本人又是个有点强迫症的性格所以删掉了一些不用的控件,导致的结果就是上面说的,dialog打不开报加 ...

  7. 性能测试-Jmeter无图型界面运行模式

    1.Jmeter进入帮助中心 1.在机器内安装jmeter的安装bin目录内直接输入cmd,会打开dos命令行 2.再cmd里输入,jmeter --help可以查看参数说明 2.Jmeter参数说明 ...

  8. 18.SQLite应用案例-课程表

    一.程序界面 1.课程表首页 一周有7天,一天有10节课. 课程表首页的布局activity_main.xml框架设计大致如此: 最外层使用线性布局设置屏幕水平方向android:orientatio ...

  9. windows下BAT实现守护进程

    通过bat守护特定exe @echo off :start choice /t 5 /d y /n >nul tasklist|find /i "程序名称.exe" if E ...

  10. 并发多线程学习(五)Java线程的状态及主要转化方法

    1 操作系统中的线程状态转换 首先我们来看看操作系统中的线程状态转换. 在现在的操作系统中,线程是被视为轻量级进程的,所以操作系统线程的状态其实和操作系统进程的状态是一致的. 操作系统线程主要有以下三 ...