分类: 网络与安全
2011-05-05 16:29:09
:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://oskb.blogbus.com/logs/48432194.html
要确保上面算法的特点,单播(Unicast ),多播(Multicast)实现NLB就会有以下的特点:
在单播模式下,NLB重新对每个NLB节点中启用NLB的网络适配器分配MAC地址(此MAC地址称为群集MAC地址),并且所有的NLB节点均使用相同的MAC地址(均使用群集MAC地址),同时NLB修改所有发送的数据包中的源MAC地址,确保使交换机不能将此群集MAC地址绑定在某个端口上。
工作在单播模式下的NLB可以在所有网络环境下正常运行,但是由于它的工作特性,具有以下两个限制:
单播模式的优点也很明显:它可以无缝地与大多数路由器和交换机协同工作。
如下图所示:
单播的其他注意项:
参考:
单播模式下的单个网络适配器
单播模式下的多个网络适配器
在多播模式下,NLB不会修改NLB节点启用NLB的网络适配器的MAC地址,而是为它再分配一个二层多播MAC地址专用于NLB的通讯(此MAC地址称为群集MAC地址),这样NLB节点之间可以通过自己原有的专用IP地址进行通讯。
但是在多播模式中,NLB节点发送的针对群集IP地址MAC地址ARP(Address Resolution Protocol,地址解析协议)请求的ARP回复会将群集IP地址映射到多播MAC地址,而许多路由器或者交换机(包括CISCO的产品)会拒绝这一行为。当出现这种情况时,你必须在路由器和交换机上手动添加静态映射,将群集IP地址映射到群集的多播MAC地址。
这种模式的优点是可以通过在交换机的“内容可寻址存储器”(CAM) 表中创建静态项,从而使得入站流量仅到达群集中的主机。
还有一个缺点就是很多路由器不会自动将单播 IP 地址(群集的虚拟 IP 地址)与多播 MAC 地址关联起来。如果进行静态配置的话,一些路由器可以存在这种关联。若我们在NLB创建时选择多播的模式,在“群集IP配置”中的“网络地址”是以“03 -BF”开头,后面紧跟IP地址的十六进制表示。
如下图所示:
NLB算法需要NLB群集中的所有主机都能看到发往群集的每一个数据包。NLB不允许交换机将群集的MAC地址关联到交换机的某个特定端口,从而实现了这个目的。但是,这种做法也会带来不想要的副作用,就是发往NLB群集的所有数据包会在交换机上的所有端口上造成数据“洪水”。这不仅非常麻烦,而且必将会造成网络资源的浪费。 为了解决这个问题,一个被称作IGMP支持的新特性被引入到了Windows Server 2003之中。该特性有助于将数据“洪水”限制到交换机上与NLB计算机相连接的端口上。通过这种方式,非NLB的计算机不会看到发往NLB群集的数据,而与此同时,所有的NLB计算机都可以看到发往群集的数据,因此满足了NBL算法的要求。但是,应该指出的是:IGMP支持只有在NLB被配置多播(multicast)模式时才能启用。 在选择多播模式时,后面还有个复选项“IGMP Multicast(IGMP多播)”,若复选此项,就像多播操作模式一样,NLB 保留原厂 MAC 地址不变,但是向网络适配器中增加了一个 IGMP 多播地址。此外,NLB 主机会发出这个组的 IGMP 加入消息。如果交换机探测到这些消息,它可以使用所需的多播地址来填充自己的 CAM 表,这样入站流量就不会扩散到 VLAN 上的所有端口。这是这种群集模式的主要优点。缺点是有一些交换机不支持 IGMP 探测。除此之外,路由器仍然支持单播 IP 地址到多播 MAC 地址的转换。在IGMP多播模式下,将采用“01 – 00 - 5E”开头的MAC地址。在多播的模式下,实体主机之间可以互相通信。 如下图所示:
当群集已配置为在多播模式下工作时,如果网络负载平衡客户端正在通过路由器访问一个群集,请确保路由器满足以下要求: 单播模式对路由器没有要求。
NLB 支持有限形式的会话粘滞: 单一关联。启用“单一”关联时,不会使用客户端的端口号,映射算法使用客户端的完整 IP 地址来确定负载分布。其结果是,所有来自相同源 IP 地址的请求都会映射到群集中的相同主机。由于不存在超时值(这是基于调度程序的实现的典型特点),这种情况会一直保持下去,直到群集成员关系更改。 C 类关联。在“单一”关联中,没有使用客户端端口号来计算负载分布。启用“C 类”关联时,映射算法是以客户端 IP 地址的“C 端口”(上面的 24 位)作为依据来分配负载的。在“单一”关联中,如果群集成员关系更改的话,会话可能不会保留。 TCP 会话。NLB 在 TCP 连接的有效期内保留 TCP 会话的粘性。但是,来自相同客户端的多个 TCP 连接可能会由相同的群集成员来处理,也可能不由相同成员处理。 IPSec 会话和 VPN 会话。在 Windows Server 2003 上,NLB 具有针对 IPSec 会话和 VPN 会话的专门支持。即使群集成员关系更改,NLB 也会保留这些会话。IGMP Multicast(IGMP多播)
NLB对路由器的要求
•
•
•
•