欢迎来到天天文库
浏览记录
ID:39504725
大小:167.50 KB
页数:26页
时间:2019-07-04
《计算机网络原理实验七实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验七、传输层可靠传输协GBN编程实验报告序号:姓名:学号:成绩指导老师:一、实验目的:1、通过编写实现一个简单可靠的数据传输协议GBN的发送和接收代码,模拟可靠数据传输2、理解TCP协议可靠传输的差错检测、重传、累计确认、定时器的可靠传输策略。二、实验指导:参考教材。三、实验要求:编程实现一个GBN传输协议的发送方和接收方两程序,采用编程语言不限,要求能将发送――接收流程以及处理方法表现出来.附源代码及注释通过本次实验,了解了GBN传输协议的相关知识,因为实验代码是由三部分组成,所以用Studio做实验时,要建立3个文件,一个是头文件,存放gbn.h,另外2个是源文件,
2、分别存放gbn.c和gbn-cs.c,然后再启动调试。实验代码通过查阅资料很容易理解,但是怎么实现这个程序对我来说是个问题。后来我把程序分了3部分,一个头文件和两个源文件,通过visualstudio可以良好的运行,以下为老师附带代码的运行结果一、GBN.h#pragmaonce#include//基础功能模块的数据结构声明#defineBIDIRECTIONAL1/*changeto1ifyou'redoingextracreditandwritearoutinecalledB_output*//*a"msg"isthedataunitpassedfr
3、omlayer5(teacherscode)tolayer4(students'code).Itcontainsthedata(characters)tobedeliveredtolayer5viathestudentstransportlevelprotocolentities.*/structmsg{chardata[20];};/*apacketisthedataunitpassedfromlayer4(studentscode)tolayer3(teacherscode).Notethepre-definedpacketstructure,whichallstud
4、entsmustfollow.*/structpkt{intseqnum;intacknum;intchecksum;charpayload[20];};#defineWINDOWSIZE8#defineMAXBUFSIZE50#defineRTT15.0#defineNOTUSED0#defineNACK-1#defineTRUE1#defineFALSE0#defineA0#defineB1//网络仿真部分数据结构声明***********************************************************structevent{float
5、evtime;/*eventtime*/intevtype;/*eventtypecode*/inteventity;/*entitywhereeventoccurs*/structpkt*pktptr;/*ptrtopacket(ifany)assocw/thisevent*/structevent*prev;structevent*next;};/*possibleevents:*/#defineTIMER_INTERRUPT0#defineFROM_LAYER51#defineFROM_LAYER32#defineOFF0#defineON1//基础功能模块的函数声
6、明*******************************************************************voidComputeChecksum(structpkt*packet);//计算校验和intCheckCorrupted(structpktpacket);//检查数据是否出错voidA_output(structmsgmessage);//A端向外发送数据voidA_input(structpktpacket);//A端接收数据voidA_timerinterrupt();//A计时器超时voidA_init();//A端初始化vo
7、idB_output(structmsgmessage);voidB_input(structpktpacket);voidB_timerinterrupt();voidB_init();//网络仿真部分的函数声明**************************************************voidinit();//初始化仿真器floatjimsrand();//随机数发生器[0,1]//处理事件列表部分的函数声明*********************************************v
此文档下载收益归作者所有