Определение маршрута, по которому должна передаваться информация, является ключевым алгоритмическим процессом, обеспечивающим работу компьютерных сетей, хотя рядовые пользователи интернета его почти не замечают. Какую-то, довольно незначительную, часть этой работы выполняют компьютеры, подключенные к локальной или глобальной сети, на которых выполняются клиентские и серверные программы. Основная же нагрузка по прокладыванию маршрутов лежит на специальном оборудовании — роутерах, коммутаторах, сетевых мостах, переключателях, по сути — промежуточных специализированных компьютерах и программах, вычисляющих по определенным протоколам путь, по которому между сетевым хостом (например, почтовой программой, запущенной на вашем компьютере, и почтовым сервером интернет-провайдера) курсируют пакеты полезных данных.
Делегирование важных полномочий по управлению маршрутами промежуточному программно-аппаратному слою произошло уже на самых ранних стадиях развития глобальной сети, когда процессорной мощности компьютеров, выполняющих серверно-клиентские функции, стало недостаточно, чтобы нагружать их еще и функциями маршрутизаторов, «разруливающих» большие потоки данных, большая часть которых к тому же является еще и чужой.
Оборотной стороной такого разделения стала растущая зависимость пользователей сети — поставщиков сервисов и их клиентов — от технических ограничений, налагаемых производителями сетевого оборудования, то есть от той части сети, которая выполняет инфраструктурные функции.
Избавиться от этой зависимости, тормозящей развитие интернета, и вдохнуть в сети новую жизнь можно, если сделать следующий шаг, который давно уже напрашивается — еще больше отделить сеть от инфраструктурного «железа» и привязанных к нему функциональных алгоритмов, сделать ее более абстрактной, более «программной».
Именно по этому пути «аппаратной эмансипации» интернета предлагают двигаться создатели новой сетевой парадигмы программно-конфигурируемых сетей, или SDN (software defined networks), с которой теоретики связывают следующую стадию развития глобальной сети, когда сетевые архитекторы перестанут наконец задумываться, какие материалы им нужно выбирать, каких подрядчиков привлекать и каким протоколам подчиняться. Возможно, IT-сообщество получает в руки новый инструмент, позволяющий «пересочинить» весь интернет заново.
Один из ключевых теоретиков SDN профессор Стэнфорда Ник МакКеон рассказал «Газете.Ru» о сущности новой технологии.
— Можно ли определить SDN как сетевой метапротокол, то есть протокол-надстройку более высокого уровня, другими словами — некий универсальный слой, инкапсулирующий все «нижние» сетевые протоколы маршрутизации?
— Нельзя. Собственно протоколы маршрутизации представляют собой комбинацию двух вещей: это, во-первых, распределенный алгоритм, выполняемый одновременно на большом количестве сетевых роутеров и свитчей, плюс, во-вторых, система коммуникации между роутерами и свитчами, необходимая для того, чтобы этот распределенный алгоритм работал. Таковы, например, OSPF, BGP и другие роутинг-протоколы. Это — «старый подход» к построению сети, когда каждый алгоритм маршрутизации выстраивает собственную независимую систему распределенного управления роутерами и свитчами, необходимую для его корректной работы.
Подобный путь, несмотря на логичность этого подхода, чреват неразберихой между множеством разных протоколов, каждый из которых выстраивает собственную распределенную систему обмена информацией,
каждый борется с другими протоколами за контроль над сетью, каждый требует одобрения специальных комитетов, при этом очередное увеличение числа протоколов делает работу сети менее надежной.
— В чем в таком случае заключается новизна подхода SDN?
— В парадигме SDN вы сперва выстраиваете единую надежную распределенную систему управления для централизованного обслуживания всех запущенных в сети программ, управляющих маршрутизацией.
Такая система позволяет окинуть «одним взглядом» состояние всей сети сразу, предоставляя всю оперативную информацию о работе этих программ.
skin: article/incut(default)
data:
{
"_essence": "test",
"incutNum": 3,
"pic2": "/files3/777/4786777/4.jpg",
"picsrc": "Скотт Шенкер, профессор компьютерных наук Университета Беркли (Калифорния), вице-президент Международного института компьютерных наук Беркли.",
"repl": "<3>:{{incut3()}}",
"uid": "_uid_4786777_i_3"
}
— Программно-конфигурируемые сети часто называют «убийцей Cisco» (Cisco — один из крупнейших производителей сетевого оборудования. — «Газета.Ru»), или «убийцей роутеров», поскольку эта технология обеспечивает универсальный, стандартизованный доступ к управлению маршрутизацией независимо от производителя сетевого оборудования. Так ли это? Действительно ли SDN кладет конец существующей парадигме роутинга, крепко привязанного к конкретному «железу»?
— В таких определениях нет особенного смысла. SDN всего лишь создает простой, четко определенный интерфейс между управляющим уровнем (control plane) и уровнем передачи данных (forwarding data plane). Подобно тому, как компьютерный процессор снабжен интерфейсом в виде набора стандартных инструкций, так и компьютерная сеть нуждается в подобном стандартном интерфейсе (наподобие того же OpenFlow), контролирующем поведение информации в сети.
Сейчас, оглядываясь назад, мы понимаем, что такой интерфейс нужно было создавать уже давно.
Это позволило бы внедрить новые программные сетевые инструменты, не заботясь о деталях более низкого уровня, связанных с работой оборудования. Но по какой-то причине этого не произошло, и в сетевой индустрии сохранился перекос, когда за норму принимается проприетарное поведение (производителей сетевого оборудования. — «Газета.Ru»), не учитывающее специфичных интересов сетевых операторов и пользователей. С помощью SDN оператор сможет модифицировать сеть в полном соответствии с собственными нуждами и нуждами своих клиентов. В компьютерной индустрии такое поведение считается само собой разумеющимся. Теперь благодаря SDN такой тип мышления должен прийти и в сетевую индустрию.
— Как изменится поведение производителей сетевого оборудования в эпоху программно-конфигурируемых сетей?
— Многие компании, которые производят сетевое оборудование, сумеют сполна воспользоваться всеми коммерческими преимуществами новой SDN модели, и нет никаких оснований предполагать обратное.
Единственное, что для этого нужно сделать, — поддержать OpenFlow в качестве открытого стандарта сетевого интерфейса и разработать соответствующее программное обеспечение, которое позволит пользователям контролировать и модифицировать свои сети.
Openflow (открытый поток) — протокол (и технология) управления процессом обработки данных, передающихся по компьютерой сети маршрутизаторами и коммутаторами.
Протокол используется для управления сетевыми коммутаторами (маршрутизаторами) с центрального устройства — контроллера сети (например, с сервера или даже персонального компьютера). Это управление заменяет или дополняет собой работающую на коммутаторе (маршрутизаторе) проприетарную программу (осуществляющую построение маршрута, создание карты коммутации и т. д.). Контроллер используется для управления таблицами потоков коммутаторов, на основании которых принимается решение о передаче принятого пакета на конкретный порт коммутатора. Таким образом в сети формируются прямые сетевые соединения с минимальными задержками передачи данных и необходимыми параметрами.
Путь прохождения данных (datapath) состоит из таблицы потоков (flow table) и действий, назначенных для каждой записи в таблице. Сами таблицы могут касаться как Ethernet (или других протоколов канального уровня), так и протоколов вышестоящих уровней (IP, TCP). Точный список действий может меняться, но основные — это форвардинг (пересылка пакета в заданный порт), пересылка пакета на контроллер через безопасный канал для дальнейшего исследования, отбрасывание пакета. Для устройств, совмещающих Openflow и обычную обработку пакетов средствами микропрограммы устройства, добавляется четвёртый тип действия: обработка пакета «обычными» средствами.
Версии микропрограмм с поддержкой Openflow разработаны для устройств многих производителей включая Cisco, Juniper, HP, IBM, NEC.
В настоящий момент протокол имеет версию 1.2 (принята 5 декабря 2011 года).
— Миллионы обычных пользователей держат у себя дома и в офисах wi-fi роутеры, свитчи и прочее сетевое оборудование бытового класса. Как изменится их жизнь с приходом SDN?
— Сейчас сетевые провайдеры, предоставляющие доступ к интернету по выделенному кабелю, DSL и прочим стандартам, вынуждены идти на большие расходы для поддержки в рабочем состоянии так называемой «последней мили» (конечного участка сети, обеспечивающего доступ в интернет на территории клиента. — «Газета.Ru»), пытаясь наладить удаленное исправление ошибок и менеджмент домашних сетей. SDN — прекрасная возможность упростить задачу поддержки домашних сетей, передав ее в руки интернет-провайдеров.
Это избавит пользователей от необходимости самим налаживать и поддерживать в рабочем состоянии сеть у себя дома, позволит делать более оперативные апгрейды и избавит операторов от необходимости посылать своих инженеров на дом, чтобы наладить локальную сеть.
Мы уверены, что рано или поздно так оно и произойдет, но индустрия, связанная с домашними сетями, отличается известной медлительностью в усвоении инноваций, так что для реальных изменений потребуется, скорее всего, несколько лет.
— Разделение уровней управления и уровня передачи данных не является чем-то новым. В телекоммуникационных сетях, например, это реализовано уже давно в технологии MPLS. Почему существующих решений недостаточно? Что принципиально нового предлагает SDN?
— Действительно, это совсем не новая концепция. Многие сети управляются именно по этому принципу. Приведу в пример старую пословицу: «Если не можешь централизовать контроль — сделай его распределенным». На заре интернета делать систему контроля распределенной было необходимо в силу относительно слабой производительности процессоров. Сейчас условия изменились, и такая необходимость отпала. С приходом новых технологий практичнее централизовать логическое управление сетями. В будущем, по всей видимости, наибольшей сложностью будет отличаться уровень конечного, управляющего хоста (узел сети, отвечающей за тот или иной сервис и работающий по определенному протоколу — веб-серверы, почтовые серверы и т. д. — «Газета.Ru»), остальная же часть сети будет отличаться большей простотой.
На самом деле в этом и заключается изначальное видение того, как должен развиваться интернет: «простые и глупые тропинки для данных» (datapath), связывающие «умные хосты».
skin: article/incut(default)
data:
{
"_essence": "test",
"incutNum": 4,
"pic2": "/files3/777/4786777/8.jpg",
"picsrc": "Ник МакКеон, профессор электротехники и компьютерных наук Стэнфордского университета",
"repl": "<4>:{{incut4()}}",
"uid": "_uid_4786777_i_4"
}
— Это ваш первый визит в Россию? Почему вы решили выступить с лекцией о SDN в Политехническом музее?
— В прошлом году мы уже выступали здесь с лекцией, остались очень довольны приемом, самим музеем, Москвой и МГУ им. Ломоносова и были рады вернуться сюда при поддержке Открытого университета Сколково и Центра прикладных исследований компьютерных сетей (ARCCN), который предоставляет площадку для исследования и коммерциализации SDN в России.
Альтернативной точки зрения на будущее SDN, несколько снижающей «революционной градус», придерживается системный архитектор компании Amdocs Алексей Леонов, который прокомментировал для «Газеты.Ru» ожидания IT-сообщества, связанные с новой технологией.
— По сети гуляет много сложных и понятных только специалистам определений, что такое программно-конфигурируемые сети, или SDN. Если убрать всю «воду», что остается в сухом остатке?
— Перемещение данных в сети осуществляется на двух уровнях — уровне управления данными (control plane) и уровне передачи данных (forwarding(data) plane). В традиционных IP-сетях эти уровни совмещены: 1) каждый пакет данных содержит управляющий заголовок (адреса, порты, служебная информация) и собственно полезные данные; 2) маршрутизатор обрабатывает/меняет служебный заголовок пакета и самостоятельно решает, куда и как каждый пакет отправить.
В SDN второе предлагается централизовать/вынести за рамки каждого конкретного маршрутизатора.
The Open Networking Foundation (ONF) — некоммерческая организация, в списке основателей которой, помимо частных лиц, числятся компании Deutsche Telekom, Facebook, Google, Microsoft, Verizon и Yahoo!, и которая ставит своей задачей улучшение работы глобальный сети посредством новой технологии программно-конфигурируемых сетей — Software Defined Networking (SDN). Разработка нового технологического стандарта SDN и его продвижение основаны на убеждении, что облачные вычисления размывают грань между компьютерами (хостами, узлами) и собственно сетью. The Open Networking Foundation способствует продвижению нового стандарта посредством простых и незначительных изменений в аппартно-программной части проводного и беспроводного сетевого оборудования, привлекает компании и стартапы к разработке новых устройств и программных алгоритмов, поддерживающих SDN, способствует совершенствованию стандарта OpenFlow.
— Есть мнение, что программно-конфигурируемые сети представляют особый интерес для мобильных операторов с их гибким и постоянно расширяемым набором сетевых сервисов. Так ли это? Если да, то в чем конкретно заключается этот интерес?
— Есть две большие и немножко разные темы: интернет и телеком. В каждой из них свои стандарты, ключевые игроки и управляющие организации. Они перманентно борются друг с другом за контроль и средства конечного пользователя. В сети телекома разделение управляющих потоков и данных уже давно произошло, новые стандарты (NGN) разделяют control и data plane в софтсвичах и управляемых медиагейтах соответственно.
Кстати, стандарты в телекоме, аналогичные принципам SDN (разделение софтсвича и медиагейтов), уже много лет не принимаются и запрещаются нашим Минсвязи, так как значительно упрощают жизнь телеком-оператора и уменьшают его зависимость от регулятора.
Вообще, в России чиновники с трудом смиряются с новыми стандартами и всячески законодательно с ними борются, так как стандарты эти менее взяткоемкие и подконтрольные, но это уже другая тема.
В интернете же пока только придумывают, как это можно сделать, и пока не факт, что это действительно надо делать. Скажу так: скорее мобильные операции представляют интерес для разработчиков SDN, ведь основная «фишка» SDN — это разделение уровня управления (сontrol plane) и уровня передачи данных (data аorwarding plane), то есть потоков данных и управления данными, а в стандартах мобильной связи эти уровни или потоки уже давно разделены, и маршрутизация звонков/пользовательских данных управляется аналогично принципам, описанным в SDN. Просто стандарты, стандартизирующие организации и основные игроки там другие, нежели в интернете.
— Тогда в чем причина повышенного интереса к SDN у облачных сервисов и соцсетей? Означает ли внедрение SDN подчинение сетевого «базиса» (маршрутизации и связанной с ней аппаратно-программной части) «надстройке» — собственно сервисной части сети и компаниям типа Facebook, которые раньше в сетевую инфраструктуру даже не совались?
— Для производителей софта и для интернет-гигантов — это новое направление бизнеса с большим потенциалом. Сейчас они никак не зарабатывают на сетевой инфраструктуре, так как все крутится вокруг сетевых железок. В SDN появляется новый уровень, простой, независимый от железа и с хорошим потенциалом распространения, и это отличная возможность заработать на софте.
— Означает ли SDN следующий этап виртуализации систем управления сетью, которые все больше абстрагируются от «железа»?
— Сейчас, с увеличением ширины каналов, виртуализуется все подряд. С этой точки зрения появление еще одного сервиса для управления маршрутизацией вполне логично, и это можно назвать естественным развитием сети.
— Можно ли говорить о грядущей SDN-революции? И что несет с собой эта революция с точки зрения рисков для свободы распространения информации?
— Революцией было появление торрентов, которые увеличили объем мирового трафика на порядок (принципы работы торрента и SDN похожи: внешний сервис управляет потоками данных между источниками и приемниками независимо от особенностей их подключения). В технологии SDN ничего революционного нет, но, как и с торрентами, все зависит от того, как эта технология будет использоваться.
Может быть, с ее помощью интернет-гиганты типа Google или Facebook потеснят традиционных интернет-провайдеров от выручки от конечного пользователя, а может, государство станет гораздо более лучше контролировать использование интернета.
Ни то, ни другое революцией не будет.
А вот если конечные пользователи, используя SDN или какую-нибудь другую технологию, обойдут ограничения интернет-провайдеров и организуют бесплатный и бесконтрольный интернет по всему миру — вот это действительно будет революция.