L2-технологии резервирования промышленных сетей на примере оборудования EtherWAN

В статье описаны базовые технологии резервирования от компании EtherWAN, которые позволяют существенно повысить гибкость промышленной Ethernet-сети.

Воробьев Сергей

564
В ЗАКЛАДКИ

Введение

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

И как итог, практически в каждом управляемом промышленном Ethernet-коммутаторе, который, как правило, становится основой промышленной сети передачи данных, можно найти целую группу различных протоколов, ориентированных на создание отказоустойчивых соединений. При этом если 5–10 лет назад в промышленных коммутаторах среднего и бюджетного ценового сегмента можно было найти лишь поддержку универсальных, но сравнительно медленных протоколов группы STP (RSTP/MSTP), а быстрые протоколы и новые технологии были уделом дорогостоящих Hi-End-устройств, то сейчас даже в среднем ценовом диапазоне можно встретить коммутаторы с очень богатой и гибкой функциональностью для обеспечения резервируемости сети. Далее в статье рассмотрим пример подобных функций на базе продукции тайваньcкого производителя EtherWAN, оборудование которого находится в среднем ценовом сегменте, но при этом оснащено очень интересной функциональностью для создания резервируемых соединений.

О компании EtherWAN

Компания EtherWAN – это производитель промышленного сетевого оборудования, штаб-квартира и производство находятся на Тайване. Компания была основана в 1996 году, и на сегодняшний день в портфолио можно найти массу таких изделий, как промышленные коммутаторы, медиаконвертеры, VDSL-модемы, PoE-устройства и т.д. Продукция компании широко используется в энергетике, на транспорте, в системах видеонаблюдения, автоматизации производства и т.д. [1].

Управляемые промышленные коммутаторы занимают основную часть номенклатуры устройств компании, при этом функциональность подразумевает наличие нескольких очень полезных и даже уникальных протоколов резервирования, которые могут существенно повысить отказоустойчивость и гибкость сети. Учитывая унификацию ПО, эта функциональность присутствует практически в каждом промышленном управляемом L2-коммутаторе от EtherWAN (рис. 1). Рассмотрим более подробно каждый из них.

RSTP/MSTP

Протоколы группы STP (Spanning Tree Protocol – протокол связующего дерева) известны миру уже более 20 лет. Алгоритм, заложенный в основу STP, был разработан в 1985 году Радией Перлман. Говорят, что ей предоставили всего одну неделю на разработку алгоритма, но она создала его за один день, а в оставшееся время описала алгоритм в виде стихотворения [2].

I think that I shall never see
A graph more lovely than a tree.
A tree whose crucial property
Is loop-free connectivity.
A tree that must be sure to span
So packets can reach every LAN.
First, the root must be selected.
By ID, it is elected.
Least-cost paths from root are traced.
In the tree, these paths are placed.
A mesh is made by folks like me,
Then bridges find a spanning tree.

Алгоритм Spanning Tree функционирует путём назначения в сети единого корневого коммутатора (Root Bridge) на основе величины Bridge ID. Далее все коммутаторы в сети будут использовать один и тот же алгоритм для формирования уникальных маршрутов до Root Bridge. Некоторые коммутаторы устанавливают пункт блокировки (какой-либо порт на коммутаторе) в каком-либо месте по маршруту для предотвращения образования петли. Сейчас в семействе STP насчитывается 3 протокола: STP, RSTP, MSTP – и все они, как правило, имеют мультибрендовую совместимость.

Протокол Spanning Tree (STP)

Это исходный и, можно сказать, самый древний протокол группы Spanning Tree, он может быть использован в сети с максимальным диаметром, составляющим не более 17 коммутаторов. Он использует таймеры для синхронизации любых изменений в сетевой топологии, и данный процесс может занять несколько минут. Сейчас применять данную версию протокола Spanning Tree не рекомендуется.

Протокол Rapid Spanning Tree (RSTP)

Протокол RSTP представляет собой усовершенствованную версию исходного протокола STP (рис. 2). Он использует улучшенный механизм согласования для прямой синхронизации любых изменений топологии между коммутаторами, и таймеры, как в STP, тут больше не используются, что позволяет ускорить время повторной синхронизации. Максимально допустимый сетевой диаметр для протокола RSTP составляет 40 коммутаторов. На данный момент версия RSTP является наиболее популярной. Процесс работы протокола очень подробно рассматривается в различных источниках [3, 4]. Если описывать работу достаточно кратко, то можно сказать, что в процессе работы выстраивается древовидная структура сети. Выбирается корневой коммутатор (Root Bridge). При этом портам коммутаторов, которые участвуют в построении, присваиваются различные роли [5], основная метрика – так называемая стоимость порта (Cost).

Root – порт, отвечающий за связь с корневым коммутатором, имеющий наименьшую стоимость присоединения к корневому коммутатору.

Designated – порт, имеющий связь с остальным сегментом сети, не содержащим корневой коммутатор.

Alternate – альтернативный путь к корневому коммутатору, отличный от используемого Root-порта. Обычный трафик в порту блокируется.

Backup – запасной/резервный путь к сегменту сети, предоставляющий путь к корневому коммутатору большей стоимости, чем порт Designated. Обычный трафик в порту блокируется.

Протокол Multiple Spanning Tree (MSTP)

Протокол MSTP – это фактически дополнительное развитие RSTP, основное нововведение – это возможность работы в нескольких VLAN (Virtual Local Area Network – виртуальная локальная сеть) за счёт одновременного запуска нескольких экземпляров протокола STP и сопоставления различных VLAN с каждым экземпляром, таким образом обеспечивается распределение нагрузки между несколькими коммутаторами. В процессе работы протокол MSTP создаёт новые расширенные секции в протоколе RSTP, которые называются MSP-регионами. В каждом таком MSP-регионе функционирует свой собственный экземпляр протокола STP. В каждом MSP-регионе протокол MSTP может поддерживать сетевой диаметр, включающий до 40 коммутаторов. В одной MSTP-сети может быть максимум 40 регионов.

Если подытожить, протоколы группы STP – это известные универсальные небыстрые механизмы. С одной стороны, их можно найти практически в каждом управляемом промышленном, и не только, коммутаторе, с ними умеют работать и настраивать. Но, с другой стороны, время восстановления может достигать нескольких минут, что не очень хорошо для современной промышленной сети передачи данных.

На сегодняшний день абсолютно все управляемые коммутаторы от EtherWAN умеют работать с RSTP и MSTP [3]. Однако уже сейчас можно отметить тенденцию отказа от данной группы протоколов в сторону протоколов кольцевого резервирования, которые отличаются более быстрым временем восстановления, при этом их намного проще настроить и спрогнозировать их работу.

Кольцевое резервирование Alpha-Ring

Протокол Alpha-Ring был спроектирован и разработан компанией EtherWAN для решения задач, в которых традиционные STP/RSTP/MSTP не способны обеспечить быстрое восстановление сети и минимизировать потери фреймов, которые случаются по причине сбоев в работе канала [6].

Логика работы протокола кольцевого резервирования достаточно простая. Главное в кольцевой топологии – назвать мастер-устройство кольца, которое логически блокирует одно из соединений, но физически сеть замкнута в кольцо. Все устройства в кольце должны поддерживать протокол кольцевого резервирования, при этом необходимо чётко указывать, какой порт задействован при построении резервированной кольцевой топологии.

При возникновении разрыва в кольце устройство, которое обнаружило данный разрыв, отправляет в обе стороны кольца специализированный фрейм Topology Change, который, проходя по всем коммутаторам, запускает процесс сброса CAM-таблиц (Content Addressable Memory – память с адресацией по содержимому) и, дойдя до мастер-устройства кольца, также запускает процесс замыкания заблокированного ранее соединения, одновременно отправляя SNMP-трап (Simple Network Management Protocol Trap – сообщение простого протокола сетевого управления).

В итоге подобная логика работы позволяет обеспечить время восстановления менее 15 мс в кольце из 250 коммутаторов (рис. 3), что является достаточно неплохим показателем. К очевидным плюсам, кроме времени восстановления, можно отнести прозрачность работы с VLAN, очень простую настройку и совместимость с RSTP/MSTP.


Компания EtherWAN в своих устройствах реализовала две версии протокола кольцевого резервирования – Alpha-Ring и Alpha-Ring v2. Отличия первой версии от второй заключаются в возможности определить конкретный порт, который будет логически блокироваться. В первой версии устройства сами определяют этот порт, механизм выбора порта для блокировки выполняется автоматически, порт с наибольшим MAC-адресом из последнего подключённого соединения в кольце перейдёт в состояние Block. Однако иногда может потребоваться предопределить заблокированный порт. Для данных случаев в коммутаторах как раз имеется поддержка протокола второй версии, где мы чётко можем указать, какой порт будет в заблокированном состоянии (рис. 4).

Ring Coupling – соединение колец

По мере добавления к сети дополнительных коммутаторов может возникнуть необходимость подсоединить к кольцу дополнительные коммутаторы либо дополнительное кольцо из коммутаторов. Данную задачу можно решить при помощи функции Ring Coupling, которая позволяет подсоединить дополнительные коммутаторы к кольцу, соединение при этом будет резервированное. При этом между двумя кольцами возможно создать только одну пару соединений. Один коммутатор может иметь только два соединения (рис. 5). Выбор порта для блокировки аналогичен схеме в кольце, порт с наибольшим MAC-адресом из последнего подключённого соединения в кольце перейдёт в состояние Block.

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

Однако при использовании механизма Ring Coupling можно применять не только прямое соединение между кольцами (рис. 5а), но и дополнительный коммутатор или коммутаторы (рис. 5б) либо дополнительное кольцо (рис. 5в). Также стоит отметить, что Ring Coupling имеет два механизма контроля. Первый механизм контроля основан на отправке Hello-фреймов, которые позволяют отследить наличие резервированного соединения, второй механизм представляет собой событийный триггер, он работает подобно тому, как в кольце Alpha-Ring: если основное соединение разрывается, коммутатор отправляет широковещательный фрейм Topology Change для того, чтобы замкнулся резервный путь и очистились CAM-таблицы (рис. 6).

Redundant Pair – резервированная пара

Так как с помощью механизма Ring Coupling можно подключить только два кольца, что является недостаточным по современным меркам, несколько лет назад в компании EtherWAN решили сделать данный механизм более гибким. Была выполнена работа по созданию механизма Redundant Pair, который позволяет создавать множество резервированных пар (рис. 7). В итоге получилась очень интересная функциональность, которая позволяет в одном широковещательном домене создать до 253 резервируемых парных соединений [7].

Время восстановления здесь составляет менее 50 мс. При этом если настройки Ring Coupling заключались только в задании портов, то в Redundant Pair необходимо указать ID пары и роль порта: Normal (Master) или Slave.

При возникновении разрыва на одном из портов, участвующих в создании Redundant Pair (рис. 8), происходит отправка мультикаст-фрейма (Multicast Frame – групповой фрейм) на специальный адрес. При этом, в отличие от Ring Coupling, во фрейме Redundant Pair содержится ID пары, что автоматически исключает ложное срабатывание.


Alpha-Chain – резервированные цепочки

Данный механизм резервирования является дополнительной «вишенкой на торте» от компании EtherWAN, который может существенно повысить гибкость системы путём внесения дополнительного уровня резервирования там, где это не предусматривалось.

Логика работы резервированной цепочки основана на отслеживании логического соединения и позволяет применять в её составе любые устройства, обладающие двумя Ethernet-портами, способными пропускать мультикаст-пакет уровня L2, при этом на одном коммутаторе может быть реализовано до 6 резервированных цепочек.

В цепочке Alpha-Chain можно выделить две группы устройств.
  • Chain-коммутатор – коммутатор, который составляет начало и конец цепочки. Каждый сегмент содержит порты Master и Slave. Порты Master и Slave могут быть на одном коммутаторе или на двух разных коммутаторах.
  • Коммутатор Chain-Pass-Through – коммутатор либо любое другое сетевое устройство, которое служит частью цепочки, не являющейся Master или Slave. Устройство должно быть настроено для пропуска широковещательного фрейма для данного протокола.
Chain-коммутатор – это практически любой управляемый коммутатор от EtherWAN, а в качестве устройства Chain-Pass-Through может выступать, например, неуправляемый коммутатор либо ПЛК.

В процессе работы Chain-коммутатор либо Chain-коммутаторы отправляют служебные сообщения – PDU-фреймы (Protocol Data Unit – блок данных протокола) – между двумя портами коммутатора или коммутаторов каждые 200 мc для определения состояния пересылки и блокировки каждого из двух портов цепочки в конечных точках сегмента. Естественно, как и в случае с кольцевым резервированием, один порт цепочки логически блокируется.

Одно PDU-сообщение отправляется каждые 200 мс. Можно точно настроить количество PDU, которое может пропустить порт цепочки, прежде чем порт определит, что произошёл сбой соединения. Если произошла потеря от 3 до
5 фреймов (указывается при настройке), коммутатор разблокирует порт.

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

 

Для этого чуть более подробно рассмотрим данный протокол. Итак, фактически в нашем арсенале имеется специальный PDU-фрейм. Коммутатор формирует его (рис. 9) и отправляет в порт цепочки. При этом мы должны указать следующие параметры.

  1. VLAN (1-4096, default:1) – номер VLAN для сети VLAN, которая настроена на всех коммутаторах в сегменте Chain.
  2. Priority (0-255, default:128) – коммутатор или коммутаторы Chain на концах сегмента. Chain автоматически определяет, какой порт должен находиться в режиме передачи, а какой – в режиме блокировки. Однако если необходимо точно установить, какой коммутатор цепочки должен находиться в режиме передачи, то необходимо ввести значение приоритета в диапазоне 0–255, чтобы контролировать, будет ли данный коммутатор пересылать данные или блокировать порт. Если вы хотите, чтобы данный коммутатор был в режиме передачи, введите число больше, чем значение параметра Priority для коммутатора на другом конце цепочки.
  3. Timeout Count (3-5, default:5) – число PDU-фреймов для идентификации разрыва.
  4. Storm Control (broadcast and multicast) – в раскрывающемся списке выберите Disable или Enable.
Когда эта опция включена, на всех портах коммутатора будет автоматически включена функция Storm Control.

После задания данных параметров необходимо указать, какие порты будут участвовать в формировании цепочки (рис. 10). Цепочка может начинаться на одном коммутаторе, а заканчиваться на другом.

На этом этапе конфигурирование Chain-коммутаторов завершено, осталось лишь сконфигурировать устройства в самой цепочке. Если это, например, неуправляемый коммутатор либо ПЛК, у которого два Ethernet-порта, работающих как неуправляемый коммутатор, то, скорее всего, всё будет работать по умолчанию и получится создать резервированную цепочку с временем восстановления 600–1000 мс.

Но в цепочке может присутствовать и управляемый коммутатор. Соответственно сразу возникает вопрос, можно ли добавить управляемый умный коммутатор в цепочку Alpha-Chain?

При таком использовании необходимо позаботиться о том, чтобы служебный PDU-фрейм проходил через коммутатор. Если мы говорим про устройства EtherWAN, то настройка заключается только лишь в установке параметра Chain-Pass-Through Setting (рис. 9). А если в цепочке есть какие-либо управляемые коммутаторы сторонних производителей, то настройка становится значительно сложнее. Проблема может возникнуть как раз в управляемости коммутаторов.

Фактически мы имеем PDU-фрейм, который представляет собой L2-мульткаст с зарезервированным MAC-адресом назначения и MAC-адресом отправителя, который не является физическим адресом порта. Данный фрейм коммутатор EtherWAN отправляет от порта к порту цепочки как раз для контроля целостности.

Сторонний коммутатор может распознать данный фрейм некорректно, и в итоге могут возникнуть нештатные ситуации.
  1. Отбрасывание служебных PDU-фреймов: фреймы такого рода будут рассматриваться как неизвестные одноадресные фреймы, и цепочка не будет работать.
  2. Если сторонний коммутатор поддерживает функцию обнаружения петли, то MAC-адрес, присутствующий в служебном фрейме, который отправляется с определённой периодичностью, может рассматриваться как Loopback Flapping Event, фактически это триггер-событие, которое косвенно является одним из признаков наличия петли.
Но цепочка может работать надёжно, корректно и без проблем, это зависит от того, как сторонний коммутатор будет обрабатывать PDU-фреймы.

Необходимо в первую очередь посмотреть на настройки VLAN и настроить прохождение служебного фрейма с определённым тегом (рис. 10). Далее надо посмотреть настройки, которые косвенно могут относиться к реакции на L2-мультикаст-трафик. Также при использовании управляемых устройств можно настроить определённый маршрут служебного фрейма, чтобы минимизировать широковещательный трафик.

В итоге цепочки Alpha-Chain – это очень интересный дополнительный базовый механизм в коммутаторах EtherWAN, который может легко добавить отказоустойчивость в сетевую структуру.

Да, если в цепочке присутствуют сторонние сетевые управляемые многопортовые устройства, то настройка требует дополнительных знаний и навыков, возможно, дополнительной информации о том, как будет перестраиваться сеть в процессе работы других протоколов резервирования, или, например, учитывать тот факт, что CAM-таблица принудительно не будет сбрасываться в процессе перехода на резервный путь, и, конечно, проводить предварительные тестирования.

Но само наличие этой функциональности как базовой опции во всех управляемых коммутаторах EtherWAN, которая работает одновременно с другими механизмами (коммутатор может быть частью кольца Alpha-Ring, и одновременно на него можно подвесить 6 цепочек Alpha-Chain с неуправляемыми коммутаторами), позволяет рассчитывать на дополнительные, очень гибкие возможности при резервировании (рис. 11).

Заключение

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

Тайваньская компания EtherWAN – один из производителей качественного и недорогого промышленного сетевого Ethernet-оборудования, однако набор функций по обеспечению резервируемости сети сопоставим с более дорогим оборудованием. Одновременная поддержка и возможные комбинации RSTP/MSTP, Alpha-Ring, Alpha-Chain, Ring Coupling, Redundant Pair в качестве набора базовой функциональности позволяют создать действительно гибкие и отказоустойчивые сетевые структуры при сравнительно небольшом бюджете. ●

Литература

  1. About EtherWAN. Company Profile [Электронный ресурс] // Режим доступа : https://www.etherwan.com/about-etherwan/company-profile.
  2. STP [Электронный ресурс] // Режим доступа : https://ru.wikipedia.org/wiki/STP.
  3. How do I set up STP/RSTP/MSTP and Alpha Ring on an EtherWAN Switch? [Электронный ресурс] // Режим доступа : https://www.etherwan.com/sites/default/files/setting_up_stp-rstp-mstp_and_alpha_ring.pdf.
  4. Understanding the Spanning Tree Protocols [Электронный ресурс] // Режим доступа : https://www.etherwan.com/support/faq/ethernet-switches/understanding-spanning-tree-protocols.
  5. RSTP [Электронный ресурс] // Режим доступа : https://ru.wikipedia.org/wiki/RSTP.
  6. Introduction of α (Alpha)-Ring [Электронный ресурс] // Режим доступа : https://www.etherwan.com/support/featured-articles/introduction-alpha-ring.
  7. Introduction to Redundant Pairs [Электронный ресурс] // Режим доступа : https://www.etherwan.com/support/featured-articles/introduction-redundant-pairs.
Автор – сотрудник
фирмы ПРОСОФТ
Телефон: (495) 234-0636
E-mail: info@prosoft.ru


ПОДПИСАТЬСЯ НА НОВОСТИ

Будьте всегда в курсе самых свежих новостей
и узнавайте первыми о содержании нового номера

Подписка на новости

РЕКОМЕНДУЕМ