Сделку, в результате которой VMware приобретет компанию Nicira Networks, нельзя назвать крупной, но нет сомнений, что она будет весьма значимой из числа подобных, совершенных в 2012 году, — ее последствия окажут влияние на всю индустрию. Анализ предмета сделки возвращает к гениальной мантре 1982 года, оставшейся потомкам после Sun Microsystems: «Сеть — это компьютер». С тех пор идея родственности сетей и компьютеров постоянно переосмысливалась и углублялась, а компании Nicira удалось сделать очередной шаг в этом направлении, наполнив ее новым смыслом.
Нельзя не поразиться гениальности VMware/EMC по части приобретений — обычно действия этого тандема можно сравнить разве что с игрой гроссмейстера, замысел которого непосвященному становится понятным только через несколько ходов, хотя в данном случае ход рассуждений вполне понятен. Nicira уходит корнями в тот же Стэнфордский университет, что и VMware, а ее кредо — виртуализация, но в отличие от VMware компания Nicira нацелена на создание программно-определяемых сетей (Software-Defined Network, SDN) на основе открытых стандартов и свободного ПО. Разрабатываемые Nicira технологии позволяют поднять виртуализацию на уровень выше, перейдя от отдельных серверов к ЦОД. Это совершенно логичный шаг, позволяющий разрешить противоречие в динамике, ведь известно, что виртуальная машина может быть создана в течение нескольких минут, но сеть, состоящая из множества маршрутизаторов и коммутаторов, не успевает отреагировать и остается статичной. Решения от Nicira дают возможность динамически согласовать характеристики серверов и сетей.
OpenFlow: сеть нового поколения?
Программируемые сетевые технологии наподобие OpenFlow реализуют принципиально новый механизм обработки динамических сетевых нагрузок для ЦОД и облаков. Стивен Воган-Николс |
Ключевая фигура в мире SDN — профессор Ник Маккеон, пришедший в 1995 году в Стэнфорд из известной исследовательской бристольской лаборатории HP Labs. Маккеон удачно сочетает науку с бизнесом, создав несколько успешных компаний, а затем наряду с несколькими своими учениками войдя в группу, разработавшую основные принципы SDN и протокол OpenFlow. В 2007 году Маккеон совместно с профессорорм Скоттом Шенкером из Университета Беркли создал лабораторию Открытых сетевых технологий (ON.lab) для проведения исследований программно-конфигурируемых сетей на принципах открытости и свободного ПО. В России эти работы выполняет Центр прикладных исследований компьютерных сетей (интерес к новой технологии уже проявилии такие компании как ОАО «Ростелеком» и ОАО «Сбербанк»). Одновременно в том-же году была создана компания Nicira Networks, генеральным директором которой и стал Маккеон. Сделанные за четыре года наработки по стандарту OpenFlow позволили образовать в 2011 году общественную организацию Open Networking Foundation, координирующую развитие протокола. О значимости нового движения говорит состав ONF: Deutsche Telekom, Facebook, Google, Microsoft, Verizon, Yahoo!, Brocade, Cisco, Citrix, Dell, Ericsson, HP, IBM, Juniper, Marvell, NEC, Netgear, NTT, Riverbed и ряд других.
Задача, поставленная перед ONF, предполагает создание набора технологий для управления сетями любых масштабов точно так же, как обычным компьютером. Если это получится, то изменения коснутся глобальных и корпоративных сетей, причем удастся решить проблемы сетевой безопасности и технические задачи, связанные с управлением социальными сетями и даже работой индивидуальных потребителей в коммунальных сетях (водопровод, энергоснабжение и др.).
Новое вино и старые мехи
Потребность в новой сетевой архитектуре не случайна, она сложилась под влиянием ряда современных динамических трендов: мобильность клиентов и контента, виртуализация серверов, облачные сервисы, которым недостаточно возможностей статических сетей, сложившихся в эпоху клиент-серверных архитектур.
Действительно, трафик данных стал сегодня принципиально иным — прежде доминировало направление «север – юг», как обычно рисуют на диаграммах, обмен данными осуществлялся между клиентами на севере и серверами на юге, а теперь, во-первых, появились горизонтальные связи между машинами в сети «восток – запад», во-вторых, изменился тип клиента, мобильность которого дает возможность доступа к серверу из любого места в любое время, в-третьих, появились облака со свойственным им обменом данными. Кроме этого набирает популярность движение консьюмеризации, открывающее возможность использования смартфонов, планшетников и других устройств, обменивающихся данными в режиме небольших порций (fine-grained manner) и требующих усиления защиты корпоративных данных. Облачные сервисы, предоставляемые гетерогенными облаками, многократно увеличивают нагрузку на сети, повышение пропускной способности которых должно осуществляться без увеличения сложности, что следует из идеи самообслуживания и выбора сервисов по требованию — сети нового поколения должны быть эластичными и отличаться высоким масштабированием. Ко всему этому можно добавить еще и проблему Big Data, решение которой невозможно без увеличения пропускной способности.
Существующие технологии не могут удовлетворить эти потребности, поскольку были созданы в расчете на совершенно иные условия. Подчиняясь запросам бизнеса, характерным для условий предшествующих десятилетий, сетевые технологии формировались в виде набора разрозненных протоколов, поддерживающих надежную передачу различных объемов данных на различные расстояния с требуемыми скоростями и с заданным уровнем безопасности. Причиной сложности стала изолированность протоколов, создаваемых независимо от остальных применительно к отдельной проблеме, что в итоге привело к утрате целостности.
Как и любое сборное решение, сети оказались чрезвычайно статичны — малейшее изменение состава устройств влечет за собой необходимость выполнения комплекса работ и настроек на разных уровнях, что вступает в противоречие с динамической природой современной серверной среды, где виртуализация может изменять число хостов, требующих сетевого подключения. До появления виртуализации приложения размещались на выделенных серверах и обменивались данными с определенными клиентами, теперь же все изменилось — приложения распределены между множеством мигрирующих виртуальных машин, обменивающихся данными между собой. Помимо виртуализации статичность мешает внедрять конвергентные IP-сети, способные передавать разнообразный трафик, и не позволяет адаптироваться к его изменениям.
Сеть не образует единого целого механизма — изменения, возникающие в связи с появлением новых виниртуальных машин, приходится производить вручную по всем уровням сети. Сложно согласовать рост сети с ростом серверной инфраструктуры, причем особые сложности с масштабированием испытывают сегодня мегаоператоры интернет-сервисов, такие как Google, Yahoo и Facebook. Отсутствие независимых комплексных стандартов усиливает зависимость предприятий от конкретных производителей.
Все это на фоне ограничений существующих сетевых технологий и стало побудительным стимулом для создания сетей с архитектурой SDN.
Архитектура Software-Defined Networking
Когда-то архитектурой процессора называли его систему команд, а сегодня о системе команд вообще мало кто знает, но SDN возвращает нас примерно к такой же трактовке понятия архитектуры. Ее основные отличия — отделение управления сетью от управления передачей потоков данных и возможность программирования сети наподобие программирования процессора. Смещение управления, ранее жестко привязанного к каждому устройству, в сторону обобщенной манипулируемой инфраструктуры позволяет отделить приложения от сетевых сервисов, которые теперь можно представить как логические или виртуальные сущности.
Логика работы SDN реализуется программируемыми контроллерами, способными видеть сеть в целом; в них, собственно говоря, и содержится основной смысл, они позволяют интерпретировать всю сеть как единый коммутатор (см. рисунок). Функции контроллеров можно сравнить с ПО связующего слоя в трехуровневой модели клиент-сервер. Преимущество SDN, с одной стороны, в возможности логического управления всей сетью из одной точки независимо от особенностей устройств того или иного производителя, а с другой стороны, сами устройства могут быть существенно проще, поскольку с них снимается необходимость «знать» и «понимать» множество протоколов — эту составляющую берут на себя контроллеры SDN. Благодаря централизованным контроллерам администраторы избавляются от необходимости вручную перекоммутировать сети — их работа становится сродни программированию, а сама сеть приобретает необходимую гибкость конфигурирования, удобство управления, приближаясь по реактивности к системам реального времени.
Архитектура Software-Defined Networking |
Наличие API облегчает реализацию сетевых сервисов, включая маршутизацию, групповое обслуживание абонентов, безопасность, контроль за доступом, управление полосой пропускания, потребление энергии и адаптацию этих сервисов к нуждам бизнес-приложений. Создание SDN открывает возможность для управления всей сетью как единым организмом средствами интеллектуальной оркестровки и предоставления сервисов. В задачу Open Networking Foundation входит изучение и совершенствование API с целью формирования единой согласованной мультивендорной среды, которая могла бы предоставлять ресурсы по требованию, поддерживать принципы самообслуживания и способствовать созданию безопасной облачной среды. Такие API между контроллерами SDN и приложениями позволяют абстрагировать приложения конкретной реализации сетей — SDN делает сеть ориентированной на приложения (application-aware), адаптирующейся под нужды пользователя (application-customized), а приложения приобретают способность работать с сетью, становясь ориентированными на сеть (network-aware).
Открытый стандарт OpenFlow распространяется на связь SDN с устройствами, ориентирован на работу с физическими и виртуализованными коммутаторами, маршрутизаторами. Набор директив OpenFlow можно сравнить с набором команд процессора. Протокол OpenFlow распространяется на оба интерфейса — между инфраструктурой устройств и управляющим ПО SDN.
В OpenFlow для идентификации трафика используется концепция потока данных, в нем есть возможность задавать процедуру распространения потоков данных. Программирование в OpenFlow на основе потоков позволяет с достаточной детализацией управлять процессами и в то же время гарантировать работу в режиме, близком к реальному времени. Архитектура, совмещающая OpenFlow и SDN, обеспечивает централизованное управление мультивендорной средой; позволяет управлять сложностью в процессе эксплуатации сетей; упрощает процесс внедрения новых технологий; повышает готовность и безопасность.
По пути VMware пошли Oracle и Cisco: первая покупает ближайшего конкурента Nicira — компанию Xsigo Systems, а вторая — стартап Insieme, также разрабатывающий технологии SDN.