12、PPP和HDLC
PPP主要包括三个部分
1. 在串行链路上封装上层数据报文的方法
2. LCP(link control protocals): 链路控制协议来配置和测试数据通信链路,协商PPP协议的配置参数。
3. NCP(network control protocals): 根据不同的网络层协议可提供一簇网络控制协议(tcp/ip ipcp spx/ipx ipxcp)
PPP会话的建立
1.链路建立阶段: 进行LCP的相关协商,协商内容包括工作方式,认证方式,链路压缩等
2.认证阶段:如果配置了PPP认证(默认是不进行认证),支持chap和PAP。若认证失败,LCP状态转为down;认证成功,进入网络层协议阶段
3.网络层协议阶段:IP,IPX会通过各自的网络控制协议(IPCP , IPXCP)进行配置,相应网络层协议协商成功后(主要内容是双方IP),才通过这条PPP链路发送报文
PAP是一种两次握手认证协议,分主认证方和被认证方,认证可以是双方向的
1.被认证方发起认证请求,发送用户名和口令到主认证方
2.主认证方根据本端的用户表查看是否有此口令,以及密码(明文)是否正确
CHAP是三次握手认证协议,不发送口令,主认证方首先发起认证请求,安全性比PAP高。
1.主认证方发起认证请求(主认证方用户名,随机数据)
2.被认证方回复(被认证方用户名,随机报文与密码加密后的报文)
3.主认证方验证(接受/拒绝)
packet-switched: X.25 Frame-relay ATM
circuit-switched: PPP SLIP HDLC
HDLC 标准HDLC:仅支持单协议环境
Cisco HDLC:增加了私有位,可以支持多种协议ip apple talk ipx
Router(config)#interface serial 1/0
Router(config-if)#encapsulation HDLC
step1:封装
R1/R2(config)#interface serial 0
R3/R5(config-if)#encapsulation ppp
PPP认证
1.PAP认证(Password Authentication Protocol)
把用户名和密码发给对方,让对方判断认证信息
step2:建立帐号和密码
R3(config)#username R5 password R5 //R3为对方(R5)建立帐号和密码
R5(config)#username R3 password R3 //R5为对方(R3)建立帐号和密码
step3:把对方为自己建立的帐号和密码,发送给对方,让对方检查,是否正确
R3/R5(config)#interface serial 0
R3/R5(config)#ppp authentication pap
R3(config-if)#ppp pap sent-username R3 password R3
R5(config-if)#ppp pap sent-username R5 password R5
HDLC不支持认证,PAP认证有致命的缺点,认证是明文发送的
【提示】显示串行接口时,常见以下几种状态:
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
//物理层故障,通常是连线问题
实验调试
使用“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
//由于 PAP 认证是在链路建立后进行一次,把接口关闭重新打开以便观察认证过程
2.CHAP认证 (Challenge Handshake Authentication Protocol)
step1:封装
R1(config)#interface serial 1
R1(config)#interface serial 0
R1/R3(config-if)#encapsulation ppp
step2:为对端建立帐号和密码
R1(config)#username R3 password R-13
R3(config)#username R1 password R-13
注意:密码要完全一样!
Cisco的HDLC和其他厂商的HDLC不兼容

HDLC是同步串口的默认封装格式

PPP协议作用
能够控制数据链路的建立;
能够对广域网的IP地址进行分配和管理;
允许同时采用多种网络层路由协议;
能够配置和测试数据链路;
能够有效进行错误检测;
PPP 综述
PPP 可以通过 NCP 携带多个协议的数据包
PPP 可以通过 LCP 建立和控制连接
ppp验证协议:
1、PAP
a、密码明文传输
b、验证两端是同等的
2、CHAP
Configuring CHAP Example
注:
1、username是对端的hostname
2、password要一致
激活PAP或CHAP验证
注:
1、chap pap:表示在chap验证不通过时尝试进行pap验证
2、pap chap:表示在pap验证不通过时尝试进行chap验证
12、PPP和HDLC的更多相关文章
- 数据链路层协议(Ethernet、IEEE802.3、PPP、HDLC)
目录 数据链路层协议 Ethernet以太网协议 以太网数据帧的封装 IEEE802.3协议 PPP协议 HDLC协议 数据链路层协议 首先Ethernet.IEEE802.3.PPP和HDLC都是数 ...
- 实验18:HDLC和PPP
实验15-1:HDLC 和PPP 封装 Ø 实验目的通过本实验,读者可以掌握如下技能:(1) 串行链路上的封装概念(2) HDLC 封装(3) PPP 封装 Ø 实验拓扑 实验步骤n ...
- ppp详解
ppp 一 PPP point to point protocol 数据链路层协议 PPP session establishment 1 link est ...
- ppp协议解析二
转:http://blog.csdn.net/yangzheng_yz/article/details/11526747 PPP(Point to Point Protocol,点对点协议)协议是为在 ...
- TCP/IP基础知识
TCP/IP基础知识 网络 TCP/IP 引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP ...
- IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习
相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...
- TCP/IP网络协议基础知识集锦[转]
引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP协议簇是由OSI七层模型发展而来的,之所以 ...
- day2 网络基础
网路基础 网络OSI模型七层: 物理层: 定义特性:机械,电器,功能,过程: 定义接口标准:双绞线,光纤,同轴电缆: 相关协议:无: 数据链路层: 定义帧的开始结束,封装成帧,差错校验,透明传输(防止 ...
- TCP/IP 基础简介
引言本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容TCP/IP协议簇是由OSI七层模型发展而来的,之所以存在 ...
随机推荐
- 异常记录 Connection reset
连接重置Connection reset 异常java.net.SocketException: Connection reset 详细信息 java.net.SocketException: Con ...
- 大数据学习之路-Centos6安装python3.5
Centos 6.8安装python3.5.2 因为学习所需,需要用到python3.x的环境,目前Linux系统默认的版本都是python2.x的,还有一些自带的工具需要用到python2.6版本, ...
- 如何让接口文档自动生成,SpringBoot中Swagger的使用
目录 一.在SpringBoot项目中配置Swagger2 1.pom.xml中对Swagger2的依赖 2.编写配置类启用Swagger 3.配置实体类的文档 4.配置接口的文档 5.访问文档 二. ...
- docker-bind挂载
使用绑定挂载 自Docker早期以来,绑定挂载一直存在.与卷相比,绑定装载具有有限的功能.使用绑定装入时,主机上的文件或目录将装入容器中.文件或目录由其在主机上的完整路径或相对路径引用.相反,当您使用 ...
- nginx优势,依赖,启动
Nginx Nginx优势1.nginx将网络,磁盘及定时器等异步事件的驱动都做了非常好的封装,基于它开发将可以忽略这些事件处理的细节.2.Nginx封装了许多平台无关的接口,容器,适用于跨平台开 ...
- Go数组和切片你不知道的区别
开篇语 数组和切片是两种不同的数据结构,比较常见,在Go语言中同时存在,今天我们就一起来看看他们在使用方式上,原理上的一些区别? 数组 在Go语言中,数组是一种具有相同类型固定大小的一种数据结构. 我 ...
- 如何在Go项目中输出版本信息?
我们经常在使用CLI工具的时候,都会有这样的参数输出: ``` ➜ ~ docker version Client: Docker Engine - Community Version: 18.09. ...
- 【转】SQL语句面试题
1.一道SQL语句面试题,关于group by表内容:2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2 ...
- Falco 进入 CNCF Incubator 项目 | 云原生生态周报 Vol. 35
作者 | 王思宇.陈洁.敖小剑 业界要闻 Falco 进入 CNCF Incubator 项目 原于 2018 年 8 月进入 sandbox,旨在 Kubernetes 运行时环境下支持配置规则来加 ...
- Java多线程的创建(二)
前言: 虽然java的API中说创建多线程的方式只有两种(There are two ways to create a new thread of execution),分别是继承Thread类创建和 ...