Протокол STP и его модификации
Базовый Ethernet протокол STP (Spanning Tree Protocol), переводимый как "протокол остового дерева" или "протокол связующего дерева", является протоколом 2-го уровня модели OSI и описан в стандарте IEEE 802.1D [IEEE], который был принят в 1990 г. Первоначально протокол был использован для того, чтобы избежать петель в больших и сложных офисных сетях с мостами, которые могли иметь сложную запутанную топологию. С появлением промышленного Ethernet этот протокол стал использоваться для горячего резервирования сетей с коммутаторами.
Цель STP протокола состоит в том, чтобы сконфигурировать сеть в виде дерева (т. е. без циклов) таким образом, чтобы каждый узел сети (лист дерева) был связан с корнем по пути с наименьшим временем доставки сообщений. Дерево формируется путем отключения ветвей, которые могут образовывать физические (не логические) петли в сети. Таким образом, при проектировании сети в нее могут быть добавлены избыточные ветви с целью резервирования, которые будут логически отключены протоколом STP при формировании дерева сети.
STP-протокол выполняет постоянный мониторинг сети с целью обнаружения происходящих в ней изменений. Если такие изменения выявлены, (например, если одна ветвь стала неработоспособной), то STP протокол автоматически выполняет перестроение дерева, включая в него при необходимости резервные ветви. Таким образом, после отказа ветви сеть оказывается вновь работоспособной через время, необходимое для выполнения STP алгоритма. Работоспособность сети сохраняется до тех пор, пока количество отказавших ветвей не станет настолько большим, что протокол не сможет построить дерево, используя все резервные ветви.
Для формирования дерева с минимальным временем доставки сообщений используются сообщения BPDU (Bridge Protocol Data Unit), встроенные в стандартный (IEEE 802.3) Ethernet-фрейм. Протокол BPDU использует два таймера для оценки времени доставки сообщений, которое по умолчанию не может превышать 20 с.
Время построения дерева при использовании STP алгоритма может доходить до 30 секунд и даже единиц минут [Prytz], что для многих приложений недопустимо много. Поэтому в 1998 году был разработан и закреплен стандартом IEEE 802.1w [IEEE], а позже стандартом IEEE 802.1D-2004 [IEEE] более быстрый алгоритм RSTP (Rapid Spanning Tree Protocol), который строит дерево за время не более 2 с. Протоколы STP и RSTP поддерживаются большинством производителей сетевых коммутаторов.
Для виртуальных сетей, граф которых представляется несколькими деревьями, был разработан протокол MSTP (Multiple Spanning Tree Protocol), который является расширением протокола STP и описан в стандартах IEEE 802.1s и IEEE 802.1Q-2003 [IEEE].
Недостатком STP и RSTP протоколов является часто недопустимо большое время перехода на резерв, а также невозможность резервирования связей между коммутатором и устройством, которое является участником сети.
Метод физического кольца
а) |
б) |
Рис. 8.19. Метод физического кольца для резервирования линии передачи (а) и линии передачи с коммутатором (б); ... - коммутаторы, - оконечные устройства (компьютеры, серверы, ПЛК) |
Методы резервирования, основанные даже на усовершенствованном протоколе RSTP, имеют слишком большое время переключения на резерв (до 2 сек. [Prytz]). В то же время ряд приложений требует сокращения этого времени до единиц миллисекунд (как, например, в робототехнике) или до долей секунды (во многих химических технологических процессах). Поэтому некоторые фирмы разработали собственные нестандартные методы резервирования, которых в настоящее время насчитывается более 15 [Prytz].
В основе этих методов лежит использование сети с кольцевой физической топологией. Одна из ветвей сети блокируется коммутатором (мастером на рис. 8.19-а) и поэтому в режиме нормального функционирования сеть приобретает логическую шинную топологию. В случае отказа одной из ветвей мастер включает резервный порт. При этом подключается резервная ветвь и граф сети вновь становится связным, т. е. работоспособность сети оказывается полностью восстановленной.
Существует два метода обнаружения отказа в сети: циклический опрос и отправка уведомления об отказе.
При циклическом опросе мастер периодически посылает в сеть специальный тестирующий пакет через свой основной порт. При нормальном функционировании сети пакет проходит по кольцу и возвращается к мастеру через его резервный порт. Если пакет не приходит за время таймаута, мастер считает, что в сети произошел отказ и немедленно включает резервный порт, затем очищает свою таблицу адресов и рассылает всем коммутаторам инструкцию сделать то же самое. После очистки таблиц адресов все коммутаторы автоматически выполняют "обучение" (обновление таблицы адресов). В результате сеть вновь становится полнофункциональной, но уже с новой ветвью и новыми таблицами адресов в коммутаторах. Разрыв 1 на рис. 8.19-а остается в сети до тех пор, пока не будет выполнен ремонт отказавшей ветви.
В методе уведомления об отказе циклический опрос не выполняется. Вместо этого каждый коммутатор самостоятельно контролирует целостность примыкающих к нему связей и при обнаружении отказа сообщает об этом мастеру с помощью уведомления. Далее мастер поступает точно так, как в методе циклического опроса.
После ремонта или замены отказавшей ветви она обнаруживается тем же методом тестирования кольца. Если связь по кольцу восстановлена, то мастер сразу же блокирует свой резервный порт (который был задействован на время выполнения ремонта), сбрасывает таблицу адресов и инструктирует оставшиеся коммутаторы сделать то же самое. В результате все коммутаторы обновляют таблицы адресов для сети с восстановленной ветвью.
Табл. 8.43. Параметры некоторых методов резервирования сетей Ethernet [Prytz] | ||||
Протокол | Разработчик, стандарт | Время переключения на резерв | Топология | Наличие стандарта |
STP | IEEE 802.1D | 30 с | Любая | Есть |
RSTP | IEEE 802.1w | 2 с | Любая | Есть |
Hyper Ring | Hirschmann | 0,3 с | Кольцевая | Нет |
Turbo Ring | Moxa | 0,15...0,3 с | Кольцевая | Нет |
Rapid Ring | Contemporary Controls | 0,3 с | Кольцевая | Нет |
S-Ring | GarretCom | 0,25 с | Кольцевая | Нет |
Real time Ring | Sixnet | 0,08 с | Кольцевая | Нет |
Ring Healing | N-Tron | 0,3 с | Кольцевая | Нет |
Super Ring | Korenix | 0,3 с | Кольцевая | Нет |
Self healing Ring | TC Communications | 0,25 с | Кольцевая | Нет |
Jet Ring | Volktek | 0,3 с | Кольцевая | Нет |
Метод физического кольца имеет два существенных достоинства: во-первых, он предельно экономичен, поскольку способен восстановить работу сети при отказе любой ее ветви практически без затрат оборудования (дополнительно требуется всего один кабель для замыкания кольца и два лишних порта в двух коммутаторах). Во вторых, он позволяет примерно на порядок сократить время восстановления сети после отказа по сравнению со стандартным методом, использующим RSTP протокол (см. табл. 8.43).
К недостаткам метода относится неудобство кольцевой архитектуры, невозможность резервирования коммутаторов и сетевых адаптеров, а также ветвей, идущих от коммутаторов к конечным устройствам. При отказе коммутатора на рис. 8.19-а сеть оказывается разорванной и устройства, подключенные через коммутатор , становятся недоступны. Аналогично, рассмотренный метод резервирования не дает эффекта при отказе связи 3 на рис. 8.19-а.
Два последних недостатка можно преодолеть, если в методе физического кольца использовать оконечные сетевые устройства с двумя Ethernet-портами (устройство на рис. 8.19-б), и каждый из этих портов подключить к двум соседним коммутаторам и . При отказе коммутатора на рис. 8.19-б мастер включает резервную ветвь и в сети появляется резервный путь к устройству через резервную ветвь и коммутаторы , .
К недостаткам методов физического кольца относится также отсутствие стандартов и, как следствие, несоответствие идеологии открытых систем.
Полное резервирование сети
Наименьшее время переключения на резерв предоставляет метод полного дублирование всей сети целиком. Вторым его достоинством является живучесть при отказах не только соединений между коммутаторами, но также и самих коммутаторов, сетевых портов устройств и линий связи устройств с коммутатором. Недостатком является высокая цена, поскольку метод предполагает, что все сетевое оборудование используется в удвоенном количестве.
Рис. 8.20. Полное резервирование сети Ethernet |
На рис. 8.20 показан пример дублированной сети с шинной топологией. Здесь ... - коммутаторы основной сети, ... - коммутаторы дублирующей сети. Каждое оконечное устройство имеет по два Ethernet-порта, один из которых подключается к основной сети, второй - к резервной. При любом отказе в основной сети (обрыв 1 в ветви между коммутаторами, отказ 2 коммутатора, обрыв 3 ветви между портом оконечного устройства и коммутатором на рис. 8.20) связь по сети восстанавливается путем переключения портов оконечных устройств на резервную сеть. Переключение выполняется быстро, поскольку метод не требует построения дерева, как в алгоритме STP.
Разновидностью полного резервирования является одновременное резервирование сети и оконечных устройств [Moxa]. В этом случае получаются две полностью независимые системы автоматизации и резервированным оказывается не только сетевое оборудование, но и вся система. Для выбора одной из сетей и обнаружения отказа необходимы средства диагностики, которые могут быть реализованы на основе стандарта IEEE 802.1p/Q [Moxa].