Table of Contents |
---|
2.1. Общие сведения о ULPP
Протокол ULPP (User Level Protocol Process) предназначен резервирования каналов и защиты от петель в Ethernet сетях. Каждая группа ULPP имеет два uplink порта – основной (master) и дополнительный порт (slave). Порт может быть как физическим портом, так и port-channel. Порты группы могут иметь три статуса: передача (forwarding), ожидание (standby) и выключен (down). Для резервирования, как правило, один порт имеет статус передачи, а другой заблокирован в режиме ожидания. Если появляется проблема с линком на основном порту и он переходит в статус DOWN, дополнительный порт переключается в режим передачи.
Рисунок 65.1 - ULPP
Типичная схема применения ULPP показана на рисунке 65.1. Коммутатор Switch A соединяется с коммутатором Switch D через коммутаторы Switch B и Switch C, порты A1 и A2 – uplink порты. На коммутаторе Switch A настраивается ULPP, порт A1 устанавливается как основной порт, порт A2 – как дополнительный. Если на порту A1 появляется проблема, порт A2 незамедлительно переключается в статус передачи. Если приоритетный режим не сконфигурирован на основном порту, то после его восстановления порт A2 останется в статусе передачи, порт A1 будет по-прежнему заблокирован в режиме ожидания. Если приоритетный режим на основном порту сконфигурирован, то порт A1 меняет статус с режима ожидания на режим передачи. Чтобы избежать частого переключения режимов на uplink порту, может быть настроен механизм отложенного приоритетного режима.
После восстановления порта в приоритетном режиме, если через дополнительный порт осуществлялась передача данных к Switch A от коммутатора Switch D, коммутатор продолжит отправлять данные в сторону дополнительного порта, который будет закрыт. Чтобы этого избежать, при переключении uplink коммутатор отправит flush-пакеты через порт, переключившийся в режим передачи, чтобы обновить таблицы MAC-адресов и ARP-таблицы на остальных устройствах в сети.
Рисунок 65.2 - ULPP VLAN
Для более эффективного распределения ресурсов ULPP может балансировать нагрузку по VLAN. Как показано на рисунке 65.2, коммутатор Switch A поддерживает две ULPP-группы: порт A1 является основным портом, порт A2 – дополнительным в группе 1; порт A2 является основным портом, порт A1 – дополнительным в группе 2. Сети VLAN защищены группами 1 и 2, на схеме соответственно 1-100 и 101-200. В данном случае оба порта A1 и A2 имеют взаимное резервирование и находятся в режиме переадресации, а также выполняют передачу пакетов разных VLAN. Когда на порту A1 возникает проблема, трафик из VLAN 1-100 передается через порт A2. После восстановления порта A1 данные из VLAN 101-200 продолжают передаваться через порт A2, но данные из VLAN 1-100 переключаются на порт A1.
2.2. Конфигурация ULPP
- Создать ULPP группу;
- Настроить ULPP группу;
- Просмотр информации и отладка.
- Создать ULPP группу:
Команда | Описание |
---|---|
ulpp group <integer> no ulpp group <integer> ! В режиме глобальной конфигурации | Создать нумерованную ULPP группу и войти в режим её конфигурирования, команда noудаляет эту группу |
2. Настроить ULPP группу:
Команда | Описание |
---|---|
preemption mode no preemption mode ! В режиме конфигурации ULPP группы | Включить режим приоритетного переключения, команда noотключает этот режим |
preemption delay <integer> no preemption delay ! В режиме конфигурации ULPP группы | Задать время задержки перед приоритетным переключением. Команда no возвращает значение по-умолчанию - 30 секунд. |
control vlan <integer> no control vlan ! В режиме конфигурации ULPP группы | Задать VLAN отправки служебных пакетов. Команда no возвращает значение по-умолчанию - 1. |
protect vlan-reference-instance <instance-list> no protect vlan-reference-instance <instance-list> ! В режиме конфигурации ULPP группы | Задать VLAN, защищаемые ULPP группой. Команда noудаляет эти VLAN из группы. |
flush enable mac flush disable mac ! В режиме конфигурации ULPP группы | Включить\выключить функцию отправки flush пакета для обновления MAC-таблицы. |
flush enable arp flush disable arp ! В режиме конфигурации ULPP группы | Включить\выключить функцию отправки flush пакета для обновления ARP-таблицы. |
flush enable mac-vlan flush disable mac-vlan ! В режиме конфигурации ULPP группы | Включить\выключить функцию отправки flush пакета для удаления MAC из MAC-VLAN. |
description <string> no description ! В режиме конфигурации ULPP группы | Задать описание. Команда noудаляет описание. |
ulpp control vlan <vlan-list> no ulpp control vlan <vlan-list> ! В режиме конфигурации интерфейса | Задать список управляющих VLAN, которые принимают flush-пакеты. Команда no возвращает настройки по умолчанию – 1. |
ulpp flush enable mac ulpp flush disable mac ! В режиме конфигурации интерфейса | Включить\выключить функцию приема flush пакета для обновления MAC-таблицы. |
ulpp flush enable arp ulpp flush disable arp ! В режиме конфигурации интерфейса | Включить\выключить функцию приема flush пакета для обновления ARP-таблицы. |
ulpp flush enable mac-vlan ulpp flush disable mac-vlan ! В режиме конфигурации интерфейса | Включить\выключить функцию приема flush пакета для удаления MAC из MAC-VLAN. |
ulpp group <integer> master no ulpp group <integer> master ! В режиме конфигурации интерфейса | Выбрать порт как основной для группы <integer>. Команда noотменяет этот выбор. |
ulpp group <integer> slave no ulpp group <integer> slave ! В режиме конфигурации интерфейса | Выбрать порт как дополнительный для группы<integer>. Команда noотменяет этот выбор. |
3. Просмотр информации и отладка:
Команда | Описание |
---|---|
show ulpp group [group-id] ! В привилегированном режиме | Отобразить информацию о конфигурации ULPP группы. |
show ulpp flush counter interface {ethernet <IFNAME> | <IFNAME>} ! В привилегированном режиме | Отобразить счетчики flush пакетов на интерфейсе. |
show ulpp flush-receive-port ! В привилегированном режиме | Отобразить информацию о порте, получившем flush-пакет, типе пакета и управляющем VLAN. |
clear ulpp flush counter interface <name> ! В привилегированном режиме | Очистить счетчики flush пакетов на интерфейсе |
debug ulpp flush {send | receive} interface <name> no debug ulpp flush {send | receive} interface <name> ! В привилегированном режиме | Выводить отладочную информацию о принятых или полученных flush пакетах. Команда noотключает вывод отладочной информации. |
debug ulpp flush content interface <name> no debug ulpp flush content interface <name> ! В привилегированном режиме | Выводить отладочную информацию о содержании flush пакетов. Команда noотключает вывод отладочной информации. |
debug ulpp error no debug ulpp error ! В привилегированном режиме | Выводить отладочную информацию о ошибках ULPP. Команда noотключает вывод отладочной информации. |
debug ulpp event no debug ulpp event ! В привилегированном режиме | Выводить отладочную информацию о событиях ULPP. Команда noотключает вывод отладочной информации. |
2.3. Пример конфигурации ULPP
Пример 1
Рисунок 65.3 - Пример ULPP
Как показано на рисунке 65.3, коммутатор Switch A имеет два uplink – коммутаторы Switch B и Switch C. На коммутаторе Switch A настроен протокол ULPP и основной и дополнительный порты в ULPP-группе. Когда оба порта в находятся состоянии UP, основной порт работает в режиме передачи, а дополнительный порт находится в режиме ожидания. Если основной порт переходит в состояние DOWN, дополнительный порт незамедлительно переключается в режим передачи. На коммутаторах Switch B и Switch C выполняется команда, позволяющая получать flush пакеты, и используемая для связывания ULPP-протокола с Switch A и немедленного переключения uplink.
Конфигурация коммутатора Switch A:
Code Block | ||
---|---|---|
| ||
Switch(Config)#vlan 10 Switch(Config-vlan10)#switchport interface ethernet 1/0/1; 1/0/2 Switch(Config-vlan10)#exit Switch(Config)#spanning-tree mst configuration Switch(Config-Mstp-Region)#instance 1 vlan 10 Switch(Config-Mstp-Region)#exit Switch(Config)#ulpp group 1 Switch(ulpp-group-1)#protect vlan-reference-instance 1 Switch(ulpp-group-1)#control vlan 10 Switch(ulpp-group-1)#exit Switch(Config)#interface ethernet 1/0/1 Switch(config-If-Ethernet1/0/1)# ulpp group 1 master Switch(config-If-Ethernet1/0/1)#exit Switch(Config)#interface Ethernet 1/0/2 Switch(config-If-Ethernet1/0/2)# ulpp group 1 slave Switch(config-If-Ethernet1/0/2)#exit |
Конфигурация коммутатора Switch B:
Code Block | ||
---|---|---|
| ||
Switch(Config)#vlan 10 Switch(Config-vlan10)#switchport interface ethernet 1/0/1 Switch(Config-vlan10)#exit Switch(Config)#interface ethernet 1/0/1 Switch(config-If-Ethernet1/0/1)# ulpp flush enable mac Switch(config-If-Ethernet1/0/1)# ulpp flush enable arp Switch(config-If-Ethernet1/0/1)# ulpp control vlan 10 |
Конфигурация коммутатора Switch C:
Code Block | ||
---|---|---|
| ||
Switch(Config)#vlan 10 Switch(Config-vlan10)#switchport interface ethernet 1/0/2 Switch(Config-vlan10)#exit Switch(Config)#interface ethernet 1/0/2 Switch(config-If-Ethernet1/0/2)# ulpp flush enable mac Switch(config-If-Ethernet1/0/2)# ulpp flush enable arp Switch(config-If-Ethernet1/0/2)# ulpp control vlan 10 |
Пример 2:
Рисунок 65.4 - Пример ULPP per VLAN
ULPP может балансировать нагрузку по VLAN. Как показано на рисунке 65.4, порт Eth1/0/1 основной, а порт Eth1/0/2 - дополнительный в группе 1, порт Eth1/0/2 - основной, порт Eth1/0/1 - дополнительный в группе 2. Группа 1 защищает диапазон VLAN 1-100, группа 2 защищает диапазон VLAN 101-200. В данном случае оба порта Eth1/0/1 и Eth1/0/2 имеют взаимное резервирование и находятся в режиме передачи, а также выполняют передачу пакетов разных VLAN. Когда на порту Eth1/0/1 возникает проблема, трафик из VLAN 1-100 передается через порт Eth1/0/2. После восстановления порта Eth1/0/1 данные из VLAN 101-200 продолжают передаваться через порт Eth1/0/2, но данные из VLAN 1-100 переключаются на порт Eth1/0/1.
Конфигурация коммутатора Switch A:
Code Block | ||
---|---|---|
| ||
Switch(Config)#spanning-tree mst configuration Switch(Config-Mstp-Region)#instance 1 vlan 1-100 Switch(Config-Mstp-Region)#instance 2 vlan 101-200 Switch(Config-Mstp-Region)#exit Switch(Config)#ulpp group 1 Switch(ulpp-group-1)#protect vlan-reference-instance 1 Switch(ulpp-group-1)#preemption mode Switch(ulpp-group-1)#exit Switch(Config)#ulpp group 2 Switch(ulpp-group-2)#protect vlan-reference-instance 2 Switch(ulpp-group-1)#preemption mode Switch(ulpp-group-2)#exit Switch(Config)#interface ethernet 1/0/1 Switch(config-If-Ethernet1/0/1)#switchport mode trunk Switch(config-If-Ethernet1/0/1)#ulpp group 1 master Switch(config-If-Ethernet1/0/1)#ulpp group 2 slave Switch(config-If-Ethernet1/0/1)#exit Switch(Config)#interface Ethernet 1/0/2 Switch(config-If-Ethernet1/0/2)#switchport mode trunk Switch(config-If-Ethernet1/0/2)# ulpp group 1 slave Switch(config-If-Ethernet1/0/2)# ulpp group 2 master Switch(config-If-Ethernet1/0/2)#exit |
Конфигурация коммутатора Switch B:
Code Block | ||
---|---|---|
| ||
Switch(Config)#interface ethernet 1/0/1 Switch(config-If-Ethernet1/0/1)#switchport mode trunk Switch(config-If-Ethernet1/0/1)#ulpp flush enable mac Switch(config-If-Ethernet1/0/1)#ulpp flush enable arp |
Конфигурация коммутатора Switch C:
Code Block | ||
---|---|---|
| ||
Switch(Config)#interface ethernet 1/0/2 Switch(config-If-Ethernet1/0/2)#switchport mode trunk Switch(config-If-Ethernet1/0/2)#ulpp flush enable mac Switch(config-If-Ethernet1/0/2)#ulpp flush enable arp |
2.4. Решение проблем с конфигурацией ULPP
- В конфигурации разрешено использование более чем двух uplink, однако есть риск возникновения петель, поэтому такую конфигурацию не рекомендуется использовать;
- При возникновении широковещательного шторма или разрывов соединения в кольце используйте информационные и отладочные команды для выявления причин сбоя.