Протоколы резервирования DRP и DHP

23 ноября 2023 г.

Технологии резервирования в сетях Industrial Ethernet позволяют преодолеть ограничение, связанное с типичной топологией Ethernet, которая обычно имеет форму «звезды» или «дерева», запрещая наличие петель. В классических сетях Ethernet не допускается иметь несколько путей передачи  данных между двумя точками, так как это может привести к возникновению широковещательного шторма и полной неработоспособности сети. Однако с использованием технологий резервирования в сетях Industrial Ethernet стало возможным наличие избыточных путей связи для обеспечения надежности и отказоустойчивости сети.

В коммутаторах Kyland реализован протокол стандарта МЭК 62439-6 - DRP, который позволяет создавать сети с избыточными связями по топологии «кольцо» с временем переключения с основного канала связи на резервный не более 20 мс. А также коммутаторы поддерживают протокол DHP, основанный на протоколе DRP и подходящий для расширения сети и подключения дополнительных сегментов.

Принцип работы DRP

DRP определяет роли коммутаторов, пересылая пакеты Announce.

Роли коммутаторов в кольце могут быть следующие:

INIT - устройство, на котором включен DRP, а два кольцевых порта находятся в состоянии Link down.

ROOT - устройство, на котором включен DRP, и по крайней мере один кольцевой порт находится в состоянии Link up.

В кольце коммутатор Root выбирается в соответствии с векторами пакетов Announce (коммутатор с большим вектором будет выбран корневым):

Алгоритм выбора коммутатора ROOT:

  1. Сначала проверяется значение link status. Устройство с большим значением link status считается имеющим больший вектор.
  2. Если два сравниваемых устройства имеют одинаковое значение link status, сравниваются значения состояния CRC degradation. Устройство с большим значением статуса CRC degradation считается имеющим больший вектор. Если значение статуса CRC degradation всех сравниваемых устройств равно 1, считается, что устройство с большим значением скорости CRC degradation имеет больший вектор.
  3. Если два сравниваемых устройства имеют одинаковое значение состояния канала и значение CRC degradation, значения приоритета ролей, IP-адресов и MAC-адресов сравниваются последовательно. Устройство с большим значением считается имеющим больший вектор.
  4. Устройство с большим вектором выбирается корневым.

Root периодически отправляет свои собственные пакеты Announce на другие устройства. Получив пакет Announce от другого устройства, Root сравнивает вектор пакета с вектором своего собственного пакета Announce. Если вектор полученного пакета больше, Root меняет свою роль на Normal или B-Root в зависимости от состояния канала и CRC degradation портов.

* У коммутатора в этой роли есть дополнительный параметр настройки - Primary Port - кольцевой порт, который принудительно настроен на состояние Forwarding, когда кольцо закрыто. Если на коммутаторе в роли ROOT не настроен Primary Port, то первый порт, состояние канала которого меняется на Up при закрытии кольца, находится в состоянии Forwarding. Другой кольцевой порт находится в состоянии Blocking.

B-Root - устройство, на котором включен DRP, отвечающее хотя бы одному из следующих условий: один кольцевой порт находится в состоянии Link up, а другой — в состоянии Link down, CRC degradation, приоритет - не менее 200. 

B-Root сравнивает и пересылает пакеты Announce. Если вектор полученного пакета Announce меньше вектора его собственного пакета Announce, B-Root меняет свою роль на Root; в противном случае он пересылает полученный пакет и не меняет свою роль.

Normal - устройство, на котором включен DRP, и оба кольцевых порта находятся в состоянии Link up без CRC degradation, а приоритет выше 200. Normal только пересылает пакеты Announce, но не проверяет содержимое пакетов. 

Статусы портов

Протокол DRP имеет два основных режима работы:

  • DRP-Port-Based - режим, в котором указываются порты для передачи или блокировки пакетов.
  • DRP-VLAN-Based - режим, в котором указываются порты для передачи или блокировки пакетов конкретной VLAN. Это позволяет одному порту коммутатора быть частью разных резервных колец, основанных на разных VLAN.

Также DRP может обеспечивать резервирование двух колец DRP, предотвращая образование петель и обеспечивая нормальную связь между кольцами.

В связи с этим добавляется новый параметр:

Backup port - порт для связи между DRP-кольцами.

Особенности протокола DRP

  • Нет ограничений по масштабу сети
  • Время восстановления - не более 20 мс
  • Все коммутаторы в одном кольце должны иметь одинаковый номер домена
  • Одно кольцо содержит только один коммутатор Root, но может содержать несколько коммутаторов B-root или Normal
  • На каждом коммутаторе можно настроить только два порта для кольца
  • В одном кольце можно настроить несколько резервных портов
  • На коммутаторе для одного кольца можно настроить только один резервный порт

Настройка резервирования по протоколу DRP

Режим DRP-Port-Based

Перед соединением коммутаторов в кольцо необходимо их настроить:

1. Настройка адресации

Каждому коммутатору назначается свой уникальный IP-адрес из одной подсети.

2. Настройка резервирования

Прописываем Domain ID и Domain Name, одинаковые на каждом коммутаторе. Выбираем порты, участвующие в кольце, и назначаем приоритет коммутаторов в соответствии со схемой.

После завершения всех настроек необходимо сохранить конфигурацию: Maintenance -> Save Current Configuration.

Только после выполнения этих действий на всех коммутаторах можно соединять их в кольцо. 

Режим DRP-VLAN-Based

* Чтобы доступ ко всем коммутаторам был из одного центра управления, построено третье Management-кольцо, которое пропускает VLAN100.

Перед соединением коммутаторов в кольцо необходимо их настроить:

1. Настройка адресации

2. Настройка VLAN

Назначаем VLAN ID trunk-портам и прописываем разрешенные VLAN ID, которые будут передаваться по этим портам, а также назначаем Access-портам  соответствующие идентификаторы для подключения конечных устройств.

Пример настройки на коммутаторе SW3:

* VLAN с идентификаторами 10, 20 и 30 являются служебными VLAN для DRP BPDU 

3. Настройка резервирования

Коммутаторы SW1 и SW2 участвуют в двух кольцах, а SW3 и SW4 - в трех. Назначаем согласно схеме на каждом коммутаторе порты, которые будут участвовать в том или ином кольце. В столбце Vlan List прописываем VLAN, которые будут ходить в этом кольце, а в Protocol Vlan ID - служебные VLAN.

Каждое кольцо имеет свои Domain ID и Domain Name.

Пример настройки на коммутаторе SW1:

Пример настройки на коммутаторе SW3:

После завершения всех настроек необходимо сохранить конфигурацию: Maintenance -> Save Current Configuration.

Настройка резервирования двух колец по протоколу DRP

Перед соединением коммутаторов в кольцо необходимо их настроить:

1. Настройка адресации

2. Настройка резервирования

Настройка колец осуществляется аналогичным образом. Для активации резервных соединений между кольцами необходимо выбрать резервный порт на коммутаторе SW1 и SW3 в столбце Backup Port.

В отличие от протокола DT-Ring+ DRP позволяет настраивать более двух резервных линий связи, порты которых должны находиться в одном кольце.

Пример такой схемы представлен ниже:

Настройка резервирования по протоколу DHP

Реализация DHP основана на протоколе DRP. Механизм выбора и распределения ролей в DHP такой же, как и в DRP. DHP обеспечивает резервирование с помощью конфигурации Home-node, Normal-node и Home-port.

  • Home-node - устройства на обоих концах цепочки DHP терминируют пакеты  Announce от коммутатора Root в цепочке.
  • Home-port - порт, соединяющий Home-node с внешней сетью.

Home-port обеспечивает следующие функции:

  • Отправка пакетов Response коммутатору Root после получения пакетов Announce от него. Root идентифицирует состояние кольца как закрытое, если он получает пакеты Response. Если Root не получает пакетов Response, он определяет статус кольца как открытый.
  • Блокирование DRP-пакетов внешних сетей и изоляция DHP-канала от внешних сетей.
  • Отправка пакетов подключенным устройствам во внешних сетях при изменении топологии DHP-канала.
  • Normal-node - устройства внутри цепочки DHP передают BPDU-пакеты внутри цепочки.

Настройка

Перед соединением коммутаторов необходимо их настроить:

1. Настройка адресации

2. Настройка протокола DRP

На коммутаторах SW1 и SW2 прописываем Domain ID и Domain Name, одинаковые на каждом коммутаторе. Выбираем порты, участвующие в кольце, и назначаем приоритеты.

3. Настройка протокола DHP

На коммутаторах SW3 и SW5 прописываем Domain ID и Domain Name, одинаковые на каждом коммутаторе, а также выбираем порты, участвующие в кольце. Далее включаем режим DHP Home-node, т.к. коммутаторы находятся на концах цепочки DHP, и выбираем Home Port - порт, который будет подключаться к кольцу DRP (по схеме порты 1 и 2 коммутаторов SW3 и SW5 соответственно).

На коммутаторе SW4 настройка происходит аналогичным образом. Отличие только в том, что следует выставить режим DHP Normal-node.

После завершения всех настроек необходимо сохранить конфигурацию: Maintenance -> Save Current Configuration.