[链路层] 点对点协议 PPP

news2024/11/15 8:44:04

目录

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/1387837.html

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

相关文章

系统架构11 - 数据库基础(上)

数据库基础 数据库基本概念概述三级模式、两级映像概念模式外模式内模式二级映像逻辑独立性物理独立性 数据库设计需求分析概念结构设计逻辑结构设计物理设计数据库实施阶段据库运行和维护阶段 数据模型E-R模型关系模型模型转换E-R图的联系 关系代数 数据库基本概念 概述 数据…

Linux Mii management/mdio子系统分析之五 PHY状态机分析及其与net_device的关联

(转载)原文链接:https://blog.csdn.net/u014044624/article/details/123303714 前面几章基本上完成了mdio模块驱动模型的分析,本篇文章主要讲述phy device的状态机以及phy device与net_device的关联。Phy device主要是对phy的抽象…

CCPC 2023 北京市赛 G.【模板】线段树(线段树区间合并20次多项式)

题目 思路来源 lyw 题解 洛谷高仿题目P4247 (aix)(aix)(aix)注意到当x有超过20项时,20个2相乘,对2的20次方取模就为0 所以,维护0次项到19次项乘积的和,向上合并时,是两个多项式卷积,这里暴力相乘即可 …

AI教我学编程之C#类的基本概念(2)

前言 AI教我学编程之C#类的基本概念(2) 已经更新,欢迎道友们前往阅读,本节我们继续学习C#类的基本概念 目录 上节回顾 质疑 对话AI 特殊情况 发问 解释 数据/函数成员 类和程序–实现一个简单的程序 实现尝试 声明类 类的成员…

如何判断售卖的医疗器械产品是二类还是三类

售卖医疗器械需关注产品本身是否为一、二、三类医疗器械。第一类医疗器械为一般项目的经营范围无需取得备案或许可证即可销售。第二类医疗器械产品需办理第二类医疗器械的备案方可销售。第三类医疗器械需取得医疗器械经营许可证且许可证上的经营范围需与销售的产品对应方可销售…

漏洞复现-Yearning front 任意文件读取漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

关于 Error: Cannot find module ‘webpack/lib/RuleSet‘ 的详细解决方法(亲测有效)- 以及删除脚手架的方法

对于出现的这个错误,之前我也尝试了网上的多种解决方案,最终经过测试后,是通过将原来的 vue/cli 版本降级到 4.5.15 版本,最后再重新安装 node_modules 包 才得以解决。 下面是我将介绍怎么安装 4.5.15 版本的脚手架等。 &#x…

运筹说 第65期 | 动态规划的基本概念和基本原理

20世纪50年代初,美国数学家R. Bellman 等人在解决多阶段决策优化问题时提出了一种高效的求解方法——动态规划(Dynamic Programming),该方法基于多阶段决策优化问题的特点,把多阶段问题转换为一系列互相联系的单阶段问…

【经典算法】有趣的算法之---遗传算法梳理

every blog every motto: You can do more than you think. 0. 前言 遗传算法是一种基于自然选择和遗传机制的优化算法,因此它通常被用于求解各种最优化问题,例如函数优化、特征选择、图像处理等。 一言以蔽之: 将数学中的优化问题&#xf…

人机协同中存在一个独特的时空体系

一、在人机协同中存在一个独特的时空体系 在人机这个独特的时空体系中,人和机器之间的时间和空间的交织和共同作用。 在时间维度上,人机协同体系中的人和机器具有不同的时间节奏和速度。人类有限的生命周期和有时候需要休息的需求使得他们的工作时间和生…

(2023版)斯坦福CS231n学习笔记:DL与CV教程 (3) | 正则化与最优化

前言 📚 笔记专栏:斯坦福CS231N:面向视觉识别的卷积神经网络(23)🔗 课程链接:https://www.bilibili.com/video/BV1xV411R7i5💻 CS231n: 深度学习计算机视觉(2017&#xf…

Android 12+ MQTT适配

最终的解决方案是下载源码去改。我用的是已经修改好了的库,如果包名要自己的, 要注意: 1. compileSdk 34 和 targetSdk 34 改成33(Android12)或者34(Android13)。 2. 下载的 module 导入。 …

【设计模式之美】重构(三)之解耦方法论:如何通过封装、抽象、模块化、中间层等解耦代码?

文章目录 一. “解耦”概述二. 如何给代码“解耦”?1. 封装与抽象2. 中间层2.1. 引入中间层能**简化模块或类之间的依赖关系**。2.2. 引入中间层可以起到过渡的作用,能够让开发和重构同步进行,不互相干扰。 3. 模块化4. 其他设计思想和原则4.…

QT属性动画

时间记录:2024/1/15 一、介绍 属性动画类为QPropertyAnimation,类似于CSS的keyframes关键帧 二、分类及使用步骤 1.几何动画 (1)创建QPropertyAnimation对象 (2)setPropertyName方法设置属性名称&#…

谷歌验证码|某爬虫问答社区登录参数分析

关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除! 1.目标地址 aHR0cHM6Ly9iYnMubmlnaHR0ZWFtLmNuL21lbWJlci5waHA/bW9kPW…

高通平台开发系列讲解(PCIE篇)MHI (Modem Host Interface)驱动详解

文章目录 一、MHI驱动代码二、MHI读数据流程三、MHI写数据流程沉淀、分享、成长,让自己和他人都能有所收获!😄 📢MHI (Modem Host Interface)我们通过名字顾名思义知道,它是Modem与Host的桥梁。 MHI 可以很容易地适应任何外围总线,但它主要用于基于 PCIe 的设备。 MHI(…

ElasticSearch降本增效常见的方法 | 京东云技术团队

Elasticsearch在db_ranking 的排名不断上升,其在存储领域已经蔚然成风且占有非常重要的地位。 随着Elasticsearch越来越受欢迎,企业花费在ES建设上的成本自然也不少。那如何减少ES的成本呢?今天我们就特地来聊聊ES降本增效的常见方法&#x…

Odrive 学习系列三:在odrive工程中添加SEGGER RTT 日志输出功能

一、背景: 对于嵌入式来讲,有个日志输出真真真真的太重要啦! SEGGER JLink自带的RTT日志输出对于老嵌入式而言更是开发利器。 Odrive本身的工程是不带这个功能的,尽管使用stlink可以查阅寄存器等,但感觉还是差了点意思。因此在本系列第二节的基础上,希望能给Odrive工程添…

Notepad++编译运行C/C++程序

首先需要先下载一个C语言编译器-MinGW(免费的) 官网:http://www.mingw.org/(加载太慢) 我选择MinGW - Minimalist GNU for Windows download | SourceForge.net这个网址下载的 注意安装地址,后续配置环境…

unique()函数

这篇博客是本人在学习算法中遇到的一个常用的函数&#xff0c;记录分享给大家 注意 &#xff1a;unique&#xff08;&#xff09;函数是删除相邻的重复元素&#xff0c;并且返回的是去重范围后的第一个元素的地址&#xff0c;左闭右开 #include <bits/stdc.h> using na…