当前位置:文档之家› 计算机网络ARQ协议模拟实验报告

计算机网络ARQ协议模拟实验报告

第五章实验六ARQ协议模拟

[实验目的]:要求学生能够深刻理解ARQ协议,通过模拟软件对ARQ协议有更加具体的理解

[实验要求]:要求学生使用模拟的软件,通过修改不同的参数,查看两个程序通信过程中的丢失和错误包的处理情况,并且能够在实验报告上详述ARQ协议的机制。

[实验内容]:

1.ARQ模拟实验中

学生通过使用模拟信号的软件,查看不同参数情况下通信过程中出现的丢包和发生错误包后相应的客户端是如何处理的,并能够就一种情况在实验报告中详述其整个通信流程,包括校验位的判别,序号的判别,丢失和错包后的重传,ACK,NAK 等。

[实验步骤]:

1、打开XDS.EXE,选择ARO_0程序。

2、设置最小时延为100ms。数据包3实验100ms。数据包5丢失。数据包7差错。

3、发送端点击发送。截图如下:

选择ARQ_6程序,配置以及结果如下:

[实验结果分析]:

ARQ_0:

首先,发送方将数据封装成帧。

先发送数据1。其十六进制码为31,二进制码为00110001。由于D6~D0中有3个1,3为奇数,因此校验位D7为1(红色)。蓝色D6-D4代表序号。

由于传输过程采用的是连续ARQ协议,发送方并不等待接收方发回的确认信息,连续将数据2~8发送给接收方,其中看到数据5和数据7丢失。

接着在发送数据8时看到接收方收到数据31H。接收方并不发送ACK。

接着接收到了32H和34H(33H时延),由于不发送ACK,发送方并不知道数据包5丢失,数据包7出现插座,因此接收方收不到35H和37H,最后收到的数据顺序为1 2 4 6 7 3 9 10。

ARQ_6:

首先发送端发送1这个数据,其二进制的代码是:1 0000001,红色的1是D7代表校验位,因为后面7位只有1个1,蓝色的是D6—D4代表序号,紫色0001代表数据1

接着看到B收到81H这个数据帧,并且回复了0F数据帧,这个0F数据帧的二进制是00001111,红色部分代表该帧的校验位为0(有四个1),蓝色部分代表该帧回复的序号,1111按上面给的定义是代表ACK,所以其实该帧就是对序号为0的数据包的回复即ACK0。

由于A此时还没有收到0FH,因此再次发送重复的内容3:81H。由于设置数据包3时延100ms,因此B没有收到数据包3,但是A此后收到了B发回的ACK0,开始传送4:12H。

这时看到B收到了4:12H以及3:81H,并且返回了5:9FH以及6:0FH,前者是对序号为1数据的确认,后者是对序号为0的数据包的确认。

但是看到5:9FH>9EH,即数据包5出现差错。因此A无法收到B发回的ACK1,重复发送12H。而这时滞留在网络中的9FH和0FH都被A接受了,下一时刻而B收到了A发出的7:12H,发回第八个数据包:9FH。

遗憾的时数据包8丢失了。因此A继续发送12H。B收到后发回了9FH即ACK1,而由于B返回时间的延迟,因此A还是在没有等到ACK1的情况下还是发送了12H,此时A终于等到了ACK1,于是继续发送12:A3H。

B接收到两个数据包11:12H和12:A3H,分别返回13:9FH和14:AFH,而A在没有等到14:AFH的情况下又一次发送了A3H……

以下步骤省略。

该协议可以让B收到排序正确并且无错误的数据。但是由于数据包在网络中的时延,A不得不将每帧数据重复发出两次,加大了对网络的负担,造成资源浪费。

[实验总结]

通过本次实验进一步连接了ARQ协议的工作原理。对于实验中选择的两个程序,认为在网络通信中,如果对传输数据的正确性要求不高可以选择使用ACK_1,但是在网络资源足够大丙炔对数据的正确性要求较高的时候可以选择ACK_6。

相关主题