【Network】5.4 TCP的流量控制
5.4 TCP的流量控制
- RWND (Receiver Window) 滑动窗口,rwnd字段数值代表窗口大小
- CWND(Congestion Window)拥塞窗口
- ACK(Acknowledge character),即确认字符,ack字段数值代表在该数值前的数据都已经被确认过。
TCP的流量控制的目的
所谓流量控制就是在考虑到接收方在来不及接收所有分组的情况下会选择丢失部分分组的策略,于是将发送方发送的速率进行约束,使得接收方能够来得及接收。
TCP的流量控制
打个比方,主机A向主机B不断投食,主机B通过自己的饱胀程度来告诉主机A下一次投食的量,以至不会吃太撑。
死锁局面
如何感性理解死锁?
打个比方,就比如古时皇帝向前线发送一条指令,而这条指令却被半路拦截了,导致前线无法得到指令来做出下一步的动作,而皇帝也在等待前线传来的战况。此时双方的等待使得双方都陷入到无法破局的局面(死锁)。
如何打破死锁局面?
那么发送方和接收方其中有一者就要做出让步,向另外一方定时询问(持续),是否真的不要让我再发东西了(零窗口探测报文),然后接收方给发送方回复(rwnd)。
而如果零窗口探测报文又在传输过程中丢失了,那又该怎么办?
不用担心,零窗口探测报文也有定时重传的设置。