【链路层】点对点协议 PPP

news2024/12/1 0:20:44

目录

1、PPP协议的特点

2、PPP协议的组成和帧格式

3、PPP协议的工作状态


        目前使用得最广泛的数据链路层协议是点对点协议PPP(Point-to-Point Protocol)

1、PPP协议的特点

        我们知道,互联网用户通常都要连接到某个 ISP 才能接入到互联网。PPP 协议就是用户计算机和 ISP 进行通信时所使用的数据链路层协议。//ISP是互联网服务提供商(Internet Service Provider)的缩写

        简单:接收方每收到一个帧,就进行 CRC 检验。如 CRC 检验正确,就收下这个帧;反之,就丢弃这个帧,其他什么也不做。

        封装成帧:规定作为帧定界符的特殊字符,以便使接收端从收到的比特流中能准确地找出顿的开始和结束位置。

        透明性:如果数据中碰巧出现了和帧定界符一样的比特组合时,必须采取有效的措施来解决这个问题。

        支持多种网络层协议:能够在同一条物理链路上同时支持多种网络层协议(如 IP 和IPX等)的运行。

        支持多种类型链路:例如,串行的或并行的同步的或异步的,低速的或高速的,电的或光的,交换的或非交换的点对点链路。

        差错检测:能够对接收端收到的帧进行检测,并立即丢弃有差错的帧,避免无用帧浪费网络资源。

        连接状态检测:能够及时自动检测出链路是否处于正常工作状态。

        最大传送单元限制:对每一种类型的点对点链路设置最大传送单元 MTU 的标准默认值。

        支持网络层地址协商:支持通信的两个网络层的实体能够通过协商知道或能够配置彼此的网络层地址。

        支持数据压缩协商:协议需要支持协商使用数据压缩算法,但并不要求将数据压缩算法进行标准化。

        在 TCP/IP 协议族中,可靠传输由运输层的 TCP 协议负责,因此数据链路层的 PPP 协议不需要进行纠错,不需要设置序号,也不需要进行流量控制。PPP 协议不支持多点线路,而只支持点对点的链路通信。此外,PPP 协议只支持全双工链路。

2、PPP协议的组成和帧格式

        PPP 协议由三个组成部分:

  • 一个将 IP 数据报封装到串行链路的方法。//数据报封装
  • 一个用来建立、配置和测试数据链路连接的链路控制协议 LCP (Link Control Protocol)。//连接控制
  • 一套网络控制协议 NCP(Network Control Protocol),其中的每一个协议支持不同的网络层协议,如 IP、OSI 的网络层、DECnet 和 AppleTalk 等。//网络控制协议

        PPP协议的帧格式:

        PPP 协议的帧格式如下图所示,首部和尾部分别为四个字段和两个字段:

        首部的第一个字段和尾部的第二个字段都是标志字段 F (Flag),规定为 0X7E(符号 "0X表示它后面的字符是用十六进制表示的。十六进制的 7E 的二进制表示是 01111110)。标志字段表示一个帧的开始或结束。因此标志字段就是 PPP 的定界符。连续两帧之间只需要用一个标志字段。如果出现连续两个标志字段,就表示这是一个空帧,应当丢弃。

        首部中的地址字段 A 规定为 OXFF(即 11111111),控制字段 C 规定为 OX03(即00000011)。最初曾考虑以后再对这两个字段的值进行其他定义,但至今也没有给出。可见这两个字段实际上并没有携带 PPP 的信息。//暂时无意义,不携带信息

        PPP 首部的第四个字段是 2 字节的协议字段。当协议字段为 OX0021 时,PPP 的信息字段就是 IP 数据报。若为 OXC021 则信息字段是 PPP 链路控制协议 LCP 的数据,而 OX8021 表示这是网络层的控制数据。

        信息字段的长度是可变的,不超过1500 字节。

        尾部中的第一个字段(2字节)是使用 CRC 的检验序列 FCS

3、PPP协议的工作状态

        思考一个问题:PPP 链路一开始是怎样被初始化的?

        当用户拨号接入 ISP 后,就建立了一条从用户个人电脑到 ISP 的物理连接

        这时,用户个人电脑向 ISP 发送一系列的链路控制协议 LCP 分组(封装成多个 PPP),以便建立 LCP 连接。这些分组及其响应选择了将要使用的一些 PPP 参数。接着还要进行网络层配置,网络控制协议 NCP 给新接入的用户个人电脑分配一个临时的 IP 地址。这样,用户个人电脑就成为互联网上的一个有 IP 地址的主机了。//物理连接+LCP连接+IP分配

        当用户通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。

        上述过程可用下图所示的状态图来描述。

        图右方的绿色方框给出了对 PPP 协议的几个状态的说明。从设备之间无链路开始到先建立物理链路,再建立链路控制协议 LCP 链路。经过鉴别后再建立网络控制协议 NCP 链路,然后才能交换数据。

        由此可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。

        至此,全文结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1391871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

本地一键部署grafana+prometheus

本地k8s集群内一键部署grafanaprometheus 说明: 此一键部署grafanaPrometheus已包含: victoria-metrics 存储prometheus-servergrafanaprometheus-kube-state-metricsprometheus-node-exporterblackbox-exporter grafana内已导入基础的dashboard【7个…

2024年华数杯国际赛A题赛题

问题A:来自日本的放射性废水 背景 2011年3月,日本东海岸发生的地震引发了福岛第一核电站的事故。一场大规模海啸摧毁了该核电站的冷却系统,导致三个核反应堆熔毁,核燃料碎片熔化。为了冷却熔化的核燃料,海水不断地注入…

数据仓库面试题

1 思维导图&数仓常见面试题 2 题目 1. 数据仓库是什么? 数据仓库是一个面向主题的(订单、支付、退单等)、集成的(整合多个信息源的大量数据)、非易失的(一般不会进行删除和修改操作)且随时…

使用Java Stream API获取子部门的所有父级部门

使用Java Stream API获取子部门的所有父级部门 在数据库表中,经常会有包含层次结构的部门信息表。本博客将使用Java语言和Stream API演示如何获取给定子部门的所有父级部门,并在代码中加入详细注释。 1. 创建 Department 类 首先,我们需要定…

经典目标检测YOLO系列(二)YOLOV2的复现(1)总体网络架构及前向推理过程

经典目标检测YOLO系列(二)YOLOV2的复现(1)总体网络架构及前向推理过程 和之前实现的YOLOv1一样,根据《YOLO目标检测》(ISBN:9787115627094)一书,在不脱离YOLOv2的大部分核心理念的前提下,重构一款较新的YOLOv2检测器,来对YOLOV2有…

ADA-YOLO:YOLOv8+注意力+Adaptive Head,mAP提升3%

生物医学图像分析中的目标检测和定位至关重要,尤其是在血液学领域,检测和识别血细胞对于诊断和治疗决策至关重要。虽然基于注意力的方法在各个领域中目标检测方面取得了显著的进展,但由于医学影像数据集的独特挑战,其在医学目标检…

cookie和session的工作过程和作用:弥补http无状态的不足

cookie是客户端浏览器保存服务端数据的一种机制。当通过浏览器去访问服务端时,服务端可以把状态数据以key-value的形式写入到cookie中,存储到浏览器。浏览器下次去服务服务端时,就可以把这些状态数据携带给服务器端,服务器端可以根…

C++I/O流——(3)文件输入/输出(第一节)

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 含泪播种的人一定能含笑收获&#xff…

HBase学习二:RegionServer详解

1、内部结构 RegionServer是HBase系统中最核心的组件,主要负责用户数据写入、读取等基础操作。RegionServer组件实际上是一个综合体系,包含多个各司其职的核心模块:HLog、MemStore、HFile以及BlockCache。 2、HLog 3、MemStore 4、HFile…

08- OpenCV:形态学操作(膨胀与腐蚀 、提取水平与垂直线)

目录 前言 一、膨胀(Dilation)与 腐蚀(Erosion) 二、形态学操作 1、开操作(Opening) 2、闭操作(Closing) 3、形态学梯度(Morphological Gradient) 4、…

【数学建模】美赛备战笔记 01 美赛指南与竞赛全流程

美赛指南 整篇论文需要在25页内。 六道赛题特点: A、B题涉及到微分方程和物理概念较多,需要一定的专业知识; C题常常涉及到时间序列、机器学习; D题一般是运筹学/网络科学,图论、优化问题,涉及到的概念多…

计算机视觉的应用

计算机视觉(Computer Vision)是一门研究如何让计算机能够理解和分析数字图像或视频的学科。简单来说,计算机视觉的目标是让计算机能够像人类一样对视觉信息进行处理和理解。为实现这个目标,计算机视觉结合了图像处理、机器学习、模…

【C++11】部分新特性

目录 1. 统一的列表初始化1.1 {}初始化1.2 std::initializer_list 2. 声明2.1 auto2.2 decltype 3. nullptr4. 右值引用和移动语义4.1 左值引用和右值引用4.2 左右值引用比较4.3 右值引用使用场景和意义4.4 完美转发 5. 新的类功能6. lambda表达式6.1 语…

vue安装、打包、发布

一.安装: 打开cmd命令行依次输入下面命令: 1. npm install -g vue/cli 2. vue create vue-demo(项目名) 3. 运行项目 npm run serve 二.打包: 在vscode打开终端输入以下命令: npm run build 打包成功后会生成一个dist文件夹&…

Python图像处理【18】边缘检测详解

边缘检测详解 0. 前言1. 图像导数2. LoG/zero-crossing2.1 Marr-Hildteth 算法 3. Canny 与 holistically-nested 算法3.1 Canny 边缘检测3.2 holistically-nested 边缘检测 小结系列链接 0. 前言 边缘是图像中两个区域之间具有相对不同灰级特性的边界,或者说是亮度…

好用的内外网快速传输大文件方法

在信息化时代,数据已经成为各行各业的关键资产,数据的传输和交换方式直接影响着数据价值的体现。在众多场景下,我们需要在不同的网络环境中进行文件传输,如同一个局域网内或者互联网上。这时涉及到内外网的概念。 内外网指的是在不…

PromptCast-时间序列预测的好文推荐

前言 这是关于大语言模型和时间序列预测结合的好文推荐,发现这篇文章,不仅idea不错和代码开源维护的不错,论文也比较详细(可能是顶刊而不是顶会,篇幅大,容易写清楚),并且关于它的Br…

架构篇02-架构设计的历史背景

文章目录 机器语言(1940 年之前)汇编语言(20 世纪 40 年代)高级语言(20 世纪 50 年代)第一次软件危机与结构化程序设计(20 世纪 60 年代~20 世纪 70 年代)第二次软件危机与面向对象&…

什么是防火墙?

目录 什么是防火墙,为什么需要防火墙?防火墙与交换机、路由器对比防火墙和路由器实现安全控制的区别防火墙的发展史1989年至1994年1995年至2004年2005年至今 什么是防火墙,为什么需要防火墙? “防火墙”一词起源于建筑领域&#x…

十一、Qt Poppler打包

《一、QT的前世今生》 《二、QT下载、安装及问题解决(windows系统)》《三、Qt Creator使用》 ​​​ 《四、Qt 的第一个demo-CSDN博客》 《五、带登录窗体的demo》 《六、新建窗体时,几种窗体的区别》 《七、Qt 信号和槽》 《八、Qt C 毕业设计》 《九、Qt …