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

news2024/11/16 20:56:49

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

目录

一、实验目的

二、实验内容

三、实验小结


一、实验目的

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

二、实验内容

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

点对点协议 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.coloradmin.cn/o/1809391.html

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

相关文章

LLVM 后端执行流程

异构计算程序工作流程 图4-1中的LLVM后端的主要功能是代码生成,其中包括若干指令生成分析转换pass,将LLVM IR 转换为特定目标架构的机器代码 LLVM 流水线结构 输入指令经过图4-2中的各个阶段,从最初的LLVM IR,逐步演化为Selectio…

市值超越苹果,英伟达的AI崛起与天润融通的数智化转型

Agent,开启客户服务新时代。 世界商业格局又迎来一个历史性时刻。 北京时间6月6日,人工智能芯片巨头英伟达(NVDA)收涨5.16%,总市值达到3.01万亿美元,正式超越苹果公司,成为仅次于微软&#xf…

UART基本定义、三种编程方式、freertos内怎么用、怎么封装

文章目录 串口基本概念串口的三种编程方式uart编程查询方式不常用、其他两个方式用的多中断方式:代码原理 DMA方式:配置DMA原理代码 效率最高的UART编程方式:是什么?操作 在freertos里面调用uart应该怎么做?代码 面向对…

每日复盘-20240607

今日关注: 这几天市场环境不好,一直空仓。 六日涨幅最大: ------1--------605258--------- 协和电子 五日涨幅最大: ------1--------605258--------- 协和电子 四日涨幅最大: ------1--------605258--------- 协和电子 三日涨幅最大: ------1--------0…

在Linux or Windows中如何优雅的写出对拍

在Linux or Windows中如何优雅的写出对拍 一、前言二、结论1、对拍 三、对拍详解1、什么是对拍呢?🧐2、对拍的组成部分3、输入数据生成4、对拍程序5、操作流程 四、最后 一、前言 网上的对拍程序层出不穷,大多Linux和Windows中的对拍程序都是…

已解决Error || KeyError: ‘The truth value of a Series is ambiguous‘

已解决Error || KeyError: ‘The truth value of a Series is ambiguous’ 🚀 原创作者: 猫头虎 作者微信号: Libin9iOak 作者公众号: 猫头虎技术团队 更新日期: 2024年6月6日 博主猫头虎的技术世界 &#x1f3…

Python 连接 MySQL 及 SQL增删改查(主要使用sqlalchemy)

目录 一、环境 二、MySQL的连接和使用 2.1方式一:sql为主 2.1.1创建连接 2.1.2 表结构 2.1.3 新增数据 ​编辑 2.1.4 查看数据 ​编辑 2.1.5 修改数据 2.1.6 删除数据 2.2方式二:orm对象关系映射 2.2.1 mysql连接 2.2.2 创建表 2.2.3 新增…

已解决Error || IndexError: index 3 is out of bounds for axis 0 with size 3

已解决Error || IndexError: index 3 is out of bounds for axis 0 with size 3 原创作者: 猫头虎 作者微信号: Libin9iOak 作者公众号: 猫头虎技术团队 更新日期: 2024年6月6日 博主猫头虎的技术世界 🌟 欢迎来…

【Linux文件篇】优化文件读写,加速数据处理策略——缓冲区

W...Y的主页 😊 代码仓库分享 💕 前言:我们已经复习了C语言中的接口,并且学习了许多文件系统调用,了解了文件描述符以及重定向。今天我们继续学习文件缓冲区的相关内容。 缓冲区 在学习C语言时,我们经常…

QSlider样式示例

参考代码: /********************QSlider横向滑动条样式**********************/ QSlider {background-color: rgba(170, 255, 255, 100); /* 设置滑动条主体*/ }QSlider::groove:horizontal {border: 1px solid #999999;height: 8px; /* 默认…

风能远程管理ARMxy嵌入式系统深度解析

智能技术正以前所未有的速度融入传统能源管理体系,而ARMxy工业计算机作为这一变革中的关键技术载体,正以其独特的性能优势,为能源管理的智能化升级铺设道路。本文将聚焦于智能电表、太阳能电站监控、风力发电站远程管理三大应用场景&#xff…

代码随想录算法训练营第三十一天| 455.分发饼干,376. 摆动序列 ,53. 最大子序和

455. 分发饼干 - 力扣&#xff08;LeetCode&#xff09; class Solution {public int findContentChildren(int[] g, int[] s) {Arrays.sort(g); //递增Arrays.sort(s); int result 0;//遍历&#xff0c;先满足小的int i0,j0;for(;i<g.length && j<s.length;i){…

Adobe Premiere Pro 2024下载安装(视频剪辑软件Pr2024)

百度网盘下载地址&#xff08;含PR教学课程&#xff08;PR从入门到精通108节课程&#xff09;&#xff09;https://pan.baidu.com/s/1WKYZENoMzTcKhbgMgbEPGQ?pwdSIMS 一、Pr简介 Pr全称Premiere&#xff0c;是Adobe公司开发的一款功能强大的视频剪辑软件&#xff0c;目前被…

AI作画工具介绍

目录 1.概述 2.Stable Diffusion 2.1.诞生背景 2.2.版本历史 2.3.优点 2.4.缺点 2.5.应用场景 2.6.未来展望 3.Midjourney 3.1.诞生背景 3.2.版本历史 3.3.优点 3.4.缺点 3.5.应用场景 3.6.未来展望 4.总结 1.概述 AI作画工具是一种运用人工智能技术&#xff…

pxe自动装机:

pxe自动装机&#xff1a; 服务端和客户端 pxe c/s模式&#xff0c;允许客户端通过网络从远程服务器&#xff08;服务端&#xff09;下载引导镜像&#xff0c;加载安装文件&#xff0c;实现自动化安装操作系统。 无人值守 无人值守&#xff0c;就是安装选项不需要人为干预&am…

【文末附gpt升级秘笈】AI热潮降温与AGI场景普及的局限性

AI热潮降温与AGI场景普及的局限性 摘要&#xff1a; 随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;AI热一度席卷全球&#xff0c;引发了广泛的关注和讨论。然而&#xff0c;近期一些学者和行业专家对AI的发展前景提出了质疑&#xff0c;认为AI热潮将逐渐…

CentOS6.10升级OpenSSH

openssh下载地址&#xff1a; pub-OpenBSD-OpenSSH-portable安装包下载_开源镜像站-阿里云 openssl下载地址&#xff1a; [ Downloads ] - /source/index.html 1、安装依赖 yum -y install gcc gcc-c yum -y install zlib yum -y install zlib-devel 也可以一起安装。但是…

深度学习中embedding层的理解

Embedding层作用 在深度学习领域中&#xff0c;Embedding层扮演着至关重要的角色&#xff0c;尤其在处理文本数据或类别数据。Embedding层的功能有两个&#xff1a; 1. 将高维稀疏的输入数据&#xff08;如单词、类别标签等&#xff09;转换为低维稠密的向量表示&#xff0c;…

【EAI】生成可爱的贴纸

贴纸生成工具上线啦&#xff0c;目前支持贴纸生成、文生图功能。 地址&#xff1a;https://eai.coderbox.cn/ 功能&#xff1a; 贴纸生成 通过简单提示词&#xff0c;生成可爱的贴纸&#xff0c;支持4种像素规格文生图 基于开源模型实现&#xff0c;模型持续集成中作品库 生…

管理数据必备;侦听器watch用法详解,vue2与vue3中watch的变化与差异

目录 一、侦听器&#xff08;watch&#xff09;是什么&#xff1f; 二、Vue2中的watch&#xff08;Options API&#xff09; 2.1、函数式写法 2.2、对象式写法 ①对象式基础写法 ②回调函数handler ③deep属性 ④immediate属性 三、Vue3中的watch 3.1、向下兼容&#xff…