转载出处:https://blog.csdn.net/csucxcc/article/details/1684416

PPP(Point-to-Point Protocol)协议是在SLIP的基础上发展起来的,由于SLIP只支持异步传输方式,无协商过程,它逐渐被PPP协议所替代.PPP协议作为一种提供在点到点链路上封装,传输网络层数据包的数据链路层协议,处于OSI参考模型的第二层,主要被发计用来支持全双工的同异步链路上进行点到点之间的传输.

PPP由于能够提供验证,易扩充,支持同异步而获得较广泛的应用.

PPP协议的特点:

PPP协议是数据链路层协议

支持点到点的连接(不同于X.25,Frame Relay等数据链路层协议);

物理层可以是同步电路或异步电路(如Frame Relay 等数据链路层协议)

具有各种NCP协议,如IPCP,IPXCP更好的支持了网络层协议;

具有验证协议PAP/CHAP,更好的保证了网络的安全性.

ppp的组成部分

PPP主要由两类协议组成:链路控制协议族(LCP)和网络控制协议族(NCP)

链路控制协议主要用于建立,拆除和监控PPP数据链路,网络层控制协议族主要用于协商在该数据链路上所传输的数据包的格式与类型。同时,PPP还提供了用于网络安全方面的验证协议族(PAP和CHAP)。

链路控制协议(LCP):建立,配置,测试PPP数据链路连接;

网络控制协议族(NCPS):协商在该链路上所传输的数据包的格式与类型,建立,配置不同网络层协议;PPP扩展协议族:提供对PPP功能的进一步支持。

PPP协议栈

ppp是一个分层结构。在底层,它能使用同步媒介(如ISDNH或同步DDN专线),也能使用异步媒介(如基于Modem拨号的PSTN网络)。

在数据链路层,PPP在链路层建立方面提供了丰富的服务,这些服务以LCP协商选项的形式提供。

在上层,PPP通过NCPs提供对多种网络层协议的支持。PPP对于每一种网络层协议都有一种封装格式来区别它们的报文。

PPP协商过程分为几个阶段:Dead阶段,Establish阶段,Authenticate阶段,Network阶段和Termintate阶段,在不同的阶段进行不同协议的协商.只有前面的协商出现结果后,才能转到下一个阶段,进行下一个协议的协商.

1)当物理层不可用时,PPP链路处于dead阶段,链路必须从这个阶段开始和结束.当物理层可用时,PPP在建立链路之前首先进行LCP协商,协商内容包括工作方式是SP还是MP,验证方式和最大传输单元等.

2)LCP协商过后就进入Establish阶段,此时LCP状态为Opened,表示链路已经建立.

3)如果培植了验证(远端验证本地或者本地验证远端)就进入Authenticate阶段,开始CHAP或PAP验证.

4)如果验证失败进入Terminate阶段,拆除链路,LCP状态转为Down;如果验证成功就进入Network协商阶段(NCP),此时LCP状态仍为Opened,而IPCP状态从Initial转到Request.

5)NCP协商支持IPCP协商,IPCP协商主要包括双方的IP地址.通过NCP协商来选择和配置一个网络层协议.当选中的网络层协议配置成功后,该网络层协议就可以通过这条链路发送报文了.

6)PPP链路将一直保持通信,直至有明确的LCP或NCP帧关闭这条链路,或发生了某些外部事件.(例如,用户的干预).

PAP,CHAP验证

PAP验证为两次握手验证,口令为明文,PAP验证的过程如下:

被验证方发送用户名和口令到验证方;验证方根据用户配置查看是否有此用户以及口令是否正确,然后返回不同的响应(Acknowledge Or Not Acknowledge).

如正确则会给对端发送ACK报文,通告对端已被允许进入下一阶段协商;否则发送NAK报文,通告对端验证失败.此时,并不会直接将链路关闭.只有当验证不通过次数达到一定值(缺省为4)时,才会关闭链路,来防止因误传,网络干扰等造成不必要的LCP重新协商过程.

PAP的特点是在网络上一明文的方式传递用户名及口令,如在传输过程中被截获,便有可能对网络安全造成极大的威胁.因此,它适用于对网络安全要求相对教低的环境.

CHAP验证为三次握手验证,口令为密文(密钥),CHAP验证过程如下:

验证方向被验证方发送一些随机产生的报文,并同时将本端的主机名附带上一起发送给被验证方;

被验证方接到对端对本端的验证 请求(Challenge)时,便根据此报文中验证方的主机名和本端的用户表查找用户口令字,如找到用户表中与验证方主机名相同的用户,便利用接收到的随机报文、此用户的密钥用Md5算法生成应答(

Response),随后将应答和自己的主机名送回;

验证方接到此应答后,利用对端的用户名在本端的用户表中查找本方保留的口令字,用本方保留的口令字(密钥)和随机报文用Md5算法得出结果,与被验证方应答比较,根据比较结果返回相应的结果(ACK or NAK)。

它的特点是只在网络上传输用户名,而并不传输用户口令,因此它的安全性要比PAP高。

PPP协议简介的更多相关文章

  1. PPP协议 PAP认证

       

  2. PPP协议、PPPoE协议、L2TP协议的关系

    1. 简述 首先对这3中协议做一个简单的描述: 协议 协议类型 描述 PPP 点对点链路层协议 应用最广泛的点对点协议,可应用在多种网络,改善了SLIP协议的不足 PPPoE 点对点链路层协议 对PP ...

  3. 广域网(ppp协议、HDLC协议)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105028759 学习课程:<2019王道考研计算机网络> 学习目的 ...

  4. Fiddler--一、HTTP协议简介

    在学习Fiddler之前,最好先学习一下HTTP协议. HTTP协议简介 什么是HTTP协议 超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端 ...

  5. PPP协议

    PPP协议PPP协议是二层(数据链路层)协议,常用于拨号上网时客户端向服务器获取IP地址.PPP支持在各种物理类型的点对点串行线路上传输上层协议报文.它具有很多特性,比如支持多协议.提供可选的身份认证 ...

  6. MODBUS-RTU通讯协议简介

    MODBUS-RTU通讯协议简介   什么是MODBUS? MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司 的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规 ...

  7. JavaWeb:Web与HTTP协议简介

    JavaWeb:Web与HTTP协议简介 Web的概念 什么是Web: Web是网络上使用最广泛的分布式应用架构. 旨在共享分布在网络上的各个Web服务器中的所有互相连接的信息. 三个特征: 用HTM ...

  8. CC2540开发板学习笔记(九)—— BLE协议简介

    一.BLE协议简介 1.协议是什么? 协议是一系列的通信标准,双方需要共同按照这进行正常数据 协议是一系列的通信标准,双方需要共同按照这进行正常数据发射和 接收.协议栈是的具体实现形式,通俗点来理解就 ...

  9. 2016.6.17 计算机网络复习要点之PPP协议

    点对点协议PPP是目前使用最广泛的数据链路层协议. 1.PPP协议的特点: **我们知道因特网用户通常需要连接到某个ISP才能接入到因特网,PPP协议就是用计算机和ISP进行通信时所使用的数据链路层协 ...

  10. HTTP 协议简介

    HTTP 协议简介 博客分类: acl开发--HTTP协议篇 网络协议http协议  一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是 ...

随机推荐

  1. 2018-8-29-dotnet-core-2.1-使用阶梯编译

    title author date CreateTime categories dotnet core 2.1 使用阶梯编译 lindexi 2018-08-29 08:49:12 +0800 201 ...

  2. 在FPGA中何时用组合逻辑或时序逻辑

    在设计FPGA时,大多数采用Verilog HDL或者VHDL语言进行设计(本文重点以verilog来做介绍).设计的电路都是利用FPGA内部的LUT和触发器等效出来的电路. 数字逻辑电路分为组合逻辑 ...

  3. CF1905E One-X

    考虑在 \(n\) 个节点的树中,树根作为 \(lca\) 对答案的贡献,显然就是在左子树的叶子中选出一个非空集的方案乘上右子树的方案. \[w(n, id) = id \cdot (2 ^ {L\_ ...

  4. 学会使用 NumPy:基础、随机、ufunc 和练习测试

    NumPy NumPy 是一个用于处理数组的 Python 库.它代表"Numerical Python". 基本 随机 ufunc 通过测验测试学习 检验您对 NumPy 的掌握 ...

  5. 【爬虫数据集】李子柒YouTube频道TOP10热门视频的TOP2000热门评论,共计2W条

    目录 一.背景 二.爬取目标 三.结果展示 四.演示视频 五.附完整数据 一.背景 这段时间,有超多小伙伴找我要YouTube数据,做数据分析.情感分析之类的研究工作,但很多人并不是计算机软件相关专业 ...

  6. ubuntu安装 vmware workstation pro 15.1.1

    BIOS开启虚拟化 如果没有就参考下面的连接地址设置 http://robotrs.lenovo.com.cn/ZmptY2NtYW5hZ2Vy/p4data/Rdata/Rfiles/726.htm ...

  7. lca总结+树上差分

    lca lca简称最近公共祖先--简介在此,不过多赘述 这里主要写的是倍增算法,oi-wiki上用的是vector,由于本人不会,只会用链表,所以这里就放链表的代码了 例题 加一个数组按倍增数组的方式 ...

  8. apisix~升级原始插件的方法

    扩展apisix原始插件 当apisix提供的插件不能满足我们要求时,我们可能需要将它的plugin进行个性化扩展,例如一个jwt认证插件jwt-auth,它本身具有验证jwt有效性功能,支持rs25 ...

  9. 【Azure Developer】如何通过Azure Portal快速获取到对应操作的API并转换为Python代码

    问题描述 对于Azure资源进行配置操作,门户上可以正常操作.但是想通过Python代码实现,这样可以批量处理.那么在没有SDK的情况下,是否有快速办法呢? 问题解答 当然可以,Azure Porta ...

  10. typora不支持mermaid 问题记录

    typora不支持mermaid 问题记录 注意: 使用不了最新版本js,目前我测的最高版本9.3,有些复杂的图表不能用,不过已经满足我使用的需求了.知足了 本文只做记录,如有问题请联系删除!!!感谢 ...