【转】【技术】TCP 的固定窗口和滑动窗口

固定窗口

● TCP 还提供了流量控制机制。流量控制能够调整给定会话中源和目的之间的 数据流速,有助于保持 TCP 传输的可靠性。流量控制的实施方法包括限制 一次能够转发的数据段数量,并要求在发送更多数据段以前确认接收。 网络

● 要实施流量控制,TCP 要肯定的第一件事是目的设备能够接受的数据段数量。 spa

TCP 报头包括一个称为“窗口大小”的 16 位字段。这是 TCP 会话的目的设 备一次能够接受和处理的字节数。 code

经过源和目标之间的三次握手,会话开始 时便可肯定初始窗口大小。blog

一旦赞成,源设备必须根据窗口大小限制发送到 目的设备的数据段数量。只有源设备收到数据段已接收的确认以后,才能继 续发送更多会话数据。内存

● 在接收确认的延迟过程当中,发送方丌会发送任何额外数据段。若是网络拥堵, 或者接收主机资源紧张,延迟时间可能就更长。延迟时间越长,该会话过程 的有效传输速率越低, 当运行多个会话时,减缓每一个会话的数据传输有助于 减小网络和目的设备上的资源冲突。资源

请参看上图中对窗口大小和确认消息的简易展现。在本例中,TCP 会话的初 始窗口大小为 3000 字节。此会话的发送方在传输 3000 字节后等待这些数 据的确认消息,以便继续传输更多数据段。一旦发送方收到接收方发送的确 认消息,它就能够传输另外 3000 字节的数据段。rem

● TCP 使用窗口大小尝试管理传输速率,将其调整为网络和目的设备能够支持 的最大速度,同时最大限度减小损失和从新传输。get

TCP滑动窗口

● 咱们也能够经过动态窗口大小来控制数据流量。当网络资源受到限制时,TCP  能够减少窗口的大小,这样,目的主机就须要更加频繁地确认所接收的数据段。因为源主机须要更加频繁地等待数据确认,这即可以大大下降传输的速率。it

● 接收主机将窗口大小值发送到发送主机,表示其准备接收的字节数。若是目 的主机因为缓冲内存受限须要下降通讯速率,那么它向源主机发送的确认信息 中能够包含一个较小的窗口大小值。class

● 如图所示,若是接收主机发生拥堵,它能够向发送主机发送指定了较小窗口大 小的数据段。图中显示,其中一个数据段丢失了。接收方将返回数据段的 TCP 报头中的窗口字段值由 3,000 减为 1,500,即将窗口大小改成 1,500。

● 在没有数据丢失或资源限制的状况下传输一段时间后,接收方开始增长窗口字 段,这样能够减小网络开销,由于必须发送的确认减小。窗口大小持续增长, 直至出现数据丢失,而后窗口大小随之减小。

● 窗口大小的这种动态增减是 TCP 中的一个持续丌断的过程。在高效网络中, 因为丢失数据,窗口可能会至关大。在基层基础设施面临压力的网络中,窗口可能会很小。

文章转自:微思网络
原文地址:https://mp.weixin.qq.com/s/We...

相关文章
相关标签/搜索