Протокол STP
1.19.Запобігання утворенню петель комутації
1.19.1.Резервування в мережі
Сучасні підприємства усе більше покладаються на мережі, іноді від мереж залежить саме їх існування. Мережа – життєво важлива комунікація для багатьох організацій. Простій мережі перетворюється у катастрофічні втрати для бізнесу і довіри замовників.
Відмова одного мережевого каналу, одного пристрою чи навіть важливого порта комутатора може стати причиною простою мережі. Щоб виключити критичні точки відмови і забезпечити високу надійність, у мережеву архітектуру необхідно ввести резервування. Резервування реалізується шляхом встановлення дубльованого обладнання та мережевих пристроїв на важливих ділянках.
Іноді повне резервування всіх каналів і пристроїв стає невиправдано дорогим. Мережеві інженери часто змушені шукати компроміс між витратами на резервування і вимогами до доступності мережі.
Резервування означає наявність двох різних шляхів до одного місця призначення. Якщо один шлях заблокований, другий залишається доступним.
Резервування комутаторів реалізується шляхом створення декількох каналів між ними. Резервні канали в мережі знижують перевантаження і підтримують високу доступність і розподіл навантаження.
1.19.2.Вплив режимів передачі трафіку
Однак з'єднання комутаторів може стати причиною проблем. Зокрема, широкомовна природа трафіку Ethernet приводить до утворення петель комутації. Широкомовні кадри циклічно поширюються у всіх напрямках, викликаючи «шторм» широкомовних пакетів. Широкомовні шторми займають усю доступну смугу пропускання, блокують створення нових мережевих підключень і розривають існуючі підключення.
Широкомовні шторми – не єдина проблема, що обумовлена резервними каналами в комутованій мережі. Кадри одноадресного пересилання можуть також викликати такі проблеми, як множинна передача кадрів і нестабільність бази даних MAC-адрес.
Множинна передача кадрів
Якщо вузол посилає одноадресний кадр вузлу призначення і MAC-адреса не представлена в жодній з таблиць MAC-адрес підключених комутаторів, усі комутатори виконують лавинне розсилання цього кадру з усіх портів. У мережі з петлями кадр може повернутися до вихідного комутатора. Цей процес повторюється, що приводить до утворення декількох копій кадру в мережі. В результаті вузол призначення отримує кілька копій кадру. Це стає причиною трьох проблем: неефективна витрата смуги пропускання, неефективна витрата циклів ЦП і дублювання трафіку.
Нестабільність бази даних MAC-адрес
Комутатори в резервованій мережі можуть отримувати невірні дані про місцезнаходждення вузла через наявність петель комутаціїї. Якщо в мережі присутня петля, один комутатор може зв'язати MAC-адресу призначення з двома портами в своїй таблиці MAC-адрес. Це приведе до плутанини і неоптимального пересилання кадрів та збільшення завантаження каналів передачі даних і навантаження на комутатор.
1.20.Протокол STP (Spannіng Tree Protocol)
Протокол STP забезпечує механізм відключення резервних каналів в комутованій мережі. STP дозволяє використовувати резервування, необхідне для надійної експлуатації, без створення петель комутації. STP ґрунтується на відкритих стандартах і використовується для створення логічної топології без петель комутації.
Протокол STP відносно самодостатній і вимагає мінімального налаштування. При першому включенні комутатори з підтримкою STP перевіряють мережу на наявність петель. Комутатори при виявленні петлі, блокують деякі з підключених портів, залишаючи інші порти активними для пересилання кадрів.
STP задає дерево, що охоплює всі комутатори в топології “розширена зірка”. Комутатори постійно перевіряють мережу, щоб гарантувати відсутність петель і ефективну роботу всіх портів.
Щоб запобігти утворенню петель, протокол STP:
переводить частину інтерфейсів в резервний або заблокований режим;
залишає інші інтерфейси в режимі пересилки;
переналаштовує мережу, активуючи відповідний резервний шлях, якщо шлях пересилки стає недоступним.
У термінології STP термін “комутатор” часто замінюється терміном “міст”. Наприклад, кореневий міст – це основний міст або центральна вузол в топології STP. Кореневий міст взаємодіє з іншими комутаторами за допомогою блоків даних протоколу моста (bridge protocol data unit, BPDU). BPDU – це кадри, що розсилаються іншим комутаторам кожні 2 секунди. BPDU містять наступні відомості:
ідентифікатор комутатора-джерела;
ідентифікатор порту-джерела;
сукупна вартість маршруту до кореневого моста;
значення таймерів старіння;
значення таймера “вітання”.
При включенні комутатора кожен порт проходить через послідовність з 4 режимів: блокування, прослуховування, навчання і пересилання. П’ятий режим, “відключений”, вказує на те, що адміністратор відключив порт комутатора.
Порт послідовно проходить через ці режими, при цьому колір світлодіодних індикаторів змінюється від мерехтливого жовтогарячого до немерехтливого зеленого. Проходження через режими STP може зайняти до 50 секунд, після чого комутатор буде готовий до пересилання кадрів.
При включенні комутатор переходить у режим блокування, щоб запобігти негайному утворенню петель. Потім він переходить у режим прослуховування, в якому приймає BPDU від сусідніх комутаторів. Після обробки цієї інформації комутатор визначає, які порти можуть пересилати кадри, не формуючи петлі. Якщо порт може пересилати кадри, він переходить у режим навчання, а потім у режим пересилання.
Порти доступу не утворюють петель в мережі і завжди переходять у режим пересилання при підключенні вузла. Транкові порти можуть утворювати петлі і переходити в режим блокування або навчання.
1.20.1.Алгоритм STP
Протокол STP використовує алгоритм сполучного дерева (Spanning Tree Algorithm, STA), щоб визначити, які порти комутатора в мережі мають бути заблоковані для запобігання виникнення петель комтації. STA визначає один комутатор в якості кореневого мосту та використовує його в якості точки відліку для всіх розрахунку всіх шляхів.
Усі комутатори приймають участь в обміні кадрами BPDU щоб визначити, який комутатор має найнижчий bridgeID (BID) в мережі. Комутатор з найменшим значенням bridgeID автоматично стає кореневим мостом для розрахунків алгоритму STA.
Кожен BPDU містить BID, який ідентифікує комутатор, що надіслав BPDU. BID містить значення пріоритету, МАС-адресу комутатора-відправника та додаткові розширені ID системи. Найнижче значення BID визначається комбінацією цих трьох параметрів.
Після визначення кореневого мосту, STA розраховує найкоротший шлях до кореневого мосту. Кожен комутатор використовує STA щоб визначити, які порти заблокувати. Протягом часу визначення найкращих шляхів до кореневого мосту для всіх напрямків у широкомовному домені, весь трафік не має можливості передаватись по мережі.
Алгоритм STA визначає вартість шляху та вартість порту при визначенні шляху, який потрібно залишити розблокованим. Вартість шляху розраховується за вартістю порту, яка, в свою чергу, пов'язана зі швидкістю порту, для кожного порту комутатора для заданого шляху. Сума значень вартості портів визначає загальну вартість шляху до кореневого мосту. Якщо є більше ніж один шлях, STA вибирає шлях з найменшою вартістю шляху.
Коли STA визначив, які шляхи повинні залишатися доступними, він налаштовує різні ролі портам комутатора. Ролі портів описують зв’язок з кореневим мостом та можливість пересилання трафіку.
1.20.2.Кореневі мости
Щоб протокол STP міг функціонувати, комутатори в мережі визначають комутатор, що є центральним вузлом мережі. STP використовує центральний вузол мережі, що називається кореневим мостом або кореневим комутатором, для визначення портів, які необхідно блокувати, і портів, які варто перевести в режим пересилання. Кореневий міст розсилає кадри BPDU з інформацією про топологію мережі всім іншим комутаторам. Ця інформація забезпечує переналаштування мережі у випадку відмови каналів або портів.
Кореневий міст є точкою відліку для всіх розрахунків сполучного дерева для визначення надлишкових шляхів, які потрібно. В процесі вибору визначається який комутатор стає кореневим мостом.
Всі комутатори в широкомовному домені беруть участь у виборчому процесі. Після включення комутатор надсилає BPDU кадри, що містять BID комутатора та rootID кожні 2 секунди. За замовчуванням, rootID відповідає BID для усіх комутаторів в мережі. RootID ідентифікує кореневий міст в мережі. Спочатку кожен комутатор ідентифікує себе як кореневий міст.
У кожній мережі працює тільки один кореневий міст, що вибирається на підставі ідентифікатора моста (BІD, Bridge ID). BІD дорівнює сумі значення пріоритету моста та його MAC-адреси.
Значення пріоритету моста за замовчуванням дорівнює 32 768. Якщо MAC-адреса комутатора AA-11-BB-22-CC-33, BІD буде дорівнювати 32768:AA-11-BB-22-CC-33.
Міст із найменшим значенням BІD стає кореневим. Оскільки комутатори, як правило, використовують однакове значення пріоритету за замовчуванням, комутатор з найменшою MAC-адресою стає кореневим мостом.
При включенні комутатор припускає, що є кореневим мостом, і розсилає кадри BPDU зі своїм ідентифікатором BІD. Наприклад, якщо комутатор S2 повідомляє, що кореневий ідентифікатор менший, ніж ідентифікатор S1, S1 припиняє оголошення свого ідентифікатора моста і приймає кореневий ідентифікатор S2. S2 стає кореневим мостом.
1.20.3.Типи та стани портів в STP
STP використовує три типи портів: кореневі порти, призначені порти і заблоковані порти.
Кореневий порт
Порт із маршрутом оптимальної вартості до кореневого моста призначається кореневим. Комутатори обчислюють шлях з найменшою вартістю, використовуючи вартість смуги пропускання кожного каналу на шляху до кореневого моста.
Призначений порт
Призначений порт пересилає трафік до кореневого моста, але не підключений до шляху з найменшою вартістю.
Заблокований порт
Заблокований порт не пересилає трафік.
Перед налаштуванням STP мережевий адміністратор планує та оцінює мережу, щоб вибрати комутатор, який буде оптимальним кореневим мостом STP. Якщо кореневий міст буде обраний за мінімальною MAC-адресою, пересилання може бути неоптимальне.
В ролі кореневого мосту найкраще буде працювати комутатор, розташований у центрі мережі. Блокування порту, розташованого на периферії мережі, приведе до того, що трафік буде передаватися до місця призначення по довшому маршруту, ніж при використанні комутатора в центрі мережі.
Щоб задати кореневий міст, для BІD обраного комутатора налаштовується мінімальний пріоритет. Для налаштування пріоритету моста використовується команда brіdge prіorіty. Значення пріоритету може знаходитися в діапазоні від 0 до 65 535, але крок між значеннями складає 4 096. Значення за замовчуванням - 32 768.
Найкращий шлях до кореневого моста.
Після призначення кореневого мосту алгоритм STA починає процес визначення найкращого шляху до кореневого мосту з усіх напрямків в широкомовному домені. Оптимальний шлях визначається шляхом підсумовування вартості портів на шляху від призначення до кореневого мосту.
Вартість порту за замовчуванням визначається швидкістю, з якою працює порт. Так, наприклад, 10-Гбіт/с Ethernet порт має вартість 2, 1 Гбіт/с порт має вартість, 100 Мбіт/с порт має вартість 19 і 10 Мбіт/с Ethernet порт має вартість порту 100.
З появою нових, більш швидких технологій Ethernet, значення вартості шляху може змінитися.
Хоча порти комутатора мають вартість порту за замовчуванням, вартість порту можна змінити. Можливість налаштування вартості портів дозволяє адміністратору гнучко керувати шляхами сполучного дерева до кореневого мосту.
Для налаштування вартості порту потрібно ввести значення вартості за допомогою команди spanning-tree cost в режимі конфігурації інтерфейсу. Діапазон значень може бути від 1 до 200 000 000. Для повернення до стандартного значення використовується команда no spanning-tree cost.
Стани портів в STP.
STP визначає логічний маршрут без утворення петлі в межах широкомовного домену. Дерево будується на основі інформації, отриманої шляхом обміну BPDU кадрів між комутаторами. Кожен порт комутатора переходить через п'ять можливих станів порту і три BPDU таймери.
Побудова STP дерева розпочинається відразу після завершення завантаження. Якщо порт комутатора перейде від блокування безпосередньо в стан пересилання, порт може тимчасово створити петлю, якщо комутатор не володіє всією інформацією про топологію. З цієї причини в STP передбачено п'ять станів портів.
Blocking(блокування) – порт не є призначеним портом і не бере участі в передаванні кадрів. Порт отримує кадр BPDU, щоб визначити місце розташування root ID кореневого моста і який стан кожного порту комутатора повинен бути після завершення побудови активної STP топології.
Listening (прослуховування) – протокол STP встановив, що порт може приймати участь в пересиланні кадрів відповідно до попередньо отриманого кадру BPDU. Порт комутатора може не тільки отримувати кадри BPDU, але також і передавати свої власні кадри BPDU та інформувати сусідні комутатори, що порт комутатора готується до участі в активній топології.
Learning (навчання) – порт готується приймати участь в пересиланні кадрів і починається заповнення таблиці MAC-адрес.
Forwarding (пересилання) – порт вважається частиною активної топології і пересилає фрейми, а також відправляє і отримує кадри BPDU.
Disabled (відключений) – порт не приймає участі в Spanning Tree і не пересилає фрейми. Відключений стан встановлюється, коли порт комутатора відключений адміністративно.
BPDU таймери
Час, протягом якого порт залишається в різних станах, визначається BPDU таймерами. Тільки комутатор, який є кореневим мостом може відправляти інформацію по дереву для налаштування таймерів. Продуктивність STP і зміни стану визначають такі таймери:
Hello time
Forward delay
Maximum age
Коли STP дозволений, кожен порт комутатора проходить через заблокований стан, проміжні стани прослуховування та навчання при включенні живлення. Порти потім стабілізуються в стані пересилання або блокування. Під час зміни топології, порт тимчасово реалізовує прослуховування і навчання на певний період, так званий інтервал затримки пересилання.
Ці значення інтервалів забезпечують адекватний час для збіжності в мережі з діаметром сім комтаторів. Це кількість комутаторів, які повинен пройти кадр з двох дальніх точок широкомовного домену. Діаметр на сім комутаторів – це найбільший дозволений діаметр, який забезпечує допустимий час збіжності протоколу STP. Конвергенція по відношенню сполучного дерева є часом, що витрачається на перерахунок сполучного дерева, якщо виникають проблеми з комутатором або лінією зв’язку.
|