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

Software-Defined Networking

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

История

Предпосылки возникновения

Традиционные сети, построенные на основе распределённых протоколов (например, OSPF, BGP), обладали рядом недостатков: сложность управления, жёсткая привязка к аппаратному обеспечению, медленное внедрение новых сервисов и высокая стоимость эксплуатации. К середине 2000-х годов рост облачных вычислений, виртуализации и мобильного трафика потребовал более гибкой и программируемой сетевой инфраструктуры.

Ключевые этапы развития

  • 2006 год: в Стэнфордском университете стартовал проект Clean Slate, направленный на переосмысление архитектуры интернета. В его рамках была разработана концепция разделения плоскости управления и плоскости данных.
  • 2008 год: опубликована спецификация протокола OpenFlow (версия 1.0), который стал первым стандартом для взаимодействия контроллера SDN и сетевых устройств. Этот протокол позволял контроллеру программно задавать правила обработки пакетов на коммутаторах.
  • 2011 год: основана Open Networking Foundation (ONF) — некоммерческая организация, занимающаяся продвижением и стандартизацией SDN. В неё вошли такие компании, как Google, Facebook (организация признана экстремистской и запрещена в РФ), Microsoft, Deutsche Telekom и другие.
  • 2012 год: Google объявила о внедрении SDN в своей глобальной сети B4, что позволило значительно повысить утилизацию каналов связи (с 30–40% до 95%).
  • 2013–2015 годы: активное развитие коммерческих SDN-решений от Cisco, VMware, Juniper, Huawei и других вендоров. Появление SDN для центров обработки данных (ЦОД) и сетей доступа.
  • 2016 год – настоящее время: эволюция SDN в сторону интеграции с технологиями виртуализации сетевых функций (NFV), программно-определяемыми глобальными сетями (SD-WAN) и облачными платформами. Развитие открытых проектов, таких как OpenDaylight, ONOS и Tungsten Fabric.

Архитектура

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

Плоскость приложений (Application Layer)

Содержит сетевые приложения и сервисы, которые взаимодействуют с контроллером через API (как правило, RESTful API). Примеры: приложения для балансировки нагрузки, управления трафиком, мониторинга, обеспечения безопасности. Эти приложения не зависят от конкретного оборудования и могут быть разработаны сторонними разработчиками.

Плоскость управления (Control Layer)

Центральный элемент — SDN-контроллер. Он реализует логику управления сетью: принимает решения о том, как обрабатывать пакеты, на основе глобального представления о топологии, состоянии каналов и политиках. Контроллер взаимодействует с плоскостью приложений через северный интерфейс (Northbound API), а с плоскостью данных — через южный интерфейс (Southbound API). Наиболее распространённый протокол южного интерфейса — OpenFlow.

Плоскость данных (Data Layer)

Состоит из физических или виртуальных сетевых устройств (коммутаторов, маршрутизаторов), которые выполняют простые действия: пересылку, отбрасывание или модификацию пакетов согласно правилам, полученным от контроллера. Эти устройства не принимают самостоятельных решений о маршрутизации, а действуют как «исполнители» команд контроллера.

Ключевые компоненты

SDN-контроллер

Программное обеспечение, которое координирует работу всей сети. Контроллер хранит информацию о топологии, состоянии устройств и политиках управления. Популярные реализации:

  • OpenDaylight — открытый проект под эгидой Linux Foundation, поддерживаемый многими вендорами.
  • ONOS (Open Network Operating System) — контроллер с открытым исходным кодом, ориентированный на операторские сети.
  • VMware NSX — коммерческий продукт для виртуализации сетей в ЦОД.
  • Cisco APIC — контроллер для управления сетями на базе оборудования Cisco (ACI).

Протоколы

  • OpenFlow — наиболее распространённый протокол южного интерфейса. Определяет структуру потоковых таблиц на коммутаторе и правила обработки пакетов (например, «если пакет пришёл с порта 1 и имеет IP-адрес назначения X, то переслать его на порт 2»).
  • NETCONF/YANG — протоколы для управления конфигурацией сетевых устройств, используемые в SDN-решениях наряду с OpenFlow.
  • OVSDB (Open vSwitch Database Management Protocol) — протокол для управления виртуальными коммутаторами Open vSwitch.

Сетевые устройства

  • OpenFlow-коммутаторы — могут быть как аппаратными (например, от HP, NEC, Pica8), так и программными (Open vSwitch, Lagopus).
  • Виртуальные коммутаторы — программные реализации, работающие на гипервизорах (например, Open vSwitch, VMware vSwitch).

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

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

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

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

  • SDN для ЦОД (Data Center SDN): используется для управления виртуальными сетями, автоматизации развёртывания сервисов, балансировки нагрузки. Примеры: VMware NSX, Cisco ACI, Microsoft Azure SDN.
  • SDN для глобальных сетей (SD-WAN): программно-определяемые глобальные сети, которые оптимизируют маршрутизацию трафика между филиалами и ЦОД через интернет или MPLS. Примеры: Cisco Viptela, VMware SD-WAN, Fortinet Secure SD-WAN.
  • SDN для операторских сетей (Carrier SDN): применяется для управления транспортными сетями, мобильными сетями 5G, оптическими сетями. Примеры: Huawei CloudEngine, Nokia Nuage Networks.
  • SDN для сетей доступа (Access SDN): управление Wi-Fi-сетями, кабельными сетями, PON. Примеры: Cisco Meraki, Aruba Central.

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

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

  • Централизованное управление: администратор получает единую точку управления всей сетью, что упрощает конфигурирование и мониторинг.
  • Гибкость и программируемость: сеть можно динамически настраивать под изменяющиеся потребности приложений без ручного вмешательства.
  • Автоматизация: SDN позволяет автоматизировать развёртывание, обновление и откат конфигураций, что снижает вероятность ошибок.
  • Снижение капитальных затрат (CAPEX): использование недорогих коммутаторов с поддержкой OpenFlow вместо дорогих проприетарных маршрутизаторов.
  • Улучшение утилизации ресурсов: централизованное управление трафиком позволяет более эффективно использовать пропускную способность каналов.

Недостатки

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

Применение

Центры обработки данных (ЦОД)

SDN активно используется в крупных облачных платформах (Amazon Web Services, Microsoft Azure, Google Cloud) для управления виртуальными сетями, обеспечения изоляции арендаторов (multi-tenancy) и автоматизации развёртывания сервисов. Например, в Azure SDN позволяет создавать виртуальные сети (VNet) с гибкой маршрутизацией и политиками безопасности.

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

Операторы связи внедряют SDN для управления сетями 5G, где требуется динамическое выделение ресурсов для разных типов трафика (eMBB, URLLC, mMTC). SDN также используется в сетях NFV (виртуализация сетевых функций) для оркестрации виртуальных маршрутизаторов, брандмауэров и балансировщиков нагрузки.

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

Крупные компании используют SDN для управления сетями филиалов (SD-WAN), что позволяет централизованно настраивать политики маршрутизации, оптимизировать трафик и снижать затраты на аренду каналов связи.

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

SDN применяется в университетских и исследовательских сетях (например, Internet2, GEANT) для экспериментов с новыми протоколами и архитектурами, а также для создания изолированных тестовых сред.

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

Google B4

Одна из первых крупномасштабных реализаций SDN. Google построила собственную глобальную сеть B4, соединяющую её ЦОД по всему миру. Используя SDN-контроллеры и коммутаторы с поддержкой OpenFlow, компания смогла повысить утилизацию каналов до 95% и динамически перераспределять трафик между приложениями (например, поиск, Gmail, YouTube).

VMware NSX

Продукт для виртуализации сетей в ЦОД. NSX позволяет создавать программные сети поверх существующей физической инфраструктуры, обеспечивая микросегментацию, распределённую маршрутизацию и автоматизацию политик безопасности. Широко используется в корпоративных ЦОД и облачных платформах.

OpenDaylight

Открытый проект SDN-контроллера, поддерживаемый Linux Foundation. Используется в различных отраслях, включая телекоммуникации (например, в сети AT&T), энергетику и государственные учреждения. OpenDaylight поддерживает множество протоколов (OpenFlow, NETCONF, BGP-LS) и может быть расширен через модульную архитектуру.

Критика

Основные критические замечания в адрес SDN связаны со сложностью внедрения и потенциальными рисками безопасности. Некоторые эксперты отмечают, что централизация управления противоречит принципам децентрализации, заложенным в архитектуре интернета, и может привести к снижению устойчивости сети. Кроме того, протокол OpenFlow имеет ограничения по масштабируемости и производительности при обработке большого числа мелких потоков. В ответ на это сообщество развивает альтернативные подходы, такие как P4 (программируемые плоскости данных) и сегментная маршрутизация (Segment Routing), которые частично решают эти проблемы.

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

  • Термин «Software-Defined Networking» был впервые предложен в 2009 году в статье Кейт Грин и её коллег из Стэнфордского университета.
  • В 2014 году ONF выпустила спецификацию OpenFlow 1.5, которая поддерживает до 255 уровней таблиц потоков и более сложные действия (например, инкапсуляцию в туннели).
  • SDN является одной из ключевых технологий для построения сетей 5G, где она используется для управления сетевыми срезами (network slicing).

Источники

  • Open Networking Foundation. «Software-Defined Networking: The New Norm for Networks». ONF White Paper, 2012.
  • McKeown, N., et al. «OpenFlow: Enabling Innovation in Campus Networks». ACM SIGCOMM Computer Communication Review, 2008.
  • Jain, S., et al. «B4: Experience with a Globally-Deployed Software Defined WAN». ACM SIGCOMM, 2013.
  • Kreutz, D., et al. «Software-Defined Networking: A Comprehensive Survey». Proceedings of the IEEE, 2015.
  • Документация проектов OpenDaylight, ONOS, VMware NSX.
  • Стандарты IETF: RFC 7426 (SDN Architecture), RFC 8345 (YANG for Network Topologies).

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

На главную BFOmetr →