Архитектура платформы Cisco ISR4000

Всем заинтересованным предлагаю рассмотреть архитектуру ныне популярных корпоративных маршрутизаторов Cisco ISR4000 Series. Тема отнюдь не новая. Но, подозреваю, до сих пор не все погрузились в неё достаточно глубоко.

Некоторые всё ещё в простонародье называют эту платформу ISR G3, по аналогии с (и, наверное, в продолжение) ISR G1 и G2 (Generation 1 & 2). Но это неправильно. ISR4k — это принципиально иной продукт. Наверное, поэтому Cisco и не стала ассоциировать эту линейку с ISR G1 и G2.

Что же тут нового, спросите вы. Ответ лежит под капотом. Про IOS XE даже не буду говорить, так как все это знают. Во-первых, архитектура стала распределённой. Появились выделенные ресурсы под Control Plane и Data Plane. В зависимости от модели это реализовано по-разному: где-то это отдельные чипы, где-то выделенные ядра одного многоядерного чипа. Подробнее будет ниже. Во-вторых, появилось такое понятие как Service Plane. Теперь можно устанавливать сторонние контейнеры. В-третьих, была принята модель под названием Pay As You Grow. То есть вы покупаете достаточно продвинутый маршрутизатор, но с искусственно заниженными возможностями, предоставляющими пользователю производительность на определённом уровне. Впоследствии вы можете нарастить производительность, в рамках ранее приобретённой «коробки», путём покупки и активаций лицензий на данном устройстве, которые снимут искусственные ограничения производительности.

Этого ли недостаточно, чтобы сказать, что ISR4000 — это не G3, а next generation? Ладно, заканчиваем с маркетингом (тем более что это не моё) и переходим к техническим подробностям.

Архитектура Cisco ISR4000

На картинке представлена упрощённая структурная схема маршрутизаторов ISR4431 и 4451.

Архитектура платформы Cisco ISR4000
Архитектура платформы Cisco ISR4000

Как мы видим, устройства имеют выделенные чипы для Control Plane (совместно с Service Plane) и Data Plane. Для плоскости управления используется x86 совместимый Intel, а для плоскости пересылки — Cavium. В модели ISR4431 в Data Plane задействуется до 6 ядер, в ISR4451 — до 10. Каждый процессор имеет свою выделенную оперативную память DDR3. Для Data Plane размер памяти фиксированный и составляет 2Gb. Для Control Plane размер памяти может варьироваться от 4 до 16Gb.

Для маршрутизатора 4461 архитектура выглядит так же, за исключением того, что Cavium для Data Plane с 16 ядрами. А также увеличены объёмы памяти — 4GB для Data Plane и до 32Gb для Control Plane. И тип памяти DDR4 вместо DDR3.

Для маршрутизатора 4461 архитектура выглядит так же
Для маршрутизатора 4461 архитектура выглядит так же

Память распределяется следующим образом.

Память распределяется следующим образом.

Память для Control Plane используется для процесса IOS, который представляет из себя демона, запущенного в Linux. Процесс содержит IOS (по сути тот же, что был в ISR G1 и G2) и таблицы плоскости управления (RIB, таблицы топологий протоколов маршрутизации и т.д.). Также память Control Plane используется для Linux, который обеспечивает общую работоспособность платформы 4400 и выделяет память для сервисных контейнеров. Тут важно отметить, что использование памяти, относящейся к Linux, растет по мере роста использования самим IOS вследствие репликации данных между процессами.

Память для Data Plane используется исключительно для сервисов обработки трафика. Она содержит внутренний микрокод плоскости данных, выделяется под буферизацию пакетов, а также используется для EXMEM (содержит FIB, NAT таблицу и т.п.). Максимальный размер EXMEM фиксирован.

Посмотрим на внутреннюю структуру платформы Cisco ISR4000 чуть подробнее. Ниже представлена блок-схема маршрутизатора ISR4451

Четыре встроенных интерфейса FPGE (Front Panel Gigabit Ethernet) подключаются напрямую в Cavium через Serial Gigabit Media Independent Interface. Для соединения модулей расширения (3 NIM и 2 SM) с Data Plane используется MGF-матрица (Multi-Gigabit Fabric). MGF – коммутатор 2-го уровня. Трафик L2 между парой NIM, или парой SM, или между NIM и SM пройдёт только через мультигигабитную фабрику, минуя Data Plane. Трафик L3 между любыми платами расширения всегда пойдёт через MGF, далее Data Plane и потом вернётся через MGF. Обратите внимание, что пропускная способность на слот для модулей NIM — это 2Gbps. Поэтому если вы установите NIM-ES2-4, c четырьмя гигабитными портами или тем более NIM-ES2-8, то не ожидайте, что сможете утилизировать всю интерфейсную скорость для маршрутизируемых пакетов, так как вы упрётесь в скорость соединения NIM-модулей с внутренней фабрикой. И это без учёта ограничений пропускной способности самой платформы, о которых будет упомянуто отдельно. В общем-то, то же самое нужно учитывать при рассмотрении пропускной способности SM-слотов, в которые могут быть установлены модули расширения с числом портов от 16 до 48. Ну и несложно догадаться, что в случае если вы забьёте все модули многопортовыми платами расширения, то «бутылочным горлышком» станет интерфейс подключения внутренней фабрики к чипу, отвечающему за Data Plane. Внутреннее устройство ISR4431 будет таким же, за исключением отсутствия SM-слотов и меньшего числа ядер Data Plane (как уже ранее говорилось, их будет 6).

Каждый PPE (Packet Processing Engine) обрабатывает пакеты одновременно. При этом Crypto Assist находится в каждом PPE. То есть каждое ядро в Cisco ISR4000 участвует в шифровании. Последнее ядро выступает в качестве BQS (Buffering, Queuing, Scheduling). Это шейпер, который ограничивает пропускную способность платформы (как раз тот самый Pay As You Grow, о котором говорилось ранее).

Архитектура Cisco ISR4300

На картинке представлена упрощённая структурная схема маршрутизаторов ISR4331 и 4351.

Архитектура ISR4300

В отличие от старших братьев, модели ISR4331 и ISR4351 реализованы на одном восьмиядерном кристалле (x86 совместимый Intel), 4 ядра которого выделены под Control Plane (совместно с Service Plane) и 4 под Data Plane. В силу монокристальной архитектуры память здесь разделяемая для Control Plane и Data Plane. Размер RAM варьируется от 4 до 16Gb.

Если посмотреть на распределение памяти, то мы увидим картину похожую на ту, что видели ранее у старших моделей. Разве что память буферов Data Plane и EXMEM уменьшилась в 2 раза.

Посмотрим на структуру моделей ISR4331 и ISR4351 чуть подробнее.

ISR4351

Внутреннее устройство ISR4351 не сильно отличается от старших моделей, помимо упомянутого ранее отсутствия выделенных чипов для Control Plane и Data Plane. Три встроенных интерфейса подключены к CPU. Слоты расширения (3 NIM и 2 SM) подключаются к процессору через мультигигабитную фабрику. Всё что было озвучено относительно движения трафика в ISR4431/4451 справедливо и для этой модели.

ISR4331

Внутреннее устройство ISR4331 не сильно отличается от ISR4351. Всё те же 3 встроенных гигабитных порта. Уменьшилось количеством слотов расширения. Данная модель предусматривает установку двух NIM и одного SM.

Одним из ключевых различий между ISR4431/4451 и ISR4331/4351 является то, что у последних за шифрование отвечает выделенное ядро Data Plane. Оно же отвечает и за шейпер платформы.

Архитектура ISR4321 и ISR4221

На картинке представлена упрощённая структурная схема маршрутизаторов ISR4321 и 4221. Она же справедлива и для моделей серии ISR1100

Архитектура ISR4321 и ISR4221

Представленные здесь модели, как и ISR4331/4351, имеют монокристальную архитектуру. Сердцем является четырёхъядерный процессор с двумя ядрами, выделенными для Control Plane и двумя ядрами для Data Plane.

Внутренняя структура очень похожа на ISR4331/4351

Внутренняя структура очень похожа на ISR4331/4351

Устройства имеют два встроенных гигабитных интерфейса. SM-слоты отсутствуют, но есть 2 NIM. Из особенностей Cisco ISR4000 стоит отметить, что объём RAM, в отличие от старших моделей, варьируется от 4 до 8GB. Ещё стоит обратить внимание на то, что пропускная способность на слот — 1Gbps. Как и в случае с ISR4331/4351 у ISR4321/4221, одно ядро Data Plane выделено под задачи шифрования и реализацию шейпера.

Производительность

Производительность платформы может варьироваться в зависимости от типа лицензии, который активирован на устройстве. Изначально платформа имела 2 уровня производительности. Начиная с версии IOS XE 16.7.1 платформа имеет 3 уровня производительности.

* Boost лицензия поможет только если вы уперлись в ограничения Performance лицензии

источник