STP – пояснення протоколу Spanning Tree

⚡ Розумний підсумок

Протокол Spanning Tree Protocol (STP) – це стандарт керування каналами зв'язку другого рівня, IEEE 802.1D, який запобігає перемиканню петель у мережах із надлишковими каналами, вибираючи кореневий міст і переводячи резервні порти у стан блокування.

  • 🔁 Мета: STP будує логічну топологію без петель з фізичної мережі, яка містить надлишкові, потенційно зайві ресурси.ping посилання
  • 🌉 Кореневий міст: Комутатори обмінюються BPDU, щоб обрати один кореневий міст, до якого кожен інший комутатор вимірює свій найкоротший шлях як до опорної точки.
  • 🧱 Штати портів: Кожен порт проходить через блокування, прослуховування, навчання та переадресацію, а також вимкнений стан для вимкнених портів.
  • ⚡ RSTP: Протокол швидкого схрещування дерев (802.1w) збігається за лічені секунди, тоді як класичний STP може зайняти до 50 секунд.
  • 📊 Варіанти: Стандарти включають STP, RSTP, MSTP (802.1s) та Cisco PVST+ та PVRST+ для дерев кожної VLAN.
  • 🤖 Допомога AI: Інструменти машинного навчання виявляють шторми, пов'язані зі зміною топології, та умови циклу швидше, ніж ручний перегляд журналів.

Пояснення протоколу Spanning Tree (STP)

Що таке STP?

Протокол Spanning Tree Protocol (STP) – це протокол керування каналами, розроблений для підтримки резервних каналів, запобігаючи при цьому петлям комутації в мережі. Це Layer 2 протокол, який працює на мостах і комутаторах і має бути ввімкнений на інтерфейсах комутатора. IEEE стандартизував його як IEEE 802.1D.

Навіщо нам STP?

Надмірні з’єднання покращують відмовостійкість, але без механізму запобігання петель вони також можуть створювати небезпечні петлі комутації. Ось ситуації, коли протокол Spanning Tree Protocol стає важливим:

  • Надійність (відмовостійкість) мережі значно підвищується завдяки впровадженню резервування.
  • Комутатори перенаправляють трафік з усіх портів, коли він має досягти пункту призначення, який ще невідомий.
  • Широкове та багатоадресний трафік пересилається з усіх портів, окрім того, на який він надійшов.
  • STP створює логічну топологію без петель з фізичної топології, яка містить петлі.

Як працює STP? приклад

Охоплююче дерево використовує алгоритм для пошуку надлишкових зв'язків у ЛВС та вибирає найкращі шляхи. Він переводить кожне посилання у стан пересилання або блокування.

Після цього процесу посилання без резервної альтернативи залишаються у стані переадресації. Резервні посилання, які не були вибрані як найкращий шлях, встановлюються на блокування. Spanning Tree ніколи не використовує кілька посилань до одного й того ж пункту призначення, тому не забезпечує розподілу навантаження.

Види НТП

Ось різні типи протоколів Spanning Tree:

Standard Опис Скорочення
IEEE 802.1D Запобігання зацикленню; автоматична реконфігурація дерева після будь-якої зміни; повільна конвергенція (до 50 секунд) STP
IEEE 802.1w — протокол швидкого поєднувального дерева Покращений STP зі швидшою конвергенцією; зворотна сумісність з STP RSTP
IEEE 802.1Q — Віртуальна локальна мережа Визначає одне спільне охоплююче дерево для всіх VLAN КНТ
Cisco власний — Spanning Tree для кожної VLAN Один екземпляр STP на VLAN; PVST+ – це покращений варіант PVST PVST+
Cisco власний — швидке охоплююче дерево для кожної віртуальної локальної мережі (Per-VLAN) Швидка конвергенція для кожної VLAN ПВРСТ+ / Р-ПВСТ+
IEEE 802.1s — протокол множинних охоплювальних дерев Кілька VLAN, зіставлених з одним екземпляром STP MSTP

Критерії Spanning Tree

Три критерії визначають, які інтерфейси переводяться у стан переадресації:

  • Усі інтерфейси на кореневому мосту переводяться в стан переадресації.
  • Для мостів, які не є кореневим мостом, порт, найближчий до кореневого мосту (з найнижчою вартістю шляху), переводиться у стан переадресації.
  • Міст з найнижчою вартістю шляху до кореневого мосту на сегменті називається призначеним мостом.

Етапи протоколу STP

Порт Spanning Tree проходить через кілька станів, перш ніж перенаправити трафік, як показано на діаграмі нижче:

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

Стан блокування

Блокувальний порт — це невизначений порт, який ніколи не бере участі в переадресації кадрів. Його таймер становить 20 секунд (максимальне значення віку). Інтерфейс завжди переходить у стан блокування, коли ви вмикаєте STP.

Стан прослуховування

Стан прослуховування – це перший перехідний стан, у який переходить порт після блокування. Тут порт визначає, чи повинен він брати участь у переадресації кадрів. Стан прослуховування виконує такі функції:

  • Відкидає кадри, отримані на порт
  • Не вивчає MAC-адреси
  • Отримує BPDU

Держава навчання

Стан навчання готує порт до участі в переадресації кадрів. Порт переходить у стан навчання зі стану прослуховування та виконує такі функції:

  • Відкидає кадри, отримані на порт
  • Отримує BPDU
  • Навчається MAC адреси

Держава пересилання

Порт у стані пересилання пересилає кадри. Він переходить у стан пересилання зі стану навчання та виконує такі функції:

  • Отримує та пересилає кадри, отримані на порту
  • Вивчає MAC-адреси
  • Отримує BPDU

Стан інвалідів

Вимкнений порт не бере участі в Spanning Tree, оскільки він адміністративно вимкнений; його час роботи необмежений. Вимкнений інтерфейс виконує такі функції:

  • Відкидає кадри, отримані на порт
  • Не вивчає MAC-адреси
  • Не отримує BPDU

Важливі терміни, що використовуються в протоколі Spanning Tree

Ось деякі важливі терміни, що використовуються в STP:

Міст

Міст — це важливий компонент STP, який з'єднує два або більше сегментів локальної мережі.

Корінний міст (РБ)

Кореневий міст пропонує точку з'єднання для всіх сегментів, і кожен міст у локальній мережі має шлях до нього. STP автоматично вибирає кореневий міст, хоча мережевий адміністратор може змінити його за потреби.

Некореневий міст (NRB)

Некореневий міст — це будь-який міст, який не є кореневим мостом.

Кореневий порт (RP)

Кореневий порт — це порт, який веде до кореневого мосту.

Визначений порт (DP)

Кожен сегмент локальної мережі має один призначений порт. Кожен міст отримує кадри на своєму призначеному порту та пересилає їх через свій кореневий порт до кореневого мосту.

Ідентифікатор порту

Ідентифікатор порту допомагає визначити кореневий порт. Він складається з налаштовуваного 1-байтового значення пріоритету та унікального номера порту для кожного мосту.

Вартість шляху (ПК)

Вартість шляху допомагає визначити найкращу топологію з точки зору швидкості пересилання; з'єднання з меншою пропускною здатністю має вищу вартість. STP використовує вартість шляху для вибору найкоротшого маршруту до кореневого мосту.

Невизначений порт

Непризначений порт – це заблокований порт комутатора, який також називають заблокованим або альтернативним портом. Він не може пересилати кадри на наступний комутатор і не заповнює таблицю MAC-адрес.

RSTP

Протокол швидкого поєднувального дерева (RSTP) – це мережевий протокол, який забезпечує топологію без петель для мереж Ethernet та збігається набагато швидше, ніж оригінальний STP.

Блоки даних протоколу мосту (BPDU)

Протокол Spanning Tree вимагає від мережевих пристроїв обміну повідомленнями, щоб вони могли формувати логічну топологію без петель. Ці повідомлення називаються BPDU (Bridge Protocol Data Units - блоки даних мостового протоколу). Кожен мережевий пристрій надсилає BPDU для обміну інформацією про топологію.

BPDU допомагають комутаторам виконувати такі дії:

  • Виберіть один комутатор, який буде коренем охоплюючого дерева.
  • Обчисліть найкоротший шлях від кожного комутатора до кореневого комутатора, визначивши один комутатор як найближчий до кореня для кожного сегмента локальної мережі.
  • Виберіть один порт на кожному комутаторі як його кореневий порт (якщо це не кореневий комутатор).
  • Визначте порти, що є частиною охоплюючого дерева, як призначені порти.
  • Блокуйте невизначені порти.

Конфігурація BPDU

Конфігураційний BPDU містить ідентифікатор мосту кореневого пристрою, ідентифікатор мосту transmitміст та ідентифікатор transmitпорт тинг.

Повідомлення про зміну топології (TCN) BPDU

Комутатор надсилає BPDU TCN до кореневого мосту, коли виявляє зміну в топології мережі, таку як підвищення або зниження рівня з'єднання. Потім кореневий міст дає кожному комутатору інструкцію скоротити час старіння таблиці MAC-адрес, щоб швидко очистити застарілі записи.

Відмінності між STP і RSTP

У таблиці нижче наведено ключові відмінності між STP та RSTP:

STP RSTP
У STP міст надсилає BPDU лише тоді, коли отримує його на своєму кореневому порту від кореневого моста. RSTP дозволяє кожному комутатору надсилати BPDU в кожному інтервалі привітання.
STP визначає дві ролі портів: кореневий порт і призначений порт. RSTP додає ще дві ролі: альтернативний порт та резервний порт.

Довідкова таблиця станів портів STP

У наступній таблиці підсумовано стан кожного порту STP, чи обробляє він BPDU та чи вивчає він MAC-адреси:

стан Опис Обробити BPDU Вивчіть MAC
В цьому Ініціалізація порту. Немає Немає
інвалід Адміністративний стан, який не бере участі у стандартних операціях STP. Немає Немає
Блокування Порт не пересилає кадри Ethernet. Так (отримує та обробляє лише BPDU) Немає
Прослуховування У цьому стані обчислюється топологія без петель, і порту призначається його роль. Так (надсилає та отримує BPDU) Немає
НАВЧАННЯ Додатковий стан, який затримує пересилання кадрів, щоб уникнути перевантаження мережі. Так Так (заповнює таблицю MAC-адрес)
Пересилання Нормальна робота, пересилання кадрів Ethernet. Так Так

Поширені запитання

Кожен комутатор оголошує ідентифікатор мосту, що складається з пріоритетного значення (за замовчуванням 32768) та його MAC-адреси. Комутатор з найнижчим ідентифікатором мосту стає кореневим мостом; якщо пріоритети збігаються, перемагає найнижча MAC-адреса.

Класичний 802.1D використовує три таймери: час привітання 2 секунди, затримка прямого зв'язку 15 секунд для станів прослуховування та навчання та максимальний час 20 секунд. Повна конвергенція може тривати від 30 до 50 секунд.

BPDU Guard захищає порти доступу (граничні порти), які ніколи не повинні отримувати BPDU. Якщо такий порт отримує BPDU, комутатор негайно переводить його у стан «err-disabled», зупиняючиping шахрайські перемикачі або випадкові цикли від дестабілізації топології.

PortFast дозволяє порту доступу пропускати стани прослуховування та навчання та одразу переходити до переадресації. Використовуйте його лише на портах, підключених до кінцевих пристроїв, таких як ПК або сервери, а не на з'єднаннях між комутаторами.

Без STP, надлишкові зв'язки між перемикачі створювати петлі мостів. Кадри циркулюють нескінченно, викликаючи широкомовні шторми, дублікати кадрів та нестабільність таблиці MAC-адрес, що може швидко перевантажити та призвести до збою всієї локальної мережі.

Так. Сучасні комутатори за замовчуванням використовують RSTP або MSTP, оскільки вони сходяться за лічені секунди. Великі центри обробки даних все частіше додають технології маршрутизації або тканини рівня 3, такі як TRILL, SPB та EVPN-VXLAN, але STP все ще захищає рівень 2 від петель.

Інструменти машинного навчання визначають базову норму BPDU та активність зміни топології, а потім позначають аномалії, такі як раптові перевантаження TCN або закриттяping кореневий міст. Це пришвидшує аналіз першопричини, хоча інженер все одно підтверджує та застосовує виправлення.

Копілот GitHub Проекти Cisco IOS, Ansible або Python фрагменти коду для таких завдань, як встановлення пріоритету мосту або ввімкнення PortFast з короткого коментаря. Завжди переглядайте згенеровані команди, перш ніж застосовувати їх до робочих комутаторів.

Підсумуйте цей пост за допомогою: