网络拥塞控制中存在哪些问题,TCP/IP是如何处理的?
网络层中的拥塞主要涉及两个问题:吞吐量和延迟。
基于延迟
如果网络负载低于网络容量,则延迟最小。
这里的最小延迟由传播延迟和处理延迟组成,两者都可以忽略不计。
因此,当负载达到网络容量时,延迟会增加,因为我们必须将排队延迟添加到总延迟中。
当负载大于容量时,延迟变得无限大。
基于吞吐量
当负载低于网络容量时,吞吐量与负载成正比增加。
负载达到容量后,我们预计吞吐量将保持恒定,但实际上吞吐量会急剧下降。
其原因是路由器丢弃了数据包。
当发送方和接收方在网络中通过数据包相互通信时,如果发送方向网络发送过多的数据包,这种情况称为拥塞。
在拥塞期间,流量无法得到正确处理。这会导致服务质量下降。拥塞的症状包括过多的数据包延迟、数据包丢失和重传。
TCP 拥塞处理
传输控制协议 (TCP) 拥塞控制技术可以防止拥塞。TCP 使用在发送方维护的拥塞窗口。对于每个 TCP 会话,都会维护一个单独的拥塞窗口。此拥塞窗口表示可以在不进行确认的情况下发送到网络中的最大数据量。
最初,拥塞窗口设置为一个最大报文段大小。收到每个 ACK 数据包后,发送方将拥塞窗口大小增加一个 MSS(最大报文段大小)。
此处使用的公式为:
Congestion window size = congestion window size + MSS.
此阶段称为慢启动机制,当达到慢启动阈值时,TCP 从慢启动阶段切换到拥塞避免阶段。
现在公式更改为以下内容 -
Congestion window size=congestion window size + MSS/congestion window size.
当 TCP 检测到任何数据包丢失时,则:
Congestion window size=congestion window size -1
通过这种方式,TCP 处理拥塞。
广告