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

Программно-определяемая сеть (; также программно-конфигурируемая сеть) — сеть передачи данных, в которой уровень управления сетью отделён от устройств передачи данных и реализуется программно, одна из форм виртуализации сети.

Ключевые принципы программно-определяемых сетей — разделение процессов передачи и управления данными, централизация управления сетью при помощи унифицированных программных средств, виртуализация физических сетевых ресурсов. Протокол OpenFlow, реализующий независимый от производителя интерфейс между логическим контроллером сети и сетевым транспортом, является одной из реализаций концепции программно-определяемой сети и считается движущей силой её распространения и популяризации.

В зависимости от масштаба сетей и используемой среды выделяются специфические технологии: SD-WAN (программно-определяемая глобальная сеть), SD-LAN (локальная),  (мобильная). Дополняющая концепция, возникшая под влиянием идей программно-определяемой сети — виртуализация сетевых функций.

Возникновение 
Принципы программно-определяемых сетей сформулировали в 2006 году специалисты Беркли и Стэнфорда. В 2009 году технологии программно-определяемых сетей появились в списке 10 быстрорастущих технологий, ежегодно составляемом MIT Technology Review, после чего стали (наряду с протоколом Openflow) объектом пристального внимания не только в академических исследованиях, но и со стороны коммерческого сектора.

Архитектура 
В архитектуре программно-определяемой сети выделяется три уровня:
 инфраструктурный уровень, на котором функционируют сетевые коммутаторы и каналы передачи данных;
 уровень управления — набор программных средств, физически отделённых от инфраструктурного уровня, обеспечивающий реализацию механизмов управления устройствами инфраструктурного уровня;
 уровень сетевых приложений — набор SDN-приложений, взаимодействующих с SDN-контроллером через программный протокол (API) для сбора, анализа, развёртывания и управления сетевой инфраструктурой на уровне приложений.

Сетевая операционная система 

Ядром уровня управления программно-определяемой сетью является сетевая операционная система — программное средство, обеспечивающее, с одной стороны, интерфейс со средствами инфраструктурного уровня (например, динамическое изменение таблиц маршрутизации), и с другой стороны — прикладной программный интерфейс для уровня сетевых приложений, сформулированный в терминах более высокого уровня абстракции (например, «имя узла», «имя пользователя»), нежели используется в параметрах конфигурации сетевых устройств (IP-адрес, маска подсети, MAC-адрес).

По состоянию на конец 2012 года существует несколько десятков реализаций сетевых операционных систем.

Применение 
Программно-определяемые сети эффективны для построения инфраструктурных облачных сервисов, в условиях, когда по запросу от потребителей услуг необходимо автоматически и в кратчайшие сроки создавать виртуальные узлы и выделять виртуальные сетевые ресурсы для них, изолированные от других потребителей.

Также программно-определяемые сети целесообразны в условиях крупных центров обработки данных, позволяя сократить издержки на сопровождение сети за счёт централизации управления на программном контроллере и повысить процент использования ресурсов сети благодаря динамическому управлению.

Другим перспективным применением программно-определяемых сетей считаются приложения в концепции интернета вещей — основанные на вычислительных сетях физических объектов, оснащённых встроенными технологиями для взаимодействия друг с другом или с внешней средой.

Коммерциализация 
Первый коммерческий проект по построению программно-определяемой сети реализовала в 2007 году компания , основанная Ником Маккеоном, Мартином Касадой и Скоттом Шенкером, вскоре клиентами Nicira стали NTT docomo, AT&T, EBay, Rackspace. В июле 2012 года Nicira была поглощена компанией VMware за $1,26 млрд. С этого момента началась череда поглощений SDN-стартапов:  была в том же месяце куплена корпорацией Oracle, Brocade приобрела компанию Vyatta, Cisco в ноябре 2012 года поглотила компанию Carriden за $141 млн, в декабре 2012 года Juniper купила фирму Contrail за $176 млн.

Поставщики традиционного сетевого оборудования начиная с 2011 года реализуют поддержку программно-определяемых сетей в выпускаемых устройствах. Так, линейки коммутаторов корпорации Cisco — Nexus и Catalyst серии 35XX поддерживают программно-определяемые сети, также Cisco выпустил платформу Open Network Environment. Juniper встроила поддержку протокола Openflow в операционную систему для сетевого оборудования JunOS SDK и поддержала протокол в линейках коммутаторов EX и MX.

В апреле 2012 года компания Google объявила, что трансформировала всю внутреннюю сеть для обмена трафиком между собственными распределёнными центрами обработки данных в программно-определяемую, притом OpenFlow-коммутаторы были изготовлены компанией самостоятельно.

Объём рынка программно-определяемых сетей в 2012 году составил около $200 млн, прогнозируется его рост к 2017 году до $2,1 млрд.

Примечания

Литература 
 
 
 

Архитектура компьютерных сетей