欢迎来到天天文库
浏览记录
ID:42203407
大小:377.64 KB
页数:25页
时间:2019-09-09
《计算机网络实验报告-云南大学-李海-第七次实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验七、传输层可靠传输协议GBN编程实验报告序号:姓名:周坤学号20121120256成绩指导老师:李海一、实验目的:1、通过编写实现一个简单可靠的数据传输协议GBN的发送和接收代码,模拟可靠数据传输2、理解TCP协议可靠传输的差错检测、重传、累计确认、定时器的可靠传输策略。二、实验指导:参考教材。动I出i演示:httD:〃resource.iingDinke.com/details?uuid二ff808081・284d0365・0128・4d0450cc・1e4b&objectld二oid:ff808081・284d0365・012&4d0450cc・1e4c三、实验要求:编程实现一个
2、GBN传输协议的发送方和接收方两程序,釆用编程语言不限,要求能将发送一一接收流程以及处理方法表现出来.附源代码及注释一、GBN.h#pragmaonce#include〃基础功能模块的数据结构声明^defineBIDIRECTIONAL1/*如果你想做酷文解码和写一个程序叫B_output就改变值为1*//*a一个“msg”是从第五层传送到第四层的数据单元.它包含通过传送层协议被传送到第五层的数据*/structmsg{chardata[20];};/*一个数据包从第四层传送到第三层的数据单元•声明提前定义的学生必须遵守的数据包结构*/structpkt{intseqn
3、um;intacknum;intchecksum;charpayload[20];};#defineWINDOWSIZE8#defineMAXBUFSIZE50ttdefineRTT15.0^defineNOTUSED0ttdefineNACK-1^defineTRUE1^defineFALSE;0^defineA0^defineB1〃网络仿真部分数据结构声明^1**»[**J"[J"j1***■[・Jr*i'*"[J•*«、■、'"•bq、j"4、•*(、"[JJ"(、"(J"[J**4、・jJb、、•[Jbq、bq、•]J•*i'*"4、**/、b$、"[J"fJ"]J•jJstru
4、cteventtfloatevtime;/*事件时间*/intevtype;/*事件类型代码*/inteventity;/*所在的实体事件发生时*/structpkt*pktptr;/*用指针来显示这个数据包*/structevent*prev;structevent*next;};/*可能发生*/^defineTIMER_INTERRUPT0ttdefineFR0M_LAYER51^defineFR0M_LAYER32^defineOFF0^defineON1//基础功能模块的函数声明^1^^1^^1^^Lz^1^■(0■]、^1*•"jJ"(0■)J^JJ^1^^^0»4*•]1'*
5、**[J*^4、^T、"(Jk*•^JJ"[J*^4、■j、・♦[、bq、▼(0■]1'*•*.、■j、■(、bq、*^(、・[J”4、^X、^1*•"1^・(、■[*")、•(、1^voidComputeChecksum(structpkt*packet);//计算校验和intCheckCorrupted(structpktpacket);//检査数据是否出错voidA_output(structmsgmessage);//A端向外发送数据voidA_input(structpktpacket);//A端接收数据voidA_timerinterrupt();//A计时器超时voidA_
6、init()://A端初始化voidB_output(structmsgmessage):voidB_input(structpktpacket);voidB_timerinterrupt();voidB_init();〃网络仿真部分的函数声明■丄..丄"Txb.、^I0^
7、•b.、bgJJ/[0・*g*■[J/J*a*J,j0**1**[JJ0・・(、J^1b1s*[JJ・[■*[J*a*^1JJvoidinit();//初始化仿真器floatjimsrandO;//随机数发生器[0,1]//处理事件列表部分的函数声■丄.■丄.■丄“■丄_■丄“、i严*2^■丄.^7*****^J^7
8、*"T^",、*"V^"T^"T^^T"V^^T、voidgenerate_next_arrival();〃产生下一个到达的分组voidinsertevent(structevent*p);//向事件列表中插入一条新的事件voidprintevlist()://打印事件列表f/■丄■T^■丄.■丄.■丄“■丄.■丄.■丄■//**a^"j■//r・4・・[厂匸_■〉、亠9、•y^jiI/*T^"T**T^III1'I/[L^k/
9、•y^jiI/*T^"T**T^III1'I/[L^k/
此文档下载收益归作者所有