目录

简介

先决条件

要求

使用的组件

背景信息

配置

Microsoft NLB模式

单播模式

组播/组播IGMP模式

Microsoft NLB数据流

Nexus 1000v的特殊注意事项

验证

故障排除

相关信息

简介

本文档介绍在终端 — 主机模式下使用交换矩阵互联(FI)的思科统一计算系统 — B(UCS-B)系列上实施Microsoft网络负载均衡(NLB)模式。上游设备也有许多要求，以便正确转发NLB流量，本文档对此进行了说明。配置示例重点介绍组播互联网组管理协议(IGMP)模式。

先决条件

要求

Cisco 建议您了解以下主题：

- Microsoft网络负载均衡

- Cisco UCS B系列服务器

- Cisco Catalyst和/或Nexus交换机

使用的组件

本文档不限于特定的软件和硬件版本。

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

背景信息

Microsoft NLB在三种不同的操作模式下运行：单播、组播和组播IGMP。一组NLB节点统称为NLB集群。NLB集群为一个或多个虚拟IP(VIP)地址提供服务。NLB集群中的节点使用其负载均衡算法，以便商定哪个节点将为发往NLB VIP的特定流量提供服务。

本文档未针对UCS上的Microsoft NLB提出特定部署建议。如本文档所述，NLB依靠非常规方法来传输集群绑定流量。已观察到，组播和组播IGMP模式似乎在UCS-B系列服务器上具有稳定且一致的操作。虽然NLB规模确定指南不在本文档的范围内，但通常建议将其用作小型部署的解决方案。

配置

Microsoft NLB模式

单播模式

NLB 默认设置是单播模式。在单播模式下，NLB 将集群中每个服务器的实际 MAC 地址替换为公用 NLB MAC 地址。通常，是02bf:xxxx:xxxx范围内的内容。NLB集群中的所有节点都了解NLB VIP和MAC地址是什么。流量(包括来自NLB节点的地址解析协议(ARP)应答)从不来自NLB MAC或IP地址。而NLB节点使用基于成员主机ID的分配MAC地址。MAC地址通常在0201:xxxx:xxxx、0202、0203等范围内，每个节点对应一个集群。这是应答ARP请求时第2层(L2)报头中的源地址。但是，ARP报头信息包含NLB MAC地址。因此，希望与NLB VIP地址对应的主机会向NLB MAC地址发送流量。

符合IEEE标准的交换机（L2设备）根据L2源报头（而非ARP负载中包含的信息）构建其MAC地址表。这意味着转发到NLB集群的流量将发送到NLB MAC地址，该地址从不是流量的源。因此，发往NLB MAC地址的流量会以未知单播方式泛洪。

警告：单播模式下的NLB依靠未知单播泛洪来传输与集群绑定的数据包。当FI处于终端 — 主机模式时，单播模式在UCS B系列服务器上不起作用，因为此模式不会根据需要泛洪未知单播帧。有关UCS在终端 — 主机模式下的L2转发行为的详细信息，请参阅Cisco Unified Computing System Ethernet Switching Modes。

组播/组播IGMP模式

组播模式将集群单播虚拟IP地址分配给非互联网编号分配机构(IANA)组播MAC地址(03xx.xxxx.xxxx)。IGMP监听不会动态注册此地址，这会导致VLAN中的NLB流量泛洪为未知组播。

组播IGMP模式在IANA范围(01:00:5E:XX:XX:XX)内分配集群虚拟IP地址和组播MAC地址。 集群节点为已配置的组播组发送IGMP成员身份报告，因此FI动态填充其IGMP监听表以指向集群服务器。

使用组播IGMP模式有一点操作优势，因为有关感兴趣的L2端口的状态信息（通过IGMP成员身份报告和IGMP监听）可以同时在上游和下游进行维护。如果不优化IGMP监听，NLB将依赖未知组播泛洪进入NLB VLAN，以便通过UCS指定的广播/组播接收器传输到集群。在UCS版本2.0之后的版本中，指定的广播/组播接收器是按VLAN选择的。

警告：无论选择的组播模式版本如何，NLB VIP地址都需要上游设备上的静态ARP条目，上游设备通常是VLAN的交换虚拟接口(SVI)。这是一种解决方法，因为来自NLB节点的ARP应答包含组播MAC地址。根据RFC 1812，应忽略包含组播MAC地址的ARP应答。因此，VIP MAC地址无法在符合RFC 1812的设备上动态获取。

在组播IGMP模式下支持NLB所需步骤的摘要如下所示：

1. 虚拟NLB IP地址的静态ARP条目通常位于VLAN SVI上。如果使用热备份路由器协议(HSRP)或第一跳冗余协议(FHRP)，请确保两台设备都有静态ARP条目。

2. NLB VLAN中的IGMP监听查询器。在UCS版本2.1之后的版本中，UCS Manager支持监听查询器功能。

3. 所有交换机（包括UCS）上都需要启用IGMP监听。请注意，大多数包含UCS的平台默认启用IGMP监听。

提示：这些配置指南适用于思科交换机。其中包括有关如何实施Microsoft NLB不同模式的详细信息。

NLB的基本设置，节点可以是虚拟机(VM)或Windows Server OS的裸机安装，如下图所示。

IP子网为10.1.1.0 /24的NLB VLAN 10。为简洁起见，MAC地址被截断。

NLB VIP(MAC = 01,IP = 10.1.1.1)

节点A(MAC = AA，IP = 10.1.1.10)

NODE-B(MAC = BB，IP = 10.1.1.11)

NODE-C(MAC = CC，IP = 10.1.1.12)

Microsoft NLB数据流

上游交换机SVI上的静态ARP条目指向VIP地址10.1.1.1到MAC 01。

Microsoft NLB节点发送IGMP成员报告。请注意，IGMP监听表可能需要30-60秒才能填充。

使用IGMP监听和VLAN查询器，监听表填充了指向正确L2端口的NLB MAC地址和组。

1. 子网外客户端将流量发送到NLB VIP地址10.1.1.1。

2. 此流量被路由到VLAN 10接口，该接口使用静态ARP条目以解析NLB VIP的MAC地址(01)。

3. 由于这是组播帧目标，因此会根据IGMP监听表转发该帧。

4. 帧到达所有NLB节点（节点A、B、C）。

5. NLB群集使用其负载均衡算法来确定哪个节点将为流提供服务。只有一个节点响应。

有关详细信息，请参阅以下文档：

- Microsoft网络上Catalyst交换机负载平衡的配置示例

- Nexus 7000上的Microsoft网络负载均衡配置示例

Nexus 1000v的特殊注意事项

Nexus 1000v仅支持单播Microsoft NLB模式。因此，在使用UCS部署Nexus 1000v时，组播IGMP模式仅在您禁用Nexus 1000v上的监听后才能工作。完成此操作后，该VLAN上的Microsoft NLB数据包将作为未知组播泛洪。

为了将泛洪的影响降至最低：

1. 在Nexus 1000v中仅禁用该VLAN上的监听。

2. 对Microsoft NLB流量使用专用VLAN。

验证

本文档中描述的配置示例的验证过程在各节中提供。

故障排除

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

相关信息

- 网络负载均衡技术概述

- 思科支持社区讨论

- 思科统一计算系统以太网交换模式（搜索Microsoft网络负载均衡）

- 技术支持和文档 - Cisco Systems