В этой статье мы вкратце расскажем Вам про основные технологии стекирования коммутаторов Cisco и попробуем помочь разобраться с архитектурной передачей пакетов каждого стека, с пропускной способностью, а также, реакцией на отказы. Сперва мы рассмотрим технологии StackWise и StackWise Plus, и потом перейдем к технологиям FlexStack, FlexStack Plus и StackWise-160, StackWise-480.

На сегодняшний день огромный ассортимент моделей коммутаторов Cisco поддерживает технологию стекирования. Стоит разделять стек на уровне доступа, где подключаем пользователей, и стек во всех остальных случаях.

Основной причиной оъединения (стекирования) коммутаторов в первом случае является упрощение администрирования, и возможность организовать относительно недорогую схему отказоустойчивости в сети (на уровне ядра сети и при подключении сетевого оборудования). С помощью стека мы можем агрегировать физические каналы, заведенные на разные коммутаторы, в один логический. Благодаря чему мы получим не только большую пропускную способность и отказоустойчивость, но также в некоторых случаях возможность отказаться полностью от протоколов семейства STP, делая при этом топологию сети проще.

На решениях Cisco используется несколько технолигий (в зависимости от платформы). Рассмотрим классические схемы стекирования.

Технология

Платформа

Кол-во коммутаторов в стеке

Общая пропускная способность стековой шины

Необходимость   стекового комплекта

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. Для соединения коммутаторов в стек используется специальный стековый кабель, при этом нет отдельного стекового модуля, стековые порты сразу встроены в оборудование (по 2 порта).

Пропускная способность кабеля в каждую сторону – 16Гбит/с. Так как на всех коммутаторах два стековых порта, пропускная способность стековой шины должна равняться:

16 Гбит/с * 2 (каждая сторона) * 2 (кол-во портов) = 64Гбит/с

В спецификации указанно – 32 Гбит/с, вопрос «куда делась половина пропускной способности?».

В коммутаторах 3750 (3750v2) и 3750G – используется старая архитектура shared-ring switch fabric. Стековые порты подключаются прямиком ко внутренней шине коммутатора, становясь ее продолжением. В таком виде, коммутаторы в стеке имеют одну большую шину в виде кольца.

Пропускная способность каждого из них – 16 Гбит/с. Эти пути разнонаправленные: пакеты по ним передаются в противоположные стороны. Так как у нас общая шина, пакет, попав на порт любого из коммутаторов стека, пройдет не только через все внутренние ASIC'ы, но и через все кольцо стека, даже если исходящий порт находится на том же коммутаторе, что и входящий. Пакет будет убран, с шины, только в том случае, когда пройдет весь круг и вернется обратно. Это позволит ASIC'у, узнать, что пакет дошел и путь можно освободить. Такой алгоритм называется «удаление отправителем». Выбор пути, по которому отправить пакет, определяется исходя из доступности каждого из них (используется механизм токенов: тот ASIC, который обладает токеном, передаёт данные).

Рассмотрим это на примере (Схема работы стека Stackwise). Пакет, попадая на порт коммутатора (1), попадает на ASIC, он в свою очередь выбирает свободный путь синий (2). После этого, пакет проходит через все коммутаторы (3) и в итоге попадает на тот коммутатор, где находится порт назначения (4). Коммутатор отправляет копию пакета (5) через свой локальный порт, но при этом сам пакет продолжает свой путь по стековому кольцу, пока не достигнет ASIC, что его изначально отправил (7). Только там он будет удален со стековой шины.

Таким образом, один и тот же пакет проходит 2 раза через стековые порты коммутатора (первый раз через (3), второй – (6)). А значит наша общая полезная пропускная способность стековой шины равна 32 Гбит/с.

Рассмотрим также вариант, если один из коммутаторов откажет. В таком случае пути замкнуться друг на друге, образовав одно большое кольцо (Отказ коммутатора в стеке Stackwise). Также поведут себя и коммутаторы в случае, если будет отключен один из стековых кабелей.

Также отметим ещё два важных момента. Два пути «крутятся» в разных направлениях, это сделано для усреднения задержки передачи пакетов внутри стека. Второй немаловажный момент заключается в том, что для технологии Stackwise пропускная способность стековой шины равна общей производительности стека.

StackWise Plus. В коммутаторах 3750E и 3750X была добавлена выделенная коммутационная фабрика (switch fabric). Это позволяет делать локальную коммутацию пакетов без их появления в стековом кольце. Стековые порты заводятся непосредственно на коммутационную фабрику. Теперь за логику работы со стековой шиной отвечает непосредственно коммутационная фабрика. В случае технологии StackWise со стековой шиной работал каждый ASIC отдельно.

В этой технологии был использован новый алгоритм обработки пакетов в стеке – «удаление получателем». В алгоритме пакет удаляется со стековой шины сразу же, как только достигнет коммутатора (Схема работы стека Stackwise Plus). Теперь для сигнализации о том, что путь можно освобождать используется маленький Ack пакет (8 бит).

Как и в технологии Stackwise, у нас остаётся два пути. Но теперь работы с этими путями усложнился, из-за работы коммутационной фабрики со стековым кольцом. Как и раньше доступ к тому или иному пути осуществляет с помощью механизма токенов. Когда коммутационная фабрика получает токен, она может передавать пакеты по стековому кольцу. Пакеты забираются с каждого ASIC’а, за их порядок отвечает механизм кредитов.

Эти новшества позволили увеличить пропускную способность стековой шины до маркетинговых 64 Гбит/с, прировняв полезную пропускную способность к физической. Теперь пакет проходит только один раз через стековый порт коммутатора. Тут стоит подчеркнуть, что пропускная способность стековой шины не стала равна 64 Гбит/с, она стала стремиться к этой цифре.

StackWise-160. Технология возникла с появлением линейки коммутаторов Cisco 3650. C другими версиями технологий стекирования она не совместима. Важные алгоритмы работы были взяты у технологии StackWise Plus. Архитектура самого коммутатора, построена на базе новых ASIC'ов.

Новые ASIC’и наделены достаточной интеллектуальностью для обеспечения функций коммутации. Из-за этого в отличии от 3750E/3750X больше нет выделенной коммутационной фабрики. Интересный момент заключается в том, что коммутация трафика между портами, обслуживаемыми разными ASIC’ами, обеспечивается через стековый интерфейс.

Вспомним, что в старых ASIC'ах элементы, которые отвечают за обработку входящих пакетов и обработку исходящих разделены. Также они не имеют общей шины внутри ASIC'а.

 
StackWise-160 – увеличенная пропускная способность стековой шины. Пропускная способность стекового кабеля теперь равна 40 Гбит/с (full duplex). Таким образом, пропускная способность всей стековой шины для технологии StackWise-160: 
40 Гбит/с * 2 (в каждую сторону) * 2 (количество портов) = 160 Гбит/с.

StackWise-480. С помощью этой технологи можно объединить в стек коммутаторы серии 3850.

Коммутаторы серии 3650 и 3850 похожи. Эти серии построены на базе UADP ASIC. Соответственно алгоритмы работы стека 480 и 160 сходны, но есть отличие. Достигается это тем, что внутри одного стекового кабеля для коммутаторов 3850, находится три провода (Рис. 6). Каждый с пропускной способностью 40 Гбит/с (full duplex).

Пропускная способность всей стековой шины для технологии StackWise-480:

40 Гбит/с * 2 (в каждую сторону) * 3 (количество проводов) *2 (количество портов) = 480 Гбит/с.

На логическом уровне стек представлен шестью путями (по два логических пути на один провод). Пакеты по трём логическим путям «крутятся» в одну сторону, а по трём другим — в другую.

Выбор пути, как и раньше, осуществляется при помощи токенов.

FlexStack. Такое стекирование используется для коммутаторов серии 2960 и появилось впервые на коммутаторах 2960-S. По технологии FlexStack используется стековый модуль и специальные кабели с пропускной способностью 10 Гбти/с. Каждый модуль имеет два порта. Коммутаторы при стекировании соединяться в кольцо. Общая пропускная способность всей стековой шины равна:

10 Гбит/с * 2 (в каждую сторону) * 2 (количество портов) = 40 Гбит/с.

Для стека FlexStack передача пакетов между коммутаторами происходит устройство-за-устройством. Коммутатор для каждого пакета определяет, куда его отправить: на обычный или на стековый порты. Такое взаимодействие напоминает работу нескольких коммутаторов, подключённых друг к другу по протоколу Ethernet. Разница в том, что связь между коммутаторами стека обеспечивает протокол FlexStack. Выбор того, через какой из стековых портов отправить пакет, определяется специальным алгоритмом, напоминающим работу OSPF. Т.е. выбирается кратчайший путь до коммутатора в стеке, на котором находится порт назначения. Если происходят какие-то изменения (например, отказал один из коммутаторов или отключился стековый кабель) данный алгоритм пересчитывает пути заново.

На программном уровне схема работы FlexStack напоминает StackWise/StackWise Plus. Один из коммутаторов выбирается мастером и control-plane запускается только на нём.

FlexStack Plus. Стек Отличается от своего предшественника тем, что в стек можно объединить до 8 коммутаторов (для FlexStack эта цифра равна 4) и пропускная способность по специализированному кабелю увеличена до 20 Гбит/с. Таким образом, общая пропускная способность стековой шины составляет – 80 Гбит/с.