TCP传输协议如何进行流量控制?

  • 时间:
  • 浏览:4

E、数据接收端一旦发现个人的缓冲区快满了,就会将窗口大小设置成有有两个 更小的值通知给数据传输端,数据传输端收到这些值后,就会减慢个人的发送下行速率 。

TCP报文段发送时机的选泽

1、TCP维持有有两个 变量,它等于最大报文段长度MSS,假使 缓存中存放的数据达到MSS字节就组装成有有两个 TCP报文段发送出去。

C、窗口大小指的是很多再等候确认应答而需要继续发送数据的最大值,即可是我我说需要数据接收端的应答,需要一次连续的发送数据。

我们我们我们需要把窗口理解为缓冲区(已经 很多窗口和缓冲区又不太一样)。

A、数据接收端窗口 X

接收端缓冲区大小。接收端将此窗口值倒进 TCP 报文的首部中的窗口字段,传送给发送端。

由于没哪些地方地方地方“窗口”,那么TCP每发送一段数据后都需要等到数据接收端确认可不可以够发送下一段数据,那我做说说TCP传输的下行速率 确实是太低了。

F、由于数据接收端发现个人的缓冲区满了,就会将窗口大小设置为0,此时数据传输端不再传输数据,已经 需要在定期发送有有两个 窗口探测数据段,使数据接收端把窗口大小告诉数据传输端。

PS:在TCP的首部,有有两个多 16为窗口字段,此字段可是我我用来存放窗口大小信息的。

A、数据接收端将个人需要接受的缓冲区大小倒进TCP首部中“窗口大小”字段,通过ACK来通知数据传输端。

滑动窗口引进原由:

数据传输窗口在连接建立时由双方商定。但在通信的过程中,数据接收端可根据个人的资源具体情况,随时动态地调整对方的传输窗口大小。滑动窗口实例图如下图所示:

3、是发送方的有有两个 计时器期限到了,这时就把当前已有的缓存数据倒进报文段发送出去。

滑动窗口:

数据传输端已发送了 80 字节的数据,但只收到对前 80 字节数据的确认,一同窗口大小不变。还可发送 80 字节。

数据传输端收到了对方对前 80 字节数据的确认,但对方通知数据传输端需要把窗口减小到 80 字节。现在数据传输端最多还可发送 80 字节的数据。

B、拥塞窗口 Y

发送端缓冲区大小

滑动窗口需掌握的知识点:

滑动窗口:

C、数据传输窗口 Z

发送窗口的上限值 = Min [X, Y]

① 当 X < Y 时,是接收端的接收能力限制数据传输窗口的最大值。

② 当 Y < X 时,则是网络的拥塞限制数据传输窗口的最大值。

D、操作系统内核为了维护滑动窗口,需要开辟发送缓冲区,来记录当前还哪些地方地方数据那么应答,只有确认应答过的数据,能够从缓冲区删除。PS:发送缓冲区由于很多,会有空间开销。

滑动窗口实例介绍:

处理的土妙招 可是我我在发送端等候确认的已经 继续发送数据,假设发送到第X个数据段是收到数据接收端的确认信息,由于X在可接受的范围内那么那我做也是可接受的。这可是我我窗口(缓冲区)引入的缘由。

TCP流量控制,简单来说可是我我让数据传输端传输的下行速率 暂且那么快,让数据接收端来得及接收,利用滑动窗口机制需要很方便的在TCP连接上实现对数据传输端的流量控制。TCP的窗口单位是字节,与非 报文段,数据传输端的发送窗口只有超过接收端给出的接收窗口的数值,流量控制的机制是控制丢包率,主要目的:让数据传输端了解数据接收端当前的接收能力,可灵活调整传输下行速率 。流量控制机制图如下图所示:

B、窗口大小字段越大,说明网络的吞吐率越高

TCP采用大小可变的滑动窗口进行流量控制,窗口大小的单位是字节。

2、由发送方的应用多线程 指明要求发送报文段,即TCP支持的推送操作。