Новые технологии изменили и усложнили природу сетей — облака и крупные ЦОД предъявляют к сетям повышенные требования, выполнять которые оказывается все сложнее. Операторам требуются более «умные» сети, а также усовершенствования в инструментах сетевого мониторинга и управления. Как следствие, сегодня вырос интерес к программно определяемым сетям (software-defined networks, SDN). Плоскость управления в SDN лежит в стандартных серверах, работающих отдельно от сетевых устройств (коммутаторов, маршрутизаторов и т.п.), благодаря чему сетевые администраторы получают детализированный контроль над трафиком.

Идее SDN уже около десяти лет, но ее недавние реализации, предложенные компаниями Cisco Systems и Juniper Networks, проприетарны и потому неприменимы к оборудованию других поставщиков. Однако производители и операторы сетей начинают пристально приглядываться к технологии OpenFlow, обещающей для SDN интероперабельность и высокую производительность. С помощью контроллеров OpenFlow администраторы могут определять пути распространения данных, устанавливать правила формирования приоритетов обработки пакетов и перенаправления данных через коммутаторы по локальной или глобальной сети. По сути, OpenFlow передает контроль над потоками трафика от инфраструктуры сетевым администраторам.

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

В марте 2011 года компании Cisco, Facebook, Google, Microsoft и др. образовали альянс Open Networking Foundation (ONF) для пропаганды технологии OpenFlow и протокола коммутации OpenFlow Switching Protocol. Однако некоторые эксперты высказывают мнение, что OpenFlow не обладает достаточной масштабируемостью и что производители могут добавлять к технологии проприетарные расширения, лишающие ее интероперабельности.

Проблемы

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

Традиционные коммутаторы реализуют как быструю переадресацию пакетов (тракт данных, data path), так и высокоуровневую маршрутизацию (тракт управления, control path). OpenFlow обеспечивает независимость функций высокоуровневого управления от аппаратного обеспечения, за счет чего ускоряются процессы пересылки и маршрутизации. «Кроме того, в сети OpenFlow вся интеллектуальная часть исполняется на центральном сервере, поэтому в такой сети проще выполнять сложные операции», — отмечает Урс Хельцле, президент ONF и старший вице-президент Google по инженерному проектированию.

OpenFlow

Исследователи из Стэнфорда и Калифорнийского университета в Беркли начали разработку SDN в 2002 году, а проект OpenFlow стартовал в 2008-м. Juniper и другие поставщики приступили к выпуску проприетарных SDN-продуктов на основе OpenFlow с 2010 года. «OpenFlow — это первая жизнеспособная реализация идеи SDN», — полагает Алекс Реймерс, инженер программного обеспечения компании Big Swtich Networks, поставляющей коммутаторы OpenFlow.

Принцип действия

 

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

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

Разделение тракта данных и тракта управления.  Как показано на рис. 1, OpenFlow отделяет друг от друга функции тракта данных и тракта управления, традиционно реализуемые коммутаторами. Функциональность, относящаяся к тракту данных, по-прежнему выполняется на коммутаторе, но за принятие решений о высокоуровневой маршрутизации в OpenFlow отвечает контроллер, как правило организованный на базе стандартного сервера. Коммутатор и контроллер общаются по протоколу OpenFlow Switching Protocol. Контроллер может, например, приказать коммутаторам ввести в действие правила для потоков сетевого трафика, объясняет профессор Стэнфорда Ник Макьюэн, разработчик OpenFlow. Такие правила могут, в частности, обеспечивать отправку данных по самым быстрым маршрутам или по маршрутам, имеющим минимум транзитных участков.

Интерфейс. OpenFlow предоставляет единый API, с помощью которого администраторы могут программировать работу сети, а также задавать правила маршрутизации пакетов, балансировки нагрузки и управления доступом, уточняет Шенкер. «В этот API входят два основных компонента: программный интерфейс для контроля пересылки пакетов через сетевые коммутаторы и набор глобальных интерфейсов, на основе которых можно создавать высокоразвитые инструменты управления», — добавляет Хельцле.

Преимущества

OpenFlow обладает рядом важных преимуществ.

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

Реализация и тестирование новых функций. Программные средства OpenFlow позволяют администраторам добавлять новую функциональность к имеющейся сетевой архитектуре. При этом новые функции будут работать на многих платформах — их не придется реализовывать заново во встроенном программном обеспечении коммутаторов каждого поставщика. «Благодаря открытому API технология OpenFlow также позволяет администраторам и наладчикам создавать произвольное ПО управления и тестировать новую функциональность коммутаторов на полной физической скорости канала», — отмечает Гвидо Аппенцеллер, сооснователь и генеральный директор Big Switch и один из создателей OpenFlow. Ранее данная задача была труднореализуемой, поскольку у маршрутизаторов и коммутаторов, предлагаемых крупными поставщиками, не было единого API.

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

Облака. В облаках данные и приложения размещены на компьютерах, взаимодействующих по сети, и, по мнению сторонников OpenFlow, данная технология способна обеспечить требуемый облакам уровень «интеллектуальности» сетей, необходимый, в частности для оркестровки работы обширных групп коммутаторов.

Продукты и реализации

Продукты семейства ProgrammableFlow корпорации NEC — это программное обеспечение контроллера, а также коммутаторы и система мониторинга трафика. На сегодня это единственное доступное на рынке решение, совместимое с OpenFlow. Компания Brocade объявила о поддержке OpenFlow в своих коммутаторах в 2011 году, а IBM и Juniper поставляют опытные образцы оборудования OpenFlow.

Программное обеспечение OpenFlow также входит в состав различных дистрибутивов Linux, в том числе в CentOS, Fedora и Ubuntu. Благодаря этому Linux-компьютеры можно использовать в качестве коммутаторов или управляющих серверов OpenFlow.

Консорциум Internet2, Университет Индианы и исследовательская программа Clean Slate Стэнфордского университета строят новую общенациональную сеть OpenFlow в рамках совместной инициативы Network Development and Deployment, нацеленной на создание сетевой платформы для поддержки научных исследований. Это будет первая крупномасштабная сеть OpenFlow, доступная для научных и промышленных применений.

Сомнения и предостережения

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

Некоторые отраслевые эксперты выражают беспокойство по поводу безопасности, опасаясь, что, поскольку в OpenFlow вся функциональность управления реализуется на одном виртуальном сервере, взломать такую сеть будет проще. «OpenFlow подойдет в тех случаях, когда безопасность для вас не имеет первостепенной важности», — считает Билл Сейферт, директор по технологиям компании Avaya.

Существует также мнение, что хотя OpenFlow и обладает рядом достоинств, но коммерческие компании могут добавлять к ней проприетарные расширения, что сведет на нет преимущества программируемой сети и породит реализации, несовместимые с другими.

Будущее OpenFlow

Хельцле уверен, что OpenFlow позволит сетям развиваться и совершенствоваться гораздо быстрее, чем это возможно сегодня. «Ценность OpenFlow в том, что эта технология способна упростить процесс модификации сетей во многих организациях, — считает Грег Ферро, независимый архитектор, инженер и проектировщик сетей из Великобритании. — Есть большая вероятность, что OpenFlow будет взята на вооружение в качестве главного конфигурационного инструмента общедоступных облачных сетей, для которых в первую очередь важна экономическая эффективность». Если OpenFlow будет работать, как задумано, и позволит более рационально использовать ресурсы сетевого оборудования, эта технология может завоевать популярность среди заказчиков и начать приносить прибыли поставщикам, полагает Кайл Форстер, сооснователь и вице-президент по сбыту и маркетингу Big Switch. Однако, аналитик Enterprise Strategy Group Йон Олтсик менее оптимистичен: «OpenFlow сегодня можно рассматривать скорее как научный проект, чем как готовую к внедрению технологию. Да, она способна изменить динамику перестройки сетей, однако большинству пользователей нужны коммутаторы и маршрутизаторы, которые работают без трудоемкой настройки. Если OpenFlow достигнет такого уровня функциональности, который упростит архитектуру сети и управление ею, то тогда данная технология может преуспеть». Если же OpenFlow потребует освоения новых навыков и выполнения сложных процедур программирования, эта технология может и не добиться популярности.

Стивен Воган-Николс (sjvn@vna1.com) — независимый автор (шт. Калифорния, США)

Steven Vaughan-Nichols. OpenFlow: The Next Generation of the Network? IEEE Computer, August 2011, IEEE Computer Society. All rights reserved. Reprinted with permission.