欢迎光临
我们一直在努力

TCP滑动窗口原理,tcp滑窗机制

TCP 滑动窗口
滑动窗口分为接受窗口发送窗口
滑动窗口协议是传输层进行流控的一种措施,接收方告诉发送方自己窗口的大小,从而控制发送方的发送速度,

ACK是收到数据后,接收方给发送方的一个确认ACK,它包含了两个重要的信息;

期望接受到的下一个字节的序号n,代表接收方已经接受到n-1字节的数据,如果之后发送方发送的不是序号为n的字节数据,接收方不会返回后续的序号的。当前窗口的大小m,通过这两个数据,发送方就能计算出还可以发送多少数据给对方,假设当前发送第X字节:
x-n。窗口中已经有的
m-(x-n) 还能发送的字节数
因此: y = m – ( x – n )

在一个TCP的段中,可以看到如下信息

window字段就是窗口字段,是一个16bit的字段,代表窗口字节容量,也就是说窗口最大数据为2^16 – 1 = 65535

滑动窗口原理
在发送方,所有发送缓存内数据可以分为以下4种:

已经发送并且得到对面ACK的(send and acknowledged)已经发送并且未得到对面ACK的 (send but not acknowledged)未发送但是得到对面允许的(not send recipient ready to receive)为发送并且对方不允许的 (not sent recipient not ready to receive)

当接收方新的ACK到达发送方,发送方的发送窗口就开始移动
香港vps

对于接收方来说,某一时刻缓存内的数据也分为以下三种:

已接受未接受准备接受未接受并且并不准备接受

话说这个滑动窗口的特性,想不想小学时候的水池放水进水的问题??

发送窗口与接收窗口关系
接受窗口大小取决于硬件,引用
发送窗口取决于接受接口

46403291

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。