Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1438|回复: 1

滑动窗口

[复制链接]

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
发表于 2019-1-23 16:02:53 | 显示全部楼层 |阅读模式
window2.png window1.png


http://computerscience.unicam.it ... col/selRepProt.html



http://www.ccs-labs.org/teaching/rn/animations/gbn_sr/

window3.png


滑动窗口 限流



TCP滑动窗口和socket缓冲区之间的关系
一、TCP的滑动窗口大小实际上就是socket的接收缓冲区大小的字节数
二、对于server端的socket一定要在listen之前设置缓冲区大小,因为,accept时新产生的socket会继承监听socket的缓冲区大小。对于client端的socket一定要在connet之前设置缓冲区大小,因为connet时需要进行三次握手过程,会通知对方自己的窗口大小。在connet之后再设置缓冲区,已经没有什么意义。
三、由于缓冲区大小在TCP头部只有16位来表示,所以它的最大值是65536,但是对于一些情况来说需要使用更大的滑动窗口,这时候就要使用扩展的滑动窗口,如光纤高速通信网络,或者是卫星长连接网络,需要窗口尽可能的大。这时会使用扩展的32位的滑动窗口大小。

回复

使用道具 举报

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
 楼主| 发表于 2019-1-23 18:22:40 | 显示全部楼层
https://blog.csdn.net/iteye_4972/article/details/82676112

它包括停止等待ARQ协议和连续ARQ协议,错误侦测(Error Detection)、正面确认(Positive Acknowledgment)、逾时重传(Retransmission after Timeout)与负面确认继以重传(Negative Acknowledgment and Retransmission)等机制。



如果在协议中,发送方在准备下一个数据项目之前先等待一个肯定的确认,则这样的协议称为PAR(Positive Acknowledgement with Retransmission,支持重传的肯定确认协议)或者ARQ(Automatic Repeat Request,自动重复请求协议)。
自动重传请求(Automatic Repeat Request),通过接收方请求发送方重传出错的数据报文来恢复出错的报文,是通信中用于处理信道所带来差错的方法之一,有时也被称为后向纠错(Backward Error Correction,BEC);另外一个方法是信道纠错编码。
传统自动重传请求分成为三种,即停等式(stop-and-wait)ARQ,回退n帧(go-back-n)ARQ,以及选择性重传(selective repeat)ARQ。后两种协议是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大时,帧在线路上可以连续地流动,因此又称其为连续ARQ协议。三者的区别在于对于出错的数据报文的处理机制不同。三种ARQ协议中,复杂性递增,效率也递增。除了传统的ARQ,还有混合ARQ(Hybrid-ARQ)。
停等式ARQ
在停等式ARQ中,数据报文发送完成之后,发送方等待接收方的状态报告,如果状态报告报文发送成功,发送后续的数据报文,否则重传该报文。
停等式ARQ,发送窗口和接收窗口大小均为1,发送方每发送一帧之后就必须停下来等待接收方的确认返回,仅当接收方确认正确接收后再继续发送下一帧。该方法所需要的缓冲存储空间最小,缺点是信道效率很低。
回退n帧的ARQ
发信侧不用等待收信侧的应答,持续的发送多个帧,假如发现已发送的帧中有错误发生,那么从那个发生错误的帧开始及其之后所有的帧全部再重新发送。
特点:(GDN)复杂度低,但是不必要的帧会再重发,所以大幅度范围内使用的话效率是不高的
例:如果序列号有K bits,那么这个ARQ的协议大小为:2^k-1。
选择性重传ARQ
发信侧不用等待收信侧的应答,持续的发送多个帧,假如发现已发送的帧中有错误发生,那么发信侧将只重新发送那个发生错误的帧。
特点:相对于GDN 复杂度高,但是不需要发送没必要的帧,所以效率高。
例:如果序列号有K bits,那么这个ARQ的协议大小为:2^(k-1)。
混合ARQ
在混合ARQ中,数据报文传送到接收方之后,即使出错也不会被丢弃。接收方指示发送方重传出错报文的部分或者全部信息,将再次收到的报文信息与上次收到的报文信息进行合并,以恢复报文信息。
应用
编辑
在现代的无线通信中,ARQ主要应用在无线链路层。比如,在WCDMA和cdma2000无线通信中都采用了选择性重传ARQ和混合ARQ。
优缺点
编辑
优点:比较简单 。因而被广泛的应用在分组交换网络中。
缺点:1.通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。2.是需要接收方发送ACK,这样增加了网络的负担也影响了传输速度。重复发送数据包来纠正错误的方法也严重的影响了它的传输速度。



回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-3-28 21:58 , Processed in 0.060687 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表