Стекування комутаторів Cisco. Частина 1



У даній статті буде складатися з двох частин) хотів би коротко пройтися по основним технологіям стекування комутаторів Cisco. Спробуємо розібратися з загальною архітектурою передачі пакетів в рамках кожного типу стека, реакцією на відмови, а також із цифрами пропускної здатності. У першій частині ми розглянемо технології технології stackwise і технології stackwise Plus. У другій частині — технології stackwise-160, технології stackwise-480, FlexStack і FlexStack Plus.

Зараз функціоналом стекування нікого не здивуєш. Він є у багатьох моделях комутаторів різних виробників, в тому числі і в Cisco. Але так було не завжди. На зорі моєї кар'єри (десь середина двотисячних) в області мережевих технологій в портфелі компанії Cisco був всього один комутатор з підтримкою повноцінного стека. Це була модель комутатора Cisco 3750. Псевдо стеки на базі 2950 і 3550 в ту пору вже практично померли. На той момент мене, як молодого спеціаліста, дуже дивував факт того, що питання стекування комутаторів компанією Cisco приділялося мало уваги. При цьому, наприклад, у комутатори 3com (прим. куплений компанією HP), які в той час були досить популярні, стекування підтримувалося на досить великому переліку моделей. Також були справи і в Allied Telesis. Я навіть пам'ятаю, як прихильники продукції Cisco мені пояснювали, що стекування – це погано, і в продакшені цю технологію не варто використовувати. Шкода, вже не пам'ятаю точних формулювань, але йшлося начебто про стабільність роботи. Варто зауважити, що в той час основними аргументами на користь стекування було спрощення управління (у всякому разі, на той момент мені здавалося саме так). Тобто замість того, щоб налаштовувати окремо два або більше пристроїв, стек дає нам можливість отримати один великий комутатор.

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

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

У всіх інших випадках, на мій погляд, основним «за» на користь стека стала можливість організації відносно недорогий схеми відмовостійкості в мережі (як на рівні ядра мережі, так і при підключенні серверного обладнання). Стек дозволяє нам агрегувати фізичні канали, заведені на різні комутатори, в один логічний. Це забезпечує нас не тільки більшою пропускною здатністю (за рахунок утилізації одночасно кількох каналів) і відмовостійкість (вихід з ладу одного з комутаторів стека не призведе до зупинки мережі), але і в ряді випадків дає можливість повністю відмовитися від петель. А значить від використання протоколів сімейства STP. Тобто спрощує життя, роблячи топологію мережі досить простий.

На обладнанні Cisco в залежності від платформи використовуються декілька технологій стекування. Невелике зауваження. Розглядати будемо класичні схеми стекування. Технологія VSS залишиться за кадром.
Технологія Платформа Кількість комутаторів в стеку Загальна пропускна здатність стекової шини Необхідність стекового комплекту
технології stackwise 3750, 3750G 9 32 Гбіт/с Немає
технології stackwise Plus 3750-E, 3750-X 9 64 Гбіт/с Немає
технології stackwise-160 3650 9 160 Гбіт/с Так
технології stackwise-480 3850 9 480 Гбіт/с Немає
FlexStack 2960-S, 2960-SF 4 40 Гбіт/с Так
FlexStack Plus 2960-X, 2960-XR 8 80 Гбіт/с Так
Пропоную трішки детальніше розібратися з цифрами загальної пропускної здатності стекової шини, а також загальною архітектурою передачі пакетів в рамках кожного типу стека. Хотів би пояснити, що під стекової шиною будемо розуміти внутрішні інтерфейси і порти, які забезпечують стекування. Її продуктивність — це сумарна корисна пропускна здатність всіх стекових портів. Чому я не кажу про загальну продуктивність стека? Це обумовлено тим, що в більшості технологій при виконанні комутації пакетів між внутрішніми портами комутатора, використовується лише внутрішня логіка (комутаційна фабрика, АЅІСи тощо). В цьому випадку пакет не потрапляє на стекову шину. Стекова шина утилізується лише тоді, коли пакет потрапляє на порт одного комутатора, а виходить через порт вже іншого комутатора стека.

технології stackwise

Розглянемо технологію технології stackwise. Вона є найстаршою серед інших. Для з'єднання комутаторів в стек за технологією технології stackwise використовується спеціалізований стековий кабель. При цьому окремого стекового модуля немає, стекові порти відразу вбудовані в комутатор (по два порти).

Стек технології stackwise
Пропускна здатність стекового кабелю 16 Гбіт/с (в кожну сторону). Так як на кожному комутаторі два стекових порту, пропускна здатність стекової шини повинна дорівнювати:

16 Гбіт/с * 2 (в кожну сторону) * 2 (кількість портів) = 64 Гбіт/с

Дивимося на специфікацію, а там 32 Гбіт/с. Куди поділася половина пропускної здатності?

У комутаторах 3750 (3750v2) і 3750G відсутня як така виділена внутрішня комутаційна фабрика (використовується стара архітектура shared-ring fabric switch). Стекові порти підключаються безпосередньо до внутрішньої шини комутатора, стаючи її продовженням. Таким чином, комутатори одного стека мають одну велику шину у вигляді кільця. Дана шина на логічному рівні являє собою два шляхи у вигляді кільця кожен.

Пропускна здатність кожного з них — 16 Гбіт/с. Ці шляхи різноспрямовані: пакети по ним передаються в протилежні сторони. Так як ми маємо загальну шину на весь стек, пакет, потрапивши на порт будь-якого комутатора стека, обов'язково пройде не тільки через всі внутрішні ASIC'і, але і через все кільце стека, навіть якщо вихідний порт знаходиться на тому ж комутаторі, що входить. Причому пакет буде прибраний з шини, тільки коли він пройде весь коло і повернеться назад. Це дозволяє ASIC'у, який «захопив» один з шляхів, дізнатися про те, що пакет дійшов і шлях можна звільняти. Такий алгоритм роботи можна називати «видалення відправником» (в термінах Cisco — Source stripped). Вибір шляху, яким відправити пакет, визначається виходячи з доступності кожного з них (використовується механізм токенів: той ASIC, який володіє токеном, передає дані).

Давайте розглянемо це на прикладі (Рис. 2). У нашому випадку пакет, потрапивши на порт комутатора (1), потрапляє на ASIC, який у свою чергу обирає синій шлях (2) (припустимо, він був вільний у цей момент). Далі пакет по синьому шляху проходить через всі комутатори (3), потрапляючи в підсумку на той комутатор, де знаходиться порт призначення (4). Комутатор надсилає копію пакета (5) через свій локальний порт. Але сам пакет продовжує свою подорож стековому кільцю (6), поки не досягне ASIC'а, який його спочатку відправив (7). Тільки там він буде видалений зі стекової шини.


Таким чином, один і той же пакет проходить 2 рази через стекові порти комутатора (спочатку через один (3), потім через другий (6) порти). А значить наша загальна корисна пропускна здатність стекової шини дорівнює 32 Гбіт/с (рівно в два рази менше фізичної).

А, що буде, якщо один із комутаторів стека відмовить? У цьому випадку шляхи замкнуться один на одного, тим самим утворюючи одне велике кільце (Рис. 3). Рівним рахунком також поведуть себе комутатори в разі, якщо буде відключений один з стекових кабелів.


Варто відзначити ще два моменти. Два шляхи «крутяться» в різні боки. Припускаю, що це зроблено для усереднення затримки передачі пакетів усередині стека. Другий момент полягає в тому, що для технології stackwise пропускна здатність стекової шини дорівнює загальній продуктивності стека, в силу того, що всі комутатори в стеку використовують одну загальну шину.

технології stackwise Plus

Перейдемо до технології технології stackwise Plus. У комутаторах 3750E і 3750X була додана виділена комутаційна фабрика (fabric switch). Це дозволяє робити локальну комутацію пакетів без їх появи в стековому кільці. Стекові порти заводяться безпосередньо на комутаційну фабрику. Тепер за логіку роботи з стекової шиною відповідає безпосередньо комутаційна фабрика. У разі технології технології stackwise з стекової шиною працював кожен ASIC окремо.

У технології технології stackwise Plus був використаний новий алгоритм обробки пакетів в стеку – «видалення одержувачем» (в термінах Cisco — Destination stripped, ще одне найменування Spatial reuse). В даному алгоритмі пакет видаляється з стекової шини відразу ж, як тільки він досяг комутатора, на якій знаходиться вихідний порт (Рис. 4). Тепер для сигналізації про те, що шлях можна звільняти використовується маленький Ack пакет (8 біт).


Як і в технології технології stackwise, логічно у нас залишається два шляхи. Але так як тепер за роботу зі стековим кільцем відповідає комутаційна фабрика, механізм роботи з цими шляхами ускладнився. Як і раніше доступ до того чи іншого шляху здійснює з допомогою механізму токенів. Одержавши маркер, комутаційна фабрика може передавати пакети по стековому кільцю. А так як безпосередньо пакети забираються з кожного ASIC', порядок обслуговування кожного ASIC'a відповідає механізм кредитів. Їх роздає комутаційна фабрика.

Ці нововведення дозволили збільшити пропускну здатність стекової шини до маркетингових 64 Гбіт/с, прирівняти корисну пропускну здатність до фізичної. Тепер пакет проходить тільки один раз через стековий порт комутатора. Хотів би звернути увагу, що в обох технологіях (технології stackwise і технології stackwise Plus) використовуються одні і ті ж типи стекових кабелів.

Тут варто підкреслити, що пропускна здатність стекової шини не стала дорівнює 64 Гбіт/с, вона стала прагнути до цієї цифри. Чому? Причина в тому, що весь трафік broadcast, multicast і unknown unicast продовжує оброблятися за алгоритмом Source stripped. Тобто ці типи трафіку проходять всі кільце, перш ніж будуть видалені з стекової шини. А значить на дані типи трафіку витрачається подвійна пропускна здатність.

В одному стеку допускається використання будь-яких комутаторів серії 3750. Якщо в один стек додати, наприклад, комутатори 3750v2 (підтримують технології stackwise) і 3750X (технології stackwise Plus), стек буде працювати за технологією технології stackwise (алгоритм Source stripped). При цьому для 3750X комутація пакетів між локальними портами буде здійснюватися тільки всередині комутатора без появи на стекової шині. Для комутаторів 3750v2 пакети між локальними портами по-старому будуть проходити через всю стекову шину.

Давайте коротко торкнемося схеми роботи стека на програмному рівні. В рамках стека технології stackwise або технології stackwise Plus один із комутаторів вибирається в якості майстра (stack master). Він виконує логічні операції (control-plane) для всього стека. При його відмові передача unicast трафіку триває. Це досягається завдяки синхронізації апаратних таблиць. Між комутаторами стека синхронізуються MAC-таблиця, а також таблиці Cisco Express Forwarding (CEF), а саме FIB і Adjacency table. А от інші таблиці, в тому числі таблиця маршрутизації, таблиця передачі multicast трафіка, на новому вікні майстра заповнюються заново. При цьому можливе використання функціоналу NSF — Nonstop Forwarding. Тобто control-plane на новому майстер запускається з нуля.

На цьому пропоную перерватися. Продовження з'явиться в найближчі дні.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.