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

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

目录

一、实验目的

二、实验内容

三、实验小结


一、实验目的

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

二、实验内容

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

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

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

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

相关推荐
2501_916008895 小时前
SSE 和 gRPC 流式接口如何抓包,调试 SSE 与 gRPC 流式接口
网络协议·计算机网络·网络安全·ios·adb·https·udp
布莱克6051 天前
HTTP 状态码详解:从分类到实战
计算机网络·http·状态码
@我漫长的孤独流浪1 天前
计算机网络与信息安全
计算机网络·网络安全
lsylalalala1 天前
网络原理-UDP和TCP
计算机网络
muyeminyu3 天前
SDUT计算机网络实验二:交换机的配置
计算机网络·大学生·计网·计网实验·sdut
河北之花3 天前
计算机三级:交换机VLAN配置
计算机网络
2501_916008893 天前
全平台抓包工具,Windows、iPhone、Linux三个平台抓包测试
网络协议·计算机网络·网络安全·ios·adb·https·udp
爱学习的程序媛3 天前
以太网协议详解
网络·网络协议·计算机网络·以太网·ethernet·通信协议
河北之花3 天前
计算机三级:VLAN虚拟局域网
计算机网络
代码中介商4 天前
DNS 完全指南:从域名解析到实战排查
计算机网络·dns