Концепция программно-определяемых сетей (SDN) основательно меняет принципы функционирования сетей и их управления. В быстро меняющемся современном мире именно сети передачи данных были названы «тонким звеном», которое ограничивает рост производительности приложений по мере роста количества мобильных пользователей, масштабирования виртуальных сред, формирования кластеров для Больших Данных. В SDN сетях задачи коммутации трафика и задачи управления строго разделены. Вся логика управления централизуется и передаются контроллеру. Коммутатор в концепции SDN – довольно примитивное устройство, которое отвечает только за переключение пакетов на основании очень простых правил. Контроллер SDN управляет всеми коммутаторами в сети и программирует каждый из них для правильной передачи трафика. Централизация логики управления позволяет программировать сеть как единое целое и упростить операционную модель больших корпоративных сетей, которые слишком статичны на данный момент и не соответствуют современному бизнесу, с присущими ему мобильностью пользователей/устройств/приложений, распределением приложений между виртуальными машинами и интенсивным обменом данными.
Независимое от производителя управление всеми устройствами из единого центра существенно упрощает конфигурацию и эксплуатацию сети. Благодаря контроллеру с расширенными API интерфейсами, вся сеть становится подобной одному большому логическому коммутатору. Протокол OpenFlow – один из самых универсальных протоколов коммуникации контроллеров и коммутаторов на сегодняшний день предоставляет стандартный подход к программированию таблиц коммутации, в которых основным объектом является поток данных. Однако в то время как OpenFlow позволяет контроллеру программировать коммутаторы, он не определяет, как контроллеру реагировать и отвечать на вызовы, связанные с облаками, BYOD, BYOC, виртуализацией. Решение любых проблемы с производительностью сети, да и просто ее работой, возложены на контроллер и приложения, которые на нем запущены. Именно набор таких приложений и отличает различные внедрения SDN, а также решения разных производителей. Поэтому под зонтиком SDN на данный момент развиваются другие технологии, которые пока привязаны к тому или иному производителю.
Вслед за виртуализацией серверов и приложений пришла очередь сетей. Разработанные 25 лет назад классические виртуальные сети VLAN, работающие на втором уровне модели OSI были отличным решением для логической группировки устройств и управления обменом информацией между ними. Но данный подход имеет ограничения – с его помощью можно организовать всего 4094 сети и невозможно перенести виртуальную машину через границы канального уровня. Таким образом возникла модель создания наложенных виртуальных сетей поверх существующей физической ИТ инфраструктуры.
В качестве самых распространенных протоколов построения наложенных (оверлейных) сетей можно привести VXLAN (компания VMware) и NVGRE (компания Microsoft). Все протоколы подразумевают наличие виртуального коммутатора на базе гипервизора и терминирование туннелей в виртуальных узлах. Что позволяет строить логические сети на канальном уровне в рамках уже существующих сетей уровня 3 модели OSI. Виртуализация сети отвечает на вызовы мобильности и многопользовательского использования, но создает дополнительные проблемы, связанные с вопросами мониторинга, управления и безопасности как для самой физической инфраструктуры, так и наложенных виртуальных сетей. Основные проблемы с которым придется столкнуться — это мониторинг и контроль за синхронизацией управления сетью (физической и наложенной) и управление потоками данных.