计算机网络笔记--TCP流量控制中滑动窗口协议分析
2016-08-19 16:38
525 查看
滑动窗口协议,该协议允许发送方在停止并等待确认前发送多个数据分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输。
TCP协议软件依靠滑动窗口机制解决传输效率和流量控制问题。它可以在收到确认信息之前发送多个数据分组。这种机制使得网络通信处于忙碌状态,提高了整个网络的吞吐率,它还解决了端到端的通信流量控制问题,允许接收端在拥有容纳足够数据的缓冲之前对传输进行限制。在实际运行中,TCP滑动窗口的大小是可以随时调整的。收发端TCP协议软件在进行分组确认通信时,还交换滑动窗口控制信息,使得双方滑动窗口大小可以根据需要动态变化,达到在提高数据传输效率的同时,防止拥塞的发生。称窗口左边沿向右边沿靠近为窗口合拢,这种现象发生在数据被发送和确认时。
当窗口右边沿向右移动时将允许发送更多的数据,称之为窗口张开。这种现象发生在另一端的接收进程读取已经确认的数据并释放了TCP的接收缓存时。
当右边沿向左移动时,称为窗口收缩。强烈建议不要使用这种方式。但TCP必须能够在某一端产生这种情况时进行处理。
如下图所示:
发送和接受方都会维护一个数据帧的序列,这个序列被称作窗口。发送方的窗口大小由接受方确定,目的在于控制发送速度,以免接受方的缓存不够大,而导致溢出,同时控制流量也可以避免网络拥塞。上面图中的4,5,6号数据帧已经被发送出去,但是未收到关联的ACK,7,8,9帧则是等待发送。可以看出发送端的窗口大小为6,这是由接受端告知的(事实上必须考虑拥塞窗口cwnd,这里暂且考虑cwnd>rwnd)。此时如果发送端收到4号ACK,则窗口的左边缘向右收缩,窗口的右边缘则向右扩展,此时窗口就向前“滑动了”,即数据帧10此时也可以被发送。
自己理解有两点:1. “窗口”对应的是一段可以被发送者发送的字节序列缓冲区,其连续的范围称之为“窗口”;2. “滑动”则是指这段“允许发送的范围”是可以随着发送的过程而变化的,方式就是按顺序“滑动”。
TCP协议软件依靠滑动窗口机制解决传输效率和流量控制问题。它可以在收到确认信息之前发送多个数据分组。这种机制使得网络通信处于忙碌状态,提高了整个网络的吞吐率,它还解决了端到端的通信流量控制问题,允许接收端在拥有容纳足够数据的缓冲之前对传输进行限制。在实际运行中,TCP滑动窗口的大小是可以随时调整的。收发端TCP协议软件在进行分组确认通信时,还交换滑动窗口控制信息,使得双方滑动窗口大小可以根据需要动态变化,达到在提高数据传输效率的同时,防止拥塞的发生。称窗口左边沿向右边沿靠近为窗口合拢,这种现象发生在数据被发送和确认时。
当窗口右边沿向右移动时将允许发送更多的数据,称之为窗口张开。这种现象发生在另一端的接收进程读取已经确认的数据并释放了TCP的接收缓存时。
当右边沿向左移动时,称为窗口收缩。强烈建议不要使用这种方式。但TCP必须能够在某一端产生这种情况时进行处理。
如下图所示:
发送和接受方都会维护一个数据帧的序列,这个序列被称作窗口。发送方的窗口大小由接受方确定,目的在于控制发送速度,以免接受方的缓存不够大,而导致溢出,同时控制流量也可以避免网络拥塞。上面图中的4,5,6号数据帧已经被发送出去,但是未收到关联的ACK,7,8,9帧则是等待发送。可以看出发送端的窗口大小为6,这是由接受端告知的(事实上必须考虑拥塞窗口cwnd,这里暂且考虑cwnd>rwnd)。此时如果发送端收到4号ACK,则窗口的左边缘向右收缩,窗口的右边缘则向右扩展,此时窗口就向前“滑动了”,即数据帧10此时也可以被发送。
自己理解有两点:1. “窗口”对应的是一段可以被发送者发送的字节序列缓冲区,其连续的范围称之为“窗口”;2. “滑动”则是指这段“允许发送的范围”是可以随着发送的过程而变化的,方式就是按顺序“滑动”。
相关文章推荐
- 计算机网络笔记--拥塞控制和流量控制区别分析
- 【计算机网络-4】 【第三章】数据链路层笔记1——组帧、差错控制、流量控制
- 计算机网络笔记:TCP链接关闭过程分析
- 计算机网络笔记--TCP三次握手与四次挥手过程状态分析
- 计算机网络-TCP协议三次握手过程分析
- TCP/IP之TCP协议(3):流量控制(滑动窗口协议)
- 网络协议系列之五:TCP流量控制
- TCP/IP笔记 三.运输层(2)——TCP 流量控制与拥塞控制
- TCP/IP之TCP协议(3):流量控制(滑动窗口协议)
- 计算机网络(10)-----TCP的拥塞控制
- 应聘复习基础笔记1:网络编程之TCP与UDP的优缺点,TCP三次握手、四次挥手、传输窗口控制、存在问题
- TCP协议的滑动窗口协议以及流量控制
- 深入理解计算机网络学习笔记--TCP
- TCP/IP之TCP协议(3):流量控制(滑动窗口协议)
- 面试之路(29)-TCP流量控制和拥塞控制-滑动窗口协议详解
- Internet控制协议(计算机网络学习笔记)
- TCP流量控制:滑动窗口协议
- TCP/IP之TCP协议——流量控制(滑动窗口协议)
- 【网络协议】TCP的流量控制机制
- TCP/IP笔记 三.运输层(2)——TCP 流量控制与拥塞控制