Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15171859
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 系统运维

2008-03-20 09:15:03

介绍

本文提供了自从 Cisco IOS® 软件版本 12.0(10)W5(18e) 以来 Catalyst 2948G-L3 和 Catalyst 4908G-L3 的虚拟桥接组接口(BVI)溢流增强功能的信息。

硬件与软件版本

本文的信息基于下述硬件与软件版本:

  • Cisco IOS 软件版本12.0(10)W5(18e)及其以后版本
  • Catalyst 2948G-L3 和 Catalyst 4908G-L3

问题描述

在有些情况下,在 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必须是完整的。

阅读(734) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~