UDP 缺乏拥塞控制是否会阻塞 Internet?

网络工程 互联网 UDP 速度 拥塞
2022-02-03 00:13:39

我正在阅读Computer Networking: A Top-Down Approach,据我了解,UDP 没有像 TCP 那样广泛采用的拥塞控制机制。考虑到即将到来的 HTTP/3是基于 UDP的,这对整个 Internet 来说不是一个问题吗?

我找到了 DCCP,但它并没有被广泛采用

而且我知道拥塞控制可以在应用层实现,但是如果没有人需要,为什么个人会选择这样做呢?如果每个人都这样做,拥塞控制似乎对每个人都有好处。但这不是必需的,如果其他人不关心拥塞控制,因为他们只想要最高速度,似乎少数人自己做只会导致他们的应用程序变慢而对 Internet 没有任何明显的好处为他们自己……这导致所有人的互联网速度变慢。这似乎会成为一个问题,因为 UDP 将在未来得到更广泛的使用。

我对这件事的理解不正确吗?

1个回答

UDP 是不可靠的,没有任何保证。如果您使用 UDP 并且想要可靠性或保证,那么您必须在应用程序或应用层协议中添加任何可靠性或保证。

诸如 VoIP 或视频之类的实时协议不希望重新发送丢失的数据,因为它会在有用后到达。此类应用程序和协议旨在处理丢失的数据(在某种程度上在出错或超时之前)。如果你可以在终端主机上缓冲(非实时),你可以使用 TCP,因为有缓冲,也就是完成了多少视频。


编辑

TCP 拥塞控制完全由发送方根据它必须重新发送数据的事实来确定和处理。增加应用程序或应用程序层协议的可靠性也可以用于拥塞控制,就像 TCP 一样,或者以其他方式。例如,QUIC(UDP 之上的应用层协议)具有流量控制,其目的是改善拥塞控制并添加 FEC 之类的东西。


不幸的是,在我们迁移到 IPv6 之前,由于 NAPT,我们只能使用 TCP 和 UDP。NAPT 不支持其他协议,例如 DCCP 或 SCTP 或其他未来的协议。