毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
C#滑动窗口协议的软件设计与实现(2)
1.1 滑动窗口协议的概述
在滑动窗口协议中,允许发送方发送多个分组(当分组有多个时)而不需要等待确认,但它也受限于在流水账中未确认的分组数不能超过最大允许数N。只有在接收窗口向前滑动时(此时也发送了确认信息),发送窗口才可能向前滑动。收发两端的窗口在工作时按上述规律不断地向前滑动,因此该协议又称为滑动窗口协议。
1.2 滑动窗口协议的分类
滑动窗口协议分为三类:当发送窗口和接收窗口的大小都等于 1时,称为停等协议(stop-and-wait),也叫1比特滑动窗口协议;当发送窗口大于1,接收窗口等于1时,就是回退N步协议。当发送窗口和接收窗口的大小均大于1时,就是选择重发协议。
1.2.1 停等协议
发送方这时自然发送并且每次只能发送一个,而且必须等待这个数据包的ACK,才能发送下一个。虽然效率很低,带宽利用率也较低,不过在网络环境差,或者是带宽本身很低的情况下还是适用的。
具体的流程图如下图1:
图1 发送方与接收方设计流程
1.2.2 回退N步协议
停等协议虽然简单,也能较好的适用于恶劣的网络环境,但是效率十分地。所以有了回退N步协议,这也是滑动窗口协议的真正用处。这里发送的窗口大写为N,接收方的窗口仍然为1.具体看下面的图2,这里假设N=9:
图2 回退N步协议
首先发送方一口气发送10个数据帧,前面两个帧正确返回,数据帧2出现错误,这时发送方被迫重新发送2到8这7个帧,接收方也必须丢弃之前收到的3到8这几个帧。
回退N步协议的好处无疑是提高了传输效率,可是一旦网络情况糟糕,则会导致大量数据重新发送,这反而极大的降低了效率,而实际上这却是很常见的,具体可以参考TCP拥塞控制。
1.2.3 选择重发协议
回退N步协议的问题在于当有错误帧出现后,总是要重发该帧之后的所有帧,毫无疑问其在网络不好的情况下会进一步恶化网络状况,选择重发协议便是用来解决这个问题。原理也很简单,接收端总会缓存所有受到的帧,当某个帧出现错误时,只会要求重发这一个帧,只有当这个序号后的所有的帧都正确收到后,才会一起提交给高层应用。选择重发协议的缺点在于接收端需大量的缓存。
图3 选择重发协议
选择重发协议的大致原理如上图3。发送方发送帧,0、1号下届帧被接收方正常接收,当2号帧丢失后,接收方任然将发送方发送来的3~8号帧暂时存入缓冲区;发送方发送8号帧后,发送方还没有接收到2号帧的ACK,发送方重新发送2号帧;再当接收方接收到2号帧时,将2~8号帧交网络层窗口滚动7格,之后正常接收9、10……号帧。
1.3 本次设计的任务
在Visual Studio 2010开发环境下,使用C#程序设计语言,利用控制台应用程序模拟出滑动窗口的发送、接收信号,再转化为Windows窗体应用程序模拟。掌握TCP滑动窗口协议的工作原理,熟练使用C#程序设计语言,模拟滑动窗口协议的工作过程。
2 滑动窗口协议介绍
2.1 滑动窗口协议工作原理
TCP协议在工作时,如发送端的TCP协议应用程序每传输一个数据分组后,必须等待接收端的确认后才能够发送下一个分组,由于网络传输伴有时延性,会有大量的时间被用于等待确认,导致传输效率低。因此TCP在进行数据传输时使用滑动窗口机制。
TCP滑动窗口用来暂时存储两台
计算机
间所要传送的数据分组。每台运行TCP协议的计算机都有两个滑动窗口:一个用于数据发送,即发送端;另一个用于数据接收,即接收端。发送端待发送的数据分组在缓冲区排队等待发送。被滑动窗口框入的数据分组,是可以在未收到接收确认之前最多送出的部分。滑动窗口左端的分组,是已经被接收端确认收到的分组。随着新确认的到来,窗口会不断向右滑动。
共8页:
上一页
1
2
3
4
5
6
7
8
下一页
上一篇:
VC++opencv静止背景下运动视频对象的分割
下一篇:
Matlab视频序列中的目标跟踪技术研究
Android邮件通信协议的研究与应用
流控制传輸协议SCTP的分析与研究【1047字】
J2ME平台的SOAP协议研究与應用【2420字】
使用http协议和winsockapi实现...
IPV6协议的网络安全机制【1475字】
基于Internet的远程控制协议的设计与实现
JAVA远程控制协议设计与实现
AES算法GPU协处理下分组加...
酵母菌发酵生产天然香料...
STC89C52单片机NRF24L01的无线病房呼叫系统设计
从政策角度谈黑龙江對俄...
上海居民的社会参与研究
压疮高危人群的标准化中...
提高教育质量,构建大學生...
基于Joomla平台的计算机学院网站设计与开发
浅论职工思想政治工作茬...
浅谈高校行政管理人员的...