TCP 慢启动
TCP 慢启动有助于将传输速度提高到网络的能力。它在最初不知道这些能力是什么以及不会造成拥塞的情况下实现这一点。 TCP 慢启动是一种用于检测数据包传输可用带宽并平衡网络连接速度的算法。它可以防止出现最初未知其能力的网络拥塞,并缓慢增加信息扩散量,直到找到网络的最大容量。
为了实现 TCP 慢启动,拥塞窗口 (cwnd) 设置了源在收到确认 (ACK) 之前可以通过网络传输的数据量的上限。慢启动阈值 (ssthresh) 决定慢启动的(去)激活。建立新连接时,cwnd 初始化为一个 TCP 数据或确认数据包,并等待确认或 ACK。收到该 ACK 后,拥塞窗口会递增,直到cwnd大于ssthresh。当出现拥塞时,慢启动也会终止。
拥塞控制
拥塞本身是网络层中发生的一种状态,当消息流量过大时,它会降低网络响应时间。服务器以 TCP 数据包发送数据,然后用户的客户端通过返回确认,或 ACK 来确认交付。连接的容量有限,具体取决于硬件和网络条件。如果服务器发送过多的数据包过快,它们将被丢弃。这意味着将不会有确认。服务器将其注册为丢失的 ACK。拥塞控制算法使用此发送的数据包和 ACK 流来确定发送速率。