首页 > 系统相关 >Windows NLB(网络负载均衡)单播与多播

Windows NLB(网络负载均衡)单播与多播

时间:2023-04-16 15:45:00浏览次数:45  
标签:多播 Windows 单播 群集 MAC NLB 交换机

Windows NLB(网络负载均衡)是 Microsoft 在Windows 2000 Server 开始在操作系统上提供的一种负载平衡技术。NLB 使用一种分布算法将负载均衡分布到多台主机上,从而提高基于 IP 的关键型服务(例如 Web、虚拟专用网络、流媒体、终端服务、代理等等)的可伸缩性和可用性,同时可检测主机故障并自动将流量重新分配给其他操作主机,从而提供高可用性。

Windows NLB有单播与多播两种模式,两种模式原理各有不同,

1、单播模式下,NLB服务会重新对每个节点中启用NLB的网卡分配MAC地址(此MAC地址称为群集MAC地址),并且所有的NLB节点均使用相同的MAC地址(均使用群集MAC地址),同时NLB会修改所有发送的数据包中的源MAC地址,这样就导致交换机不能将此群集MAC地址绑定在某个端口上。 工作在单播模式下的NLB可以在所有网络环境下正常运行(兼容性最好);

2、多播模式下,NLB不会修改NLB节点启用NLB的网络适配器的MAC地址,而是为它再分配一个二层多播MAC地址专用于NLB的通讯(此MAC地址称为群集MAC地址),这样NLB节点之间可以通过自己原有的专用IP地址进行通讯。

二、案例分析

下面通过一个最近在客户遇到的实际案例来解释两种模式的不同:

近期客户需要进行网络改造,但是在改造后一个Windows NLB群集无法使用。现场查看情况为此群集原采用多播模式使用,网络改造将原二层交换机变更为三层交换机。通过多播模式的特性分析,多播模式使用多播MAC地址专用于NLB的通讯这样就出现了一个多播MAC地址对应一个非多播IP(群集IP)的情况,这是会被不支持的三层交换机和路由器拒绝的一种情况。解决这种问题可以手工在路由器或交换机上添加群集IP对应多播MAC的静态数据。

但是经过客户验证,网络改造后的三层交换机不支持添加静态数据,所以唯一的解决方案只能将多播模式切换为单播模式。手工将NLB群集切换为单播模式后发现群集IP无法ping通,负载均衡管理器也无法连接管理,群集承载网站也无法访问。分析可能由于群集IP无法被找到所以出现这样的情况。查看群集各个节点网卡属性,发现启用负载均衡的网卡均只有自己的IP地址,而群集IP没有被添加成功,如下图在TCP/IP高级选项中进行手工添加群集IP后再验证,群集恢复正常,负载均衡也正常工作。

三、两种模式存在的问题及解决办法

通过这个案例及单播和多播的特性我们可以发现以下问题:

单播:

1、由于NLB所使用的群集MAC地址没有绑定在某个具体的交换机端口上,所以所有的NLB通讯均通过在交换机的所有端口上广播进行,这就出现了交换机泛洪的现象,可以通过将所有NLB节点添加到一个VLAN中隔离广播的办法解决。

2、由于所有的NLB节点具有相同的MAC地址,所以NLB节点之间不能通过自己原有的专用IP地址进行通讯。 (节点之间就无法ping通)。我们可以采用双网卡来解决节点间通信问题,一块网卡用于启用负责均衡,一块网卡用于节点间通讯。

多播:

1、多播模式下NLB节点之间可以通过自己原有的专用IP地址进行通讯,但是群集IP对应一个多播MAC进行通讯,可能会被不支的路由器或一些交换机拒绝,必须通过在网络设备中添加静态数据的方法解决。

2、由于交换机所有端口中都是使用各个节点实际IP与MAC注册而群集使用多播MAC,所以交换机收到群集的数据包发现交换机没有一个端口是对应群集多播MAC就仍然会广播到所有端口,这样就仍然有交换机泛洪的问题。解决方法也可以采用和单播一样的使用VLAN解决,此外还可以通过勾选IGMP 多播来解决交换机泛洪,但是需要交换机支持此功能。

最后建议如果NLB节点服务器只有一块网卡,请使用多播模式;如果NLB节点服务器拥有多块网卡,或者网络设备(如二层交换机与路由器)不支持多播模式,则可以采用单播模式。

标签:多播,Windows,单播,群集,MAC,NLB,交换机
From: https://www.cnblogs.com/AllenWongFly/p/17323363.html

相关文章

  • [Windows] 单文件制作工具 7.0.2.38_x86_x64
    单文件制作工具7.0.2.38_x86_x64最初由无忧527104427开发,到V7.0.1.1版停止更新,源码赠与有缘人,后续版本由无忧JexChan接手继续更新。本工具是一款小巧自定义功能强大的PECMD/7zSFX单文件制作工具,简化单文件制作程序步骤,默认四步即可制作出一个单文件,可制作出强大功能的单文件程序......
  • windows pip问题解决(working)
    当pip无法起效时,尝试python-mpippython-mpip会使用您指定为python的Python解释器来执行pip。因此,/usr/bin/python3.7-mpip表示您正在执行位于/usr/bin/python3.7的解释器的pip。如果您不熟悉这个标志以及它是如何工作的,您可以阅读有关-m的文档......
  • windows10 安裝wsl2
    1下载wslwsl--install2下好后重启电脑,我的重启后就自动帮我下了如果没有自动下载wsl--install-dubuntu设置用户名密码4更新sudoaptupdatesudoaptupgrade按Y确认5安装WindowsTerminalPreviewWindowsTerminalPreviewsudoaptinstallwslussl......
  • windows批处理尝试svn提交修改或新增文件
    背景:在使用脚本svnci%file%的时候,如果文件时新增的,则会提示不再版本控制中,一般情况下,使用GUI提交的时候,可以手动勾选未加入版本控制的文件,但是如果要整合到自己的批处理流程中,则无法,以下是判断文件是否需要加入版本控制的批处理::svn_try_add@REMfor/F"delims="%%j......
  • disable windows service
    listGet-ServiceGet-Service-NameDNS*,DHCP*stopStop-Service-nameDnscache-forcedisableSet-Service-nameDnscache-startupTypedisabledverifyGet-Service-nameDnscache|SelectName,Status,StartTypehttps://techexpert.tips/powershell/power......
  • 如何在WPF中调用Windows 10/11 API(UWP/WinRT)
    最近在github上看到一个音乐播放器项目,dopamine(项目地址:https://github.com/digimezzo/dopamine-windows.git)在编译时,提示有一个库找不到  找了好一会,才发现这是调用了UWP的库。在最初Windows8出来时,这一套新的运行时叫WindowsRT,后面到Windows10时,改成了UWP。因为......
  • windows 平台下单机部署nginx 实现api网关效果
    1下载windows版本的nginx链接:https://pan.baidu.com/s/1EPcqgLdcq7y96OcZ2LInuw提取码:0ris 2下载解压压缩包,不需安装1)解压压缩文件夹,进入nginx-1.20.2目录,然后在目录下打开cmd,启动命令startnginx2)查看nginx任务进程是否存在,命令tasklist/fi"imagenameeqn......
  • 【Windows / Linux】python 换 豆瓣源
    python换豆瓣源-直接运行Python代码即可 Windows版importospath=os.getenv('APPDATA')#获取环境变量data="""[global]timeout=6000index-url=http://pypi.douban.com/simple/trusted-host=pypi.douban.com"""#写入的数据fo......
  • 图文介绍 Windows 系统下打包上传 IOS APP 流程
    现在很多伙伴跨平台开发应用,有些童鞋没有苹果机,本文将介绍,如何在Windows系统环境下直接上架APP,不用去搞虚拟机之类的了,Windows下照样轻松打包上架iOSAPP。下面从七个步骤进行详细介绍!1、创建唯一标示符AppIDs2、申请发布证书3、申请发布描述文件4、iTunesConnect......
  • 如何使用Mac远程控制Windows电脑?
    如何使用Mac远程控制Windows电脑?在你开始之前,设置您要远程处理的Windows计算机。先安装MicrosoftRemoteDesktop。打开MicrosoftRemoteDesktop并单击电脑选项卡。单击+按钮并选择添加。1:对于电脑名称,输入要访问的Windows计算机的主机地址。(注意:您还可以为这台计算......