当我们超过我们的网络容量时是否会发生网络拥塞?

Does network congestion occur when we exceed our network capacity?

我学习了一个教程,其中提到当我们的网络过载或达到最大网络容量时会发生网络拥塞。在这种情况下,他们将网络容量称为我们的网络带宽(最大吞吐量)。

那么这在理论上意味着如果 VPS 提供商提供无限带宽,那么我们将永远不会出现网络拥塞。这是正确的吗?

Does network congestion occur when we exceed our network capacity?

有一些资格……是的。

一个条件是 TCP 连接(例如)旨在通过实际减速来响应数据包丢失(例如由网络拥塞引起)。实际上,TCP 连接的行为方式往往会减少拥塞……或者至少不会使拥塞变得更糟。

并且(明显的)网络拥塞也可能由于其他原因而发生。例如,它可能是由于路由问题、配置错误、硬件问题、网络的其他用户做坏事、本地 网络之外的问题等引起的。


In this case they referred to network capacity as our network bandwidth (maximum throughput).

旁白:(固定)网络带宽或最大吞吐量的概念过于简单化了。 (或“广告”......阅读细则。)有多种因素会导致特定 网络路径 上的 实际 吞吐量小于规定的(广告的)最大值。例如,如果其他机器甚至您机器上的应用程序正在使用网络,那么它们的行为会影响您的应用程序可用的带宽。

So then this theoretically would mean that if a VPS provider offered unlimited bandwidth then we would never have network congestion. Is this correct?

没有。这是不正确的。

首先,VPS不能提供无限带宽。 物理上不可能。 (他们可能提供无上限带宽1,但这通常意味着“网络允许的速度” .不是无限带宽。)

基本上,您的应用程序和接收数据的应用程序之间的每一位硬件都有限制。这些是物理硬件和复制数据、交换数据包和控制网络基础设施的软件所固有的。

其次,一旦您的网络数据包离开 VPS 的场所,它们就会在整个互联网上受到网络拥塞的影响,一直到您的系统所在的远程服务器或远程用户机器和......说话。那不在 VPS 的控制范围内。


1 - 无上限意味着 VPS 不应将您的虚拟机可用的内容限制为某些预先确定的协议。但是他们的基础设施可能有软件限制;例如阻止计算节点上的一个 VM 占用网络带宽而损害其他客户。检查您的 VPS 协议...