Открыть сервис

Программно-определяемая сеть

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

История

Концепция программно-определяемых сетей начала формироваться в начале 2000-х годов как ответ на растущую сложность управления крупными корпоративными и университетскими сетями. Ключевым предшественником SDN стала работа исследователей Стэнфордского университета и Калифорнийского университета в Беркли, в частности проект Ethane (2006 год), который предложил централизованное управление доступом на основе политик. В 2008 году в Стэнфорде был разработан протокол OpenFlow, ставший первым открытым стандартом для взаимодействия между контроллером и коммутационным оборудованием. Этот протокол позволил отделить плоскость управления от плоскости данных и стал основой для первых коммерческих SDN-решений.

В 2011 году была основана некоммерческая организация Open Networking Foundation (ONF), которая взяла на себя развитие стандартов OpenFlow и продвижение SDN. В 2012 году Google объявила о внедрении SDN в своей глобальной сети B4, что продемонстрировало эффективность подхода на масштабной инфраструктуре. К середине 2010-х годов SDN стала одной из ключевых технологий в области сетевой виртуализации, а её принципы легли в основу многих коммерческих продуктов от Cisco, Juniper Networks, VMware и других вендоров.

Архитектура и принципы работы

Архитектура SDN традиционно делится на три уровня:

  • Плоскость данных (Data Plane) — физические или виртуальные коммутаторы, маршрутизаторы и точки доступа, которые пересылают пакеты на основе правил, заданных контроллером. Эти устройства не принимают самостоятельных решений о маршрутизации, а лишь выполняют команды.
  • Плоскость управления (Control Plane) — централизованный программный контроллер, который принимает решения о том, как обрабатывать трафик. Контроллер взаимодействует с устройствами плоскости данных через протоколы (например, OpenFlow) и предоставляет API для внешних приложений.
  • Плоскость приложений (Application Plane) — программные приложения и сервисы, которые определяют политики управления сетью (например, балансировка нагрузки, обеспечение безопасности, качество обслуживания). Они общаются с контроллером через северный интерфейс (Northbound API).

Протоколы взаимодействия

Основным протоколом для связи между контроллером и коммутаторами является OpenFlow, который определяет, как контроллер может добавлять, удалять или изменять записи в таблицах потоков на устройствах. Однако существуют и альтернативные протоколы, такие как NETCONF и OVSDB, используемые в некоторых коммерческих реализациях. Для взаимодействия с приложениями применяются RESTful API, Python-библиотеки и другие интерфейсы.

Классификация и виды

Программно-определяемые сети классифицируются по нескольким признакам:

По типу управления

  • Централизованные SDN — один контроллер управляет всей сетью. Простота реализации, но есть единая точка отказа.
  • Распределённые SDN — несколько контроллеров работают совместно, обеспечивая отказоустойчивость и масштабируемость. Примеры: ONOS, OpenDaylight.

По области применения

  • SDN для центров обработки данных (ЦОД) — оптимизация трафика между серверами, виртуальными машинами и хранилищами. Используется в облачных платформах (например, VMware NSX, Microsoft Azure SDN).
  • SDN для глобальных сетей (WAN SDN) — управление маршрутизацией между географически распределёнными офисами или дата-центрами. Пример: Google B4, решения Cisco SD-WAN.
  • SDN для корпоративных сетей (Enterprise SDN)автоматизация настройки офисных сетей, управление доступом и политиками безопасности.

По реализации

  • Аппаратные SDN — используются специализированные коммутаторы с поддержкой OpenFlow.
  • Программные SDN — виртуальные коммутаторы (например, Open vSwitch) работают на стандартных серверах.

Применение

Программно-определяемые сети находят применение в различных сферах:

  • Облачные вычисления — SDN позволяет динамически выделять сетевые ресурсы для виртуальных машин и контейнеров, обеспечивая изоляцию и гибкость. Крупные облачные провайдеры (Amazon Web Services, Google Cloud, Microsoft Azure) активно используют SDN для управления внутренней инфраструктурой.
  • Телекоммуникации — операторы связи применяют SDN для виртуализации сетевых функций (Network Functions Virtualization, NFV), что позволяет заменять дорогое аппаратное оборудование (например, маршрутизаторы, файерволы) программными аналогами на стандартных серверах.
  • Безопасность — централизованное управление позволяет быстро внедрять политики безопасности, изолировать сегменты сети и реагировать на угрозы в реальном времени. Например, контроллер может автоматически блокировать трафик от скомпрометированных устройств.
  • Научные исследования и образование — SDN используется в университетских лабораториях для тестирования новых протоколов и алгоритмов маршрутизации.

Преимущества и недостатки

Преимущества

  • Гибкость и адаптивность — администратор может изменять поведение сети программно, без необходимости переконфигурировать каждое устройство вручную.
  • Централизованное управление — единая точка контроля упрощает мониторинг, диагностику и внедрение политик.
  • Экономия ресурсов — снижение затрат на оборудование за счёт использования программируемых коммутаторов и виртуализации.
  • Ускорение внедрения новых сервисов — новые приложения могут быть развёрнуты за минуты, а не дни или недели.

Недостатки

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

Примеры реализаций

  • OpenDaylight — открытая платформа для SDN-контроллеров, поддерживаемая Linux Foundation. Используется в корпоративных и телекоммуникационных сетях.
  • ONOS (Open Network Operating System) — контроллер с распределённой архитектурой, ориентированный на операторов связи.
  • VMware NSX — коммерческое решение для виртуализации сетей в ЦОД, реализующее принципы SDN на уровне гипервизоров.
  • Cisco ACI (Application Centric Infrastructure) — проприетарная SDN-архитектура от Cisco, интегрирующая управление сетью, безопасностью и приложениями.

Критика

Критики SDN указывают на несколько проблем. Во-первых, централизация управления создаёт риски для масштабируемости: при росте сети контроллер может не справляться с нагрузкой. Во-вторых, открытый протокол OpenFlow имеет ограничения по производительности на высоких скоростях (например, 100 Гбит/с и выше), что делает его менее пригодным для некоторых телекоммуникационных сценариев. В-третьих, отсутствие единого стандарта для северного API (взаимодействие с приложениями) приводит к фрагментации рынка и сложностям при интеграции решений от разных вендоров.

Интересные факты

  • Первая крупная публичная демонстрация SDN состоялась в 2008 году на конференции SIGCOMM, где была показана работа сети на основе OpenFlow.
  • Google использует SDN в своей сети B4 с 2012 года, что позволило увеличить утилизацию каналов связи до 95% (по сравнению с 30-50% в традиционных сетях).
  • В России технология SDN активно применяется в центрах обработки данных крупных компаний, таких как Яндекс и Сбер, а также в телекоммуникационных операторах (например, Ростелеком).

Источники

  • Open Networking Foundation (ONF). «Software-Defined Networking: The New Norm for Networks». White Paper, 2012.
  • McKeown, N., et al. «OpenFlow: Enabling Innovation in Campus Networks». ACM SIGCOMM Computer Communication Review, 2008.
  • Casado, M., et al. «Ethane: Taking Control of the Enterprise». ACM SIGCOMM, 2007.
  • Jain, S., et al. «B4: Experience with a Globally-Deployed Software Defined WAN». ACM SIGCOMM, 2013.
  • Рекомендации МСЭ-Т (ITU-T) по архитектуре SDN (Y.3300).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →