网络中与 TCP 相关的问题和解决方案是什么?

与传输控制协议(TCP)相关的一些问题和解决方案如下 -

  • 傻窗综合症。

  • 拥塞窗口管理。

傻窗综合症

这是 TCP 流量控制中出现的问题。在这种情况下,发送方窗口大小缩小到一个极低的值,因为每次旅行中发送的数据甚至小于 TCP 标头。由于该 TCP 协议变得非常低效。

原因

傻窗综合症的发生主要有两个原因,如下所示 -

  • 需要发送数据的应用程序会一次又一次地产生少量数据(1 个字节),并且 TCP 协议的实现方式是它在收到数据后立即发送。

解决方案是在发送端保留一个缓冲区,并在生成数据时将数据存储在其中,在生成足够的数据或达到时间限制(通常是往返时间)后,将发送下一个数据包。这称为 Nagle 算法。

  • 另一个原因可能是接收方可以处理非常少量的数据,因此继续向发送方发送更新以减小窗口大小。

对此的解决方案是接收方不应该向发送方发送更新以将窗口大小减小到某个限制之外。它必须等待一段时间,直到它有足够的空间,然后发送窗口大小的更新。这称为克拉克算法。

拥塞窗口管理

这是一种根据网络流量更改发送方窗口大小的方法。在这种情况下,窗口大小最初设置为 1,然后根据以下阶段增加 -

第一阶段慢启动

在这个阶段,窗口的大小呈指数增长,即每个 RTT 窗口大小加倍。这个阶段一直持续到达到阈值窗口大小。

第 2 阶段拥塞避免

在这个阶段,窗口大小相加地增加,即对于每个 RTT,窗口大小增加 1。它一直持续到发现拥塞。

第 3 阶段拥塞检测

它发生在检测到拥塞时,即重新发送数据包。这可能是由于下面给出的两个原因之一 -

  • 超时- 在这种情况下,阈值减小到当前窗口大小的一半,窗口大小减小到 1,然后再次开始阶段 1。

  • 确认重复- 在这种情况下,阈值减小到当前窗口大小的一半,窗口大小减小到阈值,然后再次开始阶段 2。