云南大学软件学院计算机网络原理实验六实验报告.docx

上传人:王** 文档编号:1624627 上传时间:2024-11-25 格式:DOCX 页数:50 大小:78.12KB
下载 相关 举报
云南大学软件学院计算机网络原理实验六实验报告.docx_第1页
第1页 / 共50页
云南大学软件学院计算机网络原理实验六实验报告.docx_第2页
第2页 / 共50页
云南大学软件学院计算机网络原理实验六实验报告.docx_第3页
第3页 / 共50页
云南大学软件学院计算机网络原理实验六实验报告.docx_第4页
第4页 / 共50页
云南大学软件学院计算机网络原理实验六实验报告.docx_第5页
第5页 / 共50页
云南大学软件学院计算机网络原理实验六实验报告.docx_第6页
第6页 / 共50页
云南大学软件学院计算机网络原理实验六实验报告.docx_第7页
第7页 / 共50页
云南大学软件学院计算机网络原理实验六实验报告.docx_第8页
第8页 / 共50页
云南大学软件学院计算机网络原理实验六实验报告.docx_第9页
第9页 / 共50页
云南大学软件学院计算机网络原理实验六实验报告.docx_第10页
第10页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《云南大学软件学院计算机网络原理实验六实验报告.docx》由会员分享,可在线阅读,更多相关《云南大学软件学院计算机网络原理实验六实验报告.docx(50页珍藏版)》请在优知文库上搜索。

1、试验六、传输层牢靠传输协议GBN编程试验报告序号:一姓名:_学号:成果一指导老师:一、试验目的;1、通过编写实现一个简洁牢旅的数据传输协议GBN的发送和接收代码,模拟牢靠数据传输2、理解TCP协议牢轮传输的差错检测、重传、累计确认、定时器的牢拳传输策略。二、试验指导:参考教材。动画演示:三、试验要求:编程实现一个GBN传输协议的发送方和接收方两程序,采纳编程语言不限,要求能将发送一一接收流程以与处理方法表现出来.1.试验流程图如下:OX选择由传2.试验截图与代码如下:截图:GUtrfQiuD*cktopitHfi6GBN001DbugGBN001xe-StopandVaitNetworkSit

2、nj1.atorVersion1.1Snterthenumberofmessagestosinu1.ate:56Enterpacket1.ossprobabi1.ityenterO.Oforno1.oss:3Enterpacketcorruptionprobabi1ityO.Oornocorruption:OSnteraveragetimebetweenEfiSSaEeSfromsenders1.ayer5O.0:1interTRACE:3A:IfeWJ119ssagarrives,sendWindWisfu1.1.,buffernewmessage!entity:0aaaaaaaaaaaaa

3、aaaaaaafu1.1.buffernewmessage!entity:0bbbbbbbbbbbbbbbbbbbbfu1.1.,buffernewmessage!entity:0CeCCCCCCCCCCCCCCCCCCfu1.1.,buffernewmessage!WEbrrtime:O.000870,type:1,frondayer5MAIN1.COP:datagiventostudent:A:Kew11essagearrives,sendMdndoWisVENTticDio:0.000891,typo:1.rondayer5BAIN1.COP:datagiventostudent:A:K

4、ewmessagearrives,sendwindowis1.VEOTtime:0.000909.type:I1frondayer5三AIN1.CX)P:datagiventostudent:A:New11ssagearrives,sendWiCdWis:VENrti:0.000913,type:1,frondayer5entity:0MAIN1.COP:datagiventostudent:dddddddddddddddddddd,A:New11essagearrives,sendWindOWisfu1.1.,buffernew11essage!WENrtime:0.000928,type:

5、I,fro11dayer5entity:0Siwj1.atorterminatedattime0.000928aftersending56sgsfromIayer5correct1.ysentpkts:9resentpkts:0青按任意道继续代码与注样:一、GBN.hpragmaonceinc1.ude基础功能模块的数据结构声明#defineBIDIRECTIONA1.1*changeto1ifyouredoingextracreditandwritearoutineca1.1.edB_output/a*msg*isthedataunitpassedfro三1.ayer5(teachersco

6、de)to1.ayer4(studentscode).Itcontainsthedata(characters)tobede1.iveredto1.ayer5viathestudentstransport1.eve1.protoco1.entities.*/structmsgchardata20;;/apacketisthedataunitpassedfrom1.ayer4(studentscode)to1.ayer3(teacherscode).Notethepre-definedpacketstructure,whicha1.1.studentsmustfo1.1.ow./structpk

7、t(intseqnus;intacknun;intchecksum;charpay1.oad20;);#defineWINDOfSIZE8#defineMAXBUFSIZE50defineRTT15.0WefineNOTUSED0ffdefineNACK-1MefineTRUE1defineFA1.SE0#defineB1网络仿真部分数据结构声明structeventf1.oatevtine;*eventtine/intevtype;/eventtypecode*/inteventity;/entitywhereeventoccurs*/structpkt*pktptr;/ptrtopacke

8、t(ifany)assocw/thisevent/structevent*prev;structevent*nxt;);/possib1.eevents:/#defineT1.ME1.1.1.NTERRUpT0ffdefineFROi1.1.AYER51#defineFRoi1.1.AYER32defineOFF0基础功能模块的函数声明voidCoaDputeChecksuin(structpkt*packet);计算校殴和intCheckCorrupted(structpktPaCket);检查数据是否出错voidA_output(structmsgDeSSage);A蟠向外发送数据void

9、A_input(structpktPaCket);A嵋接收数据voidAjinerinterruptO;/A计时器超时voidA-i11itO;/A端初始化voidB_output(structmsgmessage);voidB_input(structpktpacket);voidB-tinerinterruptO;voidB_initO;网络仿真部分的函数声明voidinit;初始化仿真器f1.oatJiBSrandO;随机数发生器0,1处理事务列表部分的函数声明voidgenerate_next_arriva1.O;产生下一个到达的分组voidinsertevent(structeven

10、t*p);向事务列表中插入一条新的事务voidPrinteV1.iSt();打印事务列表/aVb/9K91Vkajj1.jK2Bb1.jjKj2BJf1.1.scjK2BZZB1.S1.jjKjKH1.?B1.SCJK3K2HjU1.2f1.1.MCJKjKZB1.B1.jBCjKKZ0ZB2H1.IHCjkjKZf1.31.Jf1.JKK*计时器模块voidStoPtimer(int);停止计时器voidStarttiBer(int,f1.oat);启动计时器/aaTj1.jK2KS1.Jb1.jKijB1.k2HS1.jHjkjKjKJk1.BcjKjKjK2K2S1.jKjKJf1.1.

11、XCJKjKjKJkB1.jCjKAIH网络各层之间传送模块voidto1.ayer3(intAorB,structpktPaCket);向第3层发送信voidto1.ayer5(intAorB,chardatasent20);向第5层发送信息二、GBN.cinc1.ude*GBN.h*ffinc1.udetfinc1.udeinc1.udeexternintTRACE=1;/formydebugging/为我的调试externintnsin=0;/nunberofmessagesfro三5to4sofar*/目前为止信息的数字是从5到4externintnsinnax=0;/numberof

12、msgstogenerate,thenstop*/假如信息产生的数字为0,然后就停止externf1.oattime=0.000;f1.oatIossprob;*probabi1.itythatapacketisdropped*/数据包可能会丢失f1.oatcorruptprob;/probabi1.itythatonebitispacketisf1.ipped*/这一点的数据包可能会被弹出去f1.oat1.ambda:/arriva1.rateofnessagesfrom1.ayer5/第五层到达的信息的次序intnto1.ayer3;*numbersentinto1.ayer3/被传送到第

13、三层的数据staticintn1.ost=0;*nunber1.ostinmedia*/在媒介中数据丢失staticintncorrupt=0;/nu)rcorruptedbymedia*/被媒介毁坏的数据staticintexpectedseqnun=O;*expectedsequencenumberatreceiverside/.在接收者这边接收到Bi期的序列数据staticintnextseqnum;*nextsequencenumbertouseinsenderside/.下一个序列数据运用在发送者这边staticintbase;*theheadofsenderwindow/发送者的头

14、窗口structpktwinbufWINDOWSIZE;*windowpacketsbuffer/.数据包缓冲区窗口staticintwinfront,winrear;/frontandrearpointsofwindowbuffer/窗口缓冲区的前方点和后方点staticintPktnuI;/packetnumberofwindowbuffer/窗口缓冲区的数据包个数structmsgbufferMAXBUFSIZE;/senderessagebuffer/.发送消息缓冲区intbuffront,bufrear;/frontandrearpointersofbuffer/.缓冲区的前指针与后指针staticintmsgnum;*I1.eSSagenu三berofbuffer/信息数量的缓冲intpacket_1.ost=0;intpacket_corrupt=0;intpacket-sent=0:externintpacket_correct=0;externintpackt-resent=0;in

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据结构与算法

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!