为什么我们需要在 TCP/IP 模型中的传输层和网络层都进行拥塞控制。难道我们不能只控制其中一层就足够好了吗?它们有何不同?
TCP/IP 中传输层和网络层的拥塞控制
网络工程
tcp
联网
传输协议
拥塞
2022-02-10 10:58:47
2个回答
这两种方法的用途略有不同。正如@Zac67 指出的那样,并非所有传输协议都具有流控制,因此将它放在 IP 层更有意义。
如果没有 ECN,路由器发出拥塞信号的唯一方法就是丢弃数据包。IP 数据包中的 ECN 位使路由器可以在不必丢弃数据包的情况下发出拥塞信号,从而提高效率。路由器也更容易修改 IP 数据包,而无需检查它可能不知道的更高层协议。
ECN 实际上是一个二进制指示——有拥塞,或者没有。TCP 流量控制更具可变性,允许发送方和接收方调整流量以获得最佳效率。
TCP 可以根据 ECN 修改其窗口大小。不同的操作系统处理它的方式不同。
ECN 没有被广泛使用,大多数操作系统默认禁用它。
维基百科有一篇很好的文章。
有些传输层协议有拥塞控制(如 TCP),有些则没有(如 UDP)。IP的网络层也不关心拥塞。
其它你可能感兴趣的问题