目录

简介

先决条件

要求

使用的组件

背景信息

单播模式

多播模式

IGMP模式

IGMP模式警告

网络图

配置

组播模式配置

IGMP模式配置

验证

组播模式验证

IGMP模式验证

故障排除

简介

本文档介绍如何将 Cisco Catalyst 交换机配置为与 Microsoft 网络负载均衡 (NLB) 交互。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本进行配置：

- 运行Cisco IOS软件15.1(1)SY1的Catalyst 6500 Sup2T交换机

- 运行Cisco IOS软件15.0(2)SG7的Catalyst 4948交换机

- Microsoft Windows服务器

注意：请参阅相应的配置指南，了解在其他思科平台上启用这些功能所使用的命令。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

背景信息

NLB技术可用于在一组服务器之间分发客户端请求。为了确保客户端始终体验可接受的性能级别，Microsoft Windows NLB提供了添加额外服务器的功能，以便您可以随着客户端负载的增加横向扩展无状态应用，如基于IIS的Web服务器。此外，它还减少了服务器故障导致的停机时间。

Microsoft Windows NLB是群集技术，作为所有Windows 2000 Server和Windows 2003 Server系列操作系统的一部分提供。它为所有客户端提供单个虚拟IP地址作为整个集群的目标IP地址。

您可以将NLB配置为在以下三种模式之一下工作：

- 单播模式

- 多播模式

- 互联网组管理协议(IGMP)模式

单播模式

以下是有关单播模式下使用NLB的一些说明：

- 在单播模式下，NLB使用公共NLB MAC地址替换集群中每台服务器的实际介质访问控制(MAC)地址。当集群中的所有服务器具有相同的MAC地址时，转发到该地址的所有数据包都会发送到集群中的所有成员。NLB创建一个虚构的MAC地址，并将其分配给NLB集群中的每台服务器。NLB根据成员的主机ID为每台NLB服务器分配不同的虚拟MAC地址。此地址出现在以太网帧报头中。

- MAC地址用于地址解析协议(ARP)报头，而不是以太网报头。交换机在以太网报头中使用 MAC 地址，在 ARP 报头中则不使用。这会导致将数据包发送到目的MAC地址为集群MAC地址00-bf-ac-10-00-01的NLB集群时出现问题。交换机查看MAC地址00-bf-ac-10-00-01的内容可寻址存储器(CAM)表，并且因为没有端口注册到NLB集群MAC地址00-bf-ac-10-00-01，该帧将传送到所有交换机端口。这将引入单播泛洪。为避免泛洪，Cisco建议您为NLB使用专用VLAN，以限制泛洪。

多播模式

以下是有关在组播模式下使用NLB的一些说明：

- 在组播模式下，系统管理员单击Microsoft NLB配置GUI中的组播按钮。此选项指示集群成员使用组播MAC地址（如0300.5e01.0101）响应其虚拟地址的ARP。

- 组播MAC地址的ARP过程未完成（这会破坏RFC 1812）。要到达本地子网外的集群，需要静态MAC地址。

- 虚拟IP地址为10.100.1.99，组播MAC地址为0300.5e01.0101。输入此命令以静态填充ARP表：

arp 10.100.1.99 0300.5e01.0101

- 由于传入数据包具有单播目标IP地址和组播目标MAC，因此思科设备会忽略此条目并单播泛洪每个集群绑定数据包。为避免此泛洪，请插入静态mac-address-table条目，以便在硬件中交换与集群绑定的数据包。

mac address-table static 0300.5e01.0101 vlan 200 interface TenGigabitEthernet1/4 TenGigabitEthernet1/5 disable-snooping

注意：将MAC地址静态映射到多个端口时，仅Cisco Catalyst 4500系列交换机上的软件支持该地址。此外，在Catalyst 4500系列交换机上使用此配置可能会导致CPU使用率过高。为避免此问题，您可以将NLB隔离到特定VLAN，仅添加静态ARP条目，并允许在该VLAN上泛洪。

注意：对于Cisco Catalyst 6000/6500系列交换机，必须添加disable-snooping参数，以仅将流量限制到指定端口。配置静态连接时，输入disable-snooping关键字以防止发送到静态配置的组播MAC地址的组播流量也发送到同一VLAN中的其他端口。（其他平台不需要此命令）。

IGMP模式

以下是有关在IGMP模式下使用NLB的一些说明：

- 在IGMP模式下使用NLB需要最少的手动配置。虚拟MAC地址属于互联网编号指派机构(IANA)范围，以0100.5exx.xxxx开头。由于MAC地址现在符合IANA规范，思科交换机可以使用IGMP监听动态编程MAC地址。这样，就无需手动将MAC地址编程到组播模式中所需的端口映射，以防止泛洪到VLAN。

- 一旦交换机收到来自集群中成员的成员的成员身份报告，IGMP监听会为您编程虚拟MAC地址。还必须使用协议独立组播(PIM)或IGMP查询器功能为NLB VLAN编程Mrouter端口。

- 由于虚拟IP地址使用组播MAC地址，因此无法在本地子网之外访问。要解决此问题，必须在每台设备上配置一个静态ARP条目，该条目在集群VLAN中具有第3层(L3)接口。以与组播模式相同的方式完成此操作。例如，如果虚拟IP地址为10.100.1.99，而组播MAC地址为0100.5e01.0101，请使用以下命令静态填充ARP表：

arp 10.100.1.99 0100.5e01.0101

IGMP模式警告

在IGMP模式下使用NLB时，请记住以下重要注意事项：

注意：如Cisco Bug ID CSCsw72680所跟踪，您不能在NLB VLAN交换机虚拟接口(SVI)上将PIM与某些版本的代码一起使用。查看解决此问题的代码版本的漏洞详细信息或使用IGMP监听查询器功能。

注意：按照Cisco Bug ID CSCsy62709跟踪的，对于在IGMP模式下路由到NLB服务器的所有流量，数据包都会重复。查看受影响代码版本的Bug详细信息。

注意：当交换机在PFC3B或PFC3C模式下运行时，由于Cisco nug ID CSCug49149 NLB流量跟踪的硬件限制，无法通过同一6708线卡上的分布式以太网通道发送流量。必须通过电缆连接端口通道，以便所有成员链路都位于同一转发引擎上。

网络图

配置

本节介绍如何为在组播或IGMP模式下运行的Cisco Catalyst 6500和4948系列平台配置NLB。

组播模式配置

本节介绍如何为以组播模式运行的Cisco Catalyst 6500和4948系列平台配置NLB:

6500-1#show running-config

Building configuration...

!

hostname 6500-1

!

boot system flash disk0:s2t54-adventerprisek9-mz.SPA.151-1.SY1

!

interface TenGigabitEthernet1/4

switchport

switchport trunk allowed vlan 1,100,200

switchport mode trunk

!

interface TenGigabitEthernet1/5

switchport

switchport trunk allowed vlan 1,100,200

switchport mode trunk

!

interface Vlan100

ip address 10.100.1.1 255.255.255.0

!

!

interface Vlan200

ip address 10.200.1.1 255.255.255.0

!

!

arp 10.100.1.88 0300.5e01.0101 ARPA

!

!

mac address-table static 0300.5e01.0101 vlan 200 interface TenGigabitEthernet1/4

TenGigabitEthernet1/5 TenGigabitEthernet5/5

!

以下是有关此配置的一些重要说明：

- 接口Vlan100 ip address值用于配置用户VLAN。

- 接口Vlan200 ip address值配置NLB集群VLAN。将Microsoft服务器的默认网关配置为此地址非常重要。

- arp 10.100.1.88 0300.5e01.0101 ARPA包括VLAN中的所有L3接口，是NLB群集服务器的虚拟IP地址。

- mac地址表静态0300.5e01.0101 vlan 200接口在交换机中为组播虚拟MAC地址创建一个到端口映射的静态MAC条目。

注意：确保在NLB集群上使用组播模式。Cisco 建议您不要使用以 01 开头的多播 MAC 地址，因为已经确认这些地址与 IGMP 设置冲突。

4948-1#show running-config

Building configuration...

!

hostname 4948-1

!

boot system bootflash:cat4500-entservices-mz.150-2.SG7

!

interface GigabitEthernet1/1

switchport access vlan 200

!

interface TenGigabitEthernet1/49

switchport trunk encapsulation dot1q

switchport trunk allowed vlan 1,100,200

switchport mode trunk

!

interface TenGigabitEthernet1/50

switchport trunk encapsulation dot1q

switchport trunk allowed vlan 1,100,200

switchport mode trunk

!

mac address-table static 0300.5e01.0101 vlan 200 interface Gi1/1 Te1/49 Te1/50

!

!

end

注意：mac address-table static 0300.5e01.0101 vlan 200接口在交换机中为组播虚拟MAC地址创建一个静态条目。切记必须添加在交换机之间传输NLB流量的所有中继接口。定义静态MAC地址后，泛洪就会受到限制。如果忘记包含接口，NLB集群将中断。

IGMP模式配置

本节介绍如何为在IGMP模式下运行的Cisco Catalyst 6500和4948系列平台配置NLB

6500-1#show running-config

Building configuration...

!

hostname 6500-1

!

boot system flash disk0:s2t54-adventerprisek9-mz.SPA.151-1.SY1

!

ip igmp snooping querier

!

vlan configuration 1,100

no ip igmp snooping querier

!

vlan configuration 200

ip igmp snooping querier address 10.200.1.1

!

interface TenGigabitEthernet1/4

switchport

switchport trunk allowed vlan 1,100,200

switchport mode trunk

!

interface TenGigabitEthernet1/5

switchport

switchport trunk allowed vlan 1,100,200

switchport mode trunk

!

interface Vlan100

ip address 10.100.1.1 255.255.255.0

!

interface Vlan200

ip address 10.200.1.1 255.255.255.0

!

arp 10.100.1.99 0100.5e01.0101 ARPA

!

end

以下是有关此配置的一些重要说明：

- ip igmp snooping querier启用监听查询器功能。

- ip igmp snooping querier address 10.200.1.1 为NLB VLAN配置监听查询器。

- 用户VLAN为接口Vlan100。

- NLB群集VLAN为接口Vlan200。必须将Microsoft服务器的默认网关配置为此地址(ip地址10.200.1.1 255.255.255.0)。

- ARP 10.100.1.99 0100.5e01.0101 ARPA是NLB群集服务器的虚拟IP地址。静态ARP必须位于VLAN中的所有L3接口上。

4948-1#show running-config

Building configuration...

!

hostname 4948-1

!

boot system bootflash:cat4500-entservices-mz.150-2.SG7

!

interface GigabitEthernet1/1

switchport access vlan 200

!

interface TenGigabitEthernet1/49

switchport trunk encapsulation dot1q

switchport trunk allowed vlan 1,100,200

switchport mode trunk

!

interface TenGigabitEthernet1/50

switchport trunk encapsulation dot1q

switchport trunk allowed vlan 1,100,200

switchport mode trunk

!

end

注意：无需配置静态条目，因为IGMP监听在此模式下动态执行此操作。此外，下游第2层(L2)交换机上无需为此模式进行特殊配置。

验证

使用本部分可确认配置能否正常运行。

注意：命令输出解释程序（仅限注册用户）(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。

组播模式验证

输入show ip arp命令以查看ARP缓存：

6500-1#sh ip arp

Protocol Address Age (min) Hardware Addr Type Interface

Internet 10.100.1.99 - 0300.5e01.0101 ARPA

输入 show mac address-table static 命令，以查看特定接口或VLAN上的MAC地址表静态和动态条目或MAC地址表静态和动态条目：

6500-1#show mac address-table static add 0300.5e01.0101

vlan mac address     type   learn age     ports

----+---------------+-------+-----+------+-----------------

200  0300.5e01.0101  static  No     -     Te1/4 Te1/5 Te5/5

4948-1#show mac address-table static add 0300.5e01.0101

Multicast Entries

vlan   mac address     type    ports

------+---------------+-------+--------------------

200    0300.5e01.0101  static  Gi1/1,Te1/49,Te1/50

IGMP模式验证

输入show ip arp命令以查看ARP缓存：

6500-1#show ip arp

Protocol Address Age (min) Hardware Addr Type Interface

Internet 10.100.1.99 - 0100.5e01.0101 ARPA

输入show ip igmp snooping mrouter以查看由从上游监听查询器接收的查询编程的Mrouter端口：

4948-1#show ip igmp snooping mrouter

Vlan ports

---- -----

200 Te1/49(dynamic)

输入 show mac address-table multicast igmp-snooping 要查看从IGMP监听获取的动态添加的MAC地址和成员端口：

4948-1#show mac address-table multicast igmp-snooping

Multicast Entries

vlan   mac address    type    ports

------+---------------+------+-------------

200    0100.5e01.0101  igmp   Gi1/1,Te1/49

输入show ip igmp snooping组，以查看加入组播组的集群成员的端口列表：

4948-1#show ip igmp snooping groups

Vlan    Group       Version     Port List

-----------------------------------------

200     239.1.1.1    v2           Gi1/1

故障排除

目前没有针对此配置的故障排除信息。