1000Base-X 第 2 层/MAC 地址详细信息

1000Base-X 第 2 层/MAC 地址详细信息

第 2 层以太网帧发送时带有源 MAC 地址和目标 MAC 地址。假设两个 Cisco 交换机之间有 100Base-TX(铜)中继,我可以在 S1 上执行“show interface fa 0/0”来查看分配给中继接口的 MAC 地址,然后转到 Switch2 并执行“show mac address-table”并在表中找到 S1 fa 0/0 接口的 MAC 地址作为动态学习的 MAC。

假设使用 1000Base-X(光纤 GBIC)中继进行类似设置,S1 上的“show interface gi 0/0”中显示的 MAC 地址不会显示在 S2 的 MAC 地址表中。我在网上找到的所有内容都表明 1000Base-X 使用与铜连接大致相同的第 2 层格式。有一些细微的改动 - 最小帧大小略大 - 但帧结构的基本原理似乎相同,包括使用源和目标 L2 地址进行传输。

为什么 gi 0/0 的地址没有显示在连接交换机的 MAC 地址表中?唯一似乎合理的解释是 GBIC 有自己的 MAC 地址,几乎就像它充当一个迷你 2 端口交换机或集线器一样,交换机分配的 MAC 地址显示在接口连接上,而光纤端则分配了不同的 MAC 地址。如果是这种情况,有什么方法可以在交换机上查看 GBIC MAC 地址吗?

(我曾尝试查找 IEEE 802.3z 中的详细信息,但如果不是 IEEE 会员或没有购买该标准,似乎就无法获得它。我发现可以下载基本 802.3 PDF,但找不到 802.3z。)

答案1

Switch2 的 MAC 地址表将仅填充它在入口以太网帧上观察到的源地址条目。最有可能发生的是,在某个时刻,Switch1 100Base-TX 端口的 MAC 是以太网帧的源地址,而 1000Basex-X MAC 则不是。这可能与交换机的行为有关,即它如何获取自发流量(如 BPDU 帧等)。当转发瞬时第 2 层流量(即它只是沿着路径传输的流量)时,交换机上物理接口的各个以太网地址不包括在内。

我的猜测是 Switch1 曾经将以太网帧作为 100Base-TX 端口 MAC 发送,而它没有从 1000Base-X 端口 MAC 发送任何数据。如果它从未使用 1000Base-X 端口 MAC 发送流量,则 Switch2 的 MAC 地址表将永远不会填充该 MAC 地址。

相关内容