当只使用集线器连接设备时,我们真的需要ARP吗?

网络工程 arp
2021-07-08 08:20:29

在只使用集线器连接设备的情况下,我们需要ARP吗?

数据包将转发到每个设备。因此,当目的 IP 与设备 IP 不匹配的数据包时,将被丢弃。

在这种情况下,我认为生成 ARP 流量效率不高。

我错过了什么吗?

4个回答

当 IP 使用基于 MAC 的 L2 进行本地传输时,L2 传输需要被告知目标节点。为此,需要将下一跳 IP 地址转换为 MAC 地址。对于 IPv4,这是 ARP 的功能。

在最初的以太网方案中(通过电气或逻辑总线),网络上的所有节点物理上都收到了 L2 帧,但除了目的地之外的每个节点都丢弃了它。今天,交换机使用 L2 目标地址进行直接数据包交换以提高效率。实际上,它们在省略无关副本的同时完成集线器(或中继器)的工作。

跳过 ARP 和随后的 L2 寻址将需要 NIC 理解 IP 以丢弃不需要的数据包(或操作系统堆栈来处理所有这些)。此外,交换机还需要了解 IP 才能有效工作——IP 比以太网复杂得多(这就是为什么路由器过去比交换机贵得多且性能低得多的原因),因此您的网络集中器的成本会更高。(这在今天可能不是真的,但很长一段时间都是如此。)

请注意,当以太网被发明时,IPv4 甚至不存在(在实验室之外),而 IPv6 在遥远的未来。利用现有的基础设施和技术取决于 IP。

目标 MAC 地址具有三个功能。

  1. 它允许交换机限制帧的分布。
  2. 它允许网卡过滤掉硬件中不需要的帧。
  3. 它确保单播帧仅由一台主机/路由器接收和处理,从而防止数据包重复。

我相信您可以破解 TCP/IP 堆栈以删除 arp 并为所有内容使用单个 MAC 地址,并且您可以使其在只有集线器而没有交换机或路由器的本地网络上工作。为什么有人会想要这样做,我不知道。

是的,您错过了硬件(基于 MAC)过滤与软件(基于 IP 地址)过滤的有效性。

不同意其他答案的一句话,但值得知道的是,某些 IP 网络实际上是这样设计的。

它相当小众,但在至少一个特定于应用程序的网络世界中,Always-Broadcast 是常用的网络形式:采用 Art Net 协议的专业剧院照明。

通常的设计是:

  • 该网络是一个单独的隔离 LAN。
  • 通常使用交换机而不是集线器。
  • 单个照明台发送 Art Net 数据包,这些数据包描述了各种照明设备的调光状态(以及它们指向的位置、焦点、过滤器设置以及您可以在设备上控制的任何其他内容)。
  • 所有传输的数据包都作为 UDP 广播发送,通常发送到 255.255.255.255。
  • 每个输出设备只知道它是什么“宇宙”(第 4 层地址)。
  • 一个或多个 Art Net 输出单元被动收听。
  • 然后输出单元通过 DMX-512(通过 RS-485 的普通协议)传输照明控制值。
  • 每个输出“宇宙”驱动 512 个 8 位通道(RGB 灯将是三个通道)。通常只有一个宇宙,但有十几个以上的装置很少见。
  • 多个设备收听同一个宇宙(“房屋”照明、反冲洗、洪水)是很常见的。
  • 被动单元通常会将少量状态发送回照明台,同时进行广播。
  • 该协议和设备确实支持单播(显然使用 ARP),但它并不常见,除非在较大的安装或需要更多网络复杂性的情况下。

从网络的角度来看,它通常被认为非常讨厌。从照明设计的角度来看,这意味着网络实际上没有单元寻址,这使得设置和维护更简单,特别是考虑到重复的宇宙非常普遍。