Вопрос: Распределение нагрузки в регионе MSTP с коммутатором Cisco Catalyst при помощи настройки приоритета коммутатора.

Ответ: 

Обзор MSTP c описанием региона MSTP

Терминология:

CIST – Common and Internal Spanning Tree – объединение многих MSTP деревьев.

IST – Internal Spanning Tree – копия RSTP в одном VLAN-е.
MST – Multiple Spanning Tree – несколько копий RSTP в пределах одного региона MSTP.

  1. Протокол Multiple Spanning Tree Protocol основан на Rapid Spanning Tree Protocol. Он использует RSTP для быстрой сходимости и позволяет привязывать копии RSTP (IST) к VLAN-ам. При этом каждая копия имеет независимую от других копий топологию spanning-tree.
  2. При сходимости IST, корень IST становится мастером IST в регионе, имея наименьший идентификатор Bridge Identifier. Корень IST является также и корнем MST при условии, что в сети есть только один регион. Если корень CIST находится за пределами региона, из коммутаторов на границе данного региона будет выбран корень региона CIST.
  3. При инициализации коммутатора MSTP, он заявляет о себе как о корне CIST и IST с установленной равной нулю стоимостью пути к корню CIST и корню IST. И так для каждой копии MSTI. Если он получает информацию о корне MST с более высоким приоритетом, то он отказывается от права стать корнем CIST и IST.
  4. Все коммутаторы в регионе MST должны иметь один корень IST.

STP RSTP

Коммутатор D-Link полностью соответствует стандартам и поддерживает только одно дерево при работе по протоколам STP (IEEE 802.1D) и RSTP (IEEE 802.1w). При одновременном использовании этих двух протоколов spanning tree, как можно увидеть на Рисунке-1, можно настроить только одну копию spanning tree для всех VLAN в активной топологии.

 

Рисунок-1


 

Как показано на Рисунке-1, если у нас тысячи VLAN, то непрактично использовать только один канал для трафика всех VLAN. Это позволяет создать резервирование, но не распределение нагрузки.

MSTP и распределение нагрузки

На Рисунке-2 для каждого MSTI вручную назначается корневой коммутатор; каждая MSTI может иметь свой корень. Благодаря этому, в одно и то же время обеспечивается как резервирование каналов, так и распределение нагрузки. Это позволяет наиболее эффективно использовать имеющиеся каналы.

  

Рисунок-2


 

На Рисунке-2 показана схема работы активного канала в режиме резервирования и распределения нагрузки:

  1. Для передачи трафика VLAN 100-200 используется Trunk1, а Trunk2 находится в заблокированном состоянии.
  2. Для передачи трафика VLAN 300-400 используется Trunk2, а Trunk1 находится в заблокированном состоянии.
  3. Когда происходит отказ в работе Trunk 1, Trunk2 переходит в активное состояние для передачи данных, и наоборот. В результате достигается резервирование.
  4. Таким образом, происходит распределение нагрузки каналов между VLAN100-200 и VLAN 300-400, а также резервирование каналов Trunk1 и Trunk2.

Пример конфигурации – Распределение нагрузки при помощи протокола MSTP с коммутатором Cisco Catalyst с использование настройки приоритета коммутатора

 Тестовая топология

Рисунок-3 Тестовая топология

Настройка DES-3526 (FW: 5.01-B01)

 

Команда

Описание

Шаг 1

 

create vlan v100 tag 100

Создание vlan 100

 

Шаг 2

 

config vlan v100 add tagged 23-24

Добавление портов 23, 24 в VLAN 100 как tagged

Шаг 3

 

 

create vlan v300 tag 300

Создание vlan 300

Шаг 4

 

config vlan v300 add tagged 23-24

Добавление портов 23, 24 в VLAN 300 как tagged

 

Шаг 5

config stp version mstp

Изменение режима Spanning tree на MSTP

Шаг 6

 

config stp mst_ config _id name dlinkmst1

Установка конфигурационного имени dlinkmst1

 

Шаг 7

config stp mst_ config _id revision_level 777

Установка конфигурационного номера ревизии 777

Шаг 8

 

create stp instance_id 1

Создание копии MSTP (копия 1)

 

Шаг 9

 

config stp instance _id 1 add_vlan 100-200

Назначение копии 1 для VLAN 100-200

Шаг 10

create stp instance_id 2

Создание копии MSTP (копия 2)

Шаг 11

config stp instance _id 2 add_vlan 300-400

Назначение копии 2 для VLAN 300-400

Шаг 12

 

enable stp

Включение spanning tree

 

 

Настройка DES-3550 (FW: 5.00-B13)

 

Команда

Описание

Шаг 1

create vlan v100 tag 100

Создание vlan 100

Шаг 2

config vlan v100 add tagged 47-48

Добавление портов 47, 48 в VLAN 100 как tagged

 

Шаг 3

 

create vlan v100 tag 300

Создание vlan 300

Шаг 4

config vlan v300 add tagged 47-48

Добавление портов 47, 48 в VLAN 300 как tagged

Шаг 5

 

config stp version mstp

Изменение режима Spanning tree на MSTP

 

Шаг 6

 

config stp mst_config_id name dlinkmst1

 

Установка конфигурационного имени dlinkmst1

Шаг 7

 

config stp mst_config_id revision_level 777

Установка конфигурационного

 номера ревизии 777

Шаг 8

create stp instance_id 1

Создание копии MSTP (копия 1)

Шаг 9

 

config stp instance_id 1 add_vlan 100-200

Назначение копии 1 для VLAN 100-200

Шаг 10

config stp priority 4096 instance_id 1

Установка приоритета копии 1 в 4096 (чем меньше значение, тем выше приоритет)

 

Шаг 11

 

create stp instance_id 2

Создание копии MSTP (копия 2)

Шаг 12

config stp instance_id 2 add_vlan 300-400

 

Назначение копии 2 для VLAN 300-400

Шаг 13

 

enable stp

 

Включение spanning tree

 

Настройка Cisco Catalyst-3550 (IOS: 12.2(25).SEE1)

 

 

 

 

Шаг 1

configure terminal

Вход в режим глобальной конфигурации

Шаг 2

 

vlan 100

 

Создание vlan 100

 

Шаг 3

 

vlan 300

 

Создание vlan 300

 

Шаг 4

 

spanning-tree mode mst

Установка режима Spanning tree как MSTP

Шаг 5

 

spanning-tree mst configuration

Вход в режим конфигурации MST

Шаг 6

 

name dlinkmst1

Установка конфигурационного имени dlinkmst1

Шаг 7

revision 777

Установка конфигурационного номера ревизии 777

Шаг 8

 

instance 1 vlan 100-200

Назначение копии 1 для VLAN 100-200

Шаг 9

instance 2 vlan 300-400

Назначение копии 2 для VLAN 300-400

Шаг 10

 

exit

Выход из режима конфигурации MST

Шаг 11

spanning-tree mst 2 priority 4096

Установка приоритета копии 2 в 4096 (чем меньше значение, тем выше приоритет)

Шаг 12

 

int range f0/23-24

 

Вход в режим конфигурирования интерфейса

 

Шаг 13

 

switchport trunk encapsulation dot1q

Настройка режима инкапсуляции 802.1q

Шаг 14

 

switchport mode trunk

Настройка статического режима транка

Шаг 15

no cdp enable

 

Выключение CDP

Шаг 1

 

 end

Выход из режима конфигурирования

Пояснения

В этой топологии, настроено две копии 1,2 MSTP для VLAN100-200 и 300-400 соответственно. Для копии 1, мы настроили DES-3550 как корневой коммутатор, назначив ему меньший приоритет #config stp priority 4096 instance_id 1. Как показано на Рисунке-4, сначала выбирается корневой мост (Root Bridge) путем выбора устройства с наименьшим идентификатором моста bridge ID (BID). DES-3550 становится корневым, благодаря установке его приоритета в значение 4096 (по умолчанию, всем мостам назначен приоритет – 32768, позволяя по умолчанию выбрать корневым коммутатор с наименьшим MAC-адресом). Далее на всех остальных коммутаторах выбирается корневой порт (Root Port). Это порт расстояние по которому минимально. DES-3526 выбирает порт 23 (Таблица-1), а CAT3550 - порт F0/23. Наконец, для каждого сегмента LAN выбирается назначенный порт (Designated Port) (устройство с назначенным портом становится назначенным коммутатором). Порт 47 DES-3550 имеет стоимость 0, а порт 23 DES-3526 - 20000. Очевидно, что порт 47 DES-3550 становится назначенным портом, поскольку он имеет стоимость, равную 0, в Trunk 1. Следуя той же логике, в Trunk 3, порт 48 DES-3550 становится назначенным портом. В случае Trunk 2, возможен выбор между портом 24 DES-3526 и портом F0/24 CAT3550, поскольку стоимость пути от них до корневого коммутатора равна 20000. Принимается решение, что порт F0/24 CAT3550 становится назначенным портом, поскольку он имеет меньше значение BID (меньшее значение MAC-адреса в данном случае). В результате порт 24 DES-3526 становится альтернативным портом в состоянии discarding, что обеспечивает альтернативный маршрут к корневому коммутатору (по отношению к маршруту через текущий корневой порт) (Таблица-2).

Используя рассмотренный выше алгоритм, можно создать свою собственную активную топологию и определить статус портов. Очень часто возникают проблемы при попытке распределения нагрузки в сложной сети. Следует внимательно отнестись к выбору корневого коммутатора и его настройке, поскольку это очень важно для обеспечения хорошей производительности на уровне L2!

  

Рисунок-4 Копия 1 MSTI активной топологии и роль порта


 Таблица-1 Статус STP порта 23 DES-3526

DES-3526:admin#show stp ports  23
Command: show stp ports 23
MSTP Port Information
----------------------
Port Index        : 23    ,  Hello Time: 2 /2 ,  Port STP enabled 
Restricted role   : False,  Restricted TCN : False
External PathCost : Auto/200000   ,  Edge Port : False/No ,  P2P : Auto /Yes
Port Forward BPDU disabled
Msti   Designated Bridge   Internal PathCost  Prio  Status       Role
-----  ------------------  -----------------  ----  -----------  ----------
0      8000/000F3D000010   200000             128   Discarding   Alternate
1      1001/000F3D000010   200000             128   Forwarding   Root     
2      8002/000F3D000010   200000             128   Discarding   Alternate

  

Таблица-2 Статус STP порта 24 DES-3526

DES-3526:admin#show stp ports  24
Command: show stp ports 24
MSTP Port Information
----------------------
Port Index        : 24    ,  Hello Time: 2 /2 ,  Port STP enabled 
Restricted role   : False,  Restricted TCN : False
External PathCost : Auto/200000   ,  Edge Port : False/No ,  P2P : Auto /Yes
Port Forward BPDU disabled

Msti   Designated Bridge   Internal PathCost  Prio  Status       Role
-----  ------------------  -----------------  ----  -----------  ----------
0      8000/000F34895980   200000             128   Forwarding   Root     
1      8001/000F34895980   200000             128   Discarding   Alternate
2      1002/000F34895980   200000             128   Forwarding   Root  

Внимание!
Этот пример показывает, что по пртоколу MSTP существует совместимость между коммутаторами DLINK и CISCO. Возможны проблем при несоответствии настроек Native VLAN между коммутатором CISCO и другими коммутаторами.

Также возможны проблемы при использовании старых версий IOS коммутаторов Cisco так как в них MSTP по стандарту не поддерживается. Подробнее смотрите здесь: Совместимы ли коммутаторы D-Link и Cisco по протоколу MSTP?