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

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

目录

一、实验目的

二、实验内容

三、实验小结


一、实验目的

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

二、实验内容

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

点对点协议 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删除

保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。

零比特填充法很容易由硬件来实现,性能优于字符填充法。

相关推荐
头疼的程序员14 小时前
计算机网络:自顶向下方法(第七版)第六章 学习分享(三)
网络·学习·计算机网络
zl_dfq15 小时前
计算机网络 之 【http协议】(简易HTTP服务器实现逻辑)
服务器·计算机网络·http
zl_dfq18 小时前
计算机网络 之 【http协议】(http的无状态性、Cookie与Session的简介)
网络协议·计算机网络·http
Byte不洛19 小时前
Cookie、Session、HTTPS 全解析:从原理到中间人攻击
计算机网络·https·网络编程·cookie·后端开发
2501_9383134019 小时前
计算机网络学习笔记】初始网络之网络发展和OSI七层模型
笔记·学习·计算机网络
海海不瞌睡(捏捏王子)21 小时前
《计算机网络》再学习
网络·学习·计算机网络
南湖北漠2 天前
OPPO手机相册接入了AI功能之后找关闭手机相册图片AI功能入口网络上面的公开答案
网络·计算机网络·其他·智能手机·生活
新新学长搞科研2 天前
【高届数人工智能会议】第七届人工智能、网络与信息技术国际学术会议(AINIT 2026)
运维·网络·人工智能·计算机网络·自动化·信号处理·可信计算技术
CS创新实验室2 天前
《计算机网络深入学》:互联网标准化工作体系与流程
计算机网络
2301_795741792 天前
计算机网络学习笔记】初始网络之网络发展和OSI七层模型
笔记·学习·计算机网络