文档详情

云南大学光线通信实验报告.docx

发布:2019-04-22约4.25千字共10页下载文档
文本预览下载声明
云南大学光线通信实验报告   实验六、传输层可靠传输协议GBN编程实验报告   序号:姓名:学号:成绩指导老师:   一、实验目的:   1、通过编写实现一个简单可靠的数据传输协议GBN的发送和接收代码,模拟可靠数据传输   2、理解TCP协议可靠传输的差错检测、重传、累计确认、定时器的可靠传输策略。   二、实验指导:   参考教材。   动画演示:   三、实验要求:   编程实现一个GBN传输协议的发送方和接收方两程序,采用编程语言不限,要求能将发送――接收流程以及处理方法表现出来.   1.实验流程图如下:   2.实验截图与代码如下:   截图:   代码及注释:   一、   #pragmaonce   #include   //基础功能模块的数据结构声明   #defineBIDIRECTIONAL1/*changeto1ifyouredoingextracreditandwritearoutinecalledB_output*/   /*amsgisthedataunitpassedfromlayer5(teacherscode)tolayer4(studentscode).Itcontainsthedata(characters)tobedeliveredtolayer5viathestudentstransportlevelprotocolentities.*/structmsg   {chardata[20];   };   /*apacketisthedataunitpassedfromlayer4(studentscode)tolayer3(teacherscode).Notethepre-definedpacketstructure,whichallstudentsmustfollow.*/   structpkt   {   intseqnum;   intacknum;   intchecksum;   charpayload[20];   };   #defineWINDOWSIZE8   #defineMAXBUFSIZE50   #defineRTT   #defineNOTUSED0   #defineNACK-1   #defineTRUE1   #defineFALSE0   #defineA0   #defineB1   //网络仿真部分数据结构声明***********************************************************   structevent   {   floatevtime;/*eventtime*/   intevtype;/*eventtypecode*/   inteventity;/*entitywhereeventoccurs*/   structpkt*pktptr;/*ptrtopacket(ifany)assocw/thisevent*/structevent*prev;   structevent*next;   };   /*possibleevents:*/   #defineTIMER_INTERRUPT0   #defineFROM_LAYER51   #defineFROM_LAYER32   #defineOFF0   #defineON1   //基础功能模块的函数声明*******************************************************************voidComputeChecksum(structpkt*packet);//计算校验和   intCheckCorrupted(structpktpacket);//检查数据是否出错   voidA_output(structmsgmessage);//A端向外发送数据   voidA_input(structpktpacket);//A端接收数据   voidA_timerinterrupt();//A计时器超时   voidA_init();//A端初始化   voidB_output(structmsgmessage);   voidB_input(structpktpacket);   voidB_timerinterrupt();   voidB_init();   //网络仿真部分的函数声明**************************************************   voidinit();//初始化仿真器   floatjimsrand();//随机数发生器[0,1]   //处理事件列表部分的函数声明*************************
显示全部
相似文档