2.4.4 Протокол зв’язуючого дерева STP та його модифікації
Протокол зв’язуючого дерева (Spanning Tree Protocol - STP) - це протокол канального рівня, який використовується для підтримки такого стану мережі, у якому в ній немає петель. STP був розроблений корпорацією Digital Equipment у 1983 р. Потім комітет IEEE 802 модернізував його та опублікував у вигляді специфікації IEEE 802.1d (в цій специфікації описується і сам алгоритм роботи прозорого моста) [1, 5, 14].
Для того, -б мережа була вільна від петель - міст при виявленні петель автоматично здійснює логічне блокування одного або кількох надлишкових портів. При цьому фізично у мережі петлі є, а логічно – немає.
Основні терміни протоколу STP
Ідентифікатор моста (BID – Bridge ID) - це восьмибайтове число, шість молодших байтів якого - це МАС-адреса блоку керування моста, а два старших байти - пріоритет моста.
Ідентифікатор порту (Port ID) моста - це двобайтове число, молодший байт якого містить порядковий номер даного порту у комутаторі, а старший задається вручну.
Кореневий міст (Root Bridge) - міст, - виконує функцію кореня дерева.
Кореневий порт (Root Port) моста - порт, - має мінімальну від-стань до кореневого моста.
Призначений порт (Designated Port) моста - порт, який серед усіх портів усіх мостів даного сегмента має мінімальну відстань до кореневого моста.
Призначений міст (Designated Bridge) - це міст, якому належить призначений порт даного сегмента.
Протокольні одиниці даних моста (BPDU - Bridge Protocol Data Unit) - спеціальні пакети, якими періодично обмінюються мости для автоматичного визначення конфігурації зв’язуючого дерева. Такі пакети несуть інформацію, наприклад, про ідентифікатори мостів та портів, відстань до кореневого моста то-.
Функціонування STP
Зазначимо, - після конвергенції мережі, тобто після закінчення ро-боти STP кожна мережа має одне зв’язуюче дерево, тобто виконуються такі умови [4, 14]:
• у кожній мережі існує один кореневий міст;
• у кожного некореневого моста є один кореневий порт;
• в кожному сегменті є один призначений порт;
• усі інші порти (непризначені і некореневі) - не використовуються.
Для пересилання даних використовуються лише кореневі та призначені порти.
Алгоритм роботи протоколу STP має 3 етапи.
1. Вибір кореневого комутатора
Зразу після завантаження кожен міст вважає себе кореневим. Всі мости починають обмінюватись BPDU (за замовчуванням кожні 2 секунди). Під час такого обміну міст з найменшим значенням ідентифікатора комутатора призначається кореневим. Зазначимо, - усі мости за замовчуванням мають ідентифікатори 32768.МАС, а отже найменший ідентифікатор матиме міст з мінімальною МАС-адресою. При цьому як кореневий може бути вибрано будь-який міст, який може не бути „центром” мережі. Для раціонального вибору кореневого моста варто змінити (зменшити) пріоритет (значення старших двох байтів ВID) в того моста, який за бажанням адміністратора повинен стати кореневим.
2. Вибір кореневих портів
Кожен некореневий міст повинен мати кореневий порт. Як кореневий порт вибирається той порт, - має найменшу кореневу вартість. Коренева вартість - це загальна вартість маршруту від даного порту до кореневого комутатора і обчислюється як сума умовних часів тих сегментів через які проходить шлях від даного порту до кореневого комутатора.
Вартість каналу сегмента - це величина обернена до пропускної здатності каналу. Значення вартостей каналів, залежно від їх пропускної здатності наведені у таблиці 2.1.
Таблиця 2.1 - Значення вартості шляху для деяких пропускних спроможностей каналів
Як- кілька портів мають однакову кореневу вартість – то вибирається порт з найменшим значенням ідентифікатора.
3. Вибір призначених портів
Для кожного сегмента протокол STP вибирає один призначений порт. Призначеним портом стає той, який має найменшу оцінку маршруту до кореневого комутатора. Комутатор, у якого вибрано призначений порт для даного сегмента називається призначеним комутатором.
У кореневого комутатора усі порти є призначеними (виключенням є лише ситуація, коли деякі порти кореневого комутатора утворюють фізичні петлі).
Порти, - не стали кореневими та призначеними – блокуються і здійснюють логічне розірвання петель у мережі.
Математично доведено, - в результаті функціонування даного алгоритму для мережі отримуємо покриваюче дерево.
Приклад роботи протоколу STP
Розглянемо покроково роботу протоколу STP на прикладі про-стої мережі, наведеної на рисунку 2.4.
1. Вибір кореневого комутатора. Оскільки пріоритети трьох мостів однакові (32768), то кореневим стає міст з найменшою МАС-адресою, тобто міст Cat A.
Рисунок 2.4 - Приклад роботи протоколу STP
2. Вибір кореневих портів. Оскільки кожен некореневий міст пови-нен вибрати хоча б один кореневий порт, - має найменшу кореневу вартість, то такими кореневими портуми стануть порти 1/1 мостів Cat В та Cat C, оскільки коренева вартість кожного з них дорівнює 19 (кореневі вартості портів 1/2 мостів Cat В та Cat C дорівнюють 19 + 19 = 38).
3. Вибір призначених портів. Оскільки кожен сегмент у мережі пови-нен мати один призначений порт, то такими портуми для лівого і пра-вого сегментів мережі стають відповідно порти 1/1 і 1/2 моста Cat A (оскільки мають найменшу кореневу вартість). Для нижнього сегмента призначеним було обрано порт 1/2 моста Cat В. Це пояснюється тим, - кореневі вартість портів 1/2 мостів Cat В та Cat С мають однакове значення 19. В такому випадку вирішальним фактором стає значення ідентифікатора відправ-ника, а ідентифікатор моста Cat В менший, ніж моста Cat С. Порт, - залишився (порт 1/2 моста Cat С) стає непризначеним і переходить у стан блокування. Отже, тепер у мережі логічно розірвано петлю.
Послідовність станів портів для STP
Є п’ять основних станів портів [1, 5, 14].
1. У стані блокування користувацькі фрейми не пересилаються, про-слуховуються модулі BPDU.
2. У стані прослуховування фрейми користувачів не пересилаються, але прослуховуються. У цьому стані відбувається вибір кореневого коммутатора, кореневих та призначених портів.
3. У стані вивчення топології фрейми користувачів не пересила-ються, але вивчаються адреси інших пристроїв та заповнюється таблиця МАС-адрес.
4. У стані пересилання фрейми користувачів пересилаються, а також вивчаються адреси інших пристроїв та заповнюється таблиця МАС-адрес.
5. У стані від’єднання фрейми користувачів та BPDU не пере-силаються.
На рис. 2.5 наведено послідовність портів на яких працює протокол STP [2].
Рисунок 2.5 - Послідовність станів портів для протоколу STP
Спочатку усі порти комутатора знаходяться у стані блокування. Для переходу у стан пересилання потрібен час від 30 до 50 с.
Як- порт під’єднано до кінцевих вузлів (не зв’язаний з іншими ко-мутаторами), то для прискорення часу його переведення у стан пересилання на порту слід включити функцію швидкого порту (portfast). Тоді, при активізації порту він автоматично переходить зі стану блокування у стан пересилання. Це стає можливим завдяки тому, - такі порти не можуть спричинити виникнення петель.
1. У таблиці комутатора Cat-2 немає запису з МАС-адресою ВВ-ВВ-ВВ-ВВ-ВВ-ВВ (етап 5), і фрейм надсилається далі на порт 1/1, - створює зворотну петлю і призводить до нероботоздатності мережі.
2. Комутатор Cat2 одержує через порт 1/2 фрейми з МАС-адресою відправника АА-АА-АА-АА-АА-АА, а потім змінює запис в своїй таблиці про МАС-адресу станції А з порту 1/1 на порт 1/2.
Оскільки фрейми циркулюють у зворотному напрямі (як було показано вище, петлі циркуляції фреймів існують в обох напрямах), то відбувається циклічне змінення даних про МАС-адресу станції А з порту 1/1 комутатора Cat2 на порт 1/2.
Отже, одноадресні повідомлення не лише насичують мережу, а й ви-кривляють інформацію в МАС-таблицях комутаторів, - призводить до порушення роботоздатності такої мережі. Для уникнення вищевказаних проблем у мережах на основі мостів використовується протокол зв’язуючого дерева [14].
Розширення протоколу STP
Протокол STP має ряд обмежень та недоліків, наприклад, повільний час конвергенції мережі, необхідність перерахування дерева при кожній зміні топології мережі то-. З метою усунення цих недоліків було розроблено ряд інших протоколів. В даному посібнику ми не будемо розглядати основи роботи цих протоколів, а лише перерахуємо основні з них [4, 14].
Rapid Spanning Tree Protocol (RSTP)
Rapid STP (RSTP) - це суттєво вдосконалений STP. Описаний у стандарті IEEE 802.1w (вподальшому включений у 802.1D-2004). Серед його переваг слід відзначити зменшення часу збіжності та більшу стійкість.
Per-VLAN Spanning Tree (PVST)
Per-VLAN STP (PVSTP) розширює функціональність STP у мережах з VLAN. Тут у кожному VLAN працює окремий екземпляр STP. Спершу цей протокол працював лише через ISL-транки, потім було розроблено розширення PVST+, яке дозволяло працювати через 802.1Q-транки, котрі використвуються набагато частіше, ніж ISL.
Є реалізації rapid-pvst. Вони об’єднують властивості PVST+ і RSTP.
Multiple Spanning Tree Protocol (MSTP)
Multiple STP (MSTP) є найсучаснішою стандартною реалізацією STP, - враховує усі переваги та недоліки попередніх рішень. MSTP описаний у стандарті IEEE 802.1s (в подальшому включений у стандарт IEEE 802.1Q-2003).
На відміну від PVST+ (в якому число екземплярів зв’язуючого дерева дорівнює числу VLAN), MSTP передбачає конфігурування необхідної кількості екземплярів незалежно від числа VLAN) на комутаторі. В один екземпляр MST можуть входити декілька VLAN. Проте усі комутатори, - беруть участь в MST, повинні мати однаково сконфігуровані групи VLAN, - обмежують гнучкість при зміненні конфігурації мережі.