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, - обмежують гнучкість при зміненні конфігурації мережі.