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的更多相关文章

  1. 数据链路层协议(Ethernet、IEEE802.3、PPP、HDLC)

    目录 数据链路层协议 Ethernet以太网协议 以太网数据帧的封装 IEEE802.3协议 PPP协议 HDLC协议 数据链路层协议 首先Ethernet.IEEE802.3.PPP和HDLC都是数 ...

  2. 实验18:HDLC和PPP

    实验15-1:HDLC 和PPP 封装 Ø     实验目的通过本实验,读者可以掌握如下技能:(1) 串行链路上的封装概念(2) HDLC 封装(3) PPP 封装 Ø     实验拓扑 实验步骤n  ...

  3. ppp详解

    ppp   一   PPP     point to point protocol               数据链路层协议 PPP session establishment 1 link est ...

  4. ppp协议解析二

    转:http://blog.csdn.net/yangzheng_yz/article/details/11526747 PPP(Point to Point Protocol,点对点协议)协议是为在 ...

  5. TCP/IP基础知识

    TCP/IP基础知识 网络 TCP/IP 引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP ...

  6. IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习

    相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...

  7. TCP/IP网络协议基础知识集锦[转]

    引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP协议簇是由OSI七层模型发展而来的,之所以 ...

  8. day2 网络基础

    网路基础 网络OSI模型七层: 物理层: 定义特性:机械,电器,功能,过程: 定义接口标准:双绞线,光纤,同轴电缆: 相关协议:无: 数据链路层: 定义帧的开始结束,封装成帧,差错校验,透明传输(防止 ...

  9. TCP/IP 基础简介

    引言本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容TCP/IP协议簇是由OSI七层模型发展而来的,之所以存在 ...

随机推荐

  1. Lambda函数到底是个什么

    1 什么是Lambda函数 lambda函数是指简单的代码片段,通常认为是不值得命名的函数,它不能重复使用,能方便程序员使用,增强代码可读性,降低代码出错概率. [ 捕获列表 ] (参数) -> ...

  2. 【题解/模板】P1248 加工生产调度(贪心)

    [题解/模板]P1248 加工生产调度(贪心) 分析: \(A\)流水线的时间是确定的,所以现在就是要让\(b\)的时间尽量短 \(tB > tA\),除非所有东西都不需要\(b\).(t指结束 ...

  3. 【题解】Killer Names($O(n\log n)$做法)

    [题解]Killer Names(\(O(n\log n)\)做法) HDU - 6143 感觉好久没做过这种直来直去的组合题,过来水一篇题解.还以为要写一个\(MTT\)或者三模数\(NTT\),想 ...

  4. 洛谷$P1864\ [NOI2009]$二叉查找树 区间$dp$

    正解:区间$dp$ 解题报告: 传送门$QwQ$ 首先根据二叉查找树的定义可知,数据确定了,这棵树的中序遍历就已经改变了,唯一能改变的就是通过改变权值从而改变结点的深度. 发现这里权值的值没有意义,所 ...

  5. Django 链接MySQL及数据操作

    Django 链接MySQL Django创建的项目自带的数据库是SQLite3,我们想要链接MySQL的话,需要更改settings.py中的配置 1.在MySQL中创建好数据库,Django项目不 ...

  6. C Primer Plus(二)

    重读C Primer Plus ,查漏补缺 重读C Primer Plus,记录遗漏的.未掌握的.不清楚的知识点 分支和跳转 1.ctype.h头文件里包含了一些列用于字符判断的函数,包括判断数字.大 ...

  7. 细说javascript typeof操作符

    细说javascript typeof操作符 typeof定义 typeof是一元运算符,用来返回操作数类型的字符串.下面是ECAMScript5.1关于typeof的标准定义: NOTE:上面表格标 ...

  8. 解决阿里云ECS下kubeadm部署k8s无法指定公网IP

    背景 一般情况下,"kubeadm"部署集群时指定"--apiserver-advertise-address=<public_ip>"参数,即可在 ...

  9. spring boot中使用freemarker

    在做Java web开发领域,web模板引擎主要有jsp.freemarker.velocity,其中freemarker是我们常用的一种,在spring boot中使用的freemarker的方法可 ...

  10. bootstrap4popper.js报错Uncaught ReferenceError

    这是因为bootstrap4需要umd版的popper.js <script src="https://cdn.bootcss.com/popper.js/1.15.0/umd/pop ...