实验四、零比特插入《计算机网络》

但凡这句话有一点用的话也不至于一点用都没有。

目录

一、实验目的

二、实验内容

三、实验小结


一、实验目的

  • 掌握零比特插入原理及方法
  • 使用任意编程语言实现零比特插入方法。

二、实验内容

  • 掌握零比特插入原理及方法

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

在大部分用户是使用电话线拨号接入因特网的。而从用户计算机到 ISP 的链路所使用的数据

链路层协议就是 PPP 协议。PPP 协议必须保证数据传输的透明性。这就是说,不能限制网络

层交下来的分组中不许出现某种比特组合。只要不出现传输差错,所有的数据都必须原封不

动地传送到相邻结点。如果数据中碰巧出现了和帧定界符一样的比特组合时,就要采取有效

的措施来解决这个问题。

PPP 协议中,用在SONET/SOH链路时,是使用同步传输,而不是异步传输,这

种情况下,PPP 协议采用 0 比特填充的方法实现透明传输.

具体方法:

在发送端扫描整个信息字段,只要发现 5 个连续 1,则立即填入 1 个 0,因此在经过这

种 0 比特填充后,可保证信息字段中不会出现 6 个连续 1.在接收端收到 1 个帧时,先找到

标志字段F,以确定一个帧边界,接着再对后面的比特流扫描,每当发现 5 个连续 1 时,就

把这 5 个连续 1 后的一个 0 删除,以还原后来的信息比特流.这样就保证了透明传输,在所

传输的数据比特流中可以传送任意组合的比特流,而不会引起对帧边界的判断错误。

①信息字段中出现了和  0101111110001010
标志字段 F 完全一样 会被误认为是标志字段 F 的 8 比特组合
②发送端在 5 个连续的 010011111010001010 1 之后填入 0 比特再发送端填入 0 比特
发送出去
③在接收端把 5 个连续 010011111010001010 的 1 之后的 0 比特删除接收端删除填入的 0 比特

在 windows 环境下使用任意编程语言编写零比特插入程序;

package com.vivi;import java.util.Scanner;public class Demo {public static void main(String[] args) {//原来的二进制编码System.out.println("Please input binary code:");Scanner scan = new Scanner(System.in);String input = scan.next();System.out.println("original:" + input);//输出的编码String outCode = input.replace("11111","111110" );outCode = "01111110" + outCode + "01111110";System.out.println("output:" + outCode);//收到的编码String receiveNum = outCode;int count = 0;int start = receiveNum.indexOf("01111110") + 8;receiveNum = receiveNum.substring(8);int end = receiveNum.indexOf("01111110");receiveNum = receiveNum.substring(0, receiveNum.length()-8);System.out.println("receive:" + receiveNum);//处理后的编码receiveNum = receiveNum.replace("1111101","111111" );System.out.println("handle:" + receiveNum);}}

三、实验小结

操作:
1.在发送端,扫描整个信息字段,只要连续5个1,就立即填入1个0。
2.在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描。发现连续5个1时,就把后面的0删除

保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。
零比特填充法很容易由硬件来实现,性能优于字符填充法。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机三级等级考试

计算机等级考试: 一:理论知识考试 100分考60分 1:题库 二:技能考试 100分考60分 1:写文档 项目概述 功能描述 数据库设计 UML 绘 图 用例图 与 包图(两个图) 2&…

网络运维简介

目录 1.网络运维的定义 2.诞生背景 3.网络运维的重要性 4.优点 5.缺点 6.应用场景 6.1.十个应用场景 6.2.数据中心运维 7.应用实例 8.小结 1.网络运维的定义 网络运维(Network Operations)是指管理、监控和维护计算机网络以确保其高效、安全和…

校园安保巡逻机器人

2023年8月5日,陕西西安一高校实验室起火冒烟,导致学校化学实验室发生火灾。2022年8月3日,一名歹徒持械闯入江西吉安安福县城的一家私立幼儿园,对着无辜的幼儿行凶伤人,造成3死6伤。 像这样的事故有不断地发生&#xf…

2024首发!会声会影2024旗舰版,专业编辑新体验!

会声会影2024最新旗舰版是一款专业的视频编辑软件,它集成了多种高级功能,为用户带来极致的视频编辑体验。在这篇文章中,我们将详细介绍该软件的功能和特色,帮助用户更好地了解和使用它。 会声会影全版本绿色安装包获取链接&#…

【云岚家政】-day00-开发环境配置

文章目录 1 开发工具版本2 IDEA环境配置2.1 编码配置2.2 自动导包设置2.3 提示忽略大小写2.4 设置 Java 编译级别 3 Maven环境3.1 安装Maven3.2 配置仓库3.3 IDEA中配置maven 4 配置虚拟机4.1 导入虚拟机4.2 问题 5 配置数据库环境5.1 启动mysql容器5.2 使用MySQL客户端连接数据…

【Python数据类型的奥秘】:构建程序基石,驾驭信息之海

文章目录 🚀Python数据类型🌈1. 基本概念⭐2. 转化👊3. 数值运算💥4. 数值运算扩展(math库常用函数) 🚀Python数据类型 🌈1. 基本概念 整数(int):整数是没有小数部分的数…

深入分析 Flink SQL 工作机制

摘要:本文整理自 Flink Forward 2020 全球在线会议中文精华版,由 Apache Flink PMC 伍翀(云邪)分享,社区志愿者陈婧敏(清樾)整理。旨在帮助大家更好地理解 Flink SQL 引擎的工作原理。文章主要分…

如何通过 6 种简单方法将照片从华为转移到 PC?

华为作为全球领先的智能手机供应商之一,最近推出了其自主研发的操作系统——HarmonyOS 2.0,旨在为智能手机、平板电脑和智能手表等设备提供更流畅的用户体验。随着Mate 40/P40等系列手机计划升级到HarmonyOS 2.0,用户可能需要将手机中的文件备…

SpringBoot+Redis发送短信

SpringBootRedis发送短信 pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId&g…

[数据集][目标检测]盲道检测数据集VOC+YOLO格式2173张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2173 标注数量(xml文件个数)&#xff1a;2173 标注数量(txt文件个数)&#xff1a;2173 标注…

Spring Boot项目中,如何在yml配置文件中读取maven pom.xml文件中的properties标签下的属性值

一、前言 在最近的项目开发过程中&#xff0c;有一个需求&#xff0c;需要在Spring Boot项目的yml配置文件中读取到mave的 pom.xml文件中的properties标签下的属性值&#xff0c;这个要怎么实现呢&#xff1f; 二、技术实践 pom.xml文件中增加测试属性 <properties><…

【Flask开发实战】首页模板

一、前言 前面我们已经完成登录页面的设定&#xff0c;登录后临时调转到“hello flask”的界面。现在我们根据实际首页的设计需要&#xff0c;来完成首页相关内容的开发。一般系统首页会放一些分析数据&#xff0c;多以图表的方式展示&#xff0c;方便使用者了解信息。以防火墙…

第三方软件测试报告模版分享

第三方软件测试报告是由独立的第三方机构进行的软件测试后所生成的详细报告。它包含了软件测试的各个方面&#xff0c;包括功能测试、性能测试、安全测试等。通过第三方的客观评估&#xff0c;该报告能够全面、准确地反映出软件的优点与缺陷&#xff0c;为软件开发商和用户提供…

【C语言之排序】-------六大排序

作者主页&#xff1a;作者主页 数据结构专栏&#xff1a;数据结构 创作时间 &#xff1a;2024年5月18日 前言&#xff1a; 今天我们就给大家带来几种排序的讲解&#xff0c;包括冒泡排序&#xff0c;插入排序&#xff0c;希尔排序&#xff0c;选择排序&#xff0c;堆排序&…

【Qt秘籍】[002]-开始你的Qt之旅-下载

一、Qt的开发工具有哪些&#xff1f; Qt的开发工具概述Qt支持多种开发工具&#xff0c;其中最常见的开发工具是 1.QtCreator 【易上手/有少量bug/适合新手】 2.VisualStudio 【功能强大/易出错/需要更多额外配置】 3.Eclipse 【清朝老兵IDE/不建议使用】 【注意&#xff1…

在 Win系统安装 Ubuntu20.04子系统 WSL2 (默认是C盘,第7步开始迁移到D盘,也可以不迁移)

1、简介 WSL在Windows 10上原生运行Linux二进制可执行文件&#xff0c;不用单独安装虚拟机。 WSL2是WSL的第二个版本&#xff0c;提供了与WSL相比的显著性能改进和完全的系统呼叫兼容性。通过运行Linux内核在一个轻量级虚拟机&#xff08;VM&#xff09;中实现。 2、安装 电…

上位机图像处理和嵌入式模块部署(f407 mcu中的udp server开发)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 既然lwip已经port到407上面了&#xff0c;接下来其实就可以做一些测试了。本身lwip支持tcp、udp&#xff0c;也支持client和server&#xff0c;既然…

金属切削机床5G智能工厂工业物联数字孪生,推进制造业数字化转型

金属切削机床5G智能工厂工业物联数字孪生&#xff0c;推进制造业数字化转型。随着工业4.0时代的到来&#xff0c;制造业正面临着前所未有的变革与挑战。在这场变革中&#xff0c;金属切削机床智能工厂工业物联数字孪生平台正成为推动制造业数字化转型的重要力量。 数字孪生是指…

DPDK基础组件一(mbuf、ring、pktmbuf_pool)

一、rte_mbuf 此部分转自:https://zhuanlan.zhihu.com/p/616314276 1.mbuf结构 mbuf是报文中的描素的结构体,是整个转发过程中最核心的数据结构之一。主要针对于mbuf的常用API与基本原理做一个简单的介绍。 mbuf:报文内存存储结构,存储在mempool中mempool:使用环形缓冲…

【主流分布式算法总结】

文章目录 分布式常见的问题常见的分布式算法Raft算法概念Raft的实现 ZAB算法Paxos算法 分布式常见的问题 分布式场景下困扰我们的3个核心问题&#xff08;CAP&#xff09;&#xff1a;一致性、可用性、分区容错性。 1、一致性&#xff08;Consistency&#xff09;&#xff1a;…