Программно-определяемая или программно-конфигурируемая сеть (software-defined networking, SDN) – одна из форм виртуализации сети. SDN создаёт виртуальный уровень для сети аналогично тому, как гипервизор или виртуальная машина делает это для серверов или настольных ПК. Предпосылками к появлению концепций программно-конфигурируемых сетей и виртуализации сетевых функций (Network Function Virtualization, NFV) были стремительный рост трафика, изменение его структуры, повышение сложности сетей и рост количества подключаемых к сети устройств. Традиционно передающие устройства относятся к классу «умных устройств» и состоят из трех уровней: 1.Управление устройством. 2.Управление трафиком. 3.Передача трафика. Каждое устройство настраивается отдельно.
Идея SDN – отобрать «умную» составляющую у этих устройств и передать ее commodity сервера, которые будут управлять всей сетью. То есть мы забираем у сетевого оборудования управление устройством и управление трафиком. Основная задача – упростить процесс управления сетью, перейдя от управления множеством устройств к управлению единой виртуальной сущностью. Такой переход как минимум упрощает и делает более безопасной миграцию оборудования. Позволяет гибко и быстро изменять конфигурации сетей и контролировать эти изменения из единого центра.
Основные идеи SDN включают:
разделение прохождения трафика (data plane) и управление (control plane);
существенное упрощение сетевых элементов уровня data plane;
единый, независящий от поставщика интерфейс между уровнем управления и уровнем передачи данных;
логически централизованное управление сетью, осуществляемое с помощью контроллера с установленной сетевой операционной системой и реализованными поверх сетевыми приложениями;
виртуализация физических ресурсов сети.
SDN задействованы во многих современных службах и приложениях, особенно связанных с облаком. SDN позволяет с легкостью перемещать данные между распределенными средами, что очень важно для облачных приложений. Кроме того, SDN дает возможность быстро перемещать рабочие нагрузки по сети. SDN повышает гибкость и упрощает масштабирование любой сети по мере добавления или удаления виртуальных машин (ВМ) администраторами сети, независимо от того, являются эти ВМ локальными или облачными. За счёт высокой скорости и гибкости SDN может поддерживать такую новую технологию, как Интернет вещей.
SDN активно применяется в центрах обработки данных. Они используются также для модернизации транспортной телеком-инфраструктуры компаний со сложными распределенными сетями передачи данных. Кроме того, есть специализированная технология SD-WAN, которая в первую очередь интересна компаниям с большим количеством филиалов – финансовым учреждениям, ритейлу, промышленным и добывающим предприятиям и др.