Технологии интернета нового поколения

прикладные исследования в области интернет-технологий и компьютерных сетей в России, изучение самых перспективных технологий компьютерных сетей нового поколения

Технологии 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), од­но­вре­мен­но ис­поль­зуя за­кры­тые (про­при­е­тар­ные) ин­тер­фей­сы. В таких усло­ви­ях про­вай­де­ры не могут опе­ра­тив­но вво­дить новые сер­ви­сы, а про­из­во­ди­те­ли се­те­во­го обо­ру­до­ва­ния - быст­ро мо­дер­ни­зи­ро­вать свои из­де­лия для удо­вле­тво­ре­ния тре­бо­ва­ний за­каз­чи­ков. Как след­ствие, под­держ­ка и управ­ле­ние слож­ной се­те­вой ин­фра­струк­ту­рой стали ис­кус­ством, а не ин­же­не­ри­ей, что от­ча­сти под­твер­жда­ет­ся уве­ли­че­ни­ем числа се­те­вых атак, ви­ру­сов и дру­гих угроз, сви­де­тель­ству­ю­щих о том, что во­про­сы без­опас­но­сти до сих пор не имеют на­деж­ных решений.

2.jpg  3.jpg  4.png


5.png    6.png 

7.jpg   1.png

На рис. 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.

Заключение
Программно-конфигурируемые сети - это логическая централизация и отделение управления от собственно передачи данных. Они дают существенные преимущества для управления и виртуализации ресурсов сети и управления качеством. ВВС позволяет устанавливать сервисы там, тогда и в том количестве, которое востребовано сейчас и в данном месте. И с точки зрения бизнеса применение ПКС и ВВС позволяет существенно сократить время между возникновением потребности соответствующей услуги и появлением ее на рынке.