Технологии SDN и NFV: новые возможности для телекоммуникаций
Р.Л. СМЕЛЯНСКИЙ, профессор МГУ им. Ломоносова, директор по науке и образованию Центра прикладных исследований компьютерных сетей, член-корреспондент РАН, доктор физико-математических наук. Статья для журнала "Вестник связи"/январь, 2014Компьютерные сети, как основополагающая инфраструктура и в сфере телекоммуникаций, — стратегический фактор развития современных ИТ, однако архитектура сети, основы которой закладывались еще в конце 60-х годов, устарела и уже не всегда способна адекватно и эффективно реагировать на новые потребности рынка. На сегодняшний день определяющее значение для деятельности любой организации или компании играет скорость, с которой она способна адаптироваться в современных быстроменяющихся условиях. Важное влияние на способность к быстрой адаптации бизнес-процессов, взаимодействия с партнерами и клиентами играют сетевые технологии. Компьютерную сеть уже давно никто не рассматривает как совокупность соединенных между собой компьютеров, на сегодняшний день она является совокупностью сервисов для предоставления услуг, платформой, которая начинена соответствующими сервисами. Прежде чем перейти к рассмотрению новых подходов к организации и управлению компьютерными сетями, мы должны рассмотреть в каких условиях работают сети, отметить появление целого ряда новых трендов, существенно повлиявших на вычислительную инфраструктуру. Среди них следует отметить: изменение модели вычислений (outsourcing & robosourcing); взрывной рост мобильности; быстрый рост трафика: к 2016 г. его объем увеличится в 6 раз; изменение структуры трафика: к 2016 г. 90 % - видеотрафик; несоответствие темпов роста трафика и доходов операторов.
По словам Эрика Шмидта, председателя совета директоров компании Google: «Пять экзабайт информации создано человечеством с момента зарождения цивилизации до 2003 г., но столько же сейчас создается каждые два дня, и скорость увеличивается… Люди не готовы к технологической революции, которая должна произойти». Рост количества и разнородности контента, развитие сервисов и масштабов их охвата привели к изменению парадигмы организации вычислений — на место клиент-серверной архитектуры пришли ЦОД и облака, а файловые системы и базы данных трансформировались в сети хранения данных. На июль 2013 г. каждые 60 с онлайн в Google посылается около 2 млн. поисковых запросов, на YouTube загружается 72 ч видео, на Facebook публикуется 41 тыс. постов, в Skype происходит 1,4 млн. соединений, отправляется свыше 200 млн. электронных писем. И трафик будет только увеличиваться. По статистике Cisco Systems, глобальный IP-трафик за последние 5 лет возрос более чем в четыре раза и в течение ближайших 5 лет увеличится еще не менее чем в три раза.
На Content Delivery Networks (CDNs) будет приходиться более половины интернет-трафика в 2017 г. Во всем мире объем потребительского интернет-трафика составит не менее 70 % всего его объема в 2017 г. (для сравнения 2012 г. – 57 %). Этот показатель не включает peer-to-peer (P2P) трафик. Суммарно все виды видеотрафика (ТВ, video on demand (VoD), Интернет и P2P) будут составлять от 80 до 90 % глобального трафика к 2017 г.
Не стоит на месте и количество протоколов, которые описывают работу для обеспечения соответствующих технологий. Одновременно с ростом количественных показателей нагрузки на сети усложнились задачи управления сетями — увеличились их перечень, значимость и критичность, причем на фоне повышения требований к безопасности и надежности. Сети строятся на базе устройств, которые постоянно усложняются, поскольку вынуждены поддерживать все больше распределенных стандартных протоколов (сегодня число активно применяемых протоколов и их версий превысило 600), одновременно используя закрытые (проприетарные) интерфейсы. В таких условиях провайдеры не могут оперативно вводить новые сервисы, а производители сетевого оборудования - быстро модернизировать свои изделия для удовлетворения требований заказчиков. Как следствие, поддержка и управление сложной сетевой инфраструктурой стали искусством, а не инженерией, что отчасти подтверждается увеличением числа сетевых атак, вирусов и других угроз, свидетельствующих о том, что вопросы безопасности до сих пор не имеют надежных решений.
На рис. 1 представлена схема сети современного оператора связи. В ней установлено огромное количество так называемых middleboxes – программно-аппаратных средств, которые реализуют соответствующую услугу. Поскольку внедрение какой-либо новой услуги на существующих программно-аппаратных средствах, образующих сеть, чрезвычайно сложно (программное обеспечение и аппаратная платформа взаимосвязаны и средства передачи и управления передачей данных очень плотно переплелись), то магистральный путь внедрения новых сервисов – это создание таких middleboxes, и установка их внутри сети оператора. Причем следует учитывать, что операторы связи устанавливают такие middleboxes не там, где сейчас востребована эта услуга, и не в том количестве, в котором она востребована, а там, где этот сервис ожидается. Ввиду отсутствия возможности динамически управлять размещением сервиса и масштабировать его в зависимости от потребностей пользователей, операторы и сервис-провайдеры вынуждены заранее ставить эти middleboxes внутри своей сети и оплачивать стоимость их содержания независимо от частоты использования. Важно также отметить, что внесение любых изменений в существующие конфигурации трудоемко, затратно и практически невозможно без привлечения производителя. Средства построения сетей сегодня проприетарны, их основной функционал реализован аппаратно и закрыт для изменений со стороны владельцев сетей. Альтернативой такой организации сетей могут стать программно-конфигурируемые сети (ПКС).
Что такое ПКС Существующая архитектура глобальной сети была разработана еще в 70-х годах прошлого века и осталась без изменений, тогда разработчики не могли предположить будущего объема потребляемой информации. В современных компьютерных сетях функции управления и передачи данных совмещены, что делает их выполнение очень сложным. До недавнего времени действующая архитектура сетей развивалась по методу «ласточкиного гнезда», т. е. по мере выявления проблем к стеку протоколов TCP/IP добавлялся новый, который эту проблему решал. Но с каждым годом делать это становится все сложнее.
Подход, который получил название программно-конфигурируемые сети (Software Defined Network, SDN) – это разделение уровня управления сетью и передачи данных за счет переноса функций управления (маршрутизаторами, коммутаторами и т. п.) в приложения, работающие на отдельном сервере (контроллере).
Идея таких сетей была сформулирована специалистами университетов Стэнфорда и Беркли еще в 2006 г., а инициированные ими исследования нашли поддержку не только в академических кругах, но и были активно восприняты ведущими производителями сетевого оборудования, образовавшими в марте 2011 г. консорциум Open Networking Foundation (ONF). Его учредителями выступили такие международные корпорации, как Google, Deutsche Telekom, Facebook, Microsoft, Verizon и Yahoo. Состав ONF быстро расширяется и насчитывает свыше 90 членов, среди которых Brocade, Citrix, Oracle, Dell, Ericsson, HP, IBM, Marvell, NEC. Технология ПКС нацелена на: повышение эффективности использования пропускной способности каналов, балансировку нагрузок в сети; упрощение управление сетью, повышение масштабируемости сети; повышение безопасности сетей; эффективную маршрутизацию; снижение капитальных затрат. Новый подход отвечает запросам операторов, производителей компьютерного и телекоммуникационного оборудования, владельцев дата-центров, финансовых структур и банков, хостинга и сервис-провайдеров. Заинтересованность ИТ-компаний в ПКС вызвана тем, что такие технологии позволяют повысить эффективность сетевого оборудования на 25 – 30 %, снизить на 30 % затраты на эксплуатацию сетей, превратить управление сетями из искусства в инженерию, повысить безопасность и предоставить пользователям возможность программно создавать новые сервисы и оперативно загружать их в сетевое оборудование. Данной технологией в первую очередь заинтересуются хостеры и провайдеры, владельцы дата-центров и операторы связи, финансовые и банковские структуры, телекоммуникационные компании, которым внедрение SDN позволит повысить эффективность их работы.
Основные идеи нового подхода: разделение процессов передачи и управления данными; единый, унифицированный, независящий от поставщика интерфейс между уровнем управления и уровнем передачи данных; логически централизованное управление сетью, осуществляемое с помощью контроллера с установленной сетевой операционной системой и реализованными поверх сетевыми приложениями; виртуализация физических ресурсов сети.
Среди преимуществ логической централизации сети: реальное управление качеством передачи данных, инжинирингом трафика и маршрутизацией; удобный механизм абстракции и виртуализации сетевых ресурсов и сервисов; повышение эффективности распределения ресурсов и размещения сервисов в сети; упрощение data plane. На сегодняшний день есть три способа реализации ПКС-подхода.
Способ 1. На базе виртуальных коммутаторов по технологии Overlay (протоколы VXLAN, NVGRE и пр.), т. е. когда на серверах, на которых «крутятся» виртуальные машины, настраивается коммутация виртуальных портов между собой и отображение виртуальных портов на физические, после этого уже физические порты связываем между собой туннелями. Программирование самого виртуального коммутатора происходит с помощью специально выделенного ресурса, который называется «программно-конфигурируемый контроллер». По существу это операционная система, которая управляет, распределяет, контролирует и мониторит ресурсы сети. Схема реализации первого способы приведена на рис. 3. Надо подчеркнуть, что при этом способе в качестве среды передачи данных используется традиционная IP сеть.
Способ 2. На базе серверов агрегации трафика. В этом случае выделяется специальный сервер, на который с помощью туннелирования заводятся соответствующие каналы передачи данных, далее через механизм туннелирования этот сервер под управлением ПКС-контроллера осуществляет коммутацию и передачу данных. Схема реализации этого способа приведена на рис. 4. Здесь также используется в качестве среды передачи данных традиционная IP сеть. Следует отметить, что перечисленные способы – это программно-реализованные методы разделения со всеми вытекающими последствиями, которые, прежде всего, сказываются на скорости передачи данных.
Способ 3. В этом способе сеть передачи данных строится на базе специальных коммутаторов, для управления которыми используют протоколы Openflow, XMPP и пр. ПКС сеть состоит из OpenFlow-коммутаторов и ПКС-контроллеров. ПКС-коммутатор реализует только функции передачи данных. Поэтому это очень простое программируемое устройство, умеющее выполнять несколько простых команд. Как следствие простоты, он существенно дешевле существующих маршрутизаторов и коммутаторов. Работа ПКС-коммутатора состоит в том, чтобы выделить из поступающего пакета данных заголовок; если коммутатор «знаком» с тем, как обрабатывать пакеты с такими заголовками, то он действует по заранее загруженной в него программе. Иначе по защищенному OpenFlow-каналу отправляет запрос на контроллер. В ответ контроллер по OpenFlow-каналу загружает программу обработки пакетов с такими заголовками. Контроллер представляет собой сервер, работой которого управляет сетевая операционная система (СОС). Подобно традиционной операционной системе, СОС управляет всеми ресурсами сети. В терминологии ПКС-контроллером принято называть СОС. Над контроллером работают разнообразные приложения, реализующие сетевые сервисы, такие как маршрутизация, балансировка нагрузки, разнообразные протоколы, шлюзы, сетевые экраны (Firewall), шифрование, DPI, NAT и т. п. Приложение на основании информации о сети, управляемой контроллером и получаемой приложением от контроллера, формирует наборы правил, которые контроллер загружает в надлежащие коммутаторы. Контроллер всегда имеет актуальную информацию о структуре и топологии сети коммутаторов, которой он управляет (программирует). Это позволяет оптимизировать продвижение пакетов данных, динамично управлять потоками данных, а не отдельными пакетами, балансировать нагрузку, оперативно контролировать выполнение требований информационной безопасности в сети. Такая организация функционирования сети решает также проблему зависимости от сетевого оборудования какого-либо конкретного поставщика, поскольку ПКС использует общие абстракции на программном уровне для пересылки пакетов, которые сетевая операционная система использует для управления сетевыми коммутаторами. Однако этот способ требует специальных усилий для сопряжения ПКС сети передачи данных с сетью с традиционной архитектурой. Схема реализации приведена на рис. 5.
У каждого похода есть свои достоинства и недостатки. К преимуществам реализации ПКС через Overlay относятся: простота виртуализации адресов и топологии; независимость от организации физической сети (любая IP-сеть). При этом создаются дополнительные накладные расходы на процесс инкапсуляции, отсутствует возможность управлять качеством транспорта, повышается сложность контроля и отладки инкапсулированного трафика, а также появляются значительные ограничения по конфигурации сети. Преимущества реализации ПКС через OpenFlow: Производительность - отсутствие накладных расходов на инкапсуляцию и работу программных коммутаторов; управление качеством транспорта; гибкое управление трафиком; автоматизация устранения неисправностей; виртуализация и абстракция; достаточно простое сетевое оборудование. Но это потребует внедрения специального сетевого оборудования. В архитектуре ПКС можно выделить три уровня: инфраструктурный, предоставляющий набор сетевых устройств (коммутаторов и каналов передачи данных); управления, включающий в себя сетевую операционную систему, которая обеспечивает приложениям сетевые сервисы и программный интерфейс для управления сетевыми устройствами и сетью; сетевых приложений для гибкого и эффективного управления сетью. Одна из идей, активно развиваемая в рамках ПКС, — это виртуализация сетей с целью более эффективного использования сетевых ресурсов. Под виртуализацией сети понимается изоляция сетевого трафика — группирование (мультиплексирование) нескольких потоков данных с различными характеристиками в рамках одной логической сети, которая может разделять единую физическую сеть с другими логическими сетями или сетевыми срезами (network slices). Каждый такой срез может использовать свою адресацию, свои алгоритмы маршрутизации, управления качеством сервисов и т. д.
Виртуализация сети позволяет: повысить эффективность распределения сетевых ресурсов и сбалансировать нагрузку на них; изолировать потоки разных пользователей и приложений в рамках одной физической сети; администраторам разных срезов использовать свои политики маршрутизации и правила управления потоками данных; проводить эксперименты в сети, используя реальную физическую сетевую инфраструктуру; использовать в каждом срезе только те сервисы, которые необходимы конкретным приложениям. Одним из примеров виртуализации ресурсов ПКС, разделения сети на срезы и управления ими является FlowVisor — программа-посредник (proxy), действующая на уровне между OpenFlow-коммутаторами и различными контроллерами ПКС. Посредством FlowVisor можно создавать логические сегменты сети, использующие разные алгоритмы управления потоками данных, обеспечивая изоляцию данных сетей друг от друга. Это означает, что каждый контроллер управляет только своей логической сетью и не может оказывать влияния на функционирование других. Для контроллера, взаимодействующего с оборудованием OpenFlow через FlowVisor, весь обмен сообщениями выглядит так же, как если бы контроллер взаимодействовал с обычной сетью ПКС. Всю необходимую модификацию сообщений, требующуюся для поддержки различных изолированных сегментов сети, выполняет FlowVisor. То есть для контроллера логической сети не требуется модификации — это может быть любой контроллер ПКС, например, сетевая операционная система NOX с произвольным набором программ.
Виртуализация сетевых функций С технологией виртуализации сетевых функций (network function virtualization) практически все давно знакомы. Если оглянуться в историческое прошлое и вспомнить такие устройства, как калькулятор, пишущая машинка, печатный станок, аппарат факсимильной связи, то мы поймем, что ни один из них сейчас уже не используется автономно. Все эти устройства нашли свое виртуальное воплощение в современном компьютере. Это стало возможным благодаря разделению аппаратуры и программного обеспечения. Фактически, то же самое можно сделать с многочисленными middleboxes. В плане управления компьютерными сетями это стало возможным благодаря появлению очень быстрых сетевых процессоров. За последние месяцы их скорость и производительность увеличились в 5 раз. В качестве примера можно привести разработку Intel Xeon B5, которая передает 250 млн. пакетов в секунду. Естественно, что для реализации виртуальных сервисов требуется создание соответствующей платформы. На сегодняшний день сделано несколько разработок, которые можно положить в основу такой платформы, например, платформа Intel Data Plane Development Kit (DPDK) и open-source проект Netmap. На рис. 6 приведена схема сети оператора связи с реализацией виртуализации сетевых функций (сравнить с рис. 1). Здесь есть система data-центров, в которые закачиваются и размещаются должным образом виртуальные машины. Поверх этих машин работают приложения, которые реализуют соответствующие сервисы. Все сервисы размещаются в той точке, в том количестве и в то время, когда они востребованы. Если востребованность в сервисе отсутствует или он потребляется в небольшом количестве, то сервис масштабируется в этом месте сети должным образом. Архитектура сети оператора с плоскостью управления ПКС приведена на рис. 7. В сети имеются: оркестратор, размещающий виртуализированные сервисы, управление виртуальными машинами, ПКС-контроллер, поверх которого работают соответствующие приложения, реализующие сервисы в control-plane.
Заключение Программно-конфигурируемые сети - это логическая централизация и отделение управления от собственно передачи данных. Они дают существенные преимущества для управления и виртуализации ресурсов сети и управления качеством. ВВС позволяет устанавливать сервисы там, тогда и в том количестве, которое востребовано сейчас и в данном месте. И с точки зрения бизнеса применение ПКС и ВВС позволяет существенно сократить время между возникновением потребности соответствующей услуги и появлением ее на рынке.