为什么发往本地网络上其他计算机的数据包不会耗尽我们的带宽?

为什么发往本地网络上其他计算机的数据包不会耗尽我们的带宽?

在 Unix 或 Linux 计算机上,我们可以运行该iftop命令并监控本地网络上所有其他计算机的数据包。为什么这不会完全耗尽我们连接的带宽?

如果我们有一个 100 Mbs 的连接,并且网络上其他 10 台计算机也有一个 100 Mbs 的连接,那么既然我们的网络适配器始终接收发往其他计算机的所有数据包,为什么我们仍然有可用的带宽?

答案1

在 Unix 或 Linux 计算机上,我们可以运行该iftop命令并监控本地网络上所有其他计算机的数据包。为什么这不会完全耗尽我们连接的带宽?

你的前提是错误的。iftop不“监控我们本地网络上所有其他计算机的数据包”。如官方文件iftop

iftop-显示主机接口的带宽使用情况

另外在描述中;重点是我的:

伊夫托普在指定接口上监听网络流量,或者在它可以找到的第一个接口上看起来像外部接口(如果未指定),并显示主机对当前带宽使用情况的表。

iftop所做的就是显示运行它的机器的网络数据,包括发往特定机器的数据包。但除非iftop从路由器服务器或位于所有网络流量中间的某种设备运行,否则它永远不会显示本地机器网络端口上的流量以外的任何内容。

也就是说,如果您看到来自其他机器的数据包,它们很可能来自通过 ARP 和/或多播广播其存在的设备。通过 Bonjour 或 Avahi 等技术。但这不是大量的数据包,而是来自设备的“我在这里!”公告,这些公告可以帮助您的界面知道这些设备是谁/在哪里。

在某些环境中,ARP 流量和广播会因此被禁用。这不会占用过多的带宽,但持续不断的通告可能会给交换机等设备造成混乱。

答案2

您不会收到本地网络上其他计算机的所有数据包。您只会收到恰巧泄漏到您的连接的数据包。

相关内容