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

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

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

История

Предпосылки и ранние разработки

Концепция отделения управления от передачи данных в сетях восходит к идеям 1990-х годов, когда исследователи из Стэнфордского университета и других научных центров изучали возможность создания более гибких и программируемых сетей. В 2004—2005 годах группа под руководством Ника МакКеона (Nick McKeown) и Скотта Шенкера (Scott Shenker) работала над проектом Ethane, который стал предшественником SDN. Ethane предлагал централизованный контроллер для управления политиками доступа и маршрутизацией в локальных сетях.

Появление OpenFlow

В 2008 году был опубликован протокол OpenFlow, разработанный в Стэнфордском университете. OpenFlow стал первым открытым стандартом для взаимодействия между контроллером и сетевыми устройствами (коммутаторами). Он позволил программно задавать правила обработки пакетов, что дало толчок развитию SDN. В 2011 году была основана Open Networking Foundation (ONF) — организация, занявшаяся стандартизацией OpenFlow и продвижением SDN.

Коммерциализация и развитие

С начала 2010-х годов SDN начали внедрять крупные компании. Google, Facebook (продукт Meta, признанной экстремистской и запрещённой в РФ), Microsoft и другие интернет-гиганты использовали SDN для оптимизации своих дата-центров и магистральных сетей. В 2012 году Google объявила о переводе своей внутренней сети (B4) на SDN, что позволило значительно повысить утилизацию каналов (с 30–40% до 90% и выше). В последующие годы появились коммерческие решения от Cisco, VMware, Juniper, Huawei и других вендоров. В России SDN также получили распространение, особенно в крупных телекоммуникационных компаниях и облачных провайдерах.

Архитектура

Три уровня

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

  1. Уровень приложений (Application Layer) — включает программные приложения, которые определяют политики и требования к сети (например, балансировка нагрузки, обеспечение безопасности, управление качеством обслуживания). Приложения взаимодействуют с контроллером через северный интерфейс (Northbound Interface, NBI).
  1. Уровень управления (Control Layer) — центральный компонент — SDN-контроллер. Он принимает решения о том, как обрабатывать трафик, и передаёт соответствующие инструкции коммутаторам. Контроллер может быть реализован как отдельное устройство или как распределённая система (например, кластер контроллеров для отказоустойчивости).
  1. Уровень передачи данных (Data Layer) — физические или виртуальные коммутаторы, маршрутизаторы и другие устройства, которые выполняют простые операции: пересылку, отбрасывание или модификацию пакетов в соответствии с правилами, полученными от контроллера.

Интерфейсы

  • Южный интерфейс (Southbound Interface, SBI) — протоколы, используемые для связи между контроллером и сетевыми устройствами. Наиболее известный — OpenFlow, но существуют и другие, такие как NETCONF, OVSDB, P4Runtime.
  • Северный интерфейс (Northbound Interface, NBI) — API для взаимодействия контроллера с приложениями. Часто реализуется через RESTful API, что позволяет интегрировать SDN с системами оркестрации (например, OpenStack, Kubernetes).

Классификация

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

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

По способу реализации

  • Аппаратные SDN — используются специализированные коммутаторы, поддерживающие OpenFlow или другие протоколы. Примеры: коммутаторы от Pica8, NoviFlow, а также некоторые модели Cisco и Huawei.
  • Программные SDN — виртуальные коммутаторы (например, Open vSwitch), работающие на серверах. Широко применяются в виртуализированных средах и облачных платформах.
  • Гибридные SDN — сочетание традиционных и SDN-устройств в одной сети. Позволяет постепенно мигрировать с классической архитектуры.

Применение

Дата-центры и облачные вычисления

SDN активно используется в центрах обработки данных (ЦОД) для автоматизации конфигурации, балансировки нагрузки и изоляции клиентов. Платформы виртуализации, такие как VMware NSX, Microsoft Hyper-V Network Virtualization и OpenStack Neutron, используют SDN для создания виртуальных сетей поверх физической инфраструктуры.

Телекоммуникационные сети

Операторы связи применяют SDN для построения сетей следующего поколения (5G, NFV — Network Functions Virtualization). SDN позволяет динамически перераспределять ресурсы и быстрее внедрять новые услуги. Например, в России ПАО «Ростелеком» и ПАО «МТС» используют SDN в своих магистральных и городских сетях.

Корпоративные сети

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

Научные и исследовательские сети

SDN широко используется в академических проектах (например, GENI, Internet2) для экспериментов с новыми протоколами и архитектурами. Открытость и программируемость SDN облегчают тестирование инновационных решений.

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

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

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

Недостатки

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

Критика и альтернативы

Критики SDN указывают на высокую сложность развёртывания в уже существующих сетях и на то, что централизация управления может создавать узкие места. В ответ на это развиваются альтернативные подходы, такие как:

  • Программно-определяемый WAN (SD-WAN) — упрощённая версия SDN для глобальных сетей, ориентированная на управление трафиком между филиалами и дата-центрами.
  • Сети на основе намерений (Intent-Based Networking, IBN) — более высокоуровневый подход, где администратор задаёт цели (намерения), а система автоматически находит оптимальную конфигурацию.
  • P4 (Programming Protocol-independent Packet Processors) — язык программирования для описания обработки пакетов на уровне данных, позволяющий создавать более гибкие коммутаторы, чем OpenFlow.

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

  • Первая крупная SDN-сеть была развёрнута в 2011 году в Стэнфордском университете и использовалась для исследований.
  • В 2013 году немецкая компания Deutsche Telekom запустила пилотный проект по использованию SDN в своей магистральной сети.
  • SDN является ключевой технологией для реализации концепции «сети как услуга» (Network as a Service, NaaS), где пользователи арендуют сетевые ресурсы по требованию.
  • В России в 2018 году был запущен проект «Цифровая платформа» на базе SDN для управления сетями связи в рамках программы «Цифровая экономика».

Источники

  • McKeown, N., et al. «OpenFlow: enabling innovation in campus networks.» ACM SIGCOMM Computer Communication Review, 2008.
  • Open Networking Foundation. «Software-Defined Networking: The New Norm for Networks.» ONF White Paper, 2012.
  • Kreutz, D., et al. «Software-Defined Networking: A Comprehensive Survey.» Proceedings of the IEEE, 2015.
  • Google. «B4: Experience with a Globally-Deployed Software Defined WAN.» ACM SIGCOMM, 2013.
  • «Программно-определяемые сети (SDN): обзор технологий и перспективы развития.» Журнал «Сети и системы связи», 2020.

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

На главную BFOmetr →