服务时间:8:30-18:00

首页 >华为认证网

TCP滑动窗口

发布时间:2023-03-05 23:29 字数:734字 阅读:54

TCP滑动窗口,TCP窗口机制有两种:一种是通告窗口,另一种是拥塞窗口。通告窗口是数据接收者通告给发送者自己现在能够缓存和处理数据量的大小,通告窗口的大小是可变的,这和接收者当前的处理能力有关,如果接收者当前处理能力比较强,接收者会将通告窗口调大并告知发送者,发送者就会增大数据发送量。

如果接收者当前处理能力比较弱,接收者会将通告窗口大小调小并告知发送者,发送者就会减小数据发送量,这种调整通告窗口大小的机制称为滑动窗口。而拥塞窗口用于控制数据的发送速率,TCP数据发送方式采用慢启动方式,每次发送的数据量大小按2的n次方的方式线性增长。

在持续增长过程中,如果网络出现拥塞并造成TCP数据段丢失,拥塞窗口大小会降为当前值的1/2,将TCP发送数据的速率降为之前的1/2,避免网络拥塞导致的TCP重传,发送数据的速率降为1/2后再次执行慢启动的增长方式。图1展示了滑动窗口工作原理。

滑动窗口工作原理

图1 滑动窗口工作原理

在图1中,主机A为数据发送者,主机B为数据接收者。主机B通告给主机A的窗口大小为3,标识现在自己可以缓存和处理3个数据段,主机A收到主机B通告的窗口大小后会按窗口的大小给主机B发送数据,一次性给主机B发送了3个数据段,之后便不再发送。

因为主机A知道主机B只能处理3个,所以发送3个数据段后便不再发送,等待主机B的确认。

当主机B收到数据段后,将数据段放入到缓存中等待处理,主机B在回复ACK报文时只处理了缓存中的一个数据段,所以主机B在回复的ACK报文中将窗口大小调小,调整为1。

当主机A收到主机B发送的确认ACK报文后,获知接收者的窗口大小为1,说明现在接收者只能处理1个数据段,后续主机A只向主机B发送一个数据段后便不再发送,等待主机B的确认。

  • 上一篇TCP的确认与重传