交换机如何知道如何路由 ping 数据包?

网络工程 路由 转变
2021-07-14 05:24:48

我试图浏览有关此主题的所有可用答案,但我仍然不清楚开关可以做什么或不能做什么。

我知道当主机发出 ping 命令时,例如 ping 192.168.1.5,交换机只会查看帧,因为它是一个非常简单的交换机版本,不在第 3 层运行。但在我的在这种情况下,当使用这个 ping 命令时,我确实得到了来自另一台主机的响应,所以交换机似乎做了一些路由?

此外,当一台主机向同一交换机网络上的另一台主机发送数据包时,在 ARP 过程之前,如果它们之前没有通信,发送主机如何首先知道接收者的 MAC 地址?

感谢您的回答!

3个回答

交换机是第 2 层设备。通过查看 MAC 目标地址转发(交换)帧,并将帧转发出与 MAC 关联的端口。交换机对 IP 或 ICMP 是什么一无所知。

IP 数据包通过以太网或其他基于 MAC 的网络传输,方法是将目标(或下一跳)地址解析为 MAC 地址,然后用于帧寻址(在第 3 层设备上,通常是主机或路由器)。为此,IPv4 使用 ARP,而 IPv6 使用 NDP。

路由是用于在路由器中在不同的第 2 层网络之间进行第 3 层转发的术语。

第 3 层交换机是还提供(可能有限)路由功能的交换机,通常是在 VLAN 之间进行路由。

如果他们之前没有通信,发送主机首先如何知道接收者的 MAC 地址?

如果交换机在其已知地址列表中没有目标 MAC 地址,它将从其所有接口(除了它到达的接口)发送它。

这种情况出乎意料地很少发生,因为操作系统通常会在打开接口时发出“无故 arp”。

当从源设备发起 ping 数据包时。让我们假设数据包从第 3 层设备到达第 3 层设备的流量在第 2 层交换机上转发,进一步 ping 流量被转发到与第 2 层交换机连接的终端主机。

第3层设备--->第2层交换机----->终端主机..

在第 3 层设备中

Ping 数据包到达第 3 层设备检查路由条目。如果是直接连接的网络,则进一步检查 ARP 表。ARP 表将 ip 地址与 mac 地址匹配

ARP表

IP地址--mac-address

检查 ARP 表后,流量在 layer2 设备上转发。在 layer2 设备中,它会检查 mac -address table 。

Mac地址表

Mac地址切换端口

参考存在于目标 mac 地址上的 mac 地址,在检查 mac 地址表后,数据包流量在连接到主机的特定 Switchport 上转发...