. Добро пожаловать в мир Open.NET c нашим утеводителем по технологиям открытых сетей
Главными инициаторами перехода к открытым сетям стали операторы мегаЦОДов — такие компании, как Google, Amazon, Facebook и Microsoft. Они уже довольно давно оценили все те преимущества, в первую очередь снижение расходов, которые дает разработка собственных серверов и их производство тайваньскими компаниями (такие продукты получили название «white box»). Реализация аналогичной модели применительно к сетевому оборудованию стала лишь вопросом времени.
Традиционно основные узлы сетевых инфраструктур, коммутаторы и маршрутизаторы, предстают для заказчиков в виде неких черных ящиков: проприетарное оборудование, фирменная сетевая операционная система, «зашитый» производителем набор функций, да еще и специфическая утилита для управления всем этим хозяйством. Слов нет, если подобный комплекс поставляет известный бренд, то работать все будет хорошо, только стоит недешево и не дает особой свободы выбора.
В мире вычислительных систем ситуация уже давно иная. В отличие от вертикально интегрированных проприетарных мейнфреймов, современные вычислительные решения уже несколько десятилетий являются дезагрегированнными. Заказчики могут приобретать аппаратные платформы и серверы как у известных брендов (Dell, HP, Lenovo…), так и у поставщиков «white-box» (Quanta Computers, Super Micro…). При этом операционные системы и приложения могут закупаться отдельно у других поставщиков и инсталлироваться на аппаратной платформе. Подобная дезагрегация стимулировала инновации на всех уровнях такого ИТ-стека: в процессорах и других аппаратных компонентах, операционных системах и приложениях.
Вместе с тем в части архитектуры устройств сетевая отрасль остановилась в своем развитии на долгие годы где-то с начала 90-х годов прошлого века. Программное обеспечение для сетевых устройств, собственно аппаратную платформу, включая специализированные наборы микросхем ASIC, традиционно поставляли вертикально интегрированные вендоры, что не способствовало снижению цен и тормозило инновации. Но ситуация начала быстро меняться с проникновением в сетевой мир идей программируемых сетевых инфраструктур (SDN), а дополнительными катализаторами выступили такие, пока еще не получившие устойчивых русскоязычных названий, продукты, как bare metal, white box и brite box (см. врезку «Разбираемся в терминах»).
Важным шагом стала дезагрегация коммутаторов — отделение аппаратной части сетевых устройств от программной (см. рис. 1). Этот процесс стимулировали крупные операторы ЦОДов, которые начали напрямую закупать «голые» аппаратные платформы bare metal (без ОС) непосредственно у их производителей и — благодаря наличию большой базы собственных разработчиков — писать программные стеки для этих устройств. В результате им удалось значительно сократить капитальные затраты.
Рис. 1. Дезагрегация коммутатора: отделение аппаратной части от программной |
В свою очередь, усилия производителей микросхем (компаний Broadcom, Marvell, Intel и др.), привели к отделению ASIC от остальных аппаратных компонентов. Они начали предлагать так называемые коммерческие наборы микросхем (merchant silicon), которые, в отличие от специализированных микросхем ASIC, доступны на рынке в качестве отдельного готового продукта, а не как компоненты другого изделия.
Операторы ЦОДов стали инициаторами таких проектов, как Open Compute Networking Project и Open Network Linux (ONL), деятельность которых позволила распространить такой подход на других заказчиков. В ответ на возникший спрос появились независимые компании, специализирующиеся на разработке сетевых операционных систем, которые можно устанавливать на различные коммутационные аппаратные платформы. Подобное разделение оборудования и ПО дает заказчикам большую свободу выбора различных платформ, повышает уровень конкуренции между поставщиками, способствует снижению капитальных затрат и, наконец, стимулирует инновации, поскольку каждый уровень такого ИТ-стека можно развивать и совершенствовать независимо от других уровней.
Параллельно с процессами дезагрегации аппаратного и программного обеспечения сетевых устройств шел процесс развития программируемых сетей SDN. Концепция SDN предполагает разделение функций по непосредственной передаче трафика и функций контроля с выносом последних из сетевых устройств и централизацией в контролере SDN (см. рис. 2). Поскольку значительную часть функций, которые ранее должен был выполнять традиционный коммутатор, теперь реализует внешний контроллер, сетевая операционная система коммутатора может быть значительно облегчена до уровня агента OpenFlow. Этот стандартизованный протокол используется для взаимодействия между контроллерами и коммутаторами в сети SDN (подробнее см. статью автора «SDN: кому и зачем это надо?», «Журнал сетевых решений/LAN», № 12, 2012 год).
Рис. 2. Архитектура традиционных и SDN-сетей |
НА ЧТО ГОДИТСЯ X86
Аппаратная платформа «открытого коммутатора» может строиться как на типовых наборах микросхем таких компаний, как Broadcom, Intel, Marvell и Mellanox, так и на стандартной архитектуре x86. Серверы x86, как правило, используются для поддержки виртуальных коммутаторов, которые изначально создавались для коммутации трафика виртуальных машин внутри сервера и обмена трафиком с внешней сетью. Самый известный виртуальный коммутатор с открытым исходным кодом — Open vSwitch, он может функционировать как автономно, в режиме традиционного коммутатора (с формированием таблиц коммутации путем изучения MAC-адресов), так и под управлением внешнего контроллера SDN. Помимо Open vSwitch, существуют и другие решения, например Lagopus, а также коммерческие виртуальные коммутаторы от Cisco, VMware и др.
В последнее время платформа x86 все шире используется для построения физических коммутаторов, нацеленных на коммутацию большого числа внешних потоков. Для этого применяются традиционные серверы Intel с большим числом сетевых интерфейсов вместе с уже упомянутым Open vSwitch или, например, Lagopus. При этом предпринимаются специальные меры для повышения производительности таких коммутаторов. Например, российский Центр прикладных исследований компьютерных сетей (ЦПИКС) совместно с Intel разработали решение, которое до 10 раз повышает производительность коммутатора Open vSwitch. Оно реализовано с помощью набора библиотек и драйверов Intel Data Plane Development Kit (DPDK), обеспечивающего быструю обработку пакетов на платформах Intel. В частности, это решение не требует прерываний процессора для копирования пакетов в оперативную память.
Как нам сообщили в ЦПИКС, коммутаторы на базе серверов x86 российской сборки, в том числе с поддержкой до 32 портов 10 GbE, уже тестируются российскими заказчиками. Правда, решение на 32 порта 10 GbE пока не является полностью неблокируемым. При этом специализированные решения, например на основе наборов микросхем Broadcom и Mellanox, уже обеспечивают неблокируемую работу коммутатора с 32 портами 100 GbE. Так что в плане производительности, а также плотности портов такие платформы существенно опережают коммутаторы на базе процессоров x86. Тем не менее у заказчика есть выбор типа платформы для коммутатора, что есть важный признак открытых сетей.
СВОБОДА ВЫБОРА СЕТЕВОЙ ОС
Следующий ключевой элемент для выбора — сетевая ОС. Как уже говорилось, ранее сетевые ОС были жестко привязаны к «железу». Теперь, если ваш поставщик коммутатора привержен принципам открытости, у вас есть выбор ОС. За последние несколько лет появилось немало разработчиков независимых сетевых ОС: Cumulus Networks, Big Switch, Pica8, IP Infusion, Pluribus Networks и ряд других компаний. Соответственно, немало и аппаратных платформ, позволяющих инсталлировать ту сетевую ОС, которая больше подходит (нравится) конкретному заказчику.
По словам Сергея Гусарова, консультанта по сетевым решениям Dell, у каждой сетевой ОС есть свои особенности и предпочтительные области применения. Например, система Big Switch имеет свои преимущества при создании мониторинговых коммутаторов и построении сетевых фабрик в ЦОДах; решение IP Infusion — при организации территориально распределенных сетей, в том числе объединяющих удаленные ЦОДы; Pluribus Networks — при построении распределенных фабрик ЦОДов, решении задач аналитики и безопасности. Важным плюсом системы Cumulus Linux является то, что заказчики могут использовать унифицированные средства для управления сетью и серверами, которые базируются на Linux. Коммутаторы Dell для открытых систем (в их названии присутствует аббревиатура ON — от Open Networks) поддерживают названные сетевые ОС, а также операционную систему самой Dell, которую, естественно, специалисты компании чаще всего рекомендуют заказчикам.
Что необходимо для того, чтобы сетевая ОС одного поставщика могла работать на коммутаторе другого? Безусловно, надо гарантировать собственно установку ОС. При этом желательно избежать необходимости создания отдельного образа под конкретный коммутатор и максимально упростить установку. Для этого была разработана среда Open Network Installation Environment (ONIE). По сути, поддержка ONIE означает наличие предустановленного ядра Linux (микролинукс), которое при первой загрузке ищет источник для установки полноценной сетевой ОС.
Среда ONIE является одним из проектов Open Compute Project — сообщества, основанного Facebook (а впоследствии поддержанного такими компаниями, как Microsoft и Intel) с целью разработки оптимальной ИТ-инфраструктуры для ЦОДов, включая серверы, системы хранения, сеть и даже стойки для размещения оборудования. (Подробнее о работах OCP в области монтажных конструктивов можно прочитать в статье Дмитрия Ганьжи «Дизасcемблер шкафа», «Журнал сетевых решений/LAN», № 11, 2013 г.) В отличие от большинства инициатив, касающихся «открытых сетей», OCP уделяет основное внимание не софту, а железу. Одна из главных целей сообщества OCP — продвижение энергоэффективных и основанных на типовых компонентах технических решений, которые бы позволили снизить капитальные и операционные расходы владельцев крупных ЦОДов. Однако разработки OCP, очевидно, могут оказаться чрезвычайно полезными и для других категорий заказчиков.
Другая важная разработка Open Compute Project — интерфейс Switch Abstraction Interface (SAI), наличие которого позволит перенести ОС на различные аппаратные платформы. По сути SAI специфицирует открытый интерфейс API для программирования микросхем ASIC, обеспечивающих высокоскоростную коммутацию трафика. Одним из основных инициаторов разработки SAI была Microsoft, которая уже раскрыла детали своей сетевой операционной системы Azure Cloud Switch (ACS). Вообще, открытые сети творят чудеса. Эта ОС от Microsoft реализована на базе Linux. Еще раз повторю: Microsoft… на базе Linux!
Рис. 3. Архитектура сетевой операционной системы Azure Cloud Switch (ACS) |
Вслед за разделением коммутаторов на оборудование и ПО отрасль пошла дальше по пути дезагрегации собственно сетевых ОС и самих аппаратных платформ. Уже упомянутая система Azure Cloud Switch по сути является модульной (см. рис. 3). Еще один пример модульной сетевой ОС — новейшая система OS10 компании Dell. Эта ОС включает базовый модуль (на основе немодифицированного дистрибутива Linux с открытым исходным кодом) и различные модули приложений (см. рис. 4). Это могут быть приложения самой Dell и сторонних разработчиков, а также «родные» приложения Linux с открытым исходным кодом, включая программы для организации сетевой фабрики, маршрутизации, безопасности, управления и автоматизации.
Рис. 4. Сетевая ОС Dell OS10 включает базовый модуль (на основе немодифицированного дистрибутива Linux с открытым исходным кодом) и различные модули приложений |
Подход Open Compute Project к дезагрегации программного обеспечения и аппаратуры коммутаторов представлен на рис. 5. При этом инициатор данного проекта компания Facebook, по сути, уже реализовала модульную концепцию в своем коммутаторе Wedge (см. рис. 6). Как отмечают специалисты компании, при необходимости всегда можно модифицировать или заменить компоненты этого коммутатора. Например, вместо микросервера, построенного на процессорах Intel, установить микросервер на процессорах ARM. Или, скажем, разместить всю электронную начинку в другом корпусе, если существуют особые требования к защите от внешних воздействий.
Рис. 5. Подход Open Compute Project к дезагрегации программного и аппаратного обеспечения коммутаторов |
Рис. 6. Дезагрегация, реализованная в коммутаторе Wedge компании Facebook |
ИНТРИГА
Итак, каков сегодня «расклад» в области открытых сетей? Такие интернет-гиганты, как Google, Facebook и LinkedIn, разработали собственные дезагрегированные коммутаторы и, судя по поступающей от них информации, вполне ими довольны. Видимо, опасаясь, что вслед за ними на путь создания собственных коммутаторов встанут и менее крупные заказчики, многие из поставщиков традиционных сетевых решений также анонсировали свои стратегии в области «открытых сетей» и представили соответствующие продукты. Это, в частности, уже упомянутые в статье Dell и Mellanox, а также HP Enterprise и Juniper (см. врезку «Краткая история открытых сетей»). И похоже, что в ближайшее время к ним присоединятся и другие игроки сетевого рынка.
А что же многолетний и бесспорный лидер рынка? А он тем временем пошел «против тренда», предложив новое поколение коммутаторов Nexus на основе… собственного набора микросхем. При этом, как утверждают представители компании, своя элементная база — важное конкурентное преимущество Cisco, обеспечивающее ее коммутаторам лучшие характеристики. Правда, Cisco развивает и решение на базе коммерческих чипов, но для флагманских ЦОДовских моделей делает ставку на собственные.
Компания не присоединилась к охватившей отрасль тяге к дезагрегации коммутаторов и поддержке сетевых ОС сторонних разработчиков. Однако в сентябре 2015 года предложила набор средств по расширению функций сетевой ОС NX-OS для коммутаторов семейств Nexus 3000 и 9000. Он получил название Open NX-OS и обеспечивает многое из того, что активно продвигают поставщики дезагрегированных коммутаторов. В частности, поддерживаются хорошо знакомые многим специалистам по ИТ инструменты Linux (NX-OS основана на Linux), средства для управления конфигурациями Puppet, Chef и пр. Более того, возможно даже использование средств маршрутизации сторонних поставщиков, а новый SDK позволяет разработчикам создавать свои приложения с возможностью их выполнения в защищенном контейнере.
Важным направлением развития «открытых сетей» для Cisco остается SDN, в первую очередь решение Application Centric Infrastructure (ACI). Открытые программные интерфейсы API входящего в это решение контроллера Application Policy Infrastructure Controller (APIC) открывают широкие возможности для разработки и интеграции с ACI сторонних сетевых сервисов. В экосистему партнеров Cisco по ACI уже входят более 50 компаний, а в ближайшее время список пополнится и российским разработчиком средств безопасности.
Открытость интерфейсов на уровне контроллера SDN — вещь, можно сказать, естественная, изначально заложенная в идеологию программируемых сетей. Обеспечение открытости на уровне компонентов коммутатора — для Cisco вопрос неоднозначный и куда более сложный. Так что одна из интриг заключается в том, пойдет ли лидер рынка на дезагрегацию коммутаторов и поддержку сторонних сетевых ОС.
Александр Барсков — ведущий редактор «Журнала сетевых решений/LAN». С ним можно связаться по адресу: ab@lanmag.ru.