计算机网络原理实验七传输层可靠传输协议GBN编程实验报告精编

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机网络原理实验七

传输层可靠传输协议G B N编程实验报告精编

Document number:WTT-LKK-GBB-08921-EIGG-22986

实验七、传输层可靠传输协议G B N编程实验报告序号:姓名:学号:成绩指导老师:

一、实验目的:

1、通过编写实现一个简单可靠的数据传输协议GBN的发送和接收代码,模拟可靠数据传输

2、理解TCP协议可靠传输的差错检测、重传、累计确认、定时器的可靠传输策略。

二、实验原理:

在GBN中,发送端不需要在接收到上一个数据包的ACK后才发送下一个数据包,而是可以连续发送数据包。在发送端发送的过程中,如果接收到对应已发送的某个数据包的NACK,则发送端将NACK对应的某个数据包进行重发,然后再将该数据包之后的数据包依次进行重发。

三、结果分析:

本次试验中采用java语言进行程序编写

代码注释:

(一)Sender类

import class Sender extends Thread{

public int windowsize=3; ; import .*;

public class GBN extends Thread{

static void senddelay(int x) throws InterruptedException{

if(x==1) {sleep(300); "发送数据分组时发生延

迟:300毫秒!"); }

else if(x==2) {sleep(750); "发送数据分组时

发生延迟:750毫秒!");}

else if(x==3) {sleep(1200);"发送数据分组时

发生延迟:1200毫秒!");}

else if(x==4) {sleep(3000);"发送数据分组时

发生延迟:3000毫秒!");}

else;

}

public static void main(String[] args) throws IOException, InterruptedException {

Sender s=new Sender();

Receiver re=new Receiver();

();

extInt(3);

int randelay=new

Random().nextInt(5);

();

senddelay(randelay);

extInt(3);

int randelay=new

Random().nextInt(5);

(); //计时开始(2秒时间)

senddelay(randelay); //设置随机值,模拟数据传输延迟

if(ran!=1) [i],s);

//设置随机值,模拟数据丢包过程

else "序号为"+i+"的分组在传给接收方途

中发生了丢包!");

}

}

"以下是每个数据分组被发送过的次数的统计结果

");

for(int i=0;i<7;i++) //显示关于每个数据包发送次数的统计表

"序号为"+i+"的数据分组被发送过的次数为:

"+retimes[i]);

(0);

} }

结果截图:

相关文档
最新文档