本文简要介绍Catalyst 2948G-L3与4908G-L3第3层交换机上的分布式桥接表,并讨论在交换机上配置网桥组时分布式网桥表和非对称路由技术的意义。
本文档没有任何特定的要求。
本文档中的示例配置是在实验环境中创建的,并且这些设备(已清除配置):
运行Cisco IOS 12.0(7)W5(15d)的Catalyst 2948G-L3
两台路由器(不确定具体型号或IOS)
充当服务器的PC或其他工作站
本文档中的配置在隔离的实验室环境中实施。在使用任何配置或命令之前,请确保您了解其对网络的潜在影响。所有设备上的配置已利用write erase命令清除并重新装载以确保缺省配置。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
Catalyst 2948G-L3交换机有两种一般的桥接配置:
所有端口属于单个网桥组;没有第3层配置。
端口组属于一个或多个网桥组;网桥虚拟接口(BVI)用于路由各网桥组的流量。
在这两种配置中,网桥组中给定MAC地址的第2层转发表条目都使用show bridge bridge-group-number命令查看。
Catalyst 2948G-L3和4908G-L3交换机上的网桥表条目实际上由至少两个条目组成,一个在源接口(具有该MAC的设备所在),一个在每个目的接口(该接口根据帧中的目的MAC,从该MAC发往的流量在该接口)。 这是因为Catalyst 2948G-L3和4908G-L3交换机上填写网桥表的识别过程实际上是基于每个端口分布的,而不是基于整个交换机。
例如我们可以参考 图1显示的拓扑结构。
图 1:带两台连接主机的Catalyst 2948G-L3交换机
在这种拓扑结构中,假定接口fast 1和fast 2属于同一网桥组。交换机中为每个MAC地址添加了两个网桥表条目:一个在interface fast 1上,另一个在interface fast 2上,如下所示:
2948G-L3#show bridge 1 Total of 300 station blocks, 298 free Codes: P - permanent, S - self Bridge Group 1: Address Action Interface 0000.1111.1111 forward FastEthernet1 0000.2222.2222 forward FastEthernet2 2948G-L3#
这一示例表明Catalyst 2948G-L3 交换机在接口fast1上识别到MAC地址0000.1111.1111, 而在接口fast2上识别到的MAC地址为0000.2222.2222。
在内部,每个MAC地址有两个条目:接口fast 1上的条目和接口fast 2上的条目。对于MAC地址0000.1111.1111,接口fast 1上的条目是“本地”条目,这意味着MAC 0000.1111.1111的设备直接或通过其他层连接到此接口2台设备。
接口fast 2上0000.1111.1111的条目是“远程”条目,这意味着具有此MAC地址的设备未连接到此接口。远程网桥表条目指向与具有MAC地址的设备实际上相连的接口(本例中为接口fast1)。
对于MAC地址0000.2222.2222,条目是相反的 — interface fast 2有MAC地址的本地条目,而interface fast 1有指向接口fast 2的MAC地址的远程条目。
图2 显示在Catalyst 2948G-L3交换机上的全局转发表中是如何存储MAC地址以及内部每端口网桥表的状态。
图 2:全局和每端口转发表条目的状态
你可以使用 show epc patricia interface <interface> mac 命令来观察网桥表条目的实际内部状态(patricia树是用来存储和访问网桥表的数据结构)。 例如,以下是接口fast1的网桥表 ("mac") 条目内部状态:
2948G-L3#show epc patricia interface fast 1 mac 1# MAC addr:0000.0000.0000 VC:0 Entry: 2# MAC addr:0900.2b01.0001 MyMAC 3# MAC addr:0180.c200.0000 MyMAC 4# MAC addr:0100.0ccc.cccd MyMAC 5# MAC addr:0100.0ccc.cccc MyMAC 6# MAC addr:0001.43a0.cc07 HsrpMAC 7# MAC addr:0000.2222.2222 IF Number:5 Entry:Remote 8# MAC addr:0000.1111.1111 IF Number:4 Entry:Local Total number of MAC entries: 8 2948G-L3#
请注意,接口fast 1的“本地”条目用于MAC地址0000.1111.1111,而“远程”条目用于MAC地址0000.2222.2222。
对于接口fast2来说,刚好相反:
2948G-L3#show epc patricia interface fast 2 mac 1# MAC addr:0000.0000.0000 VC:0 Entry: 2# MAC addr:0900.2b01.0001 MyMAC 3# MAC addr:0180.c200.0000 MyMAC 4# MAC addr:0100.0ccc.cccd MyMAC 5# MAC addr:0100.0ccc.cccc MyMAC 6# MAC addr:0001.43a0.cc08 HsrpMAC 7# MAC addr:0000.2222.2222 IF Number:5 Entry:Local 8# MAC addr:0000.1111.1111 IF Number:4 Entry:Remote Total number of MAC entries: 8 2948G-L3#
此处,接口fast 2的“本地”条目用于MAC地址0000.2222.2222,而“远程”条目用于MAC地址0000.1111.1111。
与非对称路由拓扑一起在Catalyst 2948G-L3或4908G-L3交换机中采用桥接配置时,分布式网桥表在功能上具有重要意义。特别是具有非对称路由的桥接有可能会在网桥组内造成周期性的未知单点发送扩散。
非对称路由意味着通过Catalyst 2948G-L3交换机进出给定IP子网的流量模式不遵循相同的路径。例如,让我们看一看 图3的拓扑结构。
图 3:非对称路由拓扑
在此拓扑中,从IP子网10.10.10.0/24发往服务器1(10.1.1.20)的流量进入路由器1,并通过接口gig 1转发到IP子网10.1.1.0/24。接口gig 1连接到Catalyst 2948G-L3交换机上的接口gig 49。
接口gig 49属于网桥组1,正如连接服务器1的接口fast1一样。
当服务器1将业务发回IP子网络10.10.10.0/24上的请求主机时,它使用缺省网关。服务器1的默认网关是路由器2,连接在接口gig 50上。接口gig 50也是网桥组1的成员。
此拓扑需要注意的重要一点是,虽然从IP子网10.10.10.0/24发往服务器1的流量由路由器1传送,但从服务器1发往IP子网10.10.10.0/24的返回流量则通过路由器2,而不是路由器1。
关于这种拓扑结构应切记:虽然从IP子网络10.10.10.0/24发往服务器1的业务是由路由器1发送的,但从服务器1到IP子网络的返回业务却通过路由器2而不是路由器1。 这意味着接口gig 49最终会老化服务器1的“远程”网桥表条目,这迫使Catalyst 2948G-L3交换机向网桥组中所有端口泛洪它在接口gig 49上收到的发往服务器1的帧。
更详细地研究为什么会发生这种情况。假定所有的ARP表和网桥表是空的。
路由器1接收从10.10.10.100发往服务器1(10.1.1.20)的业务。
路由器1通过接口gig1向服务器1发送ARP。
Catalyst 2948G-L3交换机在接口gig 49上接收广播ARP,并在网桥组中的所有端口泛洪该帧 — 这会在接口gig 49上产生MAC 0000.111.111的本地条目,在MAC 0000.1的远程条目。111.1111。
服务器1收到ARP请求并响应ARP — 这会在接口fast 1上生成MAC 0000.3333.3333的本地条目,在接口gig 49上生成MAC 0000.3333.3333的远程条目。
2948G-L3#show bridge 1 Total of 300 station blocks, 298 free Codes: P - permanent, S - self Bridge Group 1: Address Action Interface 0000.3333.3333 forward FastEthernet1 0000.1111.1111 forward Gi49 2948G-L3#show epc patricia interface gig 49 mac 1# MAC addr:0000.3333.3333 IF Number:4 Entry:Remote 2# MAC addr:0001.43a0.cd07 HsrpMAC 3# MAC addr:0000.1111.1111 IF Number:52 Entry:Local 4# MAC addr:0100.0ccc.cccd MyMAC 5# MAC addr:0180.c200.0000 MyMAC 6# MAC addr:0900.2b01.0001 MyMAC 7# MAC addr:0100.0ccc.cccc MyMAC Total number of MAC entries: 7 2948G-L3#show epc patricia interface fast 1 mac 1# MAC addr:0000.0000.0000 VC:0 Entry: 2# MAC addr:0900.2b01.0001 MyMAC 3# MAC addr:0180.c200.0000 MyMAC 4# MAC addr:0100.0ccc.cccd MyMAC 5# MAC addr:0100.0ccc.cccc MyMAC 6# MAC addr:0001.43a0.cc07 HsrpMAC 7# MAC addr:0000.3333.3333 IF Number:4 Entry:Local 8# MAC addr:0000.1111.1111 IF Number:52 Entry:Remote Total number of MAC entries: 8 2948G-L3#
此外,服务器1现在拥有路由器1的完整ARP条目(MAC地址为0000.1111.111的10.1.1)。
Server1% arp -a Net to Media Table Device IP Address Mask Flags Phys Addr ------ -------------------- --------------- ----- --------------- hme0 10.1.1.1 255.255.255.255 00:00:11:11:11:11 hme0 10.1.1.20 255.255.255.255 SP 00:00:33:33:33:33 hme0 224.0.0.0 240.0.0.0 SM 01:00:5e:00:00:00 Server1%
路由器1使用MAC地址0000.3333.3333完成10.1.1.20的ARP条目。
Router1#show arp Protocol Address Age (min) Hardware Addr Type Interface Internet 10.1.1.1 - 0000.1111.1111 ARPA GigabitEthernet1 Internet 10.10.10.1 - 0050.3e7c.45a1 ARPA GigabitEthernet8 Internet 10.1.1.20 0 0000.3333.3333 ARPA GigabitEthernet1 Internet 10.10.10.100 1 0000.aaaa.aaaa ARPA GigabitEthernet8 Router1#
路由器1将数据包从10.10.10.100转发到服务器1(10.1.1.20),其中包含已完成的ARP条目。
当Catalyst 2948G-L3交换机收到帧时,它会检查存储在接口gig 49上的网桥表以查找目的MAC地址(0000.3333.3333) — 回想一下,该表是特定于接口的,对于交换机不是全局的。
Catalyst 2948G-L3交换机找到服务器1 MAC地址的远程条目,并将帧转发到接口fast 1(生成树中的“IF Number:4”)。
2948G-L3#show epc patricia interface gig 49 mac 1# MAC addr:0000.3333.3333 IF Number:4 Entry:Remote 2# MAC addr:0001.43a0.cd07 HsrpMAC 3# MAC addr:0000.1111.1111 IF Number:52 Entry:Local 4# MAC addr:0100.0ccc.cccd MyMAC 5# MAC addr:0180.c200.0000 MyMAC 6# MAC addr:0900.2b01.0001 MyMAC 7# MAC addr:0100.0ccc.cccc MyMAC Total number of MAC entries: 7 2948G-L3#
服务器1成功接收帧。
当服务器1回复时,它(根据其IP堆栈配置)确定10.10.10.100位于不同的IP子网,因此服务器1的ARP用于其默认网关IP地址(10.1.1.2)。
当Catalyst 2948G-L3交换机收到广播ARP时,它会将该帧泛洪到网桥组中的所有接口 — 这会在接口fast 1上产生MAC 0000.3333.3333的本地条目,在MAC 0000.3333上产生远程条目。3333。
路由器2收到ARP请求并响应ARP — 这会在接口gig 50上生成MAC 0000.2222.2222的本地条目,在接口fast1上生成MAC 0000.2222.222的远程条目。
2948G-L3#show bridge 1 Total of 300 station blocks, 297 free Codes: P - permanent, S - self Bridge Group 1: Address Action Interface 0000.2222.2222 forward Gi50 0000.3333.3333 forward FastEthernet1 0000.1111.1111 forward Gi49 2948G-L3#show epc patricia interface gig 50 mac 1# MAC addr:0000.2222.2222 IF Number:53 Entry:Local 2# MAC addr:0000.3333.3333 IF Number:4 Entry:Remote 3# MAC addr:0000.1111.1111 IF Number:52 Entry:Remote 4# MAC addr:0001.43a0.cd08 HsrpMAC 5# MAC addr:0100.0ccc.cccd MyMAC 6# MAC addr:0180.c200.0000 MyMAC 7# MAC addr:0900.2b01.0001 MyMAC 8# MAC addr:0100.0ccc.cccc MyMAC Total number of MAC entries: 8 2948G-L3#show epc patricia interface fast 1 mac 1# MAC addr:0000.0000.0000 VC:0 Entry: 2# MAC addr:0900.2b01.0001 MyMAC 3# MAC addr:0180.c200.0000 MyMAC 4# MAC addr:0100.0ccc.cccd MyMAC 5# MAC addr:0100.0ccc.cccc MyMAC 6# MAC addr:0001.43a0.cc07 HsrpMAC 7# MAC addr:0000.2222.2222 IF Number:53 Entry:Remote 8# MAC addr:0000.3333.3333 IF Number:4 Entry:Local 9# MAC addr:0000.1111.1111 IF Number:52 Entry:Remote Total number of MAC entries: 9 2948G-L3#
此外,路由器2现在有一个完整的ARP条目,用于服务器1(10.1.1.20),MAC地址为0000.3333.3333。
Router2#show arp Protocol Address Age (min) Hardware Addr Type Interface Internet 10.1.1.2 - 0000.2222.2222 ARPA GigabitEthernet1 Internet 10.1.1.20 0 0000.3333.3333 ARPA GigabitEthernet1 Router2#
服务器1使用MAC地址0000.2222.2222完成10.1.1.2的ARP条目。
Server1% arp -a Net to Media Table Device IP Address Mask Flags Phys Addr ------ -------------------- --------------- ----- --------------- hme0 10.1.1.1 255.255.255.255 00:00:11:11:11:11 hme0 10.1.1.2 255.255.255.255 00:00:22:22:22:22 hme0 10.1.1.20 255.255.255.255 SP 00:00:33:33:33:33 hme0 224.0.0.0 240.0.0.0 SM 01:00:5e:00:00:00 Server1%
服务器1通过其默认网关10.10.10.1.2发送其对10.10.100的响应。服务器1传输的帧的MAC地址为0000.2222.2222,作为目的MAC地址,而000.3333.3333作为源MAC。
在Catalyst 2948G-L3交换机接收帧时,它检查接口fast1上的网桥表中是否有目的地MAC地址(0000.2222.2222)。
Catalyst 2948G-L3交换机找到Router 2 MAC地址的Remote条目,并将帧转发到接口gig 50(生成树中的IF编号:53)。
2948G-L3#show epc patricia interface fast 1 mac 1# MAC addr:0000.0000.0000 VC:0 Entry: 2# MAC addr:0900.2b01.0001 MyMAC 3# MAC addr:0180.c200.0000 MyMAC 4# MAC addr:0100.0ccc.cccd MyMAC 5# MAC addr:0100.0ccc.cccc MyMAC 6# MAC addr:0001.43a0.cc07 HsrpMAC 7# MAC addr:0000.2222.2222 IF Number:53 Entry:Remote 8# MAC addr:0000.3333.3333 IF Number:4 Entry:Local 9# MAC addr:0000.1111.1111 IF Number:52 Entry:Remote Total number of MAC entries: 9 2948G-L3#
目前,一切都按预期运行。例如,当网络分析器在接口fast 2(也在网桥组1中)上连接时,分析器只接收泛洪流量(如广播和组播),但当分析器捕获从10.10.10.100到10.1.1.20(服务器1)的单播流量时,网络管理员很快就会感到惊讶。
在接口gig49(与路由器1相连)上,服务器1的远程条目老化时出现这个问题。 如果没有源MAC地址为0000.3333.3333的帧到达接口,在300秒之后会出现这种情况。这就是在服务器1的远程条目老化时内部网桥表是如何出现的:
2948G-L3#show epc patricia interface gig 49 mac 1# MAC addr:0001.43a0.cd07 HsrpMAC 2# MAC addr:0000.1111.1111 IF Number:52 Entry:Local 3# MAC addr:0100.0ccc.cccd MyMAC 4# MAC addr:0180.c200.0000 MyMAC 5# MAC addr:0900.2b01.0001 MyMAC 6# MAC addr:0100.0ccc.cccc MyMAC Total number of MAC entries: 6 2948G-L3#
唯一的条目是路由器1的本地条目 — 服务器1的远程条目(MAC地址0000.3333.3333)已删除。结果是所有从路由器1到服务器1的单点发送业务被扩散到网桥组中的所有接口。
遗憾的是,隔离问题的唯一方法是检查内部每个接口的网桥表条目的状态。这是因为 show bridge 命令的输出表明Catalyst 2948G-L3交换机仍有服务器1的条目:
2948G-L3#show bridge 1 Total of 300 station blocks, 297 free Codes: P - permanent, S - self Bridge Group 1: Address Action Interface 0000.2222.2222 forward Gi50 0000.3333.3333 forward FastEthernet1 0000.1111.1111 forward Gi49 2948G-L3#
这是因为,只要Catalyst 2948G-L3交换机在任何接口上都有MAC地址的本地条目,该MAC地址就会出现在网桥表中。
此外,路由器1上的 show arp 表明ARP条目是完全而且正确的:
Router1#show arp Protocol Address Age (min) Hardware Addr Type Interface Internet 10.1.1.1 - 0000.1111.1111 ARPA GigabitEthernet1/1 Internet 10.10.10.1 - 0050.3e7c.45a1 ARPA FastEthernet7/1 Internet 10.1.1.20 7 0000.3333.3333 ARPA GigabitEthernet1/1 Internet 10.10.10.100 9 0000.aaaa.aaaa ARPA FastEthernet7/1 Router1#
这是因为ARP的老化时间在缺省情况下是4小时,比网桥表的老化时间长得多。
解决这个问题有两种方法:
重新设计路由拓扑结构,使给定远程子网络的业务采用进出Catalyst 2948G-L3交换机的同一路由。
将连接到Catalyst 2948G-L3交换机的路由器接口上的ARP老化时间缩短至5分钟(使用arp timeout <seconds>接口配置命令)。
首选第一种解决方法,但第二种解决方法可以显着减少单播泛洪量,而不会对性能造成负面影响(在大多数情况下,路由器上增加的ARP负担并不显着)。
使用默认的四小时ARP老化时间,单播泛洪可能持续近四小时。使用减少的ARP计时器,单播泛洪最多可持续四分钟,然后重新安装网桥表条目。这是因为,如果在(老化时间 — 60秒)中未看到路由器ARP表中主机的流量,则路由器会为该主机重新进行ARP,并刷新或重新安装Catalyst 2948G-L3或4908G-L3交换机中的动态网桥表条目。
请注意,由于无法精确同步ARP计时器和网桥表计时器,第二种解决方法很可能无法完全消除单播泛洪。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
06-Oct-2005 |
初始版本 |