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