Определение маршрута, по которому должна передаваться информация, является ключевым алгоритмическим процессом, обеспечивающим работу компьютерных сетей, хотя рядовые пользователи интернета его почти не замечают. Какую-то, довольно незначительную, часть этой работы выполняют компьютеры, подключенные к локальной или глобальной сети, на которых выполняются клиентские и серверные программы. Основная же нагрузка по прокладыванию маршрутов лежит на специальном оборудовании — роутерах, коммутаторах, сетевых мостах, переключателях, по сути — промежуточных специализированных компьютерах и программах, вычисляющих по определенным протоколам путь, по которому между сетевым хостом (например, почтовой программой, запущенной на вашем компьютере, и почтовым сервером интернет-провайдера) курсируют пакеты полезных данных.
Делегирование важных полномочий по управлению маршрутами промежуточному программно-аппаратному слою произошло уже на самых ранних стадиях развития глобальной сети, когда процессорной мощности компьютеров, выполняющих серверно-клиентские функции, стало недостаточно, чтобы нагружать их еще и функциями маршрутизаторов, «разруливающих» большие потоки данных, большая часть которых к тому же является еще и чужой.
Оборотной стороной такого разделения стала растущая зависимость пользователей сети — поставщиков сервисов и их клиентов — от технических ограничений, налагаемых производителями сетевого оборудования, то есть от той части сети, которая выполняет инфраструктурные функции.
Избавиться от этой зависимости, тормозящей развитие интернета, и вдохнуть в сети новую жизнь можно, если сделать следующий шаг, который давно уже напрашивается — еще больше отделить сеть от инфраструктурного «железа» и привязанных к нему функциональных алгоритмов, сделать ее более абстрактной, более «программной».
Именно по этому пути «аппаратной эмансипации» интернета предлагают двигаться создатели новой сетевой парадигмы программно-конфигурируемых сетей, или SDN (software defined networks), с которой теоретики связывают следующую стадию развития глобальной сети, когда сетевые архитекторы перестанут наконец задумываться, какие материалы им нужно выбирать, каких подрядчиков привлекать и каким протоколам подчиняться. Возможно, IT-сообщество получает в руки новый инструмент, позволяющий «пересочинить» весь интернет заново.
Один из ключевых теоретиков SDN профессор Стэнфорда Ник МакКеон рассказал «Газете.Ru» о сущности новой технологии.
— Можно ли определить SDN как сетевой метапротокол, то есть протокол-надстройку более высокого уровня, другими словами — некий универсальный слой, инкапсулирующий все «нижние» сетевые протоколы маршрутизации?
— Нельзя. Собственно протоколы маршрутизации представляют собой комбинацию двух вещей: это, во-первых, распределенный алгоритм, выполняемый одновременно на большом количестве сетевых роутеров и свитчей, плюс, во-вторых, система коммуникации между роутерами и свитчами, необходимая для того, чтобы этот распределенный алгоритм работал. Таковы, например, OSPF, BGP и другие роутинг-протоколы. Это — «старый подход» к построению сети, когда каждый алгоритм маршрутизации выстраивает собственную независимую систему распределенного управления роутерами и свитчами, необходимую для его корректной работы.
Подобный путь, несмотря на логичность этого подхода, чреват неразберихой между множеством разных протоколов, каждый из которых выстраивает собственную распределенную систему обмена информацией,
каждый борется с другими протоколами за контроль над сетью, каждый требует одобрения специальных комитетов, при этом очередное увеличение числа протоколов делает работу сети менее надежной.
— В чем в таком случае заключается новизна подхода SDN?
— В парадигме SDN вы сперва выстраиваете единую надежную распределенную систему управления для централизованного обслуживания всех запущенных в сети программ, управляющих маршрутизацией.
Такая система позволяет окинуть «одним взглядом» состояние всей сети сразу, предоставляя всю оперативную информацию о работе этих программ.
Сетевые управляющие программы, таким образом, продолжают контролировать маршрутизацию, но теряют распределенные полномочия. Как результат, сетевая архитектура со временем станет намного более простой и намного более надежной, чем сейчас. Ко всему прочему, станет возможным добавлять в сеть множество других управляющих маршрутизацией программ, которые производители сетевого оборудования даже и не думают добавлять сейчас, например, программ, оптимизирующих работу сети под определенного провайдера и клиента. Сейчас ни один производитель сетевого оборудования не имеет представления, что значит управлять огромной специфично сконфигурированной сетью, и что значит оптимизировать ее работу исходя из уникальных нужд операторов и пользователей.
— Программно-конфигурируемые сети часто называют «убийцей Cisco» (Cisco — один из крупнейших производителей сетевого оборудования. — «Газета.Ru»), или «убийцей роутеров», поскольку эта технология обеспечивает универсальный, стандартизованный доступ к управлению маршрутизацией независимо от производителя сетевого оборудования. Так ли это? Действительно ли SDN кладет конец существующей парадигме роутинга, крепко привязанного к конкретному «железу»?
— В таких определениях нет особенного смысла. SDN всего лишь создает простой, четко определенный интерфейс между управляющим уровнем (control plane) и уровнем передачи данных (forwarding data plane). Подобно тому, как компьютерный процессор снабжен интерфейсом в виде набора стандартных инструкций, так и компьютерная сеть нуждается в подобном стандартном интерфейсе (наподобие того же OpenFlow), контролирующем поведение информации в сети.
Сейчас, оглядываясь назад, мы понимаем, что такой интерфейс нужно было создавать уже давно.
Это позволило бы внедрить новые программные сетевые инструменты, не заботясь о деталях более низкого уровня, связанных с работой оборудования. Но по какой-то причине этого не произошло, и в сетевой индустрии сохранился перекос, когда за норму принимается проприетарное поведение (производителей сетевого оборудования. — «Газета.Ru»), не учитывающее специфичных интересов сетевых операторов и пользователей. С помощью SDN оператор сможет модифицировать сеть в полном соответствии с собственными нуждами и нуждами своих клиентов. В компьютерной индустрии такое поведение считается само собой разумеющимся. Теперь благодаря SDN такой тип мышления должен прийти и в сетевую индустрию.
— Как изменится поведение производителей сетевого оборудования в эпоху программно-конфигурируемых сетей?
— Многие компании, которые производят сетевое оборудование, сумеют сполна воспользоваться всеми коммерческими преимуществами новой SDN модели, и нет никаких оснований предполагать обратное.
Единственное, что для этого нужно сделать, — поддержать OpenFlow в качестве открытого стандарта сетевого интерфейса и разработать соответствующее программное обеспечение, которое позволит пользователям контролировать и модифицировать свои сети.
Самые сообразительные вендоры быстро поймут, как конвертировать открытый стандарт в доходный бизнес, как они это делали уже неоднократно, когда появлялись новые сетевые технологии. Уже есть первые признаки того, что это происходит: многие производители заявляют, что собираются работать в этой области — Juniper, NEC, HP, Cisco, Brocade и пр.
— Миллионы обычных пользователей держат у себя дома и в офисах wi-fi роутеры, свитчи и прочее сетевое оборудование бытового класса. Как изменится их жизнь с приходом SDN?
— Сейчас сетевые провайдеры, предоставляющие доступ к интернету по выделенному кабелю, DSL и прочим стандартам, вынуждены идти на большие расходы для поддержки в рабочем состоянии так называемой «последней мили» (конечного участка сети, обеспечивающего доступ в интернет на территории клиента. — «Газета.Ru»), пытаясь наладить удаленное исправление ошибок и менеджмент домашних сетей. SDN — прекрасная возможность упростить задачу поддержки домашних сетей, передав ее в руки интернет-провайдеров.
Это избавит пользователей от необходимости самим налаживать и поддерживать в рабочем состоянии сеть у себя дома, позволит делать более оперативные апгрейды и избавит операторов от необходимости посылать своих инженеров на дом, чтобы наладить локальную сеть.
Мы уверены, что рано или поздно так оно и произойдет, но индустрия, связанная с домашними сетями, отличается известной медлительностью в усвоении инноваций, так что для реальных изменений потребуется, скорее всего, несколько лет.
— Разделение уровней управления и уровня передачи данных не является чем-то новым. В телекоммуникационных сетях, например, это реализовано уже давно в технологии MPLS. Почему существующих решений недостаточно? Что принципиально нового предлагает SDN?
— Действительно, это совсем не новая концепция. Многие сети управляются именно по этому принципу. Приведу в пример старую пословицу: «Если не можешь централизовать контроль — сделай его распределенным». На заре интернета делать систему контроля распределенной было необходимо в силу относительно слабой производительности процессоров. Сейчас условия изменились, и такая необходимость отпала. С приходом новых технологий практичнее централизовать логическое управление сетями. В будущем, по всей видимости, наибольшей сложностью будет отличаться уровень конечного, управляющего хоста (узел сети, отвечающей за тот или иной сервис и работающий по определенному протоколу — веб-серверы, почтовые серверы и т. д. — «Газета.Ru»), остальная же часть сети будет отличаться большей простотой.
На самом деле в этом и заключается изначальное видение того, как должен развиваться интернет: «простые и глупые тропинки для данных» (datapath), связывающие «умные хосты».
Сейчас мы разными способами совершенствуем инструменты управления сетями с целью приблизить их к тому оригинальному видению архитектуры интернета. Предположим, пусть даже не будет никакого SDN, но этот тренд останется, поскольку он порожден естественным ходом вещей.
— Это ваш первый визит в Россию? Почему вы решили выступить с лекцией о SDN в Политехническом музее?
— В прошлом году мы уже выступали здесь с лекцией, остались очень довольны приемом, самим музеем, Москвой и МГУ им. Ломоносова и были рады вернуться сюда при поддержке Открытого университета Сколково и Центра прикладных исследований компьютерных сетей (ARCCN), который предоставляет площадку для исследования и коммерциализации SDN в России.
Альтернативной точки зрения на будущее SDN, несколько снижающей «революционной градус», придерживается системный архитектор компании Amdocs Алексей Леонов, который прокомментировал для «Газеты.Ru» ожидания IT-сообщества, связанные с новой технологией.
— По сети гуляет много сложных и понятных только специалистам определений, что такое программно-конфигурируемые сети, или SDN. Если убрать всю «воду», что остается в сухом остатке?
— Перемещение данных в сети осуществляется на двух уровнях — уровне управления данными (control plane) и уровне передачи данных (forwarding(data) plane). В традиционных IP-сетях эти уровни совмещены: 1) каждый пакет данных содержит управляющий заголовок (адреса, порты, служебная информация) и собственно полезные данные; 2) маршрутизатор обрабатывает/меняет служебный заголовок пакета и самостоятельно решает, куда и как каждый пакет отправить.
В SDN второе предлагается централизовать/вынести за рамки каждого конкретного маршрутизатора.
Теоретически это имеет смысл сделать, но практическая польза зависит от конкретной реализации этой идеи. Замечу, в телекоме такой подход применяется давно (NGN, MPLS, SoftSwitch), да и в интернете тоже: торренты — это тот же SDN, когда трекер управляет трафиком между пирами, так что концепция вовсе не нова. Однако большие игроки поняли сейчас, что на этом можно заработать: Google, Facebook (владелец компания Meta признана в России экстремистской и запрещена), Microsoft подумывают залезть в новые направления бизнеса, а производители сетевого оборудования — разработать и продавать новые типы девайсов, тем более что стандарт OpenFlow опенсорсный, то есть можно сделать новую железку, которая его поддерживает, продавать ее и никому не платить лицензионные отчисления за примененный софт. Замечу, что у той же Cisco есть различные программные решения и даже своя операционная система, но этот бизнес не конкурирует с SDN.
— Есть мнение, что программно-конфигурируемые сети представляют особый интерес для мобильных операторов с их гибким и постоянно расширяемым набором сетевых сервисов. Так ли это? Если да, то в чем конкретно заключается этот интерес?
— Есть две большие и немножко разные темы: интернет и телеком. В каждой из них свои стандарты, ключевые игроки и управляющие организации. Они перманентно борются друг с другом за контроль и средства конечного пользователя. В сети телекома разделение управляющих потоков и данных уже давно произошло, новые стандарты (NGN) разделяют control и data plane в софтсвичах и управляемых медиагейтах соответственно.
Кстати, стандарты в телекоме, аналогичные принципам SDN (разделение софтсвича и медиагейтов), уже много лет не принимаются и запрещаются нашим Минсвязи, так как значительно упрощают жизнь телеком-оператора и уменьшают его зависимость от регулятора.
Вообще, в России чиновники с трудом смиряются с новыми стандартами и всячески законодательно с ними борются, так как стандарты эти менее взяткоемкие и подконтрольные, но это уже другая тема.
В интернете же пока только придумывают, как это можно сделать, и пока не факт, что это действительно надо делать. Скажу так: скорее мобильные операции представляют интерес для разработчиков SDN, ведь основная «фишка» SDN — это разделение уровня управления (сontrol plane) и уровня передачи данных (data аorwarding plane), то есть потоков данных и управления данными, а в стандартах мобильной связи эти уровни или потоки уже давно разделены, и маршрутизация звонков/пользовательских данных управляется аналогично принципам, описанным в SDN. Просто стандарты, стандартизирующие организации и основные игроки там другие, нежели в интернете.
— Тогда в чем причина повышенного интереса к SDN у облачных сервисов и соцсетей? Означает ли внедрение SDN подчинение сетевого «базиса» (маршрутизации и связанной с ней аппаратно-программной части) «надстройке» — собственно сервисной части сети и компаниям типа Facebook, которые раньше в сетевую инфраструктуру даже не совались?
— Для производителей софта и для интернет-гигантов — это новое направление бизнеса с большим потенциалом. Сейчас они никак не зарабатывают на сетевой инфраструктуре, так как все крутится вокруг сетевых железок. В SDN появляется новый уровень, простой, независимый от железа и с хорошим потенциалом распространения, и это отличная возможность заработать на софте.
— Означает ли SDN следующий этап виртуализации систем управления сетью, которые все больше абстрагируются от «железа»?
— Сейчас, с увеличением ширины каналов, виртуализуется все подряд. С этой точки зрения появление еще одного сервиса для управления маршрутизацией вполне логично, и это можно назвать естественным развитием сети.
— Можно ли говорить о грядущей SDN-революции? И что несет с собой эта революция с точки зрения рисков для свободы распространения информации?
— Революцией было появление торрентов, которые увеличили объем мирового трафика на порядок (принципы работы торрента и SDN похожи: внешний сервис управляет потоками данных между источниками и приемниками независимо от особенностей их подключения). В технологии SDN ничего революционного нет, но, как и с торрентами, все зависит от того, как эта технология будет использоваться.
Может быть, с ее помощью интернет-гиганты типа Google или Facebook потеснят традиционных интернет-провайдеров от выручки от конечного пользователя, а может, государство станет гораздо более лучше контролировать использование интернета.
Ни то, ни другое революцией не будет.
А вот если конечные пользователи, используя SDN или какую-нибудь другую технологию, обойдут ограничения интернет-провайдеров и организуют бесплатный и бесконтрольный интернет по всему миру — вот это действительно будет революция.