Что нам стоит SDN построить: обзор современных SDN решений

M_Sobolev
Михаил Соболев, инженер по сетевым технологиям, Citrix

За последнее время технологии виртуализации кардинально изменили ИТландшафт предприятий. И хотя в области сетевых решений этот тренд появился довольно давно (достаточно вспомнить Virtual Private Network), большинство задач в сетевой инфраструктуре старались решать старыми средствами. Виртуализация серверов и приложений, систем хранения данных превратила современные центры обработки данных в гибкую и эффективную структуру с точки зрения управления и масштабирования, а также обеспечила возможность быстрого внедрения новых сервисов. Традиционные сети передачи данных уже не справляются с обеспечением динамического перераспределения и контроля нагрузки на существующем оборудовании. Кроме того, из-за наследия некоторых протоколов очень сложно внедрять передовые технологии, необходимые для предоставления новых сетевых сервисов. Современные сети передачи данных в ЦОД должны обеспечивать связанность тысяч виртуальных машин, и существующим архитектурам все труднее справляться с задачей быстрого развертывания приложений и сервисов в условиях постоянно растущих требований бизнеса. Вот здесь-то на помощь ИТподразделениям и приходят уникальные возможности, предоставляемые технологией SDN.

SDN (Software Defined Networking) – технология, позволяющая динамически выделять и автоматически настраивать сетевые ресурсы для появляющихся в организациях сервисов. За последние годы SDN вышла из стадии теоретических поисков и в настоящий момент уже превратилась в реальность, оформленную рядом стандартов, как открытых, так и проприетарных, позволяющих быстро и эффективно предоставлять новые возможности и решать возникающие задачи.

В традиционных сетях добавление новых функций, как правило, требует установки нового оборудования или изменения конфигурации имеющегося. В SDN подсистема управления (Control plane) и подсистема передачи данных (Forwarding Plane) разделены. Вся сеть ЦОД представляет собой одно логическое целое. Это позволяет администраторам динамически настраивать инфраструктуры под меняющиеся задачи. На основе имеющейся аппаратной инфраструктуры сеть может быть виртуализирована и предоставляться как сервис (Network-as-a-Service), как это сейчас происходит с вычислительными мощностями или системами хранения (Software-as-a-Service или Storage-as-a-Service).

Протоколы в программно-определяемых сетях

История SDN началась более 20 лет назад. Принципы программно-конфигурируемых сетей сформулировали в 2006 г. специалисты из Беркли и Стэнфорда. В 2009 г. технологии программно-конфигурируемых сетей появились в списке десяти быстрорастущих технологий, ежегодно составляемом MIT Technology Review, после чего стали объектом пристального внимания не только в академических исследованиях, но и со стороны коммерческого сектора. Был разработан ряд протоколов для реализации нового подхода в управлении сетью.

Одним из первых стандартов стал протокол OpenFlow, объединяющий подсистемы передачи данных и управления в SDN-архитектуре. Он поддерживается большинством производителей сетевого оборудования, однако при его использовании возникает ряд вопросов к масштабируемости инфраструктуры. Несмотря на то что большинство поставщиков производят оборудование с поддержкой OpenFlow, они разрабатывают SDN-архитектуры с использованием альтернативных коммуникационных методов, в частности MPLS или NETCONF. Ниже представлены некоторые из таких протоколов.

  1. Border Gateway Protocol (BGP) – хорошо известный и широко применяемый протокол динамической маршрутизации. Производители рассматривают использование BGP в гибридных программно-определяемых сетях. Некоторые из них считают, что возможность оперативно изменять направление потоков трафика является первоочередным в SDN – не важно, используется OpenFlow или нет. Как следствие, многие разработчики решений SDN включают поддержку BGP.
  2. Network Configuration Protocol (NETCONF) – протокол управления сетью, позволяющий защищенно настраивать сетевое оборудование: коммутаторы, маршрутизаторы, брандмауэры и т. д. Он был основан на протоколе RPC и призван исправлять недоработки протокола SNMP. Консорциум Open Networking Foundation (ONF) принял протокол NETCONF как обязательный для конфигурации OpenFlow-устройств.
  3. Extensible Messaging and Presence Protocol (XMPP) – протокол, основанный на Extensible Markup Language. XMPP недавно появился в качестве альтернативы протокола OpenFlow в SDN и может быть использован контроллером как для распространения служебной информации, так и для управления устройствами.
  4. Open vSwitch Database Management Protocol (OVSDB) – протокол, призванный управлять системами c Open vSwitch. Open vSwitch – виртуальный коммутатор, позволяющий автоматизировать сеть. Здесь возможна работа со стандартными протоколами, например с NetFlow. Open vSwitch предназначен для поддержки прозрачного распределения трафика между несколькими физическими серверами, он позволяет создавать кросс-серверные коммутаторы. В качестве примеров аналогичной реализации можно привести VMware vNetwork distributed vswitch или Cisco Nexus 1000V.
  5. MPLS Transport Profile (MPLS-TP) – расширение протокола Multiprotocol Label Switching (MPLS), разработанное Internet Engineering Task Force (IETF) на основе требований операторов связи. Протокол MPLS-TP ориентирован на соединение с коммутацией пакетов (CO-PS), предлагает специальную реализацию MPLS путем удаления функций, не относящихся к CO-PS-приложениям.
  6. OpFlex – разработка компании Cisco, которая в данный момент продвигается как стандарт. OpFlex является открытым и расширяемым протоколом для передачи абстрактных политик в XML или JavaScript Object Notation между SDN-контроллером (Cisco APIC) и любым устройством в инфраструктуре (гипервизором, сетевым устройством, контроллером доставки приложений и т. д.).

Технологии программно-определяемых сетей продолжают активно развиваться, поэтому до последнего времени наибольшую активность проявляли различные стартапы, которые затем поглощались более крупными производителями. Так, например, компания Nicira разработала контроллер SDN (NPV), а позднее, в 2012 г. она была приобретена производителем решений по виртуализации VMware.

Лидеры индустрии и их ноу-хау

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

Открытые стандарты – ключевые компоненты в архитектуре программно-определяемых ЦОД, они позволяют постоянно эволюционировать имеющимся системам. Самыми яркими представителями SDN-контроллеров с открытым кодом являются на сегодняшний день следующие: OpenDaylight, OpenContrail, Floodlight, Beacon, NOX, POX.

Далее мы, как говорится, «в порядке живой очереди» рассмотрим наиболее интересные коммерческие продукты.

Cisco ACI

Решение Cisco Application Centric Infrastructure Fabric (ACI) включает в себя коммутаторы серии Nexus 9000 с контроллером APIC, работающие в режиме leaf/spine (рис. 1).

Коммутаторы образуют единое «толстое дерево» и связаны по принципу «каждый с каждым». Важным элементом решения является контроллер APIC, который не участвует в обработке трафика, а выполняет исключительно функции управления.

Cisco ACI предлагает открытые Representational State Transfer (REST) API, что позволяет привлекать сторонних производителей. В настоящий момент ее экосистема насчитывает уже более 40 партнеров из различных областей (контроллеры доставки приложений, корпоративные системы, системы безопасности, системы мониторинга и т. д.).

Один из таких партнеров – компания Citrix. Интеграция контроллера доставки приложений Citrix Netscaler в инфраструктуру ACI является логичным продолжением многолетнего сотрудничества двух известных производителей.

ACI
Рис.1. Модель Cisco ACI

Nuage Networks (Alcatel-Lucent) Virtualized Network Services (VNS)

Как уже было отмечено, многие крупные компании приобретали более мелких игроков для добавления в свой портфель SDN-решений. Alcatel-Lucent выбрала иной подход, начав полное финансирование компании Nuage Networks, ориентированной на разработку программно-определяемых сетей. Решение от Alcatel-Lucent состоит из трех основных компонентов.

  1. Virtualized Services Directory (VSD) представляет собой компонент, отвечающий за создание политик, которые в последующем будут применены в сети. VSD имеет каталог доступных ресурсов, таких как брандмауэры, балансировщики и прочие инфраструктурные элементы. Все настраивается через графический интерфейс. Как и в предыдущем примере, здесь имеется возможность управлять устройствами от сторонних производителей. Помимо точки управления VSD выступает центром аналитики и позволяет создавать различные отчеты о производительности сетевой инфраструктуры.
  2. Virtualized Services Controller (VSC) является контроллером Он выступает подсистемой управления SDN, обладающей полной информацией о топологии сети. Для управления сетевыми устройствами используется протокол OpenFlow, а управление потоками трафика возложено на MP-BGP.
  3. Network Services Gateway (NSG) – устройства, выполняющие функции передачи трафика. Могут быть как аппаратными, так и виртуальными. На этих устройствах непосредственно выполняются политики, созданные на VSD.
zzr_nuage
Рис. 2. Архитектура Nuage Networks

HP Enterprise (VAN SDN)

В настоящее время практически вся линейка коммутаторов и маршрутизаторов HP поддерживает протокол OpenFlow. Задачи управления возложены на HP Virtual Application Networks SDN Controller.

В компании HP Enterprise протокол OpenFlow считают одним из важнейших, но не единственным компонентом для построения полнофункциональной инфраструктуры SDN. Компонентами SDN считают и другие механизмы для динамического конфигурирования устройств, например NETCONF и OVSDB (Open vSwitch Database Management Protocol).

zzr_HP
Рис. 3. SDN контроллер от HP

Big Switch Networks (Big Cloud Fabric)

Решение Big Cloud Fabric обладает рядом функций, которые могут быть использованы для перехода из традиционных сетей на программно-определяемые. Аппаратные коммутаторы работают под управлением OC Switch Light. Функции контроллера выполняет Big Cloud Fabric, который взаимодействует с коммутаторами с помощью доработанного OpenFlow.

Существуют также виртуальные коммутаторы Switch Light vSwitch, работающие под управлением этого контроллера.

Имеется две редакции: P-Clos (только аппаратные устройства) и Unified P+V Clos (аппаратные и виртуальные устройства).

zzr_BigCloud
Рис. 4. Архитектура Big Cloud Fabric

Plexxi (Big Data Fabric)

В отличие от большинства решений, использующих Leaf-Spine-топологию (Clos), Plexxi предлагает упрощенный двухуровневый дизайн, в котором применяются пассивные оптические соединения для связи групп Plexxi-коммутаторов. В этом продукте используется LightRail-кабель. Этот тип топологии позволяет уменьшить количество коммутаторов и размер кабельной инфраструктуры, при этом, по заверению производителя, доступна высокая пропускная способность системы.

В настоящее время доступно три варианта: до 432, 864 или 2448 портов доступа.

zzr_plexxi
Рис. 5. Графический интерфейс Plexxi

Brocade (Vyatta Controller)

Brocade Vyatta Controller – первое коммерческое решение, основанное на OpenDaylight. Brocade не добавил своих проприетарных протоколов – он по-прежнему поддерживает работу с оборудованием различных производителей. В данном случае поддержка вендора упрощает внедрение SDN в сети предприятия. Brocade, в дополнение к Vyatta Controller, предлагает приложения, расширяющие стандартные функциональные возможности:

  • The Path Explorer – для вычисления оптимального пути прохождения трафика;
  • Volumetric Traffic Management – для выявления атак и чрезмерно больших потоков трафика.
zzr_brocade
Рис. 6. Brocade SDN

Juniper Contrail

Juniper Contrail – версия Open Contrail, реализованная компанией Juniper. Данное решение ориентировано как на операторов связи, так и на сети крупных операторов. Этот продукт может работать с открытыми системами оркестрации, например OpenStack. Он позволяет предоставлять различные сетевые сервисы – коммутацию, маршрутизацию, а также сервисные функции. В сетях операторов связи Contrail может работать с OSS/BSS-системами и обеспечивать NFV-функциональность.

Contrail-контроллер расположен между системой оркестрации (OpenStack) или системой OSS/BSS и сетевыми устройствами. Contrail состоит из трех компонентов: системы конфигурации, системы управления и системы анализа. Компонент конфигурации принимает запросы от оркестратора и выделяет ресурсы для разворачивания виртуальных машин. Компонент управления взаимодействует с элементами сети и направляет настройки сети для виртуальной машины, используя протокол XMPP. Компонент аналитики собирает, хранит, коррелирует и анализирует информацию от сетевых компонентов.

zzr_contrail
Рис. 7. Архитектура Juniper Contrail

 Таким образом, существуют различные варианты построения SDN, некоторые из них похожи друг на друга, другие существенно отличаются. Поскольку сама концепция SDN все еще находится в стадии разработки и поиска оптимальных решений, многие из продуктов выпущены либо в виде бета-релизов, либо были анонсированы совсем недавно. Очевидно, потребуется некоторое время, чтобы сформулировать единый подход, который ознаменует наступление стадии зрелости данного рынка.

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

В связи с этим большинство крупных игроков рынка готовы предложить свое видение SDN.

Основанные на различных стандартах программно-конфигурируемые сети позволят привести сетевую инфраструктуру в соответствие с потребностями бизнеса, что позволит значительно упростить и ускорить внедрение новых бизнес-приложений и услуг.

Следите за нашими новостями в Телеграм-канале Connect


Поделиться:



Следите за нашими новостями в
Телеграм-канале Connect

Спецпроект

Медицинские задачи для ИИ

Подробнее
Спецпроект

Цифровой Росатом

Подробнее


Подпишитесь
на нашу рассылку