一、基本特点

1.PPP协议是计算机网络体系中第二层(数据链路层)的协议

2.PPP帧格式是以HDLC帧格式为基础,做了很少的改动(区别:PPP是面向字符的,而HDLC是面向位的)

3.PPP协议使用了LCP协议和NCP协议。用LCP(链路控制协议)来建立、设定和测试数据链路连接。用NCP(网络控制协议)给不同的网络层协议建立连接以及配置它们。

二、必备特点与功能

1.简单

2.封装成帧

3.差错控制

5.流量控制

6.接入控制 ===> 实际上就是LCP链路控制协议

7.透明性 ===>发送方接受什么数据,接收方就接收什么数据

8.多种网络层协议 ===> 支持多种上层协议

9.多种类型的链路 ===> 可以支持串行、并行等等链路层协议

10.检测连接状态

11.最大传送单元

12.网络层地址协商

13.数据压缩协商

三、不需要的功能

.纠错 ===> 能够查错就行,不必具备纠错(改错)的功能

流量控制 ===> 因为是两点间的通信,所以不需要进行流量控制来实现负载均衡

·序号

·多点线路

·半双工或单工链路 ===> PPP协议是全双工

四、PPP协议的组成

1.将IP数据报封装到串行链路的方法

2.链路控制协议LCP(Link Control Protocol)

3.网络控制协议 NCP(Network Control Protocol)

五、PPP帧格式

=======================================================================================================

帧头、帧尾 ===> 各占1byte; 这两字段都是7E,也就是说7E是PPP帧的开始与结尾的标志

=======================================================================================================

地址字段(A) ===> 1byte; 该字段尚未被用到(点到点通信,不需要寻址过程),固定为 1111 1111

=======================================================================================================

控制字段(C) ===> 1byte; 该字段尚未被用到,为后续准备,固定值为 0000 0011

=======================================================================================================

协议字段 ===> 2byte; 指明该帧封装数据类型

协议字段由两个字节组成。字段中第八位必须是0,最后一位必须为1。若不符合这些规则,则被视为带有不被承认的协议

在范围“0x0***“到“0x3***“内的协议字段,标志着特殊数据包的网络层协议

在范围“0x8***·到“0xb***”内的协议字段,标志着数据包属于网络控制协议(NCP)

在范围“0x4***“到“0x7***“内的协议字段,用于没有相关NCP的低通信量协议

在范围“0xc***“到“0xf***”内的协议字段,标志着使用链路层控制协议(LCP)的包

  • 0xC021链路控制协议LCP(Link control protocol)
  • 0xC023密码认证协议PAP(Password authentication protocol)
  • 0xC025链路品质报告Link Quality Report
  • 0xC223挑战握手验证协议CHAP(Challenge handshake authentication protocol)
  • 0x8021IP控制协议IPCP(Internet protocol control protocol)
  • 0x0021 Internet protocol(IP)
  • 0x0001填料协议(Padding Protocol)
  • 0x0003~0x001F reserved(transparency inefficient)保留(透明度效率低的)
  • 0x007Dreserved(Control Escape)保留(控制逃逸)
  • 0x00CF reserved(PPP NLPID)保留(PPP NLPID)
  • 0x00FF reserved(compression inefficient)保留(压缩效率低的)
  • 0x8001~0x801F未使用
  • 0x807D未使用
  • 0x80CF未使用
  • 0X8OFF未使用

=======================================================================================================

信息部分 ===> 数据报,长度不固定,不超过1500 byte

=======================================================================================================

FCS ===> 2byte; 使用CRC的帧检验序列FCS

=======================================================================================================

六、注意事项

我们知道,PPP协议规定,7E是PPP帧的开始及结尾标记,那么如果数据中出现7E字段,该如何呢?处理方法取决于PPP协议的传输类型——异步传输 VS 同步传输

1.当传输类型是异步传输时

异步传输:按字符传输,单位是字符,速率教慢

将转义符定义为0x7D(即01111101),并使用如下字节填充法:

(1)把信息字段中出现的每一个0x7E字节转变成为2字节序列(0×7D,0x5E)

(2)若信息字段中出现一个0x7D的字节(即出现了和转义字符一样的比特组合),则把0x7D转变成为2字节序列(0x7D,0x5D)

(3)若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变

由于在发送端进行了字节填充,因此在链路上传送的信息字节数就超过了原来的信息字节数。但接收端在收到数据后再进行与发送端字节填充相反的变换,就可以正确地恢复出原来的信息

2.当传输类型是同步传输时

同步传输:按一连串的比特位连续传输,单位是帧,速率较快

PPP协议用在SONET/SDH链路时,使用同步传输方式;在这种情况下,PPP协议采用零比特填充方法来实现透明传输:

透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的

在发送端,先扫描整个信息字段(通常用硬件实现,但也可用软件实现,只是会慢些)。只要发现有5个连续1,则立即填入一个0。接收端在收到一个帧时,先找到标志字段F以确定一个帧的边界,接着再用硬件对其中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除,以还原成原来的信息比特流

六、用途

互联网用户都要连接到某个ISP才能接入到互联网,PPP协议是用户计算机和ISP进行通信时所使用的数据链路层协议

计算机网络协议,PPP协议分析的更多相关文章

  1. 计算机网络-3-2-点对点协议PPP

    点对点协议PPP 在通信链路较差的年代,在数据链路层使用可靠传输协议曾经是一种好方法,比较简单的点对点PPP协议则是目前使用最广泛的数据链路层协议. PPP协议的特点 互联网用户通过都要连接到某个IS ...

  2. PPP协议

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

  3. ppp协议介绍(转)

    原文:https://www.cnblogs.com/gtarcoder/p/6259105.html PPP协议PPP协议是二层(数据链路层)协议,常用于拨号上网时客户端向服务器获取IP地址.PPP ...

  4. PPP协议 PAP认证

       

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

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

  6. 计算机网络基础篇-ppp协议

    所谓的PPP协议是点对点协议,是目前使用最广泛的数据链路层的协议.大部分用户使用电话线拨号入网的,从用户计算机到ISP的链路所使用的数据链路层协议就是PPP协议. 首先介绍下拨号入网的过程.因特网服务 ...

  7. PPTP协议握手流程分析

    一  PPTP概述 PPTP(Point to Point Tunneling Protocol),即点对点隧道协议.该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网,可 ...

  8. PPTP协议握手流程分析--转载

    一  PPTP概述   PPTP(Point to Point Tunneling Protocol),即点对点隧道协议.该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网 ...

  9. 计算机网络七层协议模型 “开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)

    计算机网络七层协议模型 作者:Ryan    时间:2013年10月7日 一.物理层(Physical Layer) OSI模型的最低层或第一层,规定了激活.维持.关闭通信端点之间的机械特性.电气特性 ...

随机推荐

  1. 深入理解计算机系统 (CS:APP) Lab2 - Bomb Lab 解析

    原文地址:https://billc.io/2019/04/csapp-bomblab/ 写在前面 CS:APP是这学期的一门硬核课程,应该是目前接触到最底层的课程了.学校的教学也是尝试着尽量和CMU ...

  2. 读源码 - stagesepx

    目录 背景 一.概述 stagesepx 二.源码中优雅的用法 优雅的赋值/返回 递归方法新建多级目录 更简洁的日志输出 格式化输出的另一种姿势 基于生成器读取多个文件 sorted进阶 入参类型限制 ...

  3. 在5G+AI+Cl 拉动互联网走向物联网

    大家好我是浅笑若风,今天在这里和大家聊聊的是:5G+AI+CL拉动互联网走向物联网 在虫洞时空里我们早已能遇见到世界的尽头会是什么样子,微服务,微生活的迅速发展的时代.我们在虚拟的多次元世界购物.交易 ...

  4. sql 语句系列(多表之链)[八百章之第三章]

    新增连接查询而不影响其他连接查询 请看图: 这种情况我们一般会使用左连接的方式. select e.ENAME,d.LOC,eb.RECEIVED from emp e join dept d on( ...

  5. C++中 string 中的方法的使用详解

    string 字符串在所有的语言中都非常重要,c++也不例外,接下来我们将介绍string中的常用方法 1. size() 和 length() 函数 : 他们返回字符串的真实长度,且不会因为空格而截 ...

  6. IntegerCache缓存占用堆、栈、常量池的问题,自动拆装箱的基本概念,Integer==int时的问题说明

    原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94 先普及一个基本概念:Java中基本数据类型的装箱和拆箱操作 自动装箱 在JDK5以后,我们 ...

  7. Django 缓存机制

    一 缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消 ...

  8. vscode快速生成html模板(vscode快捷键"!"生成html模板)

    问题: 在vscode中新建test.html, 内容是空白的,输入"!",然后按tap键 ,没有生成常见的html模板,也就是如下: 输入! html html:5 DOCTYP ...

  9. 使用scrapy-selenium, chrome-headless抓取动态网页

        在使用scrapy抓取网页时, 如果遇到使用js动态渲染的页面, 将无法提取到在浏览器中看到的内容. 针对这个问题scrapy官方给出的方案是scrapy-selenium, 这是一个把sel ...

  10. 什么是CPU load

    最近经常收到告警,CPU load大于阈值告警.查看系统的CPU是12核,告警阈值设置的是8.对于CPU load一直有个模糊的概念,具体是什么意思还真搞不明白,趁这个机会好好搞搞究竟. 1.查看CP ...