Аннотация 

Численность и размеры центров обработки данных (ЦОД) растут, а их сети расширяются с  учетом увеличивающихся объемов трафика. Профиль трафика в этих сетях постоянно меняется, особенно если говорить об облачных ЦОД, так как арендаторы постоянно сменяют друг друга, а их потребности в ресурсах могут пересматриваться в течение срока аренды. Следовательно, конфигурация сети должна уметь адаптироваться с соответствующей скоростью. Под технологией программно-определяемых сетей (Software Defined Networking, SDN) понимается программное управление сетевой конфигурацией. Эта технология играет важнейшую роль в управлении сетями ЦОД в соответствии с современными требованиями. Она является предметом пристального внимания исследовательского сообщества, сотрудничающего с отраслевыми специалистами. В этой статье приведен обзор связанных с SDN исследований, которые фокусируются на управлении и эксплуатации сетей ЦОД.


По прогнозам Глобального индекса развития облачных технологий (Cisco Global Cloud Index), выпущенного  компанией Cisco в 2017 г., объем IP-трафика внутри ЦОД в 2021 г. достигнет 14,7 зеттабайта, а между ЦОД — 2,8 зеттабайта. Трафик традиционных ЦОД идет на убыль, а через облачные ЦОД в настоящее время проходит до  95 % общего объема трафика. Ввиду передачи такого объема данных увеличивается размер и количество облачных  ЦОД; вычислительные мощности в них стали размещаться более плотно, емкости хранилищ расширяются, а сети  ЦОД (Data Center Network, DCN) растут по мере подключения большего числа устройств с более высокой пропускной  способностью. Продолжается миграция бизнес-приложений из частного в публичное облако — часто в виртуальные  ЦОД, — а ресурсы, лежащие в основе этих виртуальных ЦОД, могут распределяться между разными физическими  ЦОД. 

Администраторам ЦОД — а в равной степени и арендаторам, некоторые из которых сами могут управлять  виртуальными ЦОД, — требуются комплексные инструменты, позволяющие абстрагироваться от постоянно  возрастающей сложности конфигураций, чтобы обеспечивать общий контроль за оборудованием и получать  важную для его администрирования информацию. На рис. 1 показаны некоторые аспекты, демонстрирующие  сложность ситуации, хотя многие детали и варианты опущены — например, организация может быть арендатором  как физических, так и виртуальных ЦОД; оператор одного ЦОД может быть арендатором в другом ЦОД;  инструменты управления, используемые в одном ЦОД, могут сильно отличаться от инструментов, используемых в другом ЦОД, и могут не поддаваться агрегированию в состав единого набора инструментов  для управления несколькими ЦОД. 

Эта статья посвящена роли технологии SDN в управлении сетями DCN. Технология SDN заключается в применении  программного управления к ресурсам и функциям сети с целью повышения динамичности ее конфигурации в  соответствии с требованиями пользователей и приложений. SDN часто реализуется на основе открытого стандартного протокола OpenFlow, хотя существует множество других вариантов реализации. SDN представляет  собой привлекательную альтернативу традиционному методу статической настройки сетевых устройств. Появление  SDN (и, в частности, внедрение протокола OpenFlow производителями сетевых коммутаторов) повлекло за собой  бурный рост количества исследований и разработок в области сетевых технологий. 

Рис. 1. Облачный мульти-ЦОД с виртуальным сетевым оператором
Рис. 1. Облачный мульти-ЦОД с виртуальным сетевым оператором

ЦОД бывают разных размеров: от небольших серверных помещений до центров облачного уровня. Быстрее всего  технология SDN была внедрена в крупных ЦОД, где она обещает эффективную эксплуатацию ограниченных сетевых  ресурсов в условиях постоянных изменений: меняющихся закономерностей в трафике, меняющихся приложений,  меняющихся пользователей этих приложений и даже меняющихся поставщиков приложений. Следует ожидать, что  преимущества SDN со временем приведут к внедрению этой технологии и в небольших, менее динамичных ЦОД. 

SDN иногда путают с виртуализацией сетей. Хотя эти понятия и связаны, это разные концепции. Виртуализация  сетей заключается в абстрагировании от функциональности физической сети для создания одной или нескольких  виртуальных сетей. Цель виртуализации может заключаться в том, чтобы обеспечить упрощенное представление  ресурсов, лежащих в основе сетей, или в том, чтобы обеспечить контроль совместного доступа к этим ресурсам со  стороны клиентов без взаимных доверительных отношений. При этом реализовать виртуализацию сетей можно  на базе SDN, равно как и SDN можно реализовать на базе виртуализированной сети. 

В следующих разделах мы опишем роль технологии SDN в сетях DCN, уделяя особое внимание тем сценариям  применения технологии, которые представляют интерес для администраторов ЦОД. Более ранний и более  широкий обзор технологии SDN приведен в работе [1]. Информативный обзор технологий виртуализации сетей  для DCN см. в работе [2]. 

Для обзора вариантов применения SDN в DCN будем использовать список категорий, представляющих интерес для  администраторов ЦОД (рис. 2). К этим различным сторонам эксплуатации DCN исследователи применяли SDN.  Ключевые аспекты их работ описаны ниже. 

Рис. 2. Аспекты SDN, представляющие интерес для администраторов ЦОД
Рис. 2. Аспекты SDN, представляющие интерес для администраторов ЦОД

2.1. Настройка и мониторинг сетей 

Под настройкой мы подразумеваем управление работой устройств, составляющих сеть. В DCN это коммутаторы, маршрутизаторы и промежуточные блоки. Все они могут быть физическими, но все чаще и они виртуализируются. DCN облачного уровня вполне может содержать более 1000 физических коммутаторов, которые могут иметь  различные наборы функций и возможностей. 

Инструменты управления сетью предоставляют операторам высокоуровневое абстрактное представление о сети. Эти инструменты сопоставляют действия оператора, выполняемые на высоком уровне, с интерфейсами более низкого уровня, предоставляемыми отдельными устройствами или программными элементами. Благодаря интеграции в набор инструментов управления сетью технология SDN обеспечивает централизованное и унифицированное представление сетевых ресурсов, а также единую точку мониторинга и настройки. Тем самым  обеспечивается точный контроль и распределение этих ресурсов между приложениями и пользователями. Сеть  не должна представлять собой набор устройств, которые по отдельности статически настраиваются по ориентировочным параметрам ожидаемой плотности и состава трафика: такая конфигурация будет иметь  ограниченную способность динамически реагировать на изменения структуры трафика. Используя инструменты на  основе SDN, сетевой администратор может установить согласованную политику, которая затем автоматически  реализуется и контролируется [3]. Политика может быть сложной и динамичной. Например, в облачном ЦОД  политика может нуждаться в постоянной корректировке по мере добавления новых арендаторов, ухода старых  арендаторов или изменения существующими арендаторами своих требований к обслуживанию. Более того,  арендаторы должны иметь такой же контроль над своим подмножеством ресурсов DCN, что и оператор сети  имеет над DCN в целом, и SDN позволяет достичь такой цели. 

Обеспечение единого представления сетевых ресурсов не является тривиальной задачей. Устройства могут различаться не только по выполняемой роли (коммутаторы, маршрутизаторы, промежуточные блоки), но и по своим возможностям в пределах одной роли: коммутаторы с таблицами CAM разного размера (используются для  хранения правил OpenFlow и (или) кэширования прочей информации о пересылке пакетов) [4]; коммутаторы,  поддерживающие разные версии OpenFlow; наличие или отсутствие в коммутаторе поддержки локального выполнения пользовательского кода. Для решения некоторых из этих проблем исследователи прибегли к  программно-определяемому подходу, чтобы замаскировать сложность внутренней структуры посредством  интеллектуальных программ. 

Для обеспечения правильной работы настроенных сетевых устройств требуется их мониторинг. Здесь также наблюдается выгода от применения SDN: например, возможна динамическая подстройка объема ресурсов коммутатора (ресурсы ЦП, таблица CAM), которые расходуются в целях мониторинга сети на базе OpenFlow. Такая  подстройка позволяет балансировать между потреблением ресурсов и требуемой точностью измерений [5]. Степень детализации собираемой информации и частота, с которой она собирается, могут варьироваться в зависимости от требований: в точке перегруженности может быть приемлемо снизить детализацию мониторинга и отдать приоритет пересылке пакетов данных. С другой стороны, в какой-то части сети может потребоваться более детальный мониторинг, чтобы четко выявлять атаки типа «отказ в обслуживании». Технология SDN обеспечивает такую гибкость, что отличает ее от установившейся практики выделения фиксированного набора ресурсов для  мониторинга в сети. В последнее время сосредоточилось внимание на сетевой телеметрии — сборе данных о конкретных пакетах, отправляемых через плоскость данных, с целью обнаружения неисправностей и устранения неполадок [6]. 

2.2. Контроль производительности и использования ресурсов

В крупнейших ЦОД (например, принадлежащих поставщикам публичного облака и обслуживаемых ими же) даже небольшое повышение производительности в виде расширения пропускной способности и уменьшения задержки  может обеспечить конкурентное преимущество. Методы, используемые для повышения производительности, включают разделение сетевого трафика и его регулирование, балансировку нагрузки на уровнях 4–7 и консолидацию виртуальных машин (ВМ). 

Разделение сетевого трафика позволяет эксплуатировать избыточные сетевые пути внутри сети. Избыточные пути обычно предусматриваются проектом сети на случай отказа устройства или канала, однако они влекут за собой  значительные финансовые вложения. Таким образом, мотивирующий фактор здесь заключается в том, чтобы  использовать эти ресурсы во время нормальной работы сети, тем самым увеличивая общий уровень использования  сетевых ресурсов. В ЦОД обычно применяется не связанный с SDN механизм под названием ECMP, который  разделяет трафик на отдельные потоки и направляет их по доступным путям при помощи устройств 2-го и 3-го  уровней. Однако ECMP не учитывает загрузку каждого отдельного потока, поэтому трафик оказывается не  полностью сбалансирован. Решение на основе SDN может работать лучше, чем простое разделение трафика. Например, решение Planck [7], которое опирается на более ранние работы по мониторингу коммутаторов в ЦОД,  предоставляет приложение, осуществляющее детальное регулирование трафика путем перенаправления  перегруженных потоков в течение миллисекунд (< 10 мс в сетях с пропускной способностью 1 Гбит/с и 10 Гбит/с). 

Балансировка нагрузки на 4-м уровне — это распределение клиентских потоков между несколькими серверами  ЦОД, предоставляющими один сервис, определяемый номером TCP-порта. Вместо замены сильно загруженного сервера на более крупный сервер («масштабирование вглубь»), балансировка нагрузки позволяет распределить задачу на большее количество серверов («масштабирование вширь») и решить проблему без заметного  воздействия на клиентов. Балансировка нагрузки на 4-м уровне традиционно осуществлялась с использованием  специализированных аппаратных средств, хотя в последнее время производители предлагают виртуальные  устройства. Duet [8] — это комбинированный программно-аппаратный балансировщик нагрузки на основе SDN.  Большая часть работы по балансировке нагрузки переносится на коммутаторы DCN, тем самым задействуются  недостаточно эксплуатируемые ресурсы в коммутаторах, уже установленных в сети ЦОД. Такой подход  естественным образом масштабируется вместе с самим ЦОД при минимальных затратах. Программная балансировка нагрузки в Duet в первую очередь обеспечивает отказоустойчивость. Для связи между контроллером  и коммутаторами Duet использует не OpenFlow, а специализированные API производителей оборудования. 

При перенаправлении трафика на 7-м уровне пакеты направляются на серверы по результатам глубокой проверки  пакетов прикладного уровня (DPI). Механизм DPI применяется для таких функций, как склейка TCP-пакетов, NAT,  выбор серверов на 7-м уровне или брандмауэр. Хотя перенаправление трафика может осуществляться и другими  методами (например, с помощью туннелей MPLS), при использовании SDN возможно динамически изменять  конфигурацию перенаправления в ответ на изменение политик, нагрузки или других факторов. Авторы работы [9]  предлагают архитектуру SDN, в которой функции обработки пакетов для конкретных прикладных сервисов  распределяются между коммутаторами в ЦОД как «приложения». Тем самым устраняется необходимость в  выделенных устройствах, выполняющих роль промежуточных блоков. «Приложения» на отдельном коммутаторе  могут объединяться в «цепочки обслуживания», которые позволяют упростить путь, по которому должны  направляться пакеты.

Один из способов уменьшить задержку между двумя взаимодействующими виртуальными машинами в ЦОД — это  переместить их «ближе» друг к другу, сократив расстояние между ними. Это также снижает общую нагрузку на сеть,  поскольку для передачи трафика между ВМ требуется меньше каналов и промежуточных устройств. Роль SDN  заключается прежде всего в том, чтобы пакеты данных продолжали поступать на ВМ после ее переноса, то есть  чтобы перемещение было незаметным для самой ВМ и для взаимодействующих с ней устройств (в частности,  чтобы не разорвались какие-либо TCP-соединения). Помимо этого SDN можно использовать для резервирования  или распределения сетевых ресурсов, чтобы быстро выполнить миграцию ВМ в рамках DCN. Конечно, выгода от  перемещения ВМ должна перевешивать затраты на миграцию, которая сама по себе расходует ресурсы сети, ЦП и  хранилища. 

Установка правил для потоков в таблицах CAM аппаратных коммутаторов выполняется относительно медленно,  даже если речь идет о добавлении одиночного правила (не говоря уже о скорости, на которую можно рассчитывать  при добавлении группы правил). Это особенно актуально для DCN, эксплуатируемых несколькими арендаторами: в них количество потоков велико и для них характерна высокая степень оттока, поэтому скорость, с которой можно  добавлять новые правила, будет ограничивать способность DCN пропускать через себя новые потоки. В одном из  подходов данная проблема решается путем временного направления пакетов нового потока по предварительно  настроенным туннелям, проходящим через аппаратные коммутаторы. Такое временное решение применяется до  того момента, пока аппаратные коммутаторы не установят правила, необходимые для естественной пересылки  пакетов потока. Когда этот момент наступает, оставшиеся пакеты потока (если их пересылка еще не закончена) могут быть перенаправлены уже по нетуннелированному пути [10]. 

Не все коммутаторы имеют одинаковые характеристики: некоторые из них могут обрабатывать бо́льшие таблицы  потоков, иметь более высокоскоростные интерфейсы и более быстрые ЦП, чем другие. В работе [11]  исследователи изучили проблему оптимального размещения коммутаторов в DCN, при котором наилучшим  образом используются присущие им характеристики таблиц потоков. 

2.2.1. Качество обслуживания 

Качество обслуживания (QoS) подразумевает обслуживание некоторых классов трафика с более высоким приоритетом, чем других, с целью гарантировать определенные значения задержки, пропускной способности  и (или) уровня потери пакетов для конкретных потоков данных. 

Чтобы свести к минимуму количество точек перегрузки в ЦОД, можно либо выделить полосу пропускания с избытком, либо обеспечить тщательное планирование и регулирование трафика с целью сбалансированного использования полосы пропускания или преднамеренного искажения баланса в пользу конкретных периодически  возникающих потоков. Однако нехватка пропускной способности является лишь одной из причин перегрузки. Также влияют такие факторы, как емкость буфера в коммутаторах и маршрутизаторах, а также операции, которые обязательно применяются к каждому полученному или переданному пакету. Кроме того, в облачных ЦОД профили трафика меняются по мере появления и ухода арендаторов, увеличения и уменьшения уровня использования  ресурсов со стороны арендаторов, а также при изменении используемых ими приложений. Такой сценарий  оказывается слишком динамичным для традиционного регулирования трафика. QoS, помимо прочего, применяется  для изоляции трафика, требующего гарантированного обслуживания, от воздействия неминуемой перегрузки, а также для приоритезации отдельных видов трафика при распределении ресурсов в соответствии с административной политикой. При реализации методов QoS посредством SDN возможна тонкая настройка уровня  обслуживания для различных потоков и постоянно меняющихся политик. SDN можно использовать для  динамического перенаправления потоков из точки перегрузки при сохранении гарантий обслуживания. В число  применений DCN, которые выигрывают от гарантий обслуживания, входят распределенные базы данных, вычисления по модели MapReduce и виртуальные сети [12]. 

Одним из способов реализации QoS для ЦОД, использующих SDN, является изменение приложений таким образом, чтобы они предварительно запрашивали гарантии на обслуживание своего трафика. В работе [13] такие  запросы добавляются в дерево политик, которое используется для разрешения конфликтов между конкурирующими требованиями, что важно для сетей с чрезмерным количеством сервисов. Исследователи в работе [12] реализовали механизм явного управления путями, позволяющий приложениям выбирать пути для  прохождения своего трафика через сеть, чтобы гарантировать необходимую пропускную способность или уровень задержки. 

2.2.2. Энергосбережение 

По мере увеличения размеров и количества ЦОД увеличивается количество потребляемой ими энергии, что  побуждает исследователей и отраслевых специалистов работать над контролем и минимизацией  энергопотребления ЦОД. Первоначально основное внимание уделялось консолидации виртуальных машин для  отключения серверов в часы внепиковой нагрузки. Однако со временем внимание исследователей привлекла и проблема энергопотребления сетей, поскольку на них приходится значительная часть общего энергопотребления  ЦОД. В частности, речь о том, что сети ЦОД обычно рассчитаны на удовлетворение пикового спроса:  предусматриваются избыточные уровни доступной пропускной способности, чтобы избежать возникновения узких  мест в какой-либо точке сети, и добавляются избыточные каналы и устройства, чтобы снизить вероятность  сегментации сети из-за сбоя. Эти требования влекут за собой крупные первоначальные затраты на оборудование, а  также постоянные затраты на питание всех каналов и устройств, хотя сеть бо́льшую часть времени работает на  какую-то долю от своей полной мощности. 

SDN может помочь в снижении энергопотребления путем направления (или перенаправления) потоков через  подмножество коммутаторов и каналов в DCN. Неиспользуемые коммутаторы и каналы могут быть выключены или  переведены в энергосберегающий режим, до тех пор пока не потребуются (например, когда спрос достигнет  пиковых значений). В работе [14] описан простой подход, в котором используется регулирование трафика с учетом  энергопотребления (Energy-aware Traffic Engineering, ETE). Межкоммутаторные соединения отключаются, когда по  наблюдаемым закономерностям трафика можно предположить, что эти соединения не требуются (например, ночью). В работе [15] реализован более сложный подход, в котором учитываются профили энергопотребления  коммутаторов и, при наличии выбора, первыми отключаются более энергозатратные устройства. Для  коммутаторов, которые остаются активными, распределение трафика может быть реализовано с учетом  конкретных уровней использования ресурсов на отдельных коммутаторах, при этом тактовая частота ЦП  коммутатора и скорость отдельных портов устанавливаются в соответствии с нагрузкой, чтобы обеспечить  наилучшую экономию энергии. Технология SDN позволяет использовать эти подходы, во-первых, благодаря  видимости всей сети и, следовательно, возможности сбора данных о потоках, присутствующих в сети в настоящее  время. Во-вторых, все коммутаторы могут быть перенастроены через плоскость управления, чтобы освободить  устройства и каналы перед их отключением, что крайне важно для предотвращения потери пакетов и скачков  уровня задержки. 

2.3. Безопасность 

SDN имеет множество преимуществ в отношении сетевой безопасности. В контексте DCN технология SDN может  использоваться для реализации политики безопасности вместо или, что более вероятно, в дополнение к  традиционным механизмам безопасности, таким как VLAN и брандмауэры. Если политика безопасности изменится,  решение на основе SDN должно динамически изменить конфигурацию сети в соответствии с новой политикой. Если  политика безопасности слишком сложная и детализированная, чтобы ее можно было полностью реализовать с  помощью статических механизмов или на устройствах с ограниченными ресурсами, SDN может предоставить  средства для динамической перенастройки в зависимости от времени суток, спроса, профиля трафика или других  критериев. 

Функции изоляции трафика VLAN можно полностью реализовать на базе SDN (равно как и более современные  функции — VXLAN, NVGRE, GENEVE). Однако также интерес представляет то, как функции VLAN задействуются в SDN  для реализации более широких возможностей. В частности, возможно определение членства в VLAN на основе  произвольных критериев (например, идентификатора арендатора, как в работе [16]) или переписывание тегов  VLAN, когда пакеты пересекают сеть, что позволяет объединить или частично наложить друг на друга разные VLAN. 

Технология SDN особенно полезна для реализации политики безопасности в тех облачных ЦОД, где арендаторам  разрешено осуществлять самообслуживание: создавать и переносить виртуальные машины, создавать виртуальные сети, добавлять и настраивать виртуальные устройства обеспечения безопасности, устанавливать  собственные политики безопасности для виртуального облака [17]. Проверка и объединение этих субполитик, а также проверка того, что результат не нарушает суперполитику провайдера, являются сложной задачей, которую  можно решить с помощью SDN: например, путем преобразования политик в конфигурации базовых устройств и  проверки реализованной политики с помощью активного зондирования пакетов.

За счет интеграции в концепцию SDN была расширена распространенная методика обнаружения аномалий [18]: в  ней достигнута степень масштабируемости, необходимая для обнаружения сетевых аномалий в облачных DCN на  основе машинного обучения. 

2.4. Управление соединениями между ЦОД 

Владельцы ЦОД довольно часто управляют несколькими ЦОД. Это нужно для обеспечения избыточности,  аварийного восстановления или размещения сервисов вблизи групп пользователей (например, для минимизации  задержки или использования пропускной способности магистральной сети Интернета). По тем же причинам  арендаторы ЦОД могут работать в нескольких ЦОД, которые не обязательно принадлежат одному и тому же  провайдеру. 

WAN-каналы и интернет-соединения между ЦОД отличаются от сетей, функционирующих внутри ЦОД. Например,  каналы внутри сети провайдера, как правило, рассчитаны на низкую загрузку, чтобы дать клиентам ощущение  высокой надежности: трафик незаметно перенаправляется в случае сбоя канала или оборудования. У оператора  ЦОД, который также является WAN-провайдером, есть возможность обменять надежность на более низкую  стоимость — за счет использования каналов с низкой пропускной способностью, работающих при высокой  загрузке. В случае сбоя канала требуется быстрая реакция для минимизации внезапной перегрузки — и для  достижения этой цели используется технология SDN, причем накладные расходы оказываются низкими [19]. 

В облачных мульти-ЦОД операторы могут предоставлять арендаторам возможность управлять виртуальными  каналами, установленными между арендаторскими сетями в разных ЦОД по физическим каналам, которые есть у  оператора. Арендаторы могут создавать, масштабировать и разрывать каналы [20]. SDN предоставляет механизм  для внесения изменений в виртуальные каналы в процессе самообслуживания, включая указание таких  параметров, как требования к пропускной способности и параметры QoS. 

При традиционном подходе такие изменения запрашиваются арендатором через систему заявок и  реализуются оператором вручную. 

Механизм создания, изменения и разрыва виртуальных каналов сам по себе может быть поставлен под  программное управление, например для резервирования ресурсов, необходимых для переноса ВМ из одного ЦОД  в другой, либо для поддержания сетевых соединений с ВМ, которые были перенесены таким образом [21].  Преимуществом SDN здесь является возможность автоматизировать настройку сетевых соединений между ЦОД  при крайне высокой степени контроля, которая необходима, когда через эти соединения одновременно  передается трафик нескольких арендаторов, требующих сохранения гарантий производительности. 

3. Заключение 

Мы определили ключевые аспекты применения технологии SDN в сетях DCN: настройка и мониторинг, контроль  производительности и использования ресурсов (включая энергосбережение и QoS), безопасность и управление  соединениями между ЦОД. Мы обсудили преимущества, которые обеспечивает SDN в каждой из этих областей, и  рассмотрели роль исследовательского сообщества в разработке этих преимуществ. Очевидно, что SDN  представляет собой ценный инструмент для администраторов DCN, поэтому в данном направлении постоянно  ведутся активные исследования. 

Список литературы и биографии см. в оригинальной публикации.


Материал подготовлен в рамках курса "Network engineer". Если вас интересует развитие в работе с сетями с нуля до Pro, предлагаем узнать про специализацию.

Также всех желающих приглашаем на двухдневный онлайн-интенсив "Настройка небольшого офиса".

Комментарии (0)