点对点协议PPP

简介: 点对点协议PPP

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


2c1bb3e40e224b32a50c5933264b1a75.png

PPP协议是因特网工程任务组IETF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661RFC1662]。


d9dbeb1461304edebecfe600e68cc95e.png


PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法


主要由以下三部分构成:


对各种协议数据报的封装方法(封装成)

链路控制协议LCP                        用于建立、配置以及测试数据链路的连接

一套网络控制协议NCPs               其中的每一个协议支持不同的网络层协议


ef065fd72c6146c6be967a9f6e6804e0.png

帧格式


06f1e06440be4451832231428c1fa7e4.png


标志(Flag)字段:PPP的定界符,取值为0x7E

地址(Address)字段: 取值为0xFF,预留(目前没有什么作用)


控制(Control)字段: 取值为0x03,预留(目前没有什么作用)


协议 (Protocol)字段: 指明的数据部分送交哪个协议处理


取值0x0021表示:顿的数据部分为IP数据报


取值0xC021表示:顿的数据部分为LCP分组取值


0x8021表示:顿的数据部分为NCP分组


0f1d0444b343417cbd0ce1bfa8c6412b.png


帧检验序列 (Frame Check Sequence) 字段: CRC计算出的校验位

透明传输

647bfbfeb2ee455db3d1b870f0bbc444.png

透明传输 ->面向字节的异步链路采用插入转义字符的字节填充法


发送方的处理:

       出现的每一个7E (PPP的定界符) 字节转变成2字节序列 (7D,5E)

       出现的每一个7D (转义字符) 字节转变成2字节序列 (7D,5D)

       出现的每一个ASCII码控制字符数值小于0x20的字符),则在该字符前面插入一个7D字            节,同时将该字符的编码加上0x20

接收方的处理: 进行反变换即可恢复出原来的帧的数据部分


e47ddf6a0d474f448bd2e08c0f14c461.png

透明传输-->面向比特的同步链路采用插入比特0的比特填充法

b0eabc1a1e214160a5ebdf449eea7984.png

发送方的处理:
       对帧的数据部分进行扫描(一般由硬件实现)。只要发现5个连续的比特1,则立即填充1个比特0
接收方的处理:
       对帧的数据部分进行扫描(一般由硬件实现)。只要发现5个连续的比特1,就把其后的1个比特0删除

 e5242ebf4a0c4526806e476cd44f3400.png

de4ae57632504a628d6391fcd9b91fdb.png




相关文章
|
人工智能 IDE 开发工具
Studio Bot - 让 AI 帮我写 Android 代码
Studio Bot - 让 AI 帮我写 Android 代码
733 1
|
传感器 数据采集 供应链
港口智能化,我们这样做!
港口智能化,我们这样做!
557 0
港口智能化,我们这样做!
|
3月前
|
SQL 存储 数据库
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
563 0
|
12月前
|
负载均衡 算法 应用服务中间件
nginx反向代理与负载均衡
nginx反向代理与负载均衡
325 2
|
安全 编译器 C++
Microsoft Visual C++ Redistributable的作用主要体现以及可以删除吗?
这些是Microsoft Visual C++不同版本的Redistributable安装包,用于32位系统,确保相关应用正常运行。它们提供C++运行时环境,简化部署流程,支持第三方库及框架,并确保应用兼容性。定期更新可修复问题并引入新功能。在空间有限或需解决程序冲突时可考虑删除,但需谨慎操作以防影响应用稳定性和兼容性。删除前请确认无应用依赖,并通过控制面板安全卸载。
2081 1
Microsoft Visual C++ Redistributable的作用主要体现以及可以删除吗?
|
NoSQL Java Redis
如何在Spring Boot中实现分布式锁
如何在Spring Boot中实现分布式锁
|
编解码 人工智能 测试技术
ShareGPT4V作者团队又一力作!百万高质量视频-字幕数据助力社区提升多模态大模型视频理解及生成能力
【6月更文挑战第30天】ShareGPT4Video`团队推出百万视频-字幕数据集,强化多模态模型的视频理解和生成。包括40K视频的`ShareGPT4Video`数据集、`ShareCaptioner-Video`模型和8B参数的`ShareGPT4Video-8B`模型,后者在视频基准测试中取得最佳效果。差异化字幕生成策略解决了传统方法的局限。尽管取得突破,但数据规模和模型泛化仍是未来挑战。[论文链接](https://arxiv.org/abs/2406.04325v1)
283 1
|
安全 算法 测试技术
深入理解PHP 7与PHP 8的性能差异
在探讨PHP版本间的性能差异时,我们通常关注于代码执行速度和资源消耗。本文将基于最新的基准测试和实际应用场景,对比PHP 7和PHP 8的性能表现,揭示二者之间的细微差别及其对开发实践的影响。通过分析具体数据,我们将提供开发者在面对版本选择时的科学依据,并探讨如何根据项目需求作出合理的决策。
436 0
|
JavaScript 前端开发
在Vue中使用TypeScript的优缺点是什么?
在Vue中使用TypeScript的优缺点是什么?
293 0
|
应用服务中间件 缓存 nginx
消除单点,一篇搞定 | 架构设计篇
系统架构中,为什么会存在单点?思路比结论重要。
5732 1