Введение
Балансирование сетевой нагрузки - это способность балансировать трафик через две или более WAN-ссылок без использования сложных протоколов маршрутизации, таких как BGP. Эта возможность балансирует сетевые сессии, такие как Web, электронная почта и т. Д. через несколько соединений, чтобы распределить объем полосы пропускания, используемого каждым пользователем локальной сети, тем самым увеличивая общий объем доступной полосы пропускания. Например, у пользователя есть одно WAN-соединение с Интернетом, работающее со скоростью 1,5 Мбит/с. Они хотят добавить вторую широкополосную связь (кабельная, DSL, беспроводная и т.д.). соединение, работающее со скоростью 2,5 Мбит/с. Это обеспечит им в общей сложности 4 Мбит/с пропускной способности при балансировке сессий. Балансирование сеансов делает именно это, оно балансирует сеансы по каждому WAN-ссылке. Когда веб-браузер подключается к Интернету, он обычно открывает несколько сеансов, один для текста, другой для изображения, другой для какого-то другого изображения и т. д. Эти сеансы могут быть сбалансированы между доступными соединениями. Приложение FTP использует только один сеанс, поэтому оно не сбалансировано; однако, если создается вторичное соединение FTP, то оно может быть сбалансировано таким образом, чтобы трафик распределялся по двум из различных соединений и, таким образом, обеспечивал общее увеличение пропускной способности. Кроме того, балансировка сетевой нагрузки обычно используется для обеспечения избыточности сети, так что в случае сбоя WAN-ссылки доступ к сетевым ресурсам по-прежнему доступен через вторичную ссылку (s). Избыточность является ключевым требованием для планов непрерывности бизнеса и обычно используется в сочетании с критическими приложениями, такими как VPN и VoIP. Наконец, большинство систем балансировки нагрузки сети также включают в себя возможность балансировать как исходящий, так и входящий трафик. Входящий балансировщик нагрузки обычно выполняется через динамическую DNS, которая может быть встроена в систему или предоставлена внешней службой или системой. Наличие динамической службы DNS в системе, как правило, считается лучшим с точки зрения экономии средств и общего контроля.
Network load balancing is the ability to balance traffic across two or more WAN links without using complex routing protocols like BGP. This capability balances network sessions like Web, email, etc. over multiple connections in order to spread out the amount of bandwidth used by each 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.5 Mbit/s. They wish to add a second broadband (cable, DSL, wireless, etc.) connection operating at 2.5 Mbit/s. This would provide them with a total of 4 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 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 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 VPNs and VoIP. Finally, most network load balancing systems also incorporate the ability to balance both outbound and inbound traffic. Inbound load balancing is generally performed via dynamic DNS which can either be built into the system, or provided by an external service or system. Having the dynamic DNS service within the system is generally thought to be better from a cost savings and overall control point of view.
Microsoft NLB
Microsoft также приобрела технологию, которую она переименовала в Network Load Balancing (NLB), которая позволяет эффективно использовать несколько сетевых карт. MS NLB может быть настроен в однотрансляционном или в многотрансляционном режиме, где в многотрансляционном режиме вы можете включить IGMP шпионаж. MS NLB был впервые введен в Windows NT сервер для распределения трафика по нескольким хостам без необходимости использования аппаратного балансировщика нагрузки, например, когда вы размещаете приложение на загруженном веб-сервере, где один хост не сможет управлять всем трафиком. И в более поздних приложениях он будет использоваться в кластерах Windows для Hyper V или Microsoft SQL Server
Режим однокастного вещания
В режиме одноканального вещания MS NLB переназначает MAC-адрес станции (который применяется к IP-адресу кластера) на виртуальный MAC-адрес, и все сетевые интеграционные системы в кластере NLB используют этот же MAC-адрес. Эта настройка приведет к тому, что весь входящий трафик кластера будет передан во все порты коммутатора в виде неизвестных одноканальных кадров: даже хостам, которые не присоединяются к кластеру. Чтобы уменьшить наводнение, вам нужно будет использовать выделенную VLAN для кластера.
Режим мультикаст
Другой вариант - сделать NLB в режиме мультикаст. Единокастный IPv4 адрес кластера связан с многокастным MAC-адресом. Хосты в кластере никогда не будут отправлять трафик в коммутатор, используя этот MAC-адрес с кластерным адресом IPv4, поэтому нужно будет создать статическую запись ARP на маршрутизаторе (слой 3) в прикрепленной сети. Не все поставщики позволят вам создать запись ARP, где вы используете однораспространенный IP-адрес и многораспространенный MAC-адрес. Cisco публикует несколько примеров, как настроить MS NLB на коммутаторах Catalyst с IOS, и эти же примеры могут использоваться для коммутаторов многих других производителей. Как и в случае с NLB в режиме однокастного вещания: входящий трафик в сторону кластера будет перенаправлен во все порты в коммутаторе / VLAN, и не все поставщики поддерживают эту настройку. Чтобы ограничить наводнение, MS NLB теперь поддерживает IGMP, что должно привести к тому, что коммутаторы узнают, какие порты на самом деле используют адрес мультикаста, но это не всегда приводит к желаемому результату. Например, многослойные коммутаторы Dell PowerConnect официально не поддерживают MS NLB в мультикасте. Даже если это работает, это приведет к высокой загрузке процессора, влияющей на (другой) трафик в коммутаторе, а на других коммутаторах могут быть другие ограничения, такие как переключатель, к которому подключены NLB NIC, не может быть тем же коммутатором, который выполняет маршрутизацию IP.
Балансировка нагрузки сервера
Когда несколько серверов объединяются, чтобы создать кластер. Кластеры могут использовать балансировку сетевой нагрузки, при которой одновременные запросы кластера распределяются между кластерными серверами. Записи DNS Round Robin - одна из форм балансировки нагрузки кластера. Он работает путем создания нескольких хост-записей (обычно A и / или AAAA) для одной машины. Когда клиенты делают запросы, DNS вращается по списку записей. В дополнение к вышеперечисленным, для настройки кластера терминальных серверов необходима технология балансировки нагрузки, такая как Network Load Balancing (NLB) или DNS round robin. Решение балансировки нагрузки распределяет клиентские соединения на каждый из терминальных серверов. Справочник сеансов терминального сервера - это функция, которая позволяет пользователям легко и автоматически восстановить соединение с отключенной сессией в сбалансированной нагрузкой ферме терминального сервера. В каталоге сеансов содержится список сеансов, проиндексированных по имени пользователя и имени сервера. Это позволяет пользователю после отключения сеанса повторно подключиться к правильному терминальному серверу, где находится отключенный сеанс, чтобы возобновить работу в этой сессии. Это повторное подключение будет работать, даже если пользователь подключается с другого клиентского компьютера.