利用滑动窗口实现流量控制
流量控制(flow control)就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞
TCP的传输效率
可以用不同的机制控制TCP报文段的发送时机
①第一种机制是TCP维持一个变量,它等于最大报文长度MSS,只要缓存中存放的数据达到MSS字节时,就组装成一个TCP报文段发送出去
②第二种机制是由发送方的应用进程指明要求发送报文段,即TCP支持的推送(push)操作
③第三种机制是发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段(但长度不能超过MSS)发送出去
糊涂窗口综合征:每次仅发送一个字节或者很少几个字节的数据时,有效数据传输效率变得很低的现象
(1)发送方糊涂窗口综合征
发送方TCP每次接收到一字节的数据后就发送
解决方法:使用Nagle算法
(2)接收方糊涂窗口综合征
原因:接收方应用进程消耗数据太慢
解决方法:让接收方等待一段时间,使得或者接受缓存已有足够空间容纳一个最长的报文段,或者等到接收缓存已有一半空闲的空间。只要出现这两种情况的一种,接收方就发出确认报文,并向发送方通知当前的窗口大小