SDN – software defined networking — ели перевести на русский язык буквально то получится, «программно управляемые сети» и из этого перевода совершенно непонятно, что хотели сказать исследователи, которые придумали данную концепцию. Давайте разбираться.
Что не так с сетями?
Серверная инфраструктура активно развивается, все больше и больше внедряются технологии виртуализации, но в МИР выпускаются виртуальные машины через сеть, которая не претерпевает значительных изменений и не модернизируется, чтобы соответствовать текущим потребностям инфраструктуры. Виртуальные машины уже могут мигрировать не только с сервера на сервер, но и из ЦОД в ЦОД, и статичная сеть становится тормозом, который не дает дорогу прогрессу.
По мнению экспертов, главная причина инертности сетевой инфраструктуры заключается в том, что каждое отдельное сетевое устройство хранит в себе массу своих собственных настроек, в каждом устройстве есть контроллер, который управляет только этим устройством. В крупных сетях, чтобы применить какое-нибудь правило, необходимо прописать это правило во всех устройствах, через которые проходит трафик. Если у вас оборудование одного вендора, эту операцию сделать просто, если модельный ряд широкий, то уже гораздо сложнее. В любом, случае быстро сделать подобную операцию не получится.
Еще один очень важный аспект, если программное приложение работает в сети, для создания которой применяется, например, оборудование Cisco, не возникнет ли в будущем ситуации, что ПО обновится и сеть передачи данных больше не сможет обеспечивать работу данного ПО? Или, наоборот, для работы ПО будет подходить оборудование только одного производителя, которое из-за такой монополии стоит очень дорого. Такая зависимость от производителя, требует новых решений, которые помогут избавиться от нее.
Идея SDN
Нужно вынести функции управления трафиком из сетевых устройств на общий сервер управления (контроллер), оставив на коммутаторах и маршрутизаторах только настройки по передачи трафика. Контроллеры умеют следить за работой всей сети в целом и управлять ею. В таком случае, чтобы изменить сетевые настройки всей сети достаточно задать их на центральном контроллере, а он раздаст инструкции по обработке траффика всем устройствам в сети.
Общение контроллера и сетевых устройств происходит по протоколу OpenFlow, который разработали в Стэндфордском университете. Голь на выдумки хитра, как говорится. У разработчиков не было бюджета на дорогие сетевые устройства, функционал которых требовался для экспериментов, поэтому взяли и придумали OpenFlow.
Разработка заинтересовала крупных поставщиков услуг: Deutsche Telekom, Facebook, Google, Microsoft,Verizon и Yahoo. В 2011 году ими была учреждена организация Open Networking Foundation (ONF) , в которую сейчас входят многие ведущие производители сетевого оборудования, телеком, производители ПО для виртуализации (Alcatel-Lucent, Brocade, Ciena, Cisco, Dell, Ericsson, Extreme Networks, HP, Huawei, IBM, Infinera, Intel, Juniper Networks, Mellanox, Netgear, Nokia Siemens Networks, ZTE, VMware. Citrix) Такой бурный интерес к новой технологии, конечно, имеет под собой денежную подоплеку – решения с применением технологии SDN значительно дешевле, чем стоимость таких же по функционалу стандартных сетевых схем.
Можно купить недорогие коммутаторы совместимые с OpenFlow и контроллер от любого производителя и построить на данном оборудовании схему, которую раньше можно было реализовать только на дорогих «умных» коммутаторах. Контроллер не обязательно должен представлять из себя физическое устройство, это может быть виртуальный сервер в среде VMware vSphere. Кстати, VMware летом 2012 года купила компанию-стартап Nicra, которая разработала SDN контроллер и платформу виртуализации сетей (Network Virtualization Platform). Ожидается, что в скором времени vCenter Server сможет задавать необходимые настройки физическим коммутаторам, произойдет слияние виртуальной сети и физической.