ТЕХНИЧЕСКИЕ НАУКИ
УДК 004.725
А.Х. Панеш
канд. техн. наук, доцент, кафедра прикладной математики, информационных технологий и информационной безопасности, ФГБОУ ВПО «Адыгейский государственный университет»,
г. Майкоп
АЛЬТЕРНАТИВНЫЕ ВИДЫ ПРОГРАММНО-КОНФИГУРИРУЕМЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ
Аннотация. В статье рассмотрены в обобщенном виде два альтернативных вида программно-конфигурируемых сетей (ПКС): ПКС на основе существующих API и ПКС на основе наложенных сетей и гиперви-зоров. В первом случае используется RESTful API для управления сетью, во втором - гипервизоры виртуальных машин в центрах обработки данных. В статье показано, что выбор того или иного альтернативного варианта ПКС при построении компьютерной сети зависит от конкретных требований к сети, с учетом достоинств и недостатков обоих вариантов.
Ключевые слова: программно-конфигурируемые сети, протокол OpenFlow, интерфейс программирования приложений API, центры обработки данных.
A.Kh. Panesh, Adyghe State University, Maikop
ALTERNATIVE SOFTWARE-DEFINED COMPUTER NETWORKS
Abstract. In the article in a generalized form two alternative types of Software Defined Networks (SDN): SDN based on existing APIs and SDN via Hypervisor-based overlay networks are considered. In the first case, RESTful API to manage the network is used, in the second case the hypervisors of virtual machines in data centers are used. The article shows that the choice of an alternative SDN, when you build a computer network, depends on the particular network requirements, taking into account the advantages and disadvantages of both options.
Keywords: software defined networks, OpenFlow protocol, application programming interface API, data centers.
Технология программно-конфигурируемых сетей (ПКС, или SDN в англоязычной терминологии) все еще находится на стадии формирования; специалистами рассматриваются множество вариантов решений ПКС и способов использования этих решений. Оригинальная версия ПКС была разработана в 2007 г. в Стэндфордском университете (США); эта версия стала называться «Open SDN». Но вскоре появились и альтернативные версии ПКС:
- ПКС, созданные на основе существующих API;
- ПКС, созданные на основе наложенных сетей и гипервизоров [1, с. 74].
ПКС, созданные на основе существующих API
Базовая концепция ПКС в оригинальной версии предполагает перемещение функционала управления сетью от сетевых устройств к централизованному контроллеру с использованием протокола OpenFlow [2]. Но если снабдить сетевые устройства возможностью распознавания более широкого набора команд API, с помощью которых контроллер сможет гибко управлять устройствами и всей сетью, то это и будет ПКС, реализованная через существующие API (рис. 1).
Для создания ПКС по такой схеме некоторые производители оборудования модернизируют существующие API на устройствах. Например, вместо традиционных CLI и SNMP внедряется RESTful API [3]. Технология RESTfull API работает с использованием протокола передачи гипертекста HTTP, который в общем случае используется для передачи WEB-трафика. Она удобна в применении, так как использует в работе стандартный TCP-порт, что не требует специальных настроек межсетевого экрана для прохождения через него API-запросов.
. r^ap,Q"' о (Х) О ''О. ')
|ф I ф ф ^
Сетевые устройства Рисунок 1 - ПКС, созданная на основе существующих API
У ПКС, созданных на основе существующих API, имеется ряд преимуществ. Одним из очевидных преимуществ является то, что они работают с обычными, не модернизированными коммутаторами. То есть не требуется внедрение коммутаторов нового типа - с поддержкой стандарта OpenFlow. Еще одно преимущество такого подхода заключается в том, что имеющиеся API упрощают написание программного обеспечения для оркестровки событий в сети, то есть для быстрого и автоматического реагирования на изменения в сети - таких как, например, динамические перемещения виртуальных машин в центрах обработки данных. Следующее преимущество заключается в том, что использование имеющихся API позволяют построить сеть с централизованным, в определенных пределах, управлением.
ПКС, созданные на основе существующих API, имеют и свои недостатки. Прежде всего, в таких сетях в большинстве случаев контроллер вовсе отсутствует. Поэтому сетевой программист вынужден программировать напрямую каждый коммутатор. Но если даже имеется контроллер, у программиста отсутствует общий, стандартный механизм взаимодействия с устройствами сети. Еще одним недостатком является то, что программное обеспечение такой ПКС будет работоспособно только для конкретной конфигурации
сети. Это и понятно, так как API устройства разных производителей не подпадают под общий стандарт (в противоположность протоколу OpenFlow).
Следующий недостаток связан с тем, что предписываемое в архитектуре ПКС изъятие функций управления из коммутатора и передача их общему контроллеру имело целью создание простых, менее дорогих коммутаторов. Эту задачу решить не удалось: по факту такие ПКС создаются на основе тех же сложных и дорогих коммутаторов.
Наконец, хотя ПКС, созданные на основе существующих API, и позволяют в определенной мере управлять пересылкой данных, в частности при построении VLAN и VPN, но они не могут обеспечить более тонкий контроль каждого информационного потока, как это возможно при использовании протокола OpenFlow.
ПКС, созданные на основе существующих API, можно рассматривать в качестве практического расширения текущей функциональности компьютерной сети, когда более радикальное решение на основе OpenFlow еще не доступно или нецелесообразно по каким-либо причинам.
ПКС, созданные на основе наложенных сетей и гипервизоров
Альтернативным и более инновационным способом создания ПКС является использо-
вание наложенных сетей с управлением через гипервизоры [4]. В том случае физическая сеть остается как есть, без изменений. Но над этой физической сетью создаются наложенные виртуальные сети с гипервизорами. Прикладные системы на узлах сети взаимодействуют с этими виртуальными сетями, ничего не зная о физических характеристиках сети, через которую происходит продвижение данных (рис. 2).
Рисунок 2 - Виртуальные сети, наложенные на физическую сеть
Поскольку виртуальные сети находятся над физической инфраструктурой, ими могут управлять системы (или устройства), размещенные на конечных узлах сети. В центрах обработки данных (ЦОД) такими системами являются гипервизоры виртуальных машин, которые присутствуют на каждом сервере. Передача трафика в виртуальных сетях осуществляется посредством туннелирования, с использования инкапсуляции. То есть при поступлении пакета на узел виртуальной сети для передачи, сетевое устройство (обычно это гипервизор) инкапсулирует этот пакет в другой кадр (рис. 3).
МАС- 1Р- 1ЮР- Полезная
за гол овок заголовок заголовок нагрузка
Заголовок канала-туннеля
МАС- 1Р- 1ЮР- Полезная
заголовок заголовок заголовок нагрузка
Рисунок 3 - Инкапсулирование пакета данных в кадр канала-туннеля
ПКС, созданные на основе наложенных сетей и гипервизоров, хорошо работают в ЦОД, в которых уже установлено программное обеспечение для серверной виртуализации. Они помогают устранить ряд проблем, возникающих при работе ЦОД. Во-первых, устраняется взрывной рост МАС-адресов узлов, так как теперь, при использовании ПКС, МАС-адреса скрыты в
инкапсулированных кадрах. Во-вторых, известные ограничения на количество поддерживаемых VLAN в локальных сетях уже не имеют значения, так как здесь используется туннелирование (вместо VLAN) для разделения трафика многочисленных информационных потоков. В-третьих, построение ЦОД на основе ПКС позволяет очень гибко и оперативно менять характеристики сетей, участвующих в вычислительных процессах ЦОД, за счет возможности централизованного программного управления виртуальными сетями ПКС.
ПКС, созданные на основе наложенных сетей и гипервизоров, не решают все проблемы. В частности, физическая сетевая инфраструктура все так же требует ручной настройки и обслуживания. Это касается, например, протоколов QoS, STP. Другим недостатком является то, что в таких ПКС, как и в предыдущем варианте, сетевые устройства остаются неизменными, не модернизируются, не упрощаются.
Обе рассмотренные архитектуры ПКС содержат определенные недостатки. Выбор того или иного варианта зависит от конкретных требований к сети, условий ее эксплуатации. Сокращения: какие должны быть знаки препинания? API - Application Programmer Interface CLI - Command-Line Interface QoS - Quality of Service REST - Representational State Transfer SDN - Software Defined Networks SNMP - Simple Network Management Protocol STP - Spanning Tree Protocol TCP - Transmission Control Protocol VLAN - Virtual Local Area Network VPN - Virtual Private Network WEB - Всемирная паутина ПКС - Программно-конфигурируемые сети ЦОД - Центр обработки данных.
Список литературы:
1. Goransson P., Black Ch. Software Defined Networks: A Comprehensive Approach, Morgan Kaufmann Publishers, 2014.
2. Панеш А.Х. Содержание и перспективы технологий программно-конфигурируемых сетей и виртуализации сетевых функций // Вестник АГУ. - Майкоп: Изд-во АГУ, 2014. - Вып. 2. -С.126-133.
3. Learn REST: A RESTful Tutorial [Electronic resource]. URL: http://www.restapitutorial.com/ (date of treatment: 16.09.2016).
4. Survey on Network Virtualization Hypervisors for Software Defined Networking [Electronic resource]. URL: http://arxiv.org/pdf/1506.07275.pdf (date of treatment: 12.09.2016).