Software Defined Networking¶
- Программно-определяемая сеть
(англ. software-defined networking, SDN; также программно-конфигурируемая сеть) — сеть передачи данных, в которой уровень управления сетью отделён от устройств передачи данных и реализуется программно, одна из форм виртуализации сети.
Ключевые принципы программно-определяемых сетей — разделение процессов передачи и управления данными, централизация управления сетью при помощи унифицированных программных средств, виртуализация физических сетевых ресурсов. Протокол OpenFlow, реализующий независимый от производителя интерфейс между логическим контроллером сети и сетевым транспортом, является одной из реализаций концепции программно-определяемой сети и считается движущей силой её распространения и популяризации.
В зависимости от масштаба сетей и используемой среды выделяются специфические технологии:
SD-WAN (программно-определяемая глобальная сеть),
SD-LAN (локальная),
SDMN (мобильная). Дополняющая концепция, возникшая под влиянием идей программно-определяемой сети — виртуализация сетевых функций.
Принципы работы SDN¶
В сети SDN (как и в любой виртуализированной среде) программное обеспечение отделено от аппаратного. SDN разделяет две плоскости сетевых устройств: перемещает на программный уровень плоскость управления, определяющую направление отправки трафика, и оставляет на аппаратном уровне плоскость данных, которая выполняет отправку трафика. Это позволяет администраторам сети, использующим SDN, программировать и контролировать всю сеть с помощью единой консоли управления вместо управления сетевыми параметрами отдельных устройств.
Стандартная архитектура SDN состоит из трех компонентов:
Приложения передают запросы на ресурсы или информацию о сети в целом.
Контроллеры используют информацию, полученную от приложений, чтобы определять способы маршрутизации пакетов данных.
Сетевые устройства получают от контроллеров информацию о том, куда следует переносить данные.
Эти три компонента могут находиться в разных физических расположениях.
Как физические, так и виртуальные сетевые устройства перемещают данные через сеть. В некоторых случаях виртуальные коммутаторы, которые могут быть встроены в программное или аппаратное обеспечение, также работают как физические коммутаторы и объединяют все соответствующие функции в единый интеллектуальный коммутатор. Этот коммутатор проверяет целостность пакетов данных и их целевые ВМ, а также перемещает пакеты.
Преимущества SDN¶
У SDN есть множество преимуществ по сравнению с традиционной сетью, в том числе следующие:
Более широкие возможности управления с повышенными скоростью и гибкостью. Вместо того чтобы вручную программировать несколько аппаратных устройств конкретных поставщиков, разработчики могут управлять потоком трафика в сети, просто программируя стандартные контроллеры на базе ПО с открытым исходным кодом. Кроме того, у администраторов сети есть более широкий выбор сетевого оборудования, поскольку они могут выбирать протокол с открытым исходным кодом для связи с любым количеством аппаратных устройств через центральный контроллер.
Настраиваемая сетевая инфраструктура. Благодаря SDN администраторы могут настраивать сетевые службы и выделять виртуальные ресурсы, чтобы централизованно изменять сетевую инфраструктуру в режиме реального времени. Это позволяет администраторам сети оптимизировать поток данных в сети, отдавая приоритет приложениям, которым требуется более высокий уровень доступности.
Высокий уровень безопасности. SDN обеспечивает визуализацию всей сети и предоставляет более целостное представление об угрозах безопасности. Распространение интеллектуальных устройств с подключением к Интернету дает SDN неоспоримое преимущество по сравнению с традиционными сетями. Разработчики могут создавать отдельные зоны для устройств, которым требуются разные уровни безопасности, или мгновенно изолировать взломанные устройства, чтобы не подвергать риску всю сеть.
Отличия SDN от традиционной сети¶
Основное отличие SDN от традиционной сети заключается в инфраструктуре: сеть SDN основана на программном обеспечении, в то время как обычная сеть — на оборудовании. Поскольку плоскость управления SDN основана на ПО, эта сеть является более универсальной, чем традиционные сети. SDN позволяет администраторам управлять сетью, изменять параметры конфигурации, инициализировать ресурсы и повышать объем сетевых ресурсов с помощью централизованного пользовательского интерфейса и без дополнительного оборудования.
Еще одно различие между SDN и традиционной сетью заключается в разных уровнях безопасности. Благодаря улучшенной визуализации и возможности определять надежные пути SDN обеспечивает более высокий уровень безопасности во многих аспектах. Однако, поскольку в программно-определяемых сетях используется централизованный контроллер, его защита критически важна для поддержания безопасности сети. Эта единая точка отказа создает потенциальную уязвимость SDN.
Типы SDN¶
Несмотря на то что возможность централизованного программного управления потоком данных в коммутаторах и маршрутизаторах доступна во всех программно-определяемых сетях, существуют разные модели SDN.
Открытая сеть SDN. Администраторы сети используют такие протоколы, как OpenFlow, для управления поведением виртуальных и физических коммутаторов на уровне плоскости данных.
SDN с API-интерфейсами. Управление перемещением данных через сеть на каждом устройстве осуществляется не с помощью открытого протокола, а с использованием API-интерфейсов.
Модель наложения SDN. В SDN этого типа виртуальная сеть работает на базе имеющейся аппаратной инфраструктуры, создавая динамические туннели для различных локальных и удаленных ЦОД. Виртуальная сеть выделяет полосу пропускания по различным каналам и назначает устройства каждому каналу, не задействуя физическую сеть.
Гибридная сеть SDN. В рамках этой модели программно-определяемая сеть и традиционные сетевые протоколы совмещаются в одной среде для поддержания разных функций сети. Часть трафика по-прежнему направляется с помощью стандартных сетевых протоколов, в то время как SDN отвечает за остальной трафик. Это позволяет администраторам сети поэтапно вводить SDN в устаревшую среду.
Приложения и службы, получающие преимущества благодаря SDN¶
Множество современных служб и приложений, в особенности те, что связаны с облаком, не работают без SDN. SDN позволяет с легкостью перемещать данные между распределенными средами, что очень важно для облачных приложений.
Кроме того, SDN дает возможность быстро перемещать рабочие нагрузки по сети. Например, разбиение виртуальной сети на разделы с помощью виртуализации сетевых функций позволяет операторам связи перемещать службы для заказчиков на менее дорогие серверы или даже на собственные серверы заказчиков. Поставщики услуг могут использовать инфраструктуру виртуальной сети для переноса рабочих нагрузок с частных облачных инфраструктур в публичные по мере необходимости и для мгновенного предоставления новых служб заказчикам. Кроме того, SDN повышает гибкость и упрощает масштабирование любой сети по мере добавления или удаления ВМ администраторами сети, независимо от того, являются эти ВМ локальными или облачными.
Наконец, благодаря предлагаемым уровням скорости и гибкости SDN может поддерживать новые тенденции и технологии, например вычисления на периметре и Интернет вещей, которым требуется быстрая и удобная передача данных между удаленными средами.