ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:680.90KB ,
资源ID:13066268      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13066268.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(滑动窗口协议模拟程序的设计与实现Word文档格式.doc)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

滑动窗口协议模拟程序的设计与实现Word文档格式.doc

1、滑动窗口协议模拟程序的设计与实现主要内容:(1) 了解网络协议编程的基本知识;(2) 了解滑动窗口协议的工作机制;(3) 使用编程语言编写一个滑动窗口协议的模拟程序,按要求实现程序。要求:(1)按要求编写课程设计报告书,能正确阐述设计结果。(2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。(3)学会文献检索的基本方法和综合运用文献能力。(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。应当提交的文件:(1) 课程设计报告。(2) 课程设计附件(源程序、各类图纸、实验数据、运行截图等)。课程设计成绩评定学 院 计算机通信工程 专 业 网络工程 班 级 网络08-

2、02 班 学 号 200858080205 学生姓名 梁碧莹 指导教师 王静 课程成绩 完成日期 2011年7 月 2 日指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩 指导教师签字 年 月 日学生:梁碧莹 指导老师:摘要:本文主要介绍如何根据滑动窗口协议的原理,在Visual C+的平台上设计一个滑动窗口协议模拟程序,并最终使该程序得以实现。本次程序设计分两部分:第一部分是发送方,第二部分是接收方。通过发送方和接收方之间的数据帧传

3、输模拟,学习滑动窗口协议控制流量的原理和方法,以及滑动窗口协议的工作机制。关键词:滑动窗口协议 流量控制 工作机制 模拟程序Design and Implementation ofSliding WindowProtocolProceduresStudent: Liang Biying Instructor: Wang JingAbstract: This paper describes the principle of Sliding WindowProtocol and how to design and implement a procedure about the Sliding Wi

4、ndowProtocol. Theprogram designin two parts, one isthe sender,the other isthe receiver. After all, studying the principle and method of how the Sliding WindowProtocol control the flow, and how the Sliding WindowProtocol works through the transmission of data between the sender and the receiver.Keywo

5、rds: Sliding window protocol Flow control Working mechanism Simulation program目录1 引言11.1滑动窗口协议概述11.2本次设计任务12滑动窗口协议介绍22.1滑动窗口协议工作原理22.2滑动窗口算法23设计方案及分析53.1 窗口机制总体设计及分析53.2协议选择及分析63.3发送方与接收方设计流程64程序测试125总结155.1程序改进与完善155.2设计总结15参考文献16附录17梁碧莹 滑动窗口协议模拟程序的设计与实现 第21页,共21页1 引言随着网络的不断壮大,用户数量、信息量的需求不断增加,网络负荷越

6、来越重。此时,我们迫切需要一种机制来控制网络的流量,减少网络拥堵的几率,提高传输的效率。因此,一种名为滑动窗口的协议应运而生。滑动窗口协议,是TCP使用的一种流量控制方法。该协议允许发送方在停止并等待确认前可以连续发送多个分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输。经测试证明,该协议还能有效地解决TCP的高协议处理开销和UDP的低可靠性之间的矛盾,1.1 滑动窗口协议概述滑动窗口协议也称为Go-Back-N(GBN)协议。在该协议中,允许发送方传输多个分组(当有多个分组时)而不需等待确认,但它也受限于在流水账中未确认的分组数不能超过最大允许数N。只有在接收窗

7、口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。当发送窗口和接收窗口的大小都等于 1时,就是停止等待协议。当发送窗口大于1,接收窗口等于1时,就是回退N步协议。当发送窗口和接收窗口的大小均大于1时,就是选择重发协议。协议中规定,对于窗口内未经确认的分组需要重传。这种分组的数量最多可以等于发送窗口的大小,即滑动窗口的大小n减去1(因为发送窗口不可能大于(n-1),起码接收窗口要大于等于1)。1.2 本次设计任务本次的设计任务是根据滑动窗口协议的工作原理,在Visual C+ 6.0的平台上用C+语言编写一个

8、基于TCP滑动窗口协议的模拟程序。要求该程序能够实现滑动窗口协议的发送和接收数据帧功能,在此功能上体现滑动窗口协议的运作,如:发送帧被接收与否的判断,帧超时重发,帧缓存等。2 滑动窗口协议介绍2.1 滑动窗口协议工作原理TCP协议在工作时,如果发送端的TCP协议软件每传输一个数据分组后,必须等待接收端的确认才能够发送下一个分组,由于网络传输的时延,将有大量时间被用于等待确认,导致传输效率低下。为此TCP在进行数据传输时使用了滑动窗口机制。TCP滑动窗口用来暂存两台计算机间要传送的数据分组。每台运行TCP协议的计算机有两个滑动窗口:一个用于数据发送,另一个用于数据接收。发送端待发数据分组在缓冲区

9、排队等待送出。被滑动窗口框入的分组,是可以在未收到接收确认的情况下最多送出的部分。滑动窗口左端标志X的分组,是已经被接收端确认收到的分组。随着新的确认到来,窗口不断向右滑动。TCP协议软件依靠滑动窗口机制解决传输效率和流量控制问题。它可以在收到确认信息之前发送多个数据分组。这种机制使得网络通信处于忙碌状态,提高了整个网络的吞吐率,它还解决了端到端的通信流量控制问题,允许接收端在拥有容纳足够数据的缓冲之前对传输进行限制。在实际运行中,TCP滑动窗口的大小是可以随时调整的。收发端TCP协议软件在进行分组确认通信时,还交换滑动窗口控制信息,使得双方滑动窗口大小可以根据需要动态变化,达到在提高数据传输

10、效率的同时,防止拥塞的发生。称窗口左边沿向右边沿靠近为窗口合拢,这种现象发生在数据被发送和确认时。当窗口右边沿向右移动时将允许发送更多的数据,称之为窗口张开。这种现象发生在另一端的接收进程读取已经确认的数据并释放了TCP的接收缓存时。当右边沿向左移动时,称为窗口收缩。Host Requirements RFC强烈建议不要使用这种方式。但TCP必须能够在某一端产生这种情况时进行处理。如果左边沿到达右边沿,则称其为一个零窗口。2.2 滑动窗口算法滑动窗口算法工作过程如下:首先,发送方为每1帧赋一个序号(sequence number),记作SeqNum。现在,我们忽略SeqNum是由有限大小的头部

11、字段实现的事实,而假设它能无限增大。发送方维护3个变量:发送窗口大小(send window size),记作SWS,给出发送方能够发送但未确认的帧数的上界;LAR表示最近收到的确认帧(last acknowledgement received)的序号;LFS表示最近发送的帧(last frame sent)的序号,发送方还维持如下的不变式:LAR-LFSSWS。图2-1 滑动窗口算法的时间线当一个确认到达时,发送方向右移动LAR,从而允许发送方发送另一帧。同时,发送方为所发的每个帧设置一个定时器,如果定时器在ACK到达之前超时,则重发此帧。注意:发送方必须存储最多SWS个帧,因为在它们得到确

12、认之前必须准备重发。接收方维护下面3个变量:接收窗口大小(receive window size),记为RWS,给出接收方所能接收的无序帧数目的上界;LAF表示可接收帧(largest acceptable frame)的序号;LFR表示最近收到的帧(last frame rece ived)的序号。接收方也维持如下不变式:LFS-LARSWS图2-2 接收方的滑动窗口当一个具有顺序号SeqNum的帧到达时,接收方采取如下行动:如果SeqNumLFR或SeqNum LAF,那么帧不在接收窗口内,于是被丢弃;如果LFRSeqNumLAF,那么帧在接收窗口内,于是被接收。现在接收方需要决定是否发送

13、一个ACK。设SeqNum To ACK表示未被确认帧的最大序号,则序号小于或等于SeqNum To ACK的帧都已收到。即使已经收到更高序号的分组,接收方仍确认SeqNum To ACK的接收。这种确认被称为是累积的(cumulative)。然后它设置LFA = SeqNum To ACK,并调整LFA = LFR + RWS。LFR图2-3 接收方的滑动窗口窗口协议算法有三个功能:l 在不可靠链路上可靠地传输帧l 保持帧的传输顺序l 支持流量控制3 设计方案及分析3.1 窗口机制总体设计及分析图3-1 发送方和接收方状态示意图设计分析:(1) 初始态,发送方没有帧发出,发送窗口前后沿相重合。接收方0号窗口打开,等待接收0号帧;(2) 发送方打开0号窗口,表示已发出0帧但尚未确认返回信息。此时接收窗口状态不变;(3) 发送方打

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1