Проектирование сегмента сети. Балансировка сетевой нагрузки, агрегация каналов, избыточная надежность

Современный этап развития информационных технологий характеризуется быстрым ростом размеров ЛВС. В этой связи естественно возрастают требования к их надежности и отказоустойчивости.

Одним из наиболее эффективных способов повышения надежности и отказоустойчивости сети является создание структур с дублированием. На практике используется несколько разновидностей схем дублирования: организация параллельных соединений, установка двух или более центральных коммутаторов, построение распределенной магистрали.

Для управления созданной отказоустойчивой инфраструктурой применяются специальные протоколы отказоустойчивости. Но у них есть свои нюансы использования, которые могут стать серьезной угрозой для безопасности всей системы при неправильной их настройке. Поэтому в рамках данной статьи мы коротко коснемся основных видов отказоустойчивости, а решение конкретного вопроса, связанного с проектированием сети, реализацией отказоустойчивости, производится нашими специалистами в индивидуальном порядке. Наши специалисты смогут разработать и обеспечить оптимальные варианты работы Вашей сетевой инфраструктуры и решить все вопросы, связанные с безопасностью.

 

STP

Рассматривать различные виды отказоустойчивости начнем с канального уровня модели OSI. На канальном уровне находится известнейший протокол Spanning Tree. STP просто предотвращает возникновение петель в сети. Если кадр канального уровня приходит на коммутатор, а у того нет в САМ-таблице МАС-адреса получателя, он отправляет фрейм на все свои порты в надежде, что хоть кто-то сможет на него ответить. В среде с одним свичем на этом все и заканчивается, а вот если свичей несколько, то могут быть нюансы. Этот кадр может уходить на все порты на каждом коммутаторе, и в случае наличия петли этот процесс может повторяться бесконечно. STP определяет так называемый root bridge (центр сети, куда сходится все дерево STP) и создает единый путь без петель между всеми коммутаторами. Стоимость пути определятся алгоритмом, основанным на количестве переходов и скорости порта, но может быть легко переназначена вручную. В итоге с единым путем к каждому мосту в сети кадры к неизвестным адресатам проходят каждый свитч один раз и затем отбрасываются, если хост-получатель оказался не в сети.

При чем здесь отказоустойчивость? В случае отказа канала коммутатор обнаруживает проблему и поднимает резервный линк. На самом деле это не такой уж и простой процесс, но это отдельная, достаточно обширная тема.

 

EtherСhannel

Также на канальном уровне обеспечивает отказоустойчивость EtherСhannel/LACP/PAgP. По сути, это взятие нескольких физических линков и агрегирование их в один логический.

Простейший вариант достижения отказоустойчивости на уровне одиночного порта и на уровне одиночного канала. EtherСhannel собирается ради надежности, увеличение скорости — это уже побочный эффект.

Распространено заблуждение, что с увеличением каналов увеличивается пропускная способность. Мол, берем четыре канала, 4 · 100 — получаем 400 Мбит/c. Но в реальности дела обстоят несколько иначе. Просто для каждого источника и назначения выбирается путь, условно говоря, трафик от хоста А до хоста Б будет идти по одному линку, а трафик от хоста А до С может идти по-другому. В итоге если взять четыре линка, то для четырех одновременных соединений может быть доступно 100 Мбит/c.

Возможны сценарии, когда скорость никак не поднимется, — например, два мощных сервера смотрят несколькими линками в коммутатор и передают в пределах одной TCP-сессии большой объем данных. В этом случае, независимо от количества каналов, использоваться будет только один линк и никакого увеличения скорости не будет.

 

NIC teaming

NIC teaming, или агрегирование сетевых адаптеров, — это отказоустойчивость на аппаратном уровне для серверов. Обычно решается установкой дополнительных драйверов, созданием виртуального сетевого адаптера и затем добавлением физического сетевого адаптера для создания агрегации (team).

В большинстве случаев такая агрегация работает как пара активный/пассивный, и пассивный сетевой адаптер включается работу в случае потери канала активным. Но здесь могут быть и нюансы, когда поддерживается стандарт 802.3ad. В этом случае уже может включаться балансировка, как и в случае EtherChannel.

 

HSRP & VRRP

На третьем уровне модели OSI обитают протоколы HSRP и VRRP. Они-то и обеспечивают отказоустойчивость на сетевом уровне. Если шлюз по умолчанию (в пределах одной подсети) уйдет в офлайн, тогда ни один хост в этой подсети не сможет получить доступ за пределами своего сегмента. Эти два протокола (HSRP и VRRP) призваны настроить дополнительный маршрутизатор (или L3-свитч), который выступит в роли резервного на случай падения основного. Если основной шлюз станет недоступен, то его сразу подменит резервный и клиенты даже не заметят, что что-то произошло.

Кроме отказоустойчивости, эти протоколы помогут решить задачи по обновлению железа и софта с минимальным влиянием на клиентов в обычное рабочее время. Самые известные протоколы, которые входят в эту группу, — HSRP, VRRP и GLBP. HSRP (Hot Standby Router Protocol) существует уже достаточно давно (c 1994 года) и является проприетарным решением от Cisco. VRRP (Virtual Router Redundancy Protocol) — это открытый протокол (появился в 1999-м), текущая его версия определена в RFC 5798. Несмотря на то, что этот протокол позиционируется как открытый стандарт, компания Cisco говорит, что похожий протокол был запатентован и лицензирован. И хотя никаких патентных претензий не было, открытость VRRP остается под сомнением. Ну и GLBP (Gateway Load Balancing Protocol), относительно свежий протокол (создан Cisco для Cisco в 2005 году), кроме отказоустойчивости поддерживает и балансировку нагрузки.

 

 

 

P.S. Консультации технических специалистов компании предоставляются для всех наших клиентов