注册
 找回密码
 注册
江西广告网
查看: 652|回复: 0
打印 上一主题 下一主题

NLB模式和ISA防火墙NLB中的阵列通讯

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2008-12-28 12:28:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  Windows server系统(Windows 2000高级服务器版本、Windows server 2003所有版本)中提供了网络负载均衡(NLB)功能。NLB的操作模式有单播和多播两种,它们之间有什么区别呢?      首先,给大家介绍一下NLB的工作原理:当客户向NLB群集(NLB的虚拟IP地址)发起请求时,其实客户的请求数据包是发送到所有的NLB节点,然后运行在NLB节点上的NLB服务根据同样的NLB算法来确定是否应该由自己进行处理,如果不是则丢弃客户的请求数据包,如果是则进行处理。      如何将请求数据包发送到所有的NLB节点是NLB运行的关键之处,单播和多播这两种操作模式就是用于实现这一需求。NLB不支持单个NLB群集中的单播/多播的混合环境;在每一个NLB群集中,该群集中的所有节点都必须配置为多播或单播,否则,此NLB群集将无法正常工作。      单播和多播的运行方式和不同之处分别为:      单播      在单播模式下,NLB重新对每个NLB节点中启用NLB的网络适配器分配MAC地址(此MAC地址称为群集MAC地址),并且所有的NLB节点均使用相同的MAC地址(均使用群集MAC地址),同时NLB修改所有发送的数据包中的源MAC地址,从而使交换机不能将此群集MAC地址绑定在某个端口上。      工作在单播模式下的NLB可以在所有网络环境下正常运行,但是由于它的工作特性,具有以下两个限制:      由于NLB所使用的群集MAC地址没有绑定在某个具体的交换机端口上,所以所有的NLB通讯均通过在交换机的所有端口上广播进行,而不管此端口是否连接了NLB节点,这造成了额外的网络流量负担;      由于所有的NLB节点具有相同的MAC地址,NLB节点之间不能通过自己原有的专用IP地址进行通讯。      多播      在多播模式下,NLB不会修改NLB节点启用NLB的网络适配器的MAC地址,而是为它再分配一个二层多播MAC地址专用于NLB的通讯(此MAC地址称为群集MAC地址),这样NLB节点之间可以通过自己原有的专用IP地址进行通讯。但是在多播模式中,NLB节点发送的针对群集IP地址MAC地址ARP请求的ARP回复会将群集IP地址映射到多播MAC地址,而许多路由器或者交换机(包括CISCO的产品)会拒绝这一行为。当出现这种情况时,你必须在路由器和交换机上手动添加静态映射,将群集IP地址映射到群集的多播MAC地址。      Windows Server 2003提供了一个新的特性,称为IGMP 多播,它可以通过使用IGMP协议支持来使交换机只将NLB通讯发送到连接NLB节点的端口,而不是所有交换机端口。但是此特性必须要求交换机支持IGMP侦听,并且要求群集工作在多播模式下。      ISA企业版防火墙中提供的集成NLB服务依赖于Windows server系统中的NLB,并且从兼容性考虑,NLB工作在单播模式下,你不能修改这一配置。你可以在Windows server中的网络负载平衡管理器中修改NLB的操作模式为多播,但是此时NLB就不再是和ISA防火墙集成工作的了。      从上面单播模式的工作原理可以看出,ISA企业版中NLB节点之间不能通过自己原有的专用IP地址进行通讯。因此,当部署ISA企业版防火墙对阵列成员通讯所使用的网络提供NLB服务时,阵列成员之间将不能互相访问,所以你必须使用额外的网络适配器用于阵列成员之间的通讯。关于更详细的信息,请参见ISA中文站中关于ISA防火墙企业版的技术文章。      不过在Windows server 2003 SP1中,微软修改了NLB单播模式的驱动,从而支持阵列成员通过自己原有的专用IP地址进行通讯,详细信息请参见KB898867,Unicast NLB nodes cannot communicate over an NLB-enabled network adaptor in Windows Server 2003。在这种情况下,ISA企业版防火墙不需要再为阵列通讯配置一个额外的网络适配器,从而允许你对用于阵列通讯的网络部署NLB服务。      如下图所示,我在两台操作系统为Windows server 2003 企业版SP1的服务器上安装了ISA企业版防火墙,      ISA企业版防火墙中提供的集成NLB服务依赖于Windows server系统中的NLB,并且从兼容性考虑,NLB工作在单播模式下,你不能修改这一配置。你可以在Windows server中的网络负载平衡管理器中修改NLB的操作模式为多播,但是此时NLB就不再是和ISA防火墙集成工作的了。      从上面单播模式的工作原理可以看出,ISA企业版中NLB节点之间不能通过自己原有的专用IP地址进行通讯。因此,当部署ISA企业版防火墙对阵列成员通讯所使用的网络提供NLB服务时,阵列成员之间将不能互相访问,所以你必须使用额外的网络适配器用于阵列成员之间的通讯。关于更详细的信息,请参见ISA中文站中关于ISA防火墙企业版的技术文章。      不过在Windows server 2003 SP1中,微软修改了NLB单播模式的驱动,从而支持阵列成员通过自己原有的专用IP地址进行通讯,详细信息请参见KB898867,Unicast NLB nodes cannot communicate over an NLB-enabled network adaptor in Windows Server 2003。在这种情况下,ISA企业版防火墙不需要再为阵列通讯配置一个额外的网络适配器,从而允许你对用于阵列通讯的网络部署NLB服务。      如下图所示,我在两台操作系统为Windows server 2003 企业版SP1的服务器上安装了ISA企业版防火墙,             对阵列通讯网络部署了负载均衡,                 NLB服务同样运行正常。             但是,在可能的情况以及需要高级别安全的网络环境下,你都应该为NLB的阵列通讯使用额外的网络适配器,从而避免阵列通讯泄漏造成安全问题。 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表