Сервер - статьи

       

Переадресация трафика


Системы балансировки нагрузки могут перенаправлять трафик клиентов на избранный сервер несколькими способами: по методу трансляции адресов с управлением доступом к среде передачи (media access control (MAC) address translation, MAT), по методу трансляции сетевых адресов (Network Address Translation, NAT), или - при использовании отложенного связывания - с помощью механизма шлюза TCP (TCP gateway). Рассмотрим, как реализуется каждый из этих методов перенаправления трафика средствами выравнивания нагрузки.

MAT. Этот метод может быть реализован системой балансировки нагрузки при том условии, что каждый Web-сервер наряду со своим физическим IP-адресом использует в качестве интерфейсного адреса обратной связи (loopback interface address) VIP-адрес системы балансировки. Получив от клиента пакет и назначив ему соответствующий сервер, система балансировки заменяет в этом пакете MAC-адрес получателя MAC-адресом соответствующего сервера, после чего направляет пакет на выделенный сервер. В пакете содержится IP-адрес клиента, так что для прямого ответа клиенту сервер использует в качестве IP-адреса получателя первоначальный IP-адрес клиента. Однако в качестве IP-адреса отправителя сервер указывает VIP-адрес системы балансировки нагрузки, как если бы трафик поступал клиенту именно от нее. Таким образом, следующий пакет от клиента направляется не ответившему ему серверу, а системе балансировки нагрузки.

NAT. При использовании этого метода система балансировки направляет полученный от клиента пакет назначенному серверу лишь после того, как выполнит над пакетом несколько операций: во-первых, она замещает в пакете адрес получателя (т. е. собственный VIP-адрес) IP-адресом назначенного сервера, а во-вторых, - меняет IP-адрес отправителя на свой VIP-адрес. Данный метод позволяет скрывать от клиентов IP-адреса Web-серверов, так что последние могут использовать любые IP-адреса, в том числе и частные. При этом Web-серверы не обязательно должны быть непосредственно соединены с системой балансировки (иначе говоря, входить в один и тот же сегмент ЛВС); достаточно, чтобы они могли устанавливать соединения по протоколам статической или сетевой маршрутизации.

Шлюз TCP.
При установке непосредственного (немедленного) связывания системы балансировки нагрузки могут направлять трафик по методам MAT или NAT на уровнях 2 или 3. Но если речь идет об отложенном связывании, системы балансировки должны управлять трафиком на уровне TCP и на более высоких уровнях. Отложенное связывание предполагает, что система балансировки нагрузки и клиент устанавливают соединение по протоколу TCP так, чтобы система могла получить данные приложения еще до назначения сервера. Затем средство балансировки устанавливает TCP-соединение с назначенным сервером и передает ему клиентский запрос. Далее система балансировки передает клиенту ответ сервера, для чего опять-таки используется TCP-соединение "система балансировки - клиент". Описанная функция и называется шлюзом TCP. Специалисты компании Resonate реализуют ее в системе балансировки нагрузки с помощью специального агента (этот агент устанавливается на сервере, который обеспечивает прямое TCP-соединение между клиентом и сервером, выступающим в роли средства балансировки). По терминологии, предложенной компанией-поставщиком, данная реализация именуется системой с транзитом TCP-соединений (TCP connection hop).

Содержание раздела