Мережева надмірність: як запобігти відмові одного комутатора від зупинки всієї системи

9

Ви бачили схеми. Шинні мережі. Кільцеві топології. Усі вони мають один фатальний недолік. Одне розрив у ланцюзі – і все зупиняється.

Зоряні мережі виглядають безпечнішими. Є центральний комутатор. Кожен вузол підключений до нього. Якщо один комп’ютер виходить з ладу, решта залишається онлайн. Але є каверза. Це центральний комутатор? Це єдина точка відмови.

Подивіться на схему нижче.

![Опис діаграми: мережа з комутаторами A, B та C. Вузли підключені до кожного комутатора. Комутатори A та C підключені до комутатора B.]

У цьому сценарії комутатор B є магістраллю. Він з’єднує комутатори A та C.

Якщо комутатор A виходить з ладу, вузли A відключаються. Але вузли на B і C все ще можуть спілкуватися. Те саме відбувається, якщо виходить з ладу комутатор C. Частковий збій. Керований.

Але якщо комутатор B вийде з ладу?

Все йде в нуль. Вся мережа руйнується. Чому? Тому що B – це міст. Немає мосту – немає трафіку.

Тут входить у гру надмірність. Йдеться не лише про резервне харчування або додаткові жорсткі диски. Йдеться про архітектурну стійкість.

Що, якщо змінити фізичне компонування?

Уявіть, що додано прямий зв’язок між комутаторами A та C. Надлишковий сегмент.

Тепер, якщо комутатор В вийде з ладу, A все ще може спілкуватися з C. Шлях зміниться. Трафік переспрямується. Мережа залишиться у робочому стані.

Це і є суть мережної надмірності. Не магія. Це просто другий спосіб дістатися з точки X до точки Y.

Але додавання кабелю недостатньо. Вам потрібні протоколи, які розуміють цю надмірність. В іншому випадку ви створите петлі. А петлі обрушують мережі швидше, ніж відмова комутатора.

Ми лише поверхово торкаємося цієї теми. Справжня робота починається, коли ви починаєте говорити про протоколи дерева Spanning Tree і часи перемикання на резерв.

Але спочатку ви маєте побачити проблему. А проблема проста.

Залежність від єдиної точки відмови.

Усуньте її – і ви переживете наступний збій обладнання.

Відмовляє перший комутатор. Другий бере управління на себе. Трафік продовжує рухатись.

У цьому полягає краса мережевої надмірності. Ви усунули єдину точку відмови. Якщо один із апаратних пристроїв вийде з ладу, кільце залишиться замкнутим. Мережа продовжує “дихати”.

Але тепер у нас виникає нова проблема.

Петля смерті

Уявіть два комутатори, з’єднані двома різними кабелями. Або, можливо, до мережі приєднується третій комутатор. Тепер у вас є шляхи всюди.

Це добре працює для забезпечення надмірності. Доки це не перестає працювати.

Коли комутатор відправляє кадр і не знає, куди його доставити, розсилає його на всі порти. У простій лінійної топології цей кадр досягає кінця і зупиняється. У петлі? Він нескінченно відбивається.

Мовні пакети множаться. Кадрові пакети (unicast) літають туди-сюди. Несподівано ваша мережа стає не просто повільною. Вона перестає працювати. Завантаження процесора на кожному комутату досягає 100%. Пакети губляться. Уся інфраструктура завмирає.

Це мовна буря (broadcast storm). Не функція. Це навчальна тривога.

Зупинка петлі

Отже, як зберегти фізичну надмірність без логічного хаосу?

Вам потрібний протокол. Щось на кшталт: «Гей, я бачу два шляхи. Я блокую один. Якщо цей шлях вийде з ладу, я розблокую інший».

На сцену виходить Протокол розширеного дерева (STP).

Він існує з 80-х років. Він старий. Він громіздкий. Але він працює. STP аналізує всі з’єднання між комутаторами. Він обчислює найкращий шлях до кореневого мосту (головного комутатора). Потім він переводить решту надлишкових сполук в блокований стан.

Трафік тече. Резервна лінія залишається там, простою. Готовий.

Якщо головний кабель перерізають? Заблокований порт “прокидається”. Він стає активним. Мережа відновлюється.

Однак на це йде кілька секунд. Можливо, тридцять. У цей час користувачі дивляться на смуги завантаження.

Швидше рішення: Швидкий протокол розширеного дерева

Тридцять секунд – це вічність у світі серверів. Якщо ви керуєте дата-центром або навіть зайнятим офісом, тридцять секунд простою неприпустимі.

На сцену виходить Швидкий протокол розширеного дерева (RSTP), або 802.1w.

Ідея та сама. Блокувати надлишкові сполуки. Розблокувати їх за потреби. Але RSTP скорочує час збіжності з секунд до часток секунди.

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

Який із них використовувати?

Якщо ви будуєте сучасну мережу, ви не використовуєте базовий STP. Ви використовуєте RSTP. Або його родича, Протокол множинного дерева розширеного (MSTP), який дозволяє запускати різні дерева розширеного дерева для різних VLAN.

Чому?

Тому що ви можете захотіти, щоб VLAN для голосу (Voice VLAN) проходили іншим шляхом, ніж VLAN для даних (Data VLAN). MSTP дозволяє балансувати це навантаження. Або хоча б не заважати один одному.

Якщо ви використовуєте обладнання Cisco, ви, ймовірно, дивіться у бік PVST+ (Per-VLAN Spanning Tree). Це пропрієтарне рішення. Воно запускає окремий екземпляр STP для кожної VLAN.

Це потребує великих ресурсів процесора. Але це дає вам тонкий контроль.

Підсумок

Надмірність – це незаперечний факт