基于UDP的SR协议

哈尔滨工业大学计算机科学与技术学院计算机科学与技术计算机网络大作业实验报告课程名称:计算机网络实验题目:基于UDP的SR协议班级:学号:姓名:完成日期:2008-11-28设计成绩报告成绩指导老师一、实验目的网络层次结构中,传输层有两个重要协议。i个是面向连接的TCP可信传输协议,它主要用于HTTP、SMTP等对可信度要求高的应用层服务;另一个是面向无连接的UDP传输协议,它主要主于如QQ,流媒体等对传输速率要求高的应用层服务。两种传输层协议各有所用,只不过应用场合不同。UDP虽然是面向非连接的不可信传输协议,但并表明它不能做到可信传输。本次实验即编写一个基于UDP的选择重传协议,它的可信验证是在应用层完成。二、实验要求及实验环境♦实验要求:编写基于UDP的选择重选协议,可信验证在应用层来完成♦实验环境:JDK1.6.0环境,可视编程软件为Eclipse三、设计思想1.主体思想采用滑动窗口协议,限制已发送出去但未被确认的数据帧的数循环使用已收到的那些数据帧的序号,具体实现是在发送端和接收端分别设定发送窗口和接收窗口。(1)发送窗口发送窗口用来对发送端进行流量控制。发送窗口的大小Wt代表在还没有收到对方确认条件下,发送端最多可以发送的数据帧的个数。(2)接收窗口接收窗口用来控制接收数据帧。只有半接收到的数据帧的发送序号落在接收窗口内,才允许将该帧收下,否则一律丢弃。接收窗口大小用wr來表示。在接收窗口和发送窗口间存在这样的关系:接收窗口发送旋转后,发送窗口才可能向前旋转,接收窗口保持不动时,发送窗口是不会旋转的。这种收发窗口按如此规律顺时钟方向不断旋转的协议就是滑动窗口协议。2.程序主体结构图2.1关于Go-Back-NsendersendQktOsendpktlsendpkt2sendpkt3(wait)revACKOsendpkt4rovACK1sendpkt5—Qkt2timeoutsendpkt2sendpkt3sendpkt4sendpkt5revpktOsendACKOrevpktlsendACK1revpkt3zdiscardsendACK1revpkt4zdiscardsendACK1revpkt5,discardsendACKlrevpkt2zdeliversendACK2revpkt3zdeliversendACK3Go-Eack-NSender:Okbitseq#inpktheaderFl"windoWofuptoN,consecutiveunactedpktsallowedseggsenexrsgaumIalreadyIusable,notJ▼|acked|y©tsentIIIIIIIDDgDODOIIIIIIDDDDDDD冷"Q—个windowsize--------------•ZCJACK(n):ACKsallpktsupto,includingseq存n■^cumulativeACKMomaydeceiveduplicateACKs(seereceiver)OTimerforeachin-flightpkTCJtim^outfn):retransmitpktnandallhigherseq#pktsinwindowreceiversend_basenextseqnumooiiLiii]iiiint—alreadyack#edsent,notyetack#edusable,notyetsentnotusableSelectiverepeat:sender,receiverwindowsOllllllllllllll—windowsize——♦tIoutoforder(buffered)butalreadyack#edIExpected,notyetreceived■acceptable(withinwindow)flnotusoble(b)receiverviewofsequeneenumberspktOrevd,delivered,ACKOsentoil234|56789pktlrevd,delivered,ACK1sent01|2345|6789pkt3revd,buffered,ACK3sent0l|234j6789pkt4revd,buffered,ACK4sent01I234si6789pk+2revd,deliverpkts2,3,4ACK2sent01234567S|9pk+5revd,delivered,ACK5sent012345|6789|3•各模块设计importjava.applet.Applet;importjava.awt.*;importjava.awteventActioiiListener;(a)senderviewofsequencenumberspktOsent789789789pk+3sent,windowfullIo123>456789ACKOrevd,pkt4sent011234|56789pkt2timeout,pkt2resentoil234>56789ACK1revd,okt5sent011234516789importjava.awt.event.ActionEvent;publicclassgbnextendsAppletimplementsActionListener,Runnablefinalintwindow_len_def=5;//Defaultvaluesofparametersfinalintpack_width_def=10;finalintpack_height_def=30;finalinth_offset_def=100;finalintv_offset_def=50;finalintv_clearance_def=300;finalinttotal_packet_def=20;〃定义发送的总数据包个数为20finalinttime_out_sec_def=30;finalColorunack_color=Coloured;//定义finalColorack_color=Colonyellow;finalColorsel_color=Colongreen;finalColorroam_pack_color=Color.red;finalColorroam_ack_color=Colonyellovv;final...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?