Internet协议分析 实验5 信号的检错与纠错

实验5 信号的检错与纠错

练习一 线性块编码的实现与分析

实验学时

0.5学时

实验目的

● 掌握差错控制的类型

● 掌握汉明距离的计算

● 掌握几种常用的线性块编码

实验环境

网络拓扑结构一

实验工具

虚拟通信工具

实验任务

任务一 实例计算


任务一 实例计算

1.  计算汉明距离d1010111110);

异或:01011

d=3

 

 

2.  根据实验原理的学习,计算下表中的编码方案的最小汉明距离。

 

 

D(00000,01011)=3

D(00000,10101)=3

D(00000,11110)=4

D(01011,10101)=4

D(01011,11110)=3

D(10101,11110)=3

Dmin=3
练习二 循环编码的实现与分析

实验学时

0.5学时

实验目的

● 掌握循环冗余校验

● 掌握循环编码方法及其编码特点

实验环境

网络拓扑结构一

实验工具

虚拟通信工具

实验任务

任务一 循环编码实现与分析


任务一 循环编码实现与分析

本任务每台主机为一组。现仅以主机A所在组为例,其它组的操作参考主机A所在组的操作。

1.  搭建仿真线路

    1)打开虚拟通信工具,新建仿真视图;

    2)选择随机信号、[74]循环码编码、[74]循环码译码、信号输出器,连接循环码编译码的仿真线路图,如下图所示;

 

2.  器件参数设置

    1)设置随机信号的参数,输入方式选择随机输入,由用户自行输入待编码的二进制数的长度,如输入8位,输出方式选择字符输出,其他参数保持默认值;

    2)为了方便观察结果其他器件的输出方式均选择字符输出,其他参数均可保持默认值;

3.  仿真结果分析

    1)运行仿真线路,观察分析编码前后、解码前后码元序列的变化,分析[74]循环码编码和译码的实现过程;

 

 

 

 

    2)重新调整随机信号的输入位数,重新运行,对比上面的结果进行分析,验证[74]循环码编码原理;

 

 

 

 

 

    3)实验结论。

 在编码器中,数据字有k4)位,码字有n7)位,在数据字的右边加上(n-k=3)位,n位结果传给生成器,生成器使用长度为n-k+1=4的除法。这个除数是预定义并经过双方同意的。生成器用除数除增加后的数字(模2除法)除法的商被丢弃,余数加到数据字上生成码字。如果校正0,码字最左边的m位被接收为数据字(被认为无差错),否则,这m位被丢弃(有差错)。


练习三 因特网校验和的计算

实验学时

0.5学时

实验目的

● 掌握校验和的概念

● 掌握因特网校验和的计算方法

● 掌握因特网校验和的性能

实验环境

网络拓扑结构一

实验工具

因特网校验和工具

协议分析器

实验任务

任务一 因特网校验和的计算

 

 


任务一 因特网校验和的计算

各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。

    本任务每两台主机为一组,将主机AB作为一组,主机CD作为一组,主机EF作为一组。现仅以主机A和主机B所在组为例,其它组的操作参考主机A和主机B所在组的操作。

1.  主机A和主机B建立连接。

    1)主机B模拟信息接收端,打开因特网校验和工具,设置类型为“接收方”,地址默认,端口设置为6006(这里端口号可以任意设置,但保证不被系统占用即可);点击右侧的“创建”按钮,等待主机A的连接;

    2)主机A模拟信息发送端,打开因特网校验和工具,设置类型为“发送方”,地址为接收端主机BIP地址,端口设置与主机B相同,设置为6006

    3)主机A点击参数后面的“连接”按钮,建立与主机B的连接;

2.  主机A模拟信息发送端进行数据发送操作。

    1)在发送信息处,输入要发送的信息,发送数据为8位字符,(数字0-9或字符A-Z/a-z),例如我们这里选择发送Forouzan

    2)点击“转换十六进制”按钮,将输入的待发送数据Forouzan转换成十六进制;

    3)点击“计算校验和”按钮,出现因特网校验和演示界面,在此界面中,待发送的数据报文已经添加完成,校验和设置为全0

    4)我们需要手动计算“十六位字”与“校验和”的和,填入下面的“和(部分和)”,并将求出的进位填入最上方的“进位”处。最后一个进位会自动写入“和(部分和)”的下一行。此时再计算出“和(部分和)”与最高进位的和,填入下面的“和”处。最后再对这个“和”求反,得出“校验和(发送)”;

    5)计算完成后,点击“校验”按钮,对其进行校验,如果填入的数据有误,会以红色显示提示,需要重新填写,如无误,填写完成下面的表格,然后点击“确定”,回到初始界面。

    ● 记录实验数据。

发送端校验和的计算

 

发送端

数据

校验和(初始值)

0000

和(部分和)

CCD0

进位

0001

CCD0

校验和(发送)

332F

 

    6)在传输类型中选择“正常传输”或者“异常传输”,异常传输是指待发送的数据将随机改变一位,我们这里先选择正常传输,点击“发送”,将数据发送给主机B,此处允许连续发送。

3.  主机B接收到数据后,进行操作。

    1)点击“计算校验和”按钮,进入因特网校验和演示界面,在此界面中,接收的数据已添加完成;

    2)我们需要手动计算,得出这些十六位字的和,填入下面的“和(部分和)”,并将求的进位填入最上面的“进位”处。最后一个进位会自动写入“和(部分和)”的下一行。此时再计算出“和(部分和)”与最高进位的和,填入下面的“和”一行处。最后再对这个“和”求反,得出“校验和(新)”;

    3)计算完成后,点击“校验”按钮,对其进行校验,如果填入的数据有误,会以红色显示提示,需要重新填写,如无误,填写完成下面的表格,然后点击“确定”,回到初始界面;

    ● 记录实验数据。

接收端校验和的计算

 

发送端

数据

校验和(接收到)

332F

和(部分和)

FFFF

进位

0001

FFFF

校验和(新)

0000

 

    4)此时的校验和已被刚才的数据填入,如果是0000,则后面显示,否则显示;

    5)在接收信息处,我们可以看到,如果接收方校验和是0000,则显示“校验和的值是0,接收报文,数据为:主机A发送的原始数据信息(该任务中显示Forouzan”,否则显示“校验和的值不是0,丢弃报文”。

4.  重新设置传输类型,重新进行实验。

    1)主机A可以将刚才设置的发送信息,选择“异常传输”,点击“发送”;

    2)主机B接收数据,并对数据进行校验,查看校验和是否为全0,判断报文传输是否正确,正确则接收,错误则丢弃;

    3)主机A和主机B完成实验操作后,分别记录校验和的计算过程数据以及实验的结果数据。

    实验记录:

  发送端校验和计算

发送端

数据

校验和(初始值)

0000

和(部分和)

CCD0

进位

0001

CCD0

校验和(发送)

332F

  异常传输后接收端校验和计算

发送端

数据

校验和(接收到)

332F

和(部分和)

00FF

进位

1101

0100

校验和(新)

FEFF

 

实验结果:

(1)正常传输,检验和的值为0,接收报文,数据为30 31 32 33 34 35 36 37

(2)异常传输:检验和的值不为-0,丢弃报文。

 

结论:

 

检验和使用较少的(16)位来检测任何长度报文中的差错。

发送方站点:

1)报文被划分为16位字

2)校验和设置为0

3)所有字包括校验和使用反码运算相加

4)求反变成校验和

5)数据和校验和一起发送

接收方站点:

1)报文被划分为16

2)用反码加法将所有字相加

3)对该和求反形成新的校验和

4)如果校验值为0则接收,否则丢弃报文。

发布了83 篇原创文章 · 获赞 21 · 访问量 21万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章