Коммутация LAN : Протокол STP

Общие сведения и настройка конфигурации протокола связующего дерева (STP) на коммутаторах Catalyst

23 марта 2008 - Перевод, выполненный профессиональным переводчиком
Другие версии: PDF-версия:pdf | Машинный перевод (28 июля 2013) | Английский (17 августа 2006) | Отзыв

Содержание

Введение
Предварительные условия
      Требования
      Используемые компоненты
      Условные обозначения
      Теоретические сведения
      Схема сети
Основные понятия
Описание технологии
Работа STP
      Задача
      Пошаговые инструкции
Проверка
Устранение неполадок
      Стоимость пути протокола STP автоматически изменяется при изменении скорости/дуплекса порта
      Команды устранения неполадок
      Краткие сведения о команде
Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения

Введение

Протокол STP (Spanning Tree Protocol) - это протокол второго уровня, выполняемый на мостах и коммутаторах. Спецификация для STP называется IEEE 802.1D. Основная цель STP - предотвращение создания петель при наличии в сети избыточных путей. Петли приводят к серьезным сбоям в сети.

Предварительные условия

Требования

Для данного документа нет особых требований.

Используемые компоненты

Хотя в данном документе используются коммутаторы Cisco Catalyst 5500/5000, представленные принципы связующего дерева применимы практически ко всем устройствам, поддерживающим STP.

В представленных примерах используются следующие устройства:

  • Кабель консоли, подходящий для модуля управления в данном коммутаторе

  • Шесть коммутаторов Catalyst 5509

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

Условные обозначения

Дополнительная информация об используемых в документах условных обозначениях представлена в Технические советы Cisco. Условные обозначения.

Теоретические сведения

Конфигурации данного документа применяются к коммутаторам Catalyst 2926G, 2948G, 2980G, 4500/4000, 5500/5000 и 6500/6000 под управлением ОС Catalyst (CatOS). Информация о настройке STP на других платформах коммутаторов представлена в следующих документах:

Схема сети

В данном документе используется следующая схема сети:

5-a.gif

Основные понятия

STP выполняется на мостах и коммутаторах, совместимых с 802.1D. Существуют различные разновидности STP, но наиболее популярным и широко внедряемым стандартом является 802.1D. Внедрение протокола STP на мостах и коммутаторах предназначено для предотвращения образования петель в сети. STP нужно использовать в тех случаях, когда требуются избыточные каналы связи, а не петли. В случае отказа в сети избыточные каналы так же важны, как и резервные копии. Сбой в работе активного модуля активирует резервные каналы с тем, чтобы пользователь мог продолжать использование сети. В случае отсутствия STP на мостах и коммутаторах эта ситуация может привести к образованию петли. Рассмотрим следующую сеть:

5-b.gif

В этой сети планируется создание резервного канала между коммутатором А и коммутатором В. Однако в данной конфигурации возможно возникновение замкнутой петли. К примеру, широковещательная или многоадресная рассылка, которая передается со станции М на станцию N, будет просто циркулировать между двумя коммутаторами.

Но при выполнении STP на обоих коммутаторах сеть логически выглядит следующим образом:

5-c.gif

Эта информация относится к сценарию, представленному в схеме сети:

  • Коммутатор 15 является магистральным коммутатором.

  • Коммутаторы 12, 13, 14, 16 и 17 являются коммутаторами, прикрепленными к рабочим станциям и ПК.

  • Сеть определяет следующие виртуальные локальные сети:

    • 1

    • 200

    • 201

    • 202

    • 203

    • 204

  • Имя домена протокола магистрали VLAN (VTP) - STD-Doc.

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

Описание технологии

Использование протокола STP предусматривает для всех коммутаторов в сети выбор корневого моста, который становится центральным узлом в сети. Все другие решения, касающиеся данной сети, в том числе какой порт заблокировать и для какого порта использовать режим пересылки, принимаются в соответствии с установками корневого моста. Среда коммутации, которая отличается от среды мостового соединения, обычно используется с несколькими VLAN. Обычно, при внедрении корневого моста в коммутируемую сеть корневой мост считается корневым коммутатором. У каждой VLAN, поскольку они являются отдельными доменами широковещательной рассылки, должен быть свой корневой мост. Маршрут для различных VLAN может находиться в одном коммутаторе или в нескольких коммутаторах.

Примечание: Очень важен выбор корневого коммутатора для конкретной VLAN. Пользователь может сам выбрать корневой коммутатор или позволить решать коммутаторам, какой из них более уязвим. Если процесс выбора корневого коммутатора не контролируется, в сети могут возникнуть квазиоптимальные пути.

Все коммутаторы обмениваются информацией для использования при выборе корневого коммутатора, а также для последующей настройки сети. Эту информацию переносят блоки данных протокола моста (BPDU). Каждый коммутатор сравнивает параметры в BPDU, которые коммутатор отправляет соседнему устройству, с параметрами, которые коммутатор получает от этого устройства.

В процессе выбора корневого коммутатора STP чем меньше значение, тем лучше. Если коммутатор А отображает идентификатор корневого коммутатора, который меньше идентификатора, отображаемого коммутатором B, то предпочтение отдается информации от коммутатора А. Коммутатор B прекращает отображать идентификатор корневого коммутатора и принимает значение, поступившее от коммутатора А.

Дополнительная информация о некоторых вспомогательных функциях STP представлена в документе Настройка дополнительных функций STP:

  • PortFast

  • Root guard

  • Loop guard

  • BPDU guard

Работа STP

Задача

Предварительные условия

Прежде чем начать настройку STP необходимо выбрать корневой коммутатор для связующего дерева. Нужно выбрать самый централизованный коммутатор в сети, который не обязательно должен быть самым мощным. Все потоки данных в сети обрабатываются с позиции данного коммутатора. Кроме того, выберите наименее загруженный коммутатор в сети. Магистральные коммутаторы часто выступают в качестве корневого узла связующего дерева, поскольку эти коммутаторы обычно не подключены к конечным станциям. Также на них меньше влияют перемещения и изменения в сети.

После того как будет выбран корневой коммутатор, задайте соответствующие переменные для назначения этого коммутатора корневым. Единственная переменная, которую необходимо задать – это bridge priority. Если переменная приоритета моста коммутатора меньше, чем у всех остальных коммутаторов, другие коммутаторы автоматически выбирают этот коммутатор в качестве корневого.

Клиенты (конечные станции) портов коммутатора

Также можно выполнить команду set spantree portfast для каждого порта по отдельности. При выборе переменной порта portfast, порт немедленно переключается из режима блокировки в режим пересылки. Команда portfast позволяет предотвратить периоды ожидания для тех клиентов, которые используют Novell Netware или DHCP для получения IP-адреса. Однако убедитесь, что вы не пользуетесь этой командой в случае соединения между коммутаторами. В этом случае данная команда может привести к петле. Задержка в течение 30-60 секунд при переходе из режима блокировки в режим пересылки предотвращает образование временной петли в сети при соединении двух коммутаторов.

Для большинства других переменных STP следует оставить их значения по умолчанию.

Правила функционирования

В этом разделе представлены правила функционирования STP. При первом подключении коммутаторов они запускают процесс выбора корневого коммутатора. Каждый коммутатор передает BPDU на коммутатор, подключенный напрямую, для каждой VLAN.

При прохождении BPDU через сеть каждый коммутатор сравнивает отправленный им блок данных BPDU с BPDU, полученными от соседей. Затем коммутаторы согласовывают между собой, какой коммутатор должен стать корневым. В процессе выбора побеждает коммутатор с наименьшим идентификатором моста в сети.

Примечание: Помните о том, что на каждую виртуальную сеть определяется один корневой коммутатор. После завершения процесса идентификации корневого коммутатора, коммутаторы придерживаются следующих правил:

  • Правило STP 1— Все порты корневого коммутатора должны находиться в режиме пересылки.

    Примечание: В некоторых пограничных случаях, в которых участвуют порты с зацикливанием, для этого правила может существовать исключение.

    Затем каждый коммутатор определяет лучший путь к корневому узлу. Это происходит путем сравнения информации во всех BPDU, которые коммутаторы получили на всех портах. Коммутатор использует порт с наименьшим количеством информации в BPDU в качестве пути к корневому коммутатору; порт с наименьшим количеством информации в BPDU является корневым портом. После обнаружения корневого порта коммутатор переходит к правилу 2.

  • Правило STP 2—Корневой порт должен находиться в режиме пересылки.

    Кроме того, коммутаторы в каждом сегменте ЛВС совместно определяют, какой коммутатор лучше всего использовать, чтобы переместить данные из этого сегмента в корневой мост. Этот коммутатор называется выделенным коммутатором.

  • Правило STP 3—В отдельном сегменте ЛВС порт выделенного коммутатора, подключенного к этому сегменту, должен быть переведен в режим пересылки.

  • Правило STP 4—Все другие порты на всех коммутаторах (для VLAN) следует перевести в режим блокировки. Это правило относится только к тем портам, которые подключены к другим мостам или коммутаторам. STP не используется в портах, которые подключены к рабочим станциям или ПК. Эти порты остаются в состоянии пересылки.

    Примечание: Добавление или удаление виртуальных локальных сетей при использовании протокола STP в режиме связующего дерева для каждого VLAN (PVST / PVST+) вызывает пересчет связующего дерева для этой VLAN, и трафик нарушается только для этой сети. Другие сегменты VLAN на магистральном канале могут пересылать трафик в обычном режиме. Добавление или удаление виртуальных локальных сетей в режиме множественных связующих деревьев (MST) вызывает пересчет связующего дерева для этой VLAN, и трафик нарушается только для этого сегмента MST.

Примечание: По умолчанию связующее дерево выполняется для каждого порта. Отключение функции связующего дерева невозможно в коммутаторах на основании отдельных портов. Возможно отключение STP для каждой VLAN или глобально для всего коммутатора, хотя это не рекомендуется. Отключение функции связующего дерева требует большой осторожности, поскольку это приводит к появлению в сети петель уровня 2.

Пошаговые инструкции

Выполните следующие шаги:

  1. Чтобы получить информацию о версии ПО, используемого коммутатором, выполните команду show version.

    Примечание: Все коммутаторы используют одну и ту же версию ПО.

    Switch-15> (enable)show version
    WS-C5505 Software, Version McpSW: 4.2(1) NmpSW: 4.2(1)
    Copyright (c) 1995-1998 by Cisco Systems
    NMP S/W compiled on Sep  8 1998, 10:30:21
    MCP S/W compiled on Sep 08 1998, 10:26:29
    
    System Bootstrap Version: 5.1(2)
    
    Hardware Version: 1.0  Model: WS-C5505  Serial #: 066509927
    
    Mod Port Model      Serial #  Versions
    --- ---- ---------- --------- ----------------------------------------
    1   0    WS-X5530   008676033 Hw : 2.3
    Fw : 5.1(2)
    Fw1: 4.4(1)
    Sw : 4.2(1)

    В этом сценарии коммутатор 15 - оптимальный выбор для корневого коммутатора сети для всех VLAN, поскольку этот коммутатор является магистральным.

  2. Чтобы установить приоритет коммутатора равным 8192 для виртуальной сети или сетей, которые указывают vlan_id, выполните команду set spantree root vlan_id.

    Примечание: Приоритет коммутаторов по умолчанию равен 32768. При установке приоритета с помощью этой команды коммутатор 15 выбирается в качестве корневого коммутатора, поскольку он использует наименьший приоритет.

    Switch-15> (enable)set spantree root 1
    VLAN 1 bridge priority set to 8192.
    VLAN 1 bridge max aging time set to 20.
    VLAN 1 bridge hello time set to 2.
    VLAN 1 bridge forward delay set to 15.
    Switch is now the root switch for active VLAN 1.
    Switch-15> (enable) 
    
    Switch-15> (enable)set spantree root 200
    VLAN 200 bridge priority set to 8192.
    VLAN 200 bridge max aging time set to 20.
    VLAN 200 bridge hello time set to 2.
    VLAN 200 bridge forward delay set to 15.
    Switch is now the root switch for active VLAN 200.
    Switch-15> (enable) 
    
    Switch-15> (enable)set spantree root 201
    VLAN 201 bridge priority set to 8192.
    VLAN 201 bridge max aging time set to 20.
    VLAN 201 bridge hello time set to 2.
    VLAN 201 bridge forward delay set to 15.
    Switch is now the root switch for active VLAN 201.
    Switch-15> (enable)
    
    Switch-15> (enable)set spantree root 202
    VLAN 202 bridge priority set to 8192.
    VLAN 202 bridge max aging time set to 20.
    VLAN 202 bridge hello time set to 2.
    VLAN 202 bridge forward delay set to 15.
    Switch is now the root switch for active VLAN 202.
    Switch-15> 
    
    Switch-15> (enable)set spantree root 203
    VLAN 203 bridge priority set to 8192.
    VLAN 203 bridge max aging time set to 20.
    VLAN 203 bridge hello time set to 2.
    VLAN 203 bridge forward delay set to 15.
    Switch is now the root switch for active VLAN 203.
    Switch-15> 
    
    Switch-15> (enable)set spantree root 204
    VLAN 204 bridge priority set to 8192.
    VLAN 204 bridge max aging time set to 20.
    VLAN 204 bridge hello time set to 2.
    VLAN 204 bridge forward delay set to 15.
    Switch is now the root switch for active VLAN 204.
    Switch-15> (enable)

    Более краткий вариант этой команды приводит к тем же результатам, как показано на примере далее:

    Switch-15> (enable)set spantree root 1,200-204 
    VLANs 1,200-204 bridge priority set to 8189.
    VLANs 1,200-204 bridge max aging time set to 20.
    VLANs 1,200-204 bridge hello time set to 2.
    VLANs 1,200-204 bridge forward delay set to 15.
    Switch is now the root switch for active VLANs 1,200-204.
    Switch-15> (enable)

    Команда set spantree priority предоставляет третий способ определения корневого коммутатора:

    Switch-15> (enable)set spantree priority 8192 1
    Spantree 1 bridge priority set to 8192.
    Switch-15> (enable)

    Примечание: В этом сценарии все коммутаторы начинают работу с очищенными конфигурациями. Следовательно, все коммутаторы начинают работать с приоритетом моста равным 32768. Если вы не уверены в том, что все коммутаторы в сети обладают приоритетом большим 8192, установите приоритет требуемого корневого моста равным 1.

  3. Для того, чтобы настроить параметр PortFast на коммутаторах 12, 13, 14, 16 и 17, выполните команду set spantree portfast mod_num/port_num.

    Примечание: Этот параметр можно настраивать только на портах, подключенных к рабочим станциям или ПК. Не включайте PortFast на портах, подключенных к другому коммутатору.

    В этом примере показана настройка коммутатора 12. Другие коммутаторы можно настроить таким же образом. Коммутатор 12 поддерживает следующие подключения портов:

    • Порт 2/1 подключен к коммутатору 13.

    • Порт 2/2 подключен к коммутатору 15.

    • Порт 2/3 подключен к коммутатору 16.

    • Порты 3/1 подключены к ПК через порт 3/24.

    • Порты 4/1 через порт 4/24 подключены к рабочим станциям UNIX.

    Используя эту информацию в качестве стартовой, выполните команду set spantree portfast на портах 3/1 - 3/24 и на портах 4/1 - 4/24:

    Switch-12> (enable)set spantree portfast 3/1-24 enable
    
    Warning: Spantree port fast start should only be enabled on ports connected
    to a single host.  Connecting hubs, concentrators, switches, bridges, etc. to
    a fast start port can cause temporary spanning-tree loops.  Use with caution.
    
    Spantree ports 3/1-24 fast start enabled.
    Switch-12> (enable) 
    
    Switch-12> (enable)set spantree portfast 4/1-24 enable
    
    Warning: Spantree port fast start should only be enabled on ports connected
    to a single host.  Connecting hubs, concentrators, switches, bridges, etc. to
    a fast start port can cause temporary spanning-tree loops.  Use with caution.
    
    Spantree ports 4/1-24 fast start enabled.
    Switch-12> (enable)
  4. Чтобы убедиться, что коммутатор 15 является корневым коммутатором на соответствующих VLAN, выполните команду show spantree vlan_id.

    Используя выходные данные этой команды, сравните MAC-адрес корневого коммутатора с МАС-адресом коммутатора, из которого поступила команда. Если адреса совпадают, коммутатор, в котором вы находитесь, является корневым коммутатором VLAN. Корневой порт 1/0 также указывает на то, что данный коммутатор является корневым. Вот пример выходных данных команды:

    Switch-15> (enable)show spantree 1
    VLAN 1
    spanning-tree enabled
    spanning-tree type          ieee
    
    Designated Root             00-10-0d-b1-78-00
    
    !--- Это MAC-адрес корневого коммутатора для VLAN 1.
    
    Designated Root Priority    8192
    Designated Root Cost        0
    Designated Root Port        1/0
    Root Max Age   20 sec    Hello Time 2  sec   Forward Delay 15 sec
    
    Bridge ID MAC ADDR          00-10-0d-b1-78-00
    Bridge ID Priority          8192
    Bridge Max Age 20 sec    Hello Time 2  sec   Forward Delay 15 sec

    Эти выходные данные показывают, что коммутатор 15 является выделенным корневым коммутатором связующего дерева для VLAN 1. MAC-адрес выделенного корневого коммутатора, 00-10-0d-b1-78-00, соответствует MAC-адресу идентификатора моста коммутатора Switch 15, - 00-10-0d-b1-78-00. Другим доказательством того, что это - выделенный корневой коммутатор, является использование выделенного корневого порта 1/0.

    В этих выходных данных коммутатора 12 он признает, что коммутатор 15 является выделенным коммутатором для VLAN 1:

    Switch-12> (enable)show spantree 1
    VLAN 1
    spanning-tree enabled
    spanning-tree type          IEEEDesignated Root             00-10-0d-b1-78-00
    
    !--- Это MAC-адрес корневого коммутатора для VLAN 1.
    
    Designated Root Priority    8192
    Designated Root Cost        19
    Designated Root Port        2/3
    Root Max Age   20 sec    Hello Time 2  sec   Forward Delay 15 sec
    
    Bridge ID MAC ADDR          00-10-0d-b2-8c-00
    Bridge ID Priority          32768
    Bridge Max Age 20 sec    Hello Time 2  sec   Forward Delay 15 sec

    Примечание: Выходные данные команды show spantree vlan_id для других коммутаторов и VLAN также могут свидетельствовать, что коммутатор 15 является выделенным корневым коммутатором для всех VLAN.

Проверка

В данном разделе содержатся сведения для проверки работы текущей конфигурации.

Output Interpreter Tool (только для зарегистрированных клиентов) (OIT) поддерживает определенные команды show. Используйте OIT для просмотра и анализа выходных данных команды show.

  • show spantree vlan_id—Показывает текущее состояние связывающего дерева для данного идентификатора VLAN с точки зрения коммутатора, на котором была выполнена команда.

  • show spantree summary—Предоставляет обзор подключенных портов связующего дерева в рамках VLAN.

Устранение неполадок

Этот раздел содержит сведения об устранении неполадок конфигурации.

Стоимость пути протокола STP автоматически изменяется при изменении скорости/дуплекса порта

STP вычисляет стоимость пути на основании скорости среды (пропускной способности) каналов между коммутаторами и стоимости портов по каждому кадру пересылки. Связующее дерево выбирает корневой порт на основании стоимости порта. Порт с наименьшей стоимостью пути к корневому мосту становится корневым портом. Корневой порт всегда находится в состоянии пересылки.

Если скорость/дуплекс порта изменяется, связующее дерево автоматически пересчитывает стоимость пути. Изменения в стоимости пути могут привести к изменениям в топологии связующего дерева.

Дополнительная информация о вычислении стоимости порта представлена в разделе "Подсчет и присвоение стоимости порта" документа "Настройка связующего дерева".

Команды устранения неисправностей

Средство Output Interpreter Tool (только для зарегистрированных заказчиков) (OIT) поддерживает некоторые команды show. Используйте OIT для просмотра аналитических данных по выходным данным команды show.

Примечание: До использования команд отладки ознакомьтесь с документом Важные сведения о командах отладки.

  • show spantree vlan_id—показывает текущее состояние связывающего дерева для данного идентификатора VLAN с точки зрения коммутатора, на котором была выполнена команда.

  • show spantree summary—предоставляет обзор подключенных портов связующего дерева в рамках VLAN.

  • show spantree statistics—отображает статистические сведения о связующем дереве.

  • show spantree backbonefast—показывает, включена ли функция связующего дерева Backbone Fast Convergence.

  • show spantree blockedports—показывает только заблокированные порты.

  • show spantree portstate—определяет текущее состояние связующего дерева порта Token Ring в рамках связующего дерева.

  • show spantree portvlancost—показывает стоимость пути для сетей VLAN на порте.

  • show spantree uplinkfast—отображает настройки UplinkFast.

Краткие сведения о команде

Синтаксис:

show version

В данном документе используется:

show version

Синтаксис:

set spantree root [vlan_id]

В данном документе используется:

set spantree root 1

set spantree root 1,200-204

Синтаксис:

set spantree root [vlan_id]

В данном документе используется:

set spantree priority 8192 1

Синтаксис:

set spantree portfast mod_num/port_num {enable | disable}

В данном документе используется:

set spantree portfast 3/1-24 enable

Синтаксис:

set spantree root [vlan_id]

В данном документе используется:

show spantree 1

Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Дополнительные сведения


Document ID: 5234