Network load balancing: Difference between revisions

Content deleted Content added
m caps
 
(14 intermediate revisions by 12 users not shown)
Line 1:
{{Short description|Ability to balance computer network traffic}}
'''Network load balancing''' (commonly referred to as dual-WAN routing or [[multihoming]]) is the ability to balance traffic across two or more [[Wide area network|WAN]] links without using complex [[Routing protocol|routing protocols]] like [[Border Gateway Protocol|BGP]].
 
'''Network load balancing''' (commonly referred to as dual-WAN routing or [[multihoming]]) is the ability to balance traffic across two or more [[Wide area network|WAN]] links without using complex [[Routing protocol|routing protocols]] like [[Border Gateway Protocol|BGP]].
This capability balances is network sessions like Web, <!-- "Web" should be capitalized because it is the shortened form of the proper noun "World Wide Web" --> email, etc. over multiple connections in order to spread out the amount of [[Bandwidth (computing)|bandwidth]] used by each [[Local area network|LAN]] user, thus increasing the total amount of bandwidth available. For example, a user has a single WAN connection to the [[Internet]] operating at 1.5Mbit/s. They wish to add a second broadband (cable, DSL, wireless, etc.) connection operating at 2.5Mbit/s. This would provide them with a total of 4Mbit/s of bandwidth when balancing sessions.
 
This capability balances is network sessions like Web, <!-- "Web" should be capitalized because it is the shortened form of the proper noun "World Wide Web" --> email, etc. over multiple connections in order to spread out the amount of [[Bandwidth (computing)|bandwidth]] used by each [[Local area network|LAN]] user, thus increasing the total amount of bandwidth available. For example, a user has a single WAN connection to the [[Internet]] operating at 1.5Mbit5&nbsp;Mbit/s. They wish to add a second broadband (cable, DSL, wireless, etc.) connection operating at 2.5Mbit5&nbsp;Mbit/s. This would provide them with a total of 4Mbit4&nbsp;Mbit/s of bandwidth when balancing sessions.
Session balancing does just that, it balances sessions across each WAN link. When Web browsers connect to the Internet, they commonly open multiple sessions, one for the text, another for an image, another for some other image, etc. These sessions can be balanced across the available connections. An [[file transfer protocol|FTP]] application only uses a single session so it is not balanced; however if a secondary FTP connection is made, then it may be balanced so that the traffic is distributed across two of the various connections and thus provides an overall increase in throughput.
 
Session balancing does just that, it balances sessions across each WAN link. When Web browsers connect to the Internet, they commonly open multiple sessions, one for the text, another for an image, another for some other image, etc. These sessions can be balanced across the available connections. An [[fileFile transferTransfer protocolProtocol|FTP]] application only uses a single session so it is not balanced; however if a secondary FTP connection is made, then it may be balanced so that the traffic is distributed across two of the various connections and thus provides an overall increase in throughput.
 
Additionally, network load balancing is commonly used to provide network [[Redundancy (engineering)|redundancy]] so that in the event of a WAN link outage, access to network resources is still available via the secondary link(s). Redundancy is a key requirement for [[business continuity]] plans and generally used in conjunction with critical applications like [[VPN]]s and [[VoIP]].
Line 11 ⟶ 13:
== Microsoft NLB ==
 
Microsoft has also purchased<ref>{{Cite web |url=http://windowsitpro.com/windows-server/microsoft-purchases-clustering-company |title=Microsoft purchases clustering company &#124; Windows Server content from Windows IT Pro |access-date=2015-10-18 |archive-url=https://web.archive.org/web/20170305215305/http://windowsitpro.com/windows-server/microsoft-purchases-clustering-company |archive-date=2017-03-05 |url-status=dead }}</ref> a technology that it renamed Network Load Balancing (NLB) that allows for efficient utilization of multiple network cards.
MS NLB can be configured in [[unicast]] or in [[multicast]] mode<ref name='ovw'>TechNet [https://technet.microsoft.com/en-us/library/cc725691.aspx Overview of NLB], visited 8 June 2013</ref> where in multicast mode you can enable [[IGMP snooping]].
 
Line 17 ⟶ 19:
 
=== Unicast mode ===
In [[unicast]] mode MS NLB reassigns the stations [[MAC address]] (which applies to the clusters [[IP address]]) to a virtual MAC address and all [[Network interface controller|NIC]]'s in the NLB cluster use this same MAC address. This setup will cause all incoming traffic for the cluster to be flooded to all ports of the switch as unknown unicast frames:<ref name="vmware">VMware knowledge base: [http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006580 MS NLB in unicast and multicast mode], visited 8 May 2013</ref> even to hosts that are not joining in the cluster. To keep flooding minimal you would need to use a dedicated [[Virtual LAN|VLAN]] for the cluster.
 
=== Multicast mode ===
Another option is to make NLB in [[Multicast routing protocol|multicast]] mode. The unicast [[IPv4]] address of the cluster is linked to a [[multicast]] MAC address. The hosts is in the cluster will never send traffic to the [[Network switch|switch]] using this MAC address with the cluster IPv4 address so one would need to create a static [[Address Resolution Protocol|ARP]] entry on the router (layer 3) in the attached network. Not all vendors will allow you to create an ARP entry where you use a unicast IP address and a multicast MAC address. Cisco publishes some examples how to set up MS NLB on Catalyst switches running [[IOS]]<ref>Cisco: [http://www.cisco.com/en/US/products/hw/switches/ps708/products_configuration_example09186a0080a07203.shtml Catalyst configuration examples] {{webarchive|url=https://web.archive.org/web/20140131115541/http://www.cisco.com/en/US/products/hw/switches/ps708/products_configuration_example09186a0080a07203.shtml |date=2014-01-31 }}, visited 8 June 2013</ref> and these same examples can be used for switches from many other vendors. As with NLB in unicast mode: incoming traffic towards the cluster will be flooded to all ports in the switch/VLAN and not all vendors support this setup. To limit the flooding, MS NLB now supports IGMP which should lead to the switches learning which ports are actually using the [[multicast address]],<ref>Microsoft Support knowledge base: [http://support.microsoft.com/kb/283028 KB283028: IGMP Snooping support on NLB], visited 8 June 2013</ref> but it doesn't always lead to the desired result. For example, [[Dell PowerConnect]] [[multi-layer switchesswitch]]es officially don't support MS NLB in multicast. Even though it does work, it will lead to high CPU utilization - affecting (other) traffic in the switch<ref>Dell Tech Communities:[http://en.community.dell.com/support-forums/network-switches/f/866/p/19435793/20091643.aspx Trying to limit switch flooding from a Microsoft Windows Network Load Balacing (NLB)] {{Webarchive|url=https://web.archive.org/web/20131005003853/http://en.community.dell.com/support-forums/network-switches/f/866/p/19435793/20091643.aspx |date=2013-10-05 }}, February 2012. Visited: 8 June 2013</ref> and on other switches one might have other limitations such that the switch to which the NLB NICs are connected can't be the same switch that does the IP routing.
 
== Server load balancing ==
Line 43 ⟶ 45:
 
[[Category:Internet architecture]]
[[Category:Load balancing (computing)]]