分类: 系统运维
2008-03-20 09:15:03
本文提供了自从 Cisco IOS® 软件版本 12.0(10)W5(18e) 以来 Catalyst 2948G-L3 和 Catalyst 4908G-L3 的虚拟桥接组接口(BVI)溢流增强功能的信息。
本文的信息基于下述硬件与软件版本:
在有些情况下,在 Catalyst 2948G-L3 and 4908G-L3 上配置集成的路由与桥接(IRB), 路由可能在CPU通道中,而不是在硬件 (微码)中实施。
在下文所描述的 条件 中,当第3层业务到达某个路由接口,而且目标是通过L3交换机上的BVI接口到达某个主机(路由器)时,在CPU中运行的Cisco IOS代码截取入局数据包,然后将其路由到BVI接口。
如果Cisco IOS不了解数据包要送达的实际输出桥接组成员接口(通过咨询MAC地址的桥接表),则将该数据包扩散到桥接组中的所有接口。假设在IP的情况下,地址解析协议(ARP)输入完整。
这一活动全部都是在流程级代码中发生,因此当进入很高的业务量时,CPU会利用告警程度。高CUP使用率会造成系统不稳定,而且带来广泛的副作用。
触发业务发送到 CPU 的条件是 当与桥接组相连的主机的MAC地址淡出桥接表时。 这会造成主机的第3层(IP/IPX)相邻无效。
这个信息将传播所有第三层内容可寻址存储器(CAM)(所有路由端口)。这样做是因为在此时无法保证相邻的第2层MAC信息。
一旦出现这种情况,任何指向BVI后面主机上的路由端口上收到的业务都将被送往CUP。在CPU中运行的Cisco IOS代码将进行第三层路由,将业务送往BVI接口。
接着,它将进行桥接表查找,以发现这项业务的目的出局接口,它会将业务扩散到桥接组的所有成员。因此吞吐量将大大降低,而CPU的利用率将提高。
降低这些情况下CPU上的负载所采用的解决方案集中在Catalyst 2948G-L3和Catalyst 4908G-L3的 Cisco IOS 12.0(10)W5(18e)及更新版本 中。 扩散在硬件中被执行 (微代码),而不是由运行在CPU中的Cisco IOS代码在流程级层次进行。
因此,从 Cisco IOS 软件版本12.0(10)W5(18e)开始,一旦第3层相邻变得无效,则微代码将把发往 BVI 后面主机的业务扩散到桥接组的所有成员,从而从CPU上分流一部分负载。请注意,对IP来说,如果要实现在微码中溢流,ARP必须是完整的。