Catalyst 4000 6000配置经验
Catalyst 4000 6000配置经验谈超级引擎流量在一个交换网络中绝大多数特性需要两台或更多台的交换机配合才能实现,所以必须对存活信息、配置参数和管理的改变进行控制。这些协议包括cisco 的
Catalyst 4000 6000配置经验谈
超级引擎流量
在一个交换网络中绝大多数特性需要两台或更多台的交换机配合才能实现,所以必须对存活信息、配置参数和管理的改变进行控制。这些协议包括cisco 的私有协议如CDP ,或者是标准的协议如802.1d(生成树协议) ,在Catalyst 系列交换机中实现这些协议中有一些相通的地方。
首先,我们来复习一下基础的帧转发。从端结点发出的用户数据帧在通过第二层交换域时,它所包含的源MAC 地址和目的MAC 地址并不会改变。每个交换机上的超级引擎将根据帧的目的MAC 地址在地址内容表(CAM )中查找发出端口。如果帧的目的地址未在cam 表中找到,或者目的地址是一个广播或组播地址,将转发到该VLAN 的所有端口。 交换机还必须确认哪些帧直接进行转发,哪些帧需要发送到交换机自身的CPU (通常被称为网络管理器或NMP )。
Catalyst 控制面是一个交换机内部端口,通过在CAM 表中叫System entries 的特殊条目创建,用于和NMP 之间的流量传输。这样,协议使用一个周知的目的MAC 地址,控制面流量可以和数据流量分离。在交换机上使用show cam system,可以看到如下信息: S4B-6006> (enable) sh cam system
* = Static Entry. = Permanent Entry. # = System Entry. R = Router Entry. X = Port Security Entry $ = Dot1x Security Entry
VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type] ---- ------------------ ----- ------------------------------------------- 1 00-30-b6-4a-eb-ff # 1/3
1 01-00-0c-cc-cc-cc # 1/3
1 01-00-0c-cc-cc-cd # 1/3
1 01-80-c2-00-00-00 # 1/3
1 01-80-c2-00-00-01 # 1/3
2 01-00-0c-cc-cc-cc # 1/3
2 01-00-0c-cc-cc-cd # 1/3
2 01-80-c2-00-00-00 # 1/3
2 01-80-c2-00-00-01 # 1/3
3 01-00-0c-cc-cc-cc # 1/3
3 01-00-0c-cc-cc-cd # 1/3
,3 01-80-c2-00-00-00 # 1/3
3 01-80-c2-00-00-01 # 1/3
4 01-00-0c-cc-cc-cc # 1/3
4 01-00-0c-cc-cc-cd # 1/3
4 01-80-c2-00-00-00 # 1/3
4 01-80-c2-00-00-01 # 1/3
5 01-00-0c-cc-cc-cc # 1/3
5 01-00-0c-cc-cc-cd # 1/3
5 01-80-c2-00-00-00 # 1/3
5 01-80-c2-00-00-01 # 1/3
6 01-00-0c-cc-cc-cc # 1/3
Cisco 保留了一段MAC 地址和协议地址用于设备通讯。如下表所示:
特性-SNAP HDCL协议类型-目的组播地址
端口聚集协议-PagP -0x0104-01-00-0c-cc-cc-cc
生成树协议(PVSTP )-0x010b -01-00-0c-cc-cc-cd
VLAN 桥-0x010c -01-00-0c-cc-ce
单向链路检测――UDLD -0x0111-01-00-0c-cc-cc-cc
Cisco 发现协议――CDP -0x2000-01-00-0c-cc-cc-cc
动态Trunking ――DTP -0x2004-01-00-0c-cc-cc-cc
STP Uplink Fast-0x200a -01-00-0c-cc-cc-cd
IEEE 生成树 802.1d -N/A- DSAP42-01-80-c2-00-00-00
ISL -SSAP42, N/A-01-00-0c-00-00-00
VTP -0x2003-01-00-0c-cc-cc-cc
IEEE Pause 802.3x-N/A-DSAP 81
SSAP 80-01-80-c2-00-00-00>of
主要的cisco 控制控制协议均使用802.3 SNAP封装,包括LLC 0xAAAA03,OUI 0x00000C,可以被LAN 协议分析议跟踪到。这些协议的其它一些通用属性如下:
u 使用点对点连接的情况下,为了使用两台cisco 交换机能顺利通过中间的非Cisco 交换机,故意使用multicast 的目的地址,这样中间的设备就不能理解或截获这些帧,只会简单的转发它们。然而,在多供应商环境下的点对多点连接下,会起不一致的现象并一般可以避免。 u 这些协议仅在交换域内有效,终结于第三层的路由器。
u 这些协议在入口ASIC 的处理和调度中具备比普通用户数据更高的优先权。
,介绍完了控制协议的目的地址,现在我们来介绍这些协议的源地址,交换协议从机箱上EPROM 所提供的一段MAC 地址取用MAC 地址。使用show module 命令可以看到每个模块在发起如stp bpdu或ISL 帧时可能使用到的源地址范围:
S4B-6006> (enable) sh module
………………
Mod MAC-Address(es) Hw Fw Sw
--- -------------------------------------- ------ ---------- -----------------
1 00-30-96-1a-72-00 to 00-30-96-1a-72-01 5.0 5.2(1) 6.3(4a)
00-30-96-1a-72-02 to 00-30-96-1a-72-03
00-30-b6-4a-e8-00 to 00-30-b6-4a-eb-ff
2 00-30-b6-30-5a-1c to 00-30-b6-30-5a-4b 1.1 4.2(0.24)V 6.3(4a)
3 00-d0-bc-eb-a8-04 to 00-d0-bc-eb-a8-33 1.1 4.2(0.24)V 6.3(4a)
4 00-30-b6-30-4a-d0 to 00-30-b6-30-4a-ff 1.1 4.2(0.24)V 6.3(4a)
VLAN 1
VLAN1在Catalyst 交换网络中有着特殊的意义。
在有trunking 存在时,Catalsy 超级引擎通常使用缺省VLAN ――VLAN1,用来标记一系列的控制和管理协议。诸哪CDP ,VTP 和PagP 。所有的端口,包括内部的SC0,都被配置成VLAN1的成员。所有的trunk 链路在缺省情况下都包括VLAN1。在CatOS5.4以前,不能阻断VLAN1中的数据。
澄清交换网络中的两个概念:
u SC0所在的是管理VLAN ,这个VLAN 可以被改变
u Native VLAN是在802.1Q trunk上定义的一个用户传送未打标记的VLAN 。
调整VLAN1时需要注意如下几个事项:
u VLAN1的直径,和其它VLAN 一样,直径太大将使网络的稳定性降低。在STP 透视中这个问题特别显著。这将在带内管理一节中做详细的论述。
u VLAN1中的控制面数据和用户数据保持分离极大的简化故障诊断程序和解放CPU 。 u 在设计没有STP 的多层交换网络时,一定要注意避免在VLAN1中形成第二层的环,当然如果在访问层有多个VLAN/IP子网,则trunk 是仍然需要的。在这种情况下,从trunk 端口上手工清除VLAN1。
小结,在trunk 链路上,如下部分是很有价值的:
u Trunk 链路上的CDP 、VTP 和PagP 更新通常都通过VLAN1进行,就算VLAN1在trunk 上被清除了或VLAN1不再是native vlan也不例外。不允许VLAN1传输数据与控制面流量继续使用VLAN1进行发送之间并不冲突。
u 802.1Q IEEE BPDUs 通过在VLAN1(通用生成树)上转发未标记的帧来实现和其它厂商
,设备的通过。直到VLAN1在trunk 上被清除为止。Cisco 每VLAN 生成树(PVST )的BPDU 打过标记后在其它的VLAN 中发送。在本文中生成树协议一节中有更详细的描述。 VLAN Trunking 协议(VTP )
在创建VLAN 前,应该决定在网络中使用何种VTP 模式。在启用VTP 的情况下,在一台交换机上对VLAN 配置做出的改变将自动的繁殖到同一个VTP 域中的其它交换机上。 操作概述
VTP 是一个在第二层维护VLAN 配置的消息协议,可以管理VLAN 的添加、删除和重命名。VTP 最大限度的减少了错误配置所引起的一系列问题:如果重复的VLAN 名字、错误的VLAN 类型定义、安全策略失效等 。VLAN 数据库是一个存放在VTP server 上的二进制文件,它和配置文件是分开存放的。
交换机之间的VTP 协议通讯采用一个ethernet 组播目的地址(01-00-0c-cc-cc-cc ),SNAP HDLC 协议类型为0x2002。它不会在非trunk 口上支持(VTP 是ISL 或802.1Q 的有效荷载)。所有在DTP 使trunk 在线之前是不会有消息发送的。
消息类型包括:每5分钟发送一次的" 汇总通告" ,当有改变发生时的" 子集通告和请求通告" ,配置了VTP 修剪时的" 加入" 。每当VTP 服务器有一个改变发生,VTP 配置版本号加1,并自动繁殖到整个VTP 域中。
如果一个VLAN 被删除了,该VLAN 中的端口将全部进入不活动(inactive )状态。与此类似地,一台在client 模式的交换机在不能收到VTP 的VLAN 表之前,除了VLAN1的所有端口均将处于一种非活动状态。
特性-Server -Client -Transparent
源VTP 信息-是-是-否
侦听VTP 信息-是-是-否
创建VLA N -是-否-是(仅本地可用)
重命名VLAN -是-否-是(仅本地可用)
在VTP 透明模式中,VTP 更新被忽略了(VTP的组播地址被从系统CAM 删除掉了) 。一台在透明模式的交换机(或其它厂商的交换机)将仅仅将帧转发域内其它Cisco 交换机。 初始的VTP 配置:
特性-缺省值
VTP 域名-空
VTP 模式-Server
VTP 版本2-禁用
VTP 密码-空
VTP 修剪-禁用
VTP 第二版包括下列灵活的特性,但和VTP 第一版无法进行互操作:
,◆ 支持令牌环
◆ 交换可以繁殖他不能解析的参数值
◆ 基于版本的透明模式:透明模式不再检查VTP 域名,这支持多个VTP 域穿越一个透明
域
◆ 版本号可以得到繁殖:如果所有的交换机都支持V2,那个在一个交换机上配置v2模式,
同一VTP 域内所有交换机都可以启用v2模式。
更多的信息请参见:理解和配置VTP 推荐
对于使用VTP Client/Server或透明模式没有特殊的推荐,一般情况下在分布层交换机中采用两台VTP server。
大部分企业基于如下原因,都先采用VTP 透明模式将交换机接入网络后。然后再修改为server 或client 模式:
◆ 使用VTP 后,删除一个VLAN 将在整个VTP 域中删除它,误操作的风险很高。使用透
明模式则不存在这个问题
◆ 没有新加入一个VTP 修订版本更高的交换机时将引起整个VTP 域内的VLAN 配置信息
丢失的风险
◆ 修剪了不必要的VLAN 信息,带宽利用率更高。手工修剪也可以减小生成树的直径。 ◆ 在CatOS6.x 中开始支持的扩展VLAN 范围(1025-4094),只能用于透明模式 ◆ Campus manager3.1开始支持VTP 透明模式,在此以前,在VTP 域中至少要求有一个VTP
server.
注意:在set trunk x/y 1-10命令中并没有设定在此trunk 链路上仅允许VLAN1-10通过。需要用clear trunk x/y 11-1005来显式地指定。
其它选项:
在令牌环中,需要VTP v2,强烈推荐使用Client 或server 模式。
Set vtp pruning enable命令可以自动修剪VLAN ,但和手工修剪不同,自动修剪不会改变生成树的直径。
从CatOS 6.x 开始,Catalyst 系列交换机和IEEE802.1Q 保持一致,支持4096个VLAN ,这些VLAN 分成三部分,其中只有部分能通过VTP 进行管理:
normal-range VLANs:1-1001
Extended-range VLANs:1025-4094,不能被VTP 管理
Reserved-range VLANs:0,1002-1024,4095
IEEE 组织提出了一个效果和VTP 类似的标准,做为802.1Q 通用属性注册协议(GARP )的一部分,通用VLAN 注册协议(GVRP )允许在不同厂商的设备之间实现VLAN 管理的互操作,它走出了本文档的范围。
,在CatOS 7.x中,可以关闭VTP ,关闭VTP 后和VTP 透明模式很类似,但交换机不再转发VTP 的帧。这是一个相当有用的特性。
自动协商
以太网/快速以太网。
自动协商是快速以太网(802.3U)的一个可选项,它使设备可以交换一条链路的速率和双式模式,自动协商在第一层操作,常用于接入层端口。
运行机制
10/100自适应以太网链路上最常见的问题是双工模式不匹配。这种情况偶尔发生在一端或两端的端口复位,自动协商进程未能使用两端的配置一样中。另一个原因是配置了一端,忘记配置另一端了。双工模式不匹配导致的典型症状是交换机上的FCS 、CRC 、alignment 和runts 数量大幅增加。
对自动协商的一个最常见的误区是认为将一端手工配置为100M 全双工,另一端就会自动变成全双工。实际上,这样做会导致双工模式不匹配,这是因为链路的一端发起协商,然而看不到另一端过来的任何参数,这样,缺省就会设置为半双工。
绝大多数Catalyst 以太网模块支持10/100M和半/全双工自适应,可以使用show port capabilities 命令来证实这一点。
FEFI
远端故障指示(FEFI )保护100Base Fx(光纤)和Giga 接口,就象自动协商保护100BaseTX(钢缆) 的物理层信号不匹配的一样。
远端故障是指在链路的一端能检测到,而另一端检查不到,就象一条未连接的tx 链路一样。在这种情况下,发磅工作站发继续收到合法的数据包,通过链路检查监视器监测链路情况也是好的,然后,它却检查不到对方工作站并未收到自己发出的数据包。在100BaseFx 链路上,工作商将发出一个特殊的FEFI IDLE位序列来检查这种错误,FEFI-IDLE 序列会将远端端口标识为shutdown 状态(ErrDisable )。在UDLD 一节中有详细的讨论。
下列硬件模块支持FEFI :
∙ Catalyst 5000:WS-X5201R 、WS-X5305、WS-X5237、WS-U5538、WS-U5339
Catalyst 6000和4000:所有的100BaseFx 模块和GE 模块。
建议
将端口配置为自动协商还是固定的配置一种速度模式取决于接在交换机上的设∙
,备类型。Catalyst 交换机兼容802.3u 规范,和设备间的自动协商也工作良好,然而,不严格遵守规范的网卡或设备则会导致出现问题。硬件不兼容也有可能是因为一些未写进802.3U 的一些供应商的高级特性造成的。这通常会在如下所示的注意事项文档中给出:
注意事项:Intel Pro/1000T网卡和Cat4k/6k连接时的性能提示。
这样,把工作站之间的端口速度、双工模式设置正常是值得期待的,下面是基本的调试步骤:
确认链路的两端都设置为固定的工作模式或都设置为自动协商
检查CatOS 发行公告中的警告事项
检查网卡驱动和操作系统的版本号,通常需要最新的驱动或补丁程序。
原则上在任何链路上都应该首先使用自动协商模式,这对于使用笔记本电脑等暂时接入的设备具备相当明显的优点。自动协商在服务器、交换机到交换机和交换机到路由器之间也工作得很好。然而,就象上面所提及的一弱,在有些环境中自动协商是不可用的。在这种情况下可以使用如下的调试步骤:
如果端口的速度和双工模式都设置为自动协商,可以使用如下命令将端口模式设置为自动状态:
set port speed auto (缺省配置)
如果要将端口配置为固定速度,可以使用如下的配置命令:
set port speed <10 | 100>
set port duplex
其它:
交换机之间的链路一般用第二层的协议如UDLD 等来增强检测能力。
千兆网
千兆网有一个比10/100兆网范围更大的自动协商机制(Ieee802.3z ), 用来交换流控参数、远程失效信息、双工信息(虽然绝大多数Catalyst 上的千兆端口只支持全双工模式)。注意802.3z 已经被IEEE802.3:2000标准给替代了。
运行机制
,千兆端口的协商在缺省状态下的启用的,并且一条链路两端的端口必须是同样的设置。不象快速以太网,如果千兆链路两端的设置不一致,端口状态将不会up(交换的参数不一样) 。和快速以太网的另一个不同点的,千兆端口不协商端口速度,也不能使用set port speed 禁用自动协商。(译者注:最新的1000-baseTx 规范中是可以协商端口速度的)
例如,假设有两个设备A 和B ,每个设备对自动协商都有启用一禁用两种状态,下面就是可能的端口状态

建议:
在千兆以太网中启用自动协商比在10/100兆环境中更为关键。实际上,只有在设备不支持自动协商或自动协商不成功的情况下才在交换机的端口上禁用自动协商。Cisco 建议在所有的交换机到交换机链路上启用自动协商,在基本上所有的千兆以太网端口上都启用自动协商。使用以下的命令来启用自动协商:
set port negotiation enable (缺省配置)
一个已知的例外是在运行早于IOS12.0(10)S(该版本增加了流控和自动协商) 的GSR 上面。在这种情况下,需要关闭这两个特性,否则交换机端口将报务“未连接”,在GSR 上会报错,配置如下:
set port flowcontrol receive off
set port flowcontrol send off
set port negotiation disable
交换机到服务器的连接则必须具体情况具体分析,已证实可以和Sun 、HP 和IBM 的部分服务器可以自动协商。
其它:
,流控是802.3x 规范中的一个可选部件,如果要使用必须进行协商。设备不一定能发送和响应一个PAUSE 帧慢(使用01-80-c2-00-00-00 0F 的周知MAC ),这样他们也许不允许远端设备的流控请求。端口在输入缓冲区快満时会给对方设备发出一个PAUSE 帧请示暂停发送,将后续帧放到对端设备的发送缓冲区中。这不可能解决超量会聚时的稳定性问题,但对突发流量的控制相当有效。这个特性在端接点和访问层的连接中最有用,因为主机的发送缓冲和它的虚拟内存一样大,在交换机到交换机的连接中有一定的效果。
在交换机上使用下列的命令配置流控:
set port flowcontrol
>show port flowcontrol
Port Send FlowControl Receive FlowControl RxPause TxPause
admin oper admin oper
..... ........ ........ ........ ........ ....... .......
6/1 off off on on 0 0
6/2 off off on on 0 0
6/3 off off on on 0 0
注意:所有处于协商模式的Catalyst 模块都会响应Pause 帧,一部要模块(如WS-X5410,WS-X4306)则不会发送Pause 帧,因为它们的非阻塞模块。
动态Trunking 协议(DTP)
封装类型
Trunk 通过在标准的以太网帧上增加临时的标记(在一条链路)来实现跨设备的VLAN ,这样就可以在一条链路上传送多个VLAN 的信息。也确保了在交换机之间隔离每个VLAN 的广播域。在交换机内部使用内容地址存储(CAM )表来维护VLAN 和帧之间的对应关系。Trunking 在很多二层网络中都支持,如ATM LANE 、FDDI 802.10和以太网等,本文只讨论以太网中的Trunk 。
ISL 运行机制
,ISL 做为Cisco 的一个私有的标记方案,已以使用了相当长的一段时间,现在也可以使用IEEE 的802.1Q 标准。
ISL 和tunnel 协议很相似,使用一种两级封装机制将整个原始的帧封装起来,这样就便于封装非以太网状。ISL 在在原始的以太网帧的基础上增加一个26字节的头和一个4字节的FCS 字段,这种帧只能被配置成trunk 的端口处理。ISL 可以支持1024个VLAN 。 ISL 帧格式:

以太帧进行ISL 封装后,最大长度可以达到1548字节。
802.1Q 运行机制
IEEE 802.1Q标准除封装格式外,还定义了如生成树增强、通用VLAN 注册协议(GARP)、802.1p QOS标记更等更多的内容。802.1Q 帧格式中保留了原始的以太网帧中的源地址和目的地址;但为因为802.1Q 将在帧头中增加一个长为4字节的标记,这样以太网帧长度达到1522字节,就仍然需要交换机处理能够处理大帧。对于access 模式的端口,启用了802.1p 用户特权标记的情况下,也需要能够处理1522字节的帧。802.1Q 可以支持4096个VLAN 。