美文网首页
TCP拥塞控制和滑动窗口协议

TCP拥塞控制和滑动窗口协议

作者: CyrusChan | 来源:发表于2018-04-14 20:31 被阅读181次

TCP的拥塞控制

计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。
  拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制。

常用方法

1.慢开始与拥塞避免
2.快重传和快恢复
3.随机早期检测RED
更多内容可以参看这篇文章

滑动窗口

滑动窗口概念不仅存在于数据链路层,也存在于传输层,两者有不同的协议,但基本原理是相近的。其中一个重要区别是,一个是针对于帧的传送,另一个是字节数据的传送。
  滑动窗口(Sliding window)是一种流量控制技术。早期的网络通信中,通信双方不会考虑网络的拥挤情况直接发送数据。由于大家不知道网络拥塞状况,同时发送数据,导致中间节点阻塞掉包,谁也发不了数据,所以就有了滑动窗口机制来解决此问题。

1比特滑动窗口协议

当发送窗口和接收窗口的大小固定为1时,滑动窗口协议退化为停等协议(stop-and-wait)。该协议规定发送方每发送一帧后就要停下来,等待接收方已正确接收的确认(acknowledgement)返回后才能继续发送下一帧。由于接收方需要判断接收到的帧是新发的帧还是重新发送的帧,因此发送方要为每一个帧加一个序号。由于停等协议规定只有一帧完全发送成功后才能发送新的帧,因而只用一比特来编号就够了。

后退n协议

由于停等协议要为每一个帧进行确认后才继续发送下一帧,大大降低了信道利用率,因此又提出了后退n协议。后退n协议中,发送方在发完一个数据帧后,不停下来等待应答帧,而是连续发送若干个数据帧,即使在连续发送过程中收到了接收方发来的应答帧,也可以继续发送。且发送方在每发送完一个数据帧时都要设置超时定时器。只要在所设置的超时时间内仍未收到确认帧,就要重发相应的数据帧。如:当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧。

选择重传协议

在后退n协议中,接收方若发现错误帧就不再接收后续的帧,即使是正确到达的帧,这显然是一种浪费。另一种效率更高的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。这种方法称为选择重发

流量控制

下面来张图看看控制流量的大致原理


滑动窗口-300x215.jpg

TCP的特点之一是提供体积可变的滑动窗口机制,支持端到端的流量控制。TCP连接阶段,双方协商窗口尺寸,同时接收方预留数据缓存区;
  发送方根据协商的结果,发送符合窗口尺寸的数据字节流,并等待对方的确认;
  发送方根据确认信息,改变窗口的尺寸,增加或者减少发送未得到确认的字节流中的字节数。调整过程包括:如果出现发送拥塞,发送窗口缩小为原来的一半,同时将超时重传的时间间隔扩大一倍。
  滑动窗口机制为端到端设备间的数据传输提供了可靠的流量控制机制。然而,它只能在源端设备和目的端设备起作用,当网络中间设备(例如路由器等)发生拥塞时,滑动窗口机制将不起作用。

相关文章

  • TCP/IP 协议(转)

    参考:TCP/IP 协议tcp窗口滑动以及拥塞控制解析TCP之滑动窗口(动画演示)

  • TCP的流量控制与拥塞控制机制

    参考:滑动窗口TCP的流量控制和拥塞控制 1 流量控制 利用滑动窗口机制实施流量控制 TCP协议里窗口机制有2种:...

  • 计算机网络

    TCPIP协议,熟悉的说一说 了解TCP协议(超时重传、流量控制(滑动窗口)、拥塞控制等等) HTTP和HTTPS...

  • 拥塞控制和流量控制

    滑动窗口的解释: 拥塞控制窗口+慢启动+拥塞控制算法=拥塞控制 TCP特性使得每个TCP连接可以得到均等的带宽。在...

  • 基础-TCP可靠传输

    设计可靠 UDP 协议 TCP/IP可靠传输的基础是滑动窗口协议、确认和重传,配合着流量控制和拥塞控制,使得整个过...

  • 细说TCP的可靠传输、流量控制、拥塞控制

    目录 TCP如何实现可靠传输? TCP如何实现流量控制?(滑动窗口) TCP如何实现拥塞控制?(慢开始、拥塞避免、...

  • TCP Tahoe协议

    TCP Tahoe协议是TCP最早的TCP拥塞控制版本,主要包括三个机制用于控制拥塞窗口:慢启动、拥塞避免和快速重...

  • TCP拥塞控制和滑动窗口协议

    TCP的拥塞控制 计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的...

  • 可靠传输的实现 (六)

    TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的...

  • TCP窗口滑动以及拥塞控制

    TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的...

网友评论

      本文标题:TCP拥塞控制和滑动窗口协议

      本文链接:https://www.haomeiwen.com/subject/vaqrkftx.html