为什么交换机在机器端进行翻译时需要ARP表?

网络工程 转变 arp
2021-07-15 16:13:04

从标题中可以清楚地看出,为什么在机器端进行转换时交换机需要 ARP 表?

粗略地说,为什么机器上和交换机上有两个ARP表?交换机上的那个还不够吗?

4个回答

这是一个非常普遍的误解,或者更具体地说,是一个术语问题。在二层交换机中,没有ARP表,只有转发表。交换机记录它在转发表中看到的每个入站 src MAC 地址,并将其归因于端口,因此具有 dst MAC 的帧将仅发送到该 MAC 已知的端口。许多人称其为“arp 表”或“arp 缓存”,即使两者都不是。

在第二层管理交换机中,有一个转发表和一个 ARP 表,但后者仅用于管理接口与感兴趣的主机(即您用来配置交换机的 PC)对话。在第三层管理交换机中将有一个转发表和一个 ARP 表,因为管理接口需要它加上路由器功能来执行子网之间的转发。

每个使用 IP 协议的设备都有一个 ARP 表。由于 IP 是 L3 协议并且需要底层 L2 协议,因此这是设备能够将 L3 IP 地址转换为其相应 L2 地址的要求。

无论您的设备是否正在与本地网络上的 IP 地址通信,它都必须将其 L2 流量(为简单起见,让我们从本讨论​​中排除广播和多播)发送到本地 L2 域上的特定设备。如果 IP 地址在本地网络上,则这将直接发送到目标设备。如果不是,这将是充当本地网络的网关或路由器的设备,可以将 L3 流量转发到其目的地。

如果交换机根本不使用 IP 协议(​​即它甚至不提供任何类型的 IP 管理、没有 L3 功能等),那么它就不需要 ARP 表。

但是,我不知道不使用 IP 协议的企业交换机平台。Telnet、SSH、HTTP、HTTPS 和 SNMP 只是需要访问 IP 的企业交换机普遍支持的服务的几个示例。

您可能已经知道,ARP 表的目的是将网络层地址转换为链路层地址。即 IP 地址到 MAC 地址。

您参考的表格并不完整。二层交换机也有两种表:

  • 一个 ARP 表,用于与“作为计算机”的交换机进行通信,以便与其控件进行交互。好吧,如果它是托管交换机,它将有这个

  • 将交换机端口与 MAC 地址相关联的表

示例 1:如果 PC 启动数据包,如果 IP 地址是本地的(来自 ARP 表),它将使用 MAC 地址。当该数据包到达交换机时,交换机将根据 MA​​C 地址(来自交换机端口/MAC 表)将数据包移动到适当的端口。

示例 2:如果交换机从其管理接口启动一个数据包,那么它执行的操作与 PC 使用其 ARP 表所做的操作相同。但是,如果交换机从其交换功能启动一个数据包,那么它只是根据其端口/MAC 表将该数据包从一个端口移动到另一个端口。

交换机有 mac 地址表。
PC 等端点具有 arp 表。