我有一个托管或第 3 层支持的交换机(它可以处理第 2 层和第 3 层数据包)。现在来自连接主机的数据包到达它,发送流量。交换机如何决定将其作为第 2 层或第 3 层处理?
L3 支持的交换机如何区分 L2/L3 数据包?
了解第 3 层交换机主要是第 2 层交换机,但它内置了一个路由模块。由于您没有指定型号或供应商,我将给您一个通用的 Cisco 示例。
Cisco 第 3 层交换机默认将所有交换机接口作为第 2 层接口。也就是说,将switchportinterface 命令作为所有交换机接口的默认值,并且未ip routing启用 global 命令。
要将 Cisco 交换机用作第 3 层交换机,您需要配置 global ip routing(或者,对于 IPv6,为 global ipv6 unicast routing)命令。no switchport然后,您可以使用and ip address <address> <mask>( ipv6 address <address/length>for IPv6) 命令配置一些物理接口。那么该物理接口将是第 3 层接口。
您还可以使用 globalinterface Vlan <number>命令为 VLAN (SVI) 配置虚拟接口以创建虚拟接口。然后,您可以为虚拟接口分配地址。
您可以将所有物理接口作为第 2 层接口并分配给 VLAN,然后配置第 3 层 SVI 并执行从 SVI 到 SVI 的所有路由,或者您可以将部分或所有物理接口配置为第 3 层接口,然后将在您创建的任何第 3 层接口(物理和/或虚拟)之间路由。
就像路由器一样,您不能在同一网络中配置多个第 3 层接口,因为路由器在网络之间路由数据包,而不是从网络返回同一网络。要在同一网络上发送流量,请使用第 2 层桥接/交换。
接口的配置方式决定了是否在第 2 层交换帧,或者是否从数据包中剥离帧并在第 3 层路由数据包。
交换机如何决定将其作为第 2 层或第 3 层处理?
非常简单:交换机的 L3 接口(通常是绑定到 VLAN 的“SVI”)使用 MAC 地址,当该 MAC 地址为目的地时,L3 交换机充当路由器。只要目标 MAC 是其他地址,它就充当第 2 层交换机。