热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

点对点PPP协议的功能和帧格式

点对点协议PPP是目前使用最多的广域网数据链路层协议,它具有封装成帧、透明传输、差错检验等基本功能,还支持多种网络层协议、多种类型链路、身份验证和连接状态检测等。该协议的帧格式中的协议字段稍微复杂。在透明传输问题上,同步传输链路采用硬件完成比特填充,异步传输采用字符填充法,其中包括零比特填充和字符填充法。

点对点协议PPP

点对点协议PPP是目前使用最多的广域网数据链路层协议

点对点协议PPP最基本的功能符合数据链路层的共性:封装成帧,透明传输,差错检验。还包括另外的:支持多种网络层协议,支持多种类型链路,支持身份验证,检测连接状态等。

PPP协议的构成:


  • 封装:一个将IP数据报封装到串行链路的方法
  • 链路控制协议:用来建立、配置和测试数据链路连接的链路控制协议
  • 网络控制协议:建立、配置不同网络层协议

PPP协议的帧格式:
在这里插入图片描述
其中稍微复杂的是协议字段。内容来自中国mooc计算机网络原理

透明传输问题:
当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充
当PPP用在异步传输时,用字符填充法

零比特填充:
发送端只要发现5个连续的1,则最后的1后面加个0
接收端对帧进行扫描,当发现五个连续的1,则把最后的1后面的0删除

字符填充法:


  • 将信息字段出现的每一个0x7E字节转变成2字节序列:0x7D,0x5E
  • 若信息字段出现一个0x7D字节,则转变成2字节序列:0x7D,0x5D
  • 若信息字段出现的ASCII码的控制字符(即数值小于0x20)则该字节前面加0x7D,然后与0x20异或(如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。)

例题:

在这里插入图片描述
第一空:
7D 5E AB 7D 35 7D 5D 78 7D 29 7D 5E

7E变成7D 5E
15变成7D 35
7D变成7D 5D
09变成7D 29
在这里插入图片描述
第一空:
7E FE 27 7D 03 44 7E

7D 5E变成7E
7D 5D变成7D
7D 23变成03

在这里插入图片描述
第一空:
01110 11111 01111 10010
第二空:
00011 10111 11111 11010 10


推荐阅读
  • 本文提供了初级计算机考试的第二部分题目及其详细解析,涵盖了单项选择题,涉及计算机存储、硬件、软件等多个方面的基础知识。 ... [详细]
  • 首部|接口类型_OSI 7层模型 & TCP/IP协议首部封装格式解析
    首部|接口类型_OSI 7层模型 & TCP/IP协议首部封装格式解析 ... [详细]
  • 关于进程的复习:#管道#数据的共享Managerdictlist#进程池#cpu个数1#retmap(func,iterable)#异步自带close和join#所有 ... [详细]
  • vsftpd配置(虚拟用户、匿名用户登录)
    一、ftp服务搭建(一)概述1.ftp连接及传输模式(1)控制连接TCP21,用于发送FTP命令信息 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 在JUnit测试框架中,确保@Test注解的方法按特定顺序执行是常见的需求。本文总结了三种实现这一目标的策略。首先,介绍了通过方法名称排序来控制执行顺序的基本方法。其次,推荐了一种利用依赖管理插件的方式,这种方法更为灵活且易于维护。最后,探讨了使用第三方库如TestNG或Jupiter扩展来实现更复杂的顺序控制。每种方法都有其适用场景和优缺点,开发者可以根据具体需求选择最合适的方案。 ... [详细]
  • 本文介绍了如何通过 Python 代码实现对字符串的特定反转操作。具体而言,给定一个字符串 s,要求在保持所有非英文字母字符位置不变的情况下,将所有英文字母(无论是小写还是大写)的位置进行反转。最终返回经过处理后的字符串 s。 ... [详细]
  • 本文深入解析了JDK 8中HashMap的源代码,重点探讨了put方法的工作机制及其内部参数的设定原理。HashMap允许键和值为null,但键为null的情况只能出现一次,因为null键在内部通过索引0进行存储。文章详细分析了capacity(容量)、size(大小)、loadFactor(加载因子)以及红黑树转换阈值的设定原则,帮助读者更好地理解HashMap的高效实现和性能优化策略。 ... [详细]
  • 《我的世界》Java版种子合集:探索多样世界生成
    本文介绍了《我的世界》Java版中用于生成多样化游戏世界的种子代码。这些种子是由一个或多个字符(包括正整数和负整数)组成的值,能够为玩家带来截然不同的地形和环境体验。通过使用不同的种子,玩家可以探索各种独特的地貌、生物群系和结构,从而丰富游戏的乐趣和挑战性。 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • Python默认字符解析:深入理解Python中的字符串处理
    在Python中,字符串是编程中最基本且常用的数据类型之一。尽管许多初学者是从C语言开始接触字符串,通常通过经典的“Hello, World!”程序入门,但Python对字符串的处理方式更为灵活和强大。本文将深入探讨Python中的字符串处理机制,包括字符串的创建、操作、格式化以及编码解码等方面,帮助读者全面理解Python字符串的特性和应用。 ... [详细]
author-avatar
心在流血谁懂
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有