WO2016108711A1 - Устройство для приема и передачи данных с возможностью осуществления взаимодействия с openflow контроллером - Google Patents

Устройство для приема и передачи данных с возможностью осуществления взаимодействия с openflow контроллером Download PDF

Info

Publication number
WO2016108711A1
WO2016108711A1 PCT/RU2014/001002 RU2014001002W WO2016108711A1 WO 2016108711 A1 WO2016108711 A1 WO 2016108711A1 RU 2014001002 W RU2014001002 W RU 2014001002W WO 2016108711 A1 WO2016108711 A1 WO 2016108711A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
connected
processing unit
network
switch
Prior art date
Application number
PCT/RU2014/001002
Other languages
English (en)
French (fr)
Other versions
WO2016108711A9 (ru
Inventor
Станислав Олегович БЕЗЗУБЦЕВ
Вячеслав Викторович ВАСИН
Руслан Леонидович СМЕЛЯНСКИЙ
Александр Владиславович ШАЛИМОВ
Original Assignee
Некоммерческое Партнерство "Центр Прикладных Исследований Компьютерных Сетей
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Некоммерческое Партнерство "Центр Прикладных Исследований Компьютерных Сетей filed Critical Некоммерческое Партнерство "Центр Прикладных Исследований Компьютерных Сетей
Priority to PCT/RU2014/001002 priority Critical patent/WO2016108711A1/ru
Publication of WO2016108711A1 publication Critical patent/WO2016108711A1/ru
Publication of WO2016108711A9 publication Critical patent/WO2016108711A9/ru

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. local area networks [LAN], wide area networks [WAN]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling

Abstract

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

Description

УСТРОЙСТВО ДЛЯ ПРИЕМА И ПЕРЕДАЧИ ДАННЫХ С

ВОЗМОЖНОСТЬЮ ОСУЩЕСТВЛЕНИЯ ВЗАИМОДЕЙСТВИЯ С

OPENFLOW КОНТРОЛЛЕРОМ ОБЛАСТЬ ТЕХНИКИ

Изобретение относится к области телекоммуникации, связи и передачи данных.

УРОВЕНЬ ТЕХНИКИ

Программно-конфигурируемая сеть (SDN от англ. Software-defined Networking, также программно-определяемая сеть) - сеть передачи данных, в которой уровень управления сетью отделён от устройств передачи данных и реализуется на программном уровне, одна из форм виртуализации вычислительных ресурсов.

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

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

• инфраструктурный уровень, на котором функционируют сетевые коммутаторы и каналы передачи данных;

• уровень управления— набор программных средств, физически отделённых от инфраструктурного уровня, обеспечивающий реализацию механизмов управления устройствами инфраструктурного уровня;

• уровень сетевых приложений.

Ядром уровня управления программно-конфигурируемой сетью является сетевая операционная система - программное средство, обеспечивающее, с одной стороны, интерфейс со средствами инфраструктурного уровня (например, динамическое изменение таблиц маршрутизации), и с другой стороны— прикладной программный интерфейс для уровня сетевых приложений, сформулированный в терминах более высокого уровня абстракции (например, «имя узла», «имя пользователя»), нежели используется в параметрах конфигурации сетевых устройств (IP-адрес, маска подсети, МАС-адрес).

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

Одно из направлений современных исследований: разработка прототипа OpenFlow коммутатора с улучшенными возможностями. Из уровня техники известно изобретение Communication method, software defined network SDN switch and communication system» («CN 103428771 А», опубликовано 04.12.2013).

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фиг. 1 иллюстрирует алгоритм обработки пакета.

Фиг. 2 иллюстрирует алгоритм классификации пакета.

Фиг. 3 иллюстрирует модель коммутатора. СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Данное изобретение направлено на устранение недостатков, присущих существующим решениям.

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

Указанный технический результат достигается тем, что архитектура коммутатора оптимизируется следующим образом:

- используется масштабируемая ТСАМ память для классификации каждого проходящего через коммутатор фрагмента сетевых обменов;

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

Сетевые интерфейсы устройства могут быть выполнены по технологиям Gigabit Ethernet; 10 Gigabit Ethernet. Управление устройством может осуществляться при помощи удаленного доступа через сеть Интернет или локальную вычислительную сетью, или напрямую через выделенный для этого отдельный порт.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

В данном устройстве под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, чётко определённую последовательность операций (действий, инструкций).

Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы или микрокоды).

Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, постоянное запоминающее устройство (ПЗУ), твердотельные накопители (SSD), оптические приводы.

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

Ниже будут рассмотрены некоторые термины, которые в дальнейшем будут использоваться при описании изобретения.

Сетевой коммутатор (жарг. свитч от англ. switch— переключатель)— устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного или нескольких сегментов сети. Коммутатор работает на канальном (втором) уровне модели OSI. Коммутаторы были разработаны с использованием мостовых технологий и часто рассматриваются как многопортовые мосты. Для соединения нескольких сетей на основе сетевого уровня служат маршрутизаторы (3 уровень OSI). OpenFlow коммутатор способен выполнять коммутацию пакетов на 2 - 4 уровне модели OSI в зависимости от заданного набора правил.

Ассоциативная память (АП) или Ассоциативное запоминающее устройство (АЗУ) является особым видом машинной памяти, используемой в приложениях очень быстрого поиска. Известна также как память, адресуемая по содержимому, ассоциативное запоминающее устройство, контентно- адресуемая память или ассоциативный массив, хотя последний термин чаще используется в программировании для обозначения структуры данных.

Двоичная АП— простейший тип ассоциативной памяти, который использует слова поиска данных, состоявшие полностью из единиц и нулей.

В троичной АП (ТСАМ) добавляется третье значение для сравнения «X» или «не важно», для одного или более битов в сохраненном слове данных, добавляя таким образом большей гибкости поиску. Например, в троичной АП могло бы быть сохранено слово «10ХХ0», которое выдаст совпадение на любое из четырех слов поиска «10000», «10010», «10100», или «10110». Добавление гибкости к поиску приходит за счет увеличения цены двоичной АП, поскольку внутренняя ячейка памяти должна теперь закодировать три возможных состояния вместо двух. Это дополнительное состояние обычно осуществляется добавлением бита маски «важности»(«важно»/«не важно») к каждой ячейке памяти.

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

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

В программно-конфигурируемой сети уровни управления сетью и передачи данных разделяются за счет переноса функций управления (маршрутизаторами, коммутаторами и т. п.) в приложения, работающие на отдельном сервере (контроллере). Заинтересованность ИТ-компаний в ПКС вызвана тем, что такие технологии позволяют повысить эффективность сетевого оборудования на 25-30%, снизить на 30% затраты на эксплуатацию сетей, превратить управление сетями из искусства в инженерию, повысить безопасность и предоставить пользователям возможность программно создавать новые сервисы и оперативно загружать их в сетевое оборудование.

В архитектуре программно-конфигурируемой сети можно выделить три уровня: инфраструктурный уровень, предоставляющий набор сетевых устройств (коммутаторов и каналов передачи данных);

уровень управления, включающий в себя сетевую операционную систему, которая обеспечивает приложениям сетевые сервисы и программный интерфейс для управления сетевыми устройствами и сетью;

уровень сетевых приложений для гибкого и эффективного управления сетью.

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

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

Теоретически неограниченные возможности сетей программно- конфигурируемой сети к расширению позволяют строить «облачные» решения, масштабируемые в зависимости от решаемых задач. При этом сеть обладает требуемой «интеллектуальностью», необходимой, в частности, для оркестровки работы обширных групп коммутаторов.

Наиболее перспективным и активно развивающимся стандартом для программно-конфигурируемой сети является OpenFlow (открытый стандарт, в котором описываются требования, предъявляемые к коммутатору, поддерживающему протокол OpenFlow для удаленного управления).

Механизм работы коммутатора, поддерживающего стандарт OpenFlow, достаточно прост. У каждого пришедшего пакета «вырезается» заголовок (битовая строка определенной длины). Для этой битовой строки в таблицах потоков, начиная с первой, ищется правило, у которого поле признаков ближе всего соответствует (совпадает) заголовку пакета. При наличии совпадения, над пакетом и его заголовком выполняются преобразования, определяемые набором инструкций, указанных в найденном правиле. Инструкции, ассоциированные с каждой записью таблицы, описывают действия, связанные с пересылкой пакета, модификацией его заголовка, обработкой в таблице групп, обработкой в конвейере и пересылкой пакета на определенный порт коммутатора. Инструкции конвейера обработки позволяют пересылать пакеты в последующие таблицы для дальнейшей обработки и в виде метаданных передавать информацию между таблицами. Инструкции также определяют правила модификации счетчиков, которые могут быть использованы для сбора разнообразной статистики.

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

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

Записи о потоках могут также указывать на группы, в которых определяется дополнительная обработка. Группы представляют собой наборы действий для широковещательной рассылки, а также наборы действий пересылки с более сложной семантикой, например быстрое изменение маршрута или агрегирование каналов. Механизм групп позволяет эффективно изменять общие выходные действия для потоков. Таблица групп содержит записи о группах, содержащие список контейнеров действий со специальной семантикой, зависящей от типа группы. Действия в одном или нескольких контейнерах действий применяются к пакетам, отправляемым в группу. Разработчики коммутаторов могут быть свободны в реализации их внутренней структуры, однако процедура просмотра пакетов и семантика инструкций должны быть для всех одинаковы. Например, в то время как поток может использовать все группы для пересылки в некоторое множество портов, разработчик коммутатора может выбрать для реализации этого единую битовую маску внутри аппаратной таблицы маршрутизации. Другой пример— это процедура просмотра таблиц: конвейер физически может быть реализован с помощью различного количества аппаратных таблиц. Установка, обновление и удаление правил в таблицах потоков коммутатора осуществляются контроллером. Правила могут устанавливаться реактивно (в ответ на пришедшие пакеты) или проактивно (заранее, до прихода пакетов).

Управление данными в OpenFlow осуществляется не на уровне отдельных пакетов, а на уровне их потоков. Правило в коммутаторе OpenFlow устанавливается с участием контроллера только для первого пакета, а затем все остальные пакеты потока его используют.

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

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

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

• поток данных пользователей - data plane; • поток данных управления - control plane.

Сам же коммутатор представляет собой совокупность детерминированных конечных автоматов (ДКА) с состоянием.

Обработка потоков данных пользователей в рамках коммутатора сводится к последовательной обработке каждого отдельного фрагмента данных - кадра Ethernet согласно заложенной в коммутатор логике. Под заложенной в коммутатор логикой в случае OpenFlow коммутатора понимается не фиксированная производителем изделия логика, а совокупное состояние всех ДКА обработки данных data plane, изменяемое воздействиями как data plane, так и control plane.

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

• вычисление заданной функции, реализуемой посредством ДКА;

• чтение наборов входных значений;

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

• фрагмента обрабатываемых данных (пакета), или же пары:

- числа, принадлежащего заданному подмножеству Z (идентификатор буфера, содержащего пакет);

- вектора, фиксированной длины, каждый из элементов которого принадлежит некоторому заданному подмножеству Z - дескриптора фрагмента обрабатываемых данных (дескриптора пакета);

• числа, принадлежащего заданному подмножеству Z - идентификатор классификатора, суть таблицы потоков OpenFlow (глобального состояния экземпляра ДКА коммутатора).

Обработка каждого пакета реализуется по следующему алгоритму (см. фиг. 1):

1. Приём пакета.

2. Выделение свободного буфера и сохранение тела пакета в нём.

3. Формирование дескриптора пакета по заголовочным данным пакета, согласно спецификации

4. Выбор идентификатора первичного классификатора потоков.

5. Заполнение вспомогательных служебных полей контекста обработки.

6. Задание ограничения на длины цепочки обработки пакета.

7. Выполнение в цикле шагов 8, 9, 10 пока не удовлетворён критерий завершения обработки пакета.

8. Классификация пакета по таблицам потоков.

9. Обработка фрагмента сообщения согласно идентификатор группы потоков, определённому классификатором.

10. Декремент счётчика длины цепочки обработки пакета.

1 1. Конец тела цикла.

12. Освобождение ранее захваченного буфера.

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

• desc - дескриптор пакета; · table - селектор классификатора;

• complete - завершение обработки текущего пакета.

Как видно из схемы, штатное завершение обработки пакета может произойти из-за превышения допустимой длины цепи обработки пакета, что в свою очередь может быть следствием: · наличия цикла в цепи обработки пакета, обусловленного некорректным набором правил преобразований дескриптора в функции process;

• несогласованностью ограничения на максимальную длину цепочки обработки пакетов и де-факто необходимым и продиктованным набором преобразований над некоторой группой потоков. В соответствии с требованиями спецификации Ошибка! Источник ссылки не найден.классификация потоков должна осуществляться для каждого отдельно взятого пакета. Классификация осуществляется на базе значений фиксированного набора полей заголовочных данных пакетов и заданных табличных значений классификаторов, путём выбора из таблицы потоков номера потока, имеющего максимальный вес (параметр потока) и совпадающего по заданной маске с заданным шаблоном (см. фиг. 2).

В рамках модели коммутатора рассматривается элемент памяти ТСАМ как средство реализации классификатора.

На данный момент элемент ТСАМ является единственным эффективным методом поиска по шаблонам с масками и весами. Это осуществляется за счёт реализации в элементах ТСАМ массового параллелизма - вариант схемы 2 с параллельным вычислением тела внешнего цикла (строки 6-18) и последующим выбором наилучшего результата на каскаде компараторов и мультиплексоров.

В данном разделе приведено описание основного конвейера, реализующего обработку фрагментов сетевых потоков, и являющегося центральным компонентом модулей обработки данных типов 1G, 10G.

Разработанная модель коммутатора включает в свой состав следующие функциональные блоки (см. фиг. 3):

• Блок приёма информации - обеспечивает чтение потока входящих сообщений, буферизацию каждого из них в одной из очередей входящих сообщений в зависимости от значений флаговых полей заголовочных данных, формирование дескриптора сообщения и контекста обработки сообщения, передачу контекста на последующую обработку.

• Блок идентификации потока - обеспечивает обработку дескриптора сообщения, сопоставление дескриптора набору шаблонов, определение идентификатора шаблона с максимальным весом.

• Блок обработки инструкций - обеспечивает выборку дескриптора набора инструкций по идентификатору, применение инструкций путём модификации списка дескрипторов действий, накапливаемых в контексте обработки сообщения.

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

• Блок обработки групповых сообщений - обеспечивает отработку наперёд заданных правил по выбору исходящего порта из заданной группы, дублированию сообщений для последующей раздачи на группу портов, реализации широковещательной передачи.

• Блок межмодульного взаимодействия - обеспечивает передачу сообщений между модулями, входящими в состав коммутатора, для последующей вьщачи в порт назначения коммутатора в зависимости от заданного в контексте обработки сообщения, логического номера исходящего порта. Данный блок также обеспечивает приём межмодульных транзакций от других модулей и направление сообщения в локальные порты.

• Блок взаимодействия с контроллером, представляет собой распределённую систему, включающую в свой состав:

• Блок управляющего контроллера - обеспечивает отображение ресурсов модулей коммутатора в адресное пространство управляющего приложения, обеспечивает преобразование операций ввода-вывода в наборы транзакций шины AXI4 (выступает в качестве средства обмена информацией между блоками), связующей модули.

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

ПРИМЕР РЕАЛИЗАЦИИ

В качестве одного из вариантов реализации вышеописанного устройства для приема и передачи данных с возможностью осуществления взаимодействия с OpenFlow контроллером предлагается программно-аппаратный комплекс, который включает в свой состав: • вычислитель на базе процессора общего назначения (например, ARM)

• ПО коммутатора

• ПО агента коммутатора

В качестве вычислителя на базе процессора ARM может выступать вычислительное устройство SmartFusion SOM

(http://www.emcraft.com/products/133), производства EmCraft

(http://www.emcraft.com), располагаемое на плате SOM-BSB development baseboard (http://www.emcraft.eom/products/l 33#starter-kit).

SmartFusion SOM представляет собой ПП размера 30 на 57 мм и включает в свой состав:

• СБИС СнК Microsemi SmartFusion sSOC на базе 100 MHz 32-bit ARM Cortex-M3, набор периферии, в том числе 100Mb/sec Fast Ethernet MAC

• 16 MB оперативной памяти

• 16 MB NOR flash

· Fast Ethernet PHY

На СнК выполняется ПО агента под управлением ОС Linux в варианте uclibc. Устройство хранения и/или чтения данных используется для хранения загрузочного образа системы и содержит файловую систему JFFS2 для хранения пользовательских данных, в которой располагается программное обеспечение агента, а также конфигурационный файл агента, содержащий описание подключенных модулей коммутатора, их настройки, а также, наборы начальных значений параметрических данных модулей коммутаторов (начальное заполнение правил таблицы OpenFlow, наборов инструкций и действий), применяемых при запуске ПО агента. Базовый набор конфигурационных данных хранится в файле в формате Ini.

Плата SOM-BSB используется для установки мезонина с СнК, подключения к источнику питания (5 В, постоянного тока) через USB разъём, подключения системы по FastEthernet через гнездо RJ45. 1002

За основу BSP взят пакет Linux BSP, поставляемый в составе изделия SmartFusion Starter it (http://www.emcraft.eom/products/l 33#starter-kit).

Для обеспечения необходимого для выполнения ПО агента набора сервисов ОС Linux изменены настройки времени компиляции ядра ОС Linux и 5 правила сборки загрузочного образа. Выполнена сборка СПО из исходных текстов. Полученный образ загрузки системы записан в NOR flash, входящий в состав модуля SmartFusion SOM.

Вычислитель обеспечивает выполнение ПО агента под управлением ОС вычислителя:

ю · содержит сетевой интерфейс, предоставляет агенту возможность взаимодействия с узлом контроллера OpenFlow по сети Ethernet, по протоколу прикладного уровня OpenFlow, сообщения которого инкапсулируются в поток TCP/IP;

• содержит набор СПО, предоставляющий набор стандартных интерфейсов 15 POSIX по управлению ресурсами вычислителя: управление памятью, процессорным временем, наборами потоков команд, средств межпотокового взаимодействия

• содержит вспомогательный интерфейс взаимодействия с модулями коммутатора, предоставляет агенту возможность обмена транзакциями с

20 модулями коммутатора, инкапсулирующим наборы команд и сопроводительных данных, достаточными для реализации операций чтения и записи не менее, чем 32-х битных чисел по 32-х битным адресам, обеспечивает атомарность производимых транзакций.

ПО агента коммутатора, утилизирует ресурсы вычислителя для:

25 · взаимодействия с контроллером OpenFlow:

•S реализации протокола OpenFlow 1.3.2;

обработки запросов и формирования ответов/уведомлений;

• взаимодействия с модулями коммутатора:

S формирования серии транзакций записи для изменения настроек зо отдельных блоков модулей коммутатора; S формирования серии транзакций записи для инъекции полезной нагрузки PACKET OUT сообщений протокола OpenFlow в основной тракт обработки данных модулей коммутатора;

формирования серии транзакций чтения для отслеживания состояния и изменения состояния отдельных блоков модулей коммутатора;

•S формирования серии транзакций чтения для получения буферизованных тел принятых пакетов, предназначенных для последующей передачи на контроллер в сообщениях PACKET IN;

трансляцию воздействий, реализуемых контроллером по протоколу

OpenFlow, в воздействия на различные блоки модули коммутатора; •S трансляцию изменений состояния различных блоков модулей коммутатора в наборы сообщений протокола OpenFlow;

■S фоновый мониторинг состояния блоков модулей коммутатора;

чтение и запись конфигурации агента, набора настроек по умолчанию из (в) конфигурационный файл;

ведение журнала активности ПО, системных значимых событий, ошибок.

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

19

ЗАМЕНЯЮЩИЙ ЛИСТ (ПРАВИЛО 26)

Claims

ФОРМУЛА ИЗОБРЕТЕНИЯ
1. Устройство для приема и передачи данных с возможностью осуществления взаимодействия с OpenFlow контроллером, включающее: один или более сетевых интерфейсов, блок приема информации, блок первоначальной идентификации потока, блок обработки инструкций, блок реализации действий, блок обработки групповых действий, блок межмодульного взаимодействия, блок взаимодействия с контроллером, средство обмена информацией между блоками; причем один или более сетевых интерфейсов соединены с блоком приема информации, выход блока приема информации подключен к входу блока первоначальной идентификации потока, а вход блока приема информации подключен к выходу блока междумодульного взаимодействия, вход которого подключен к выходу блока обработки инструкций, при этом блок обработки инструкций соединен с блоком первоначальной идентификацией потока, а блок идентификации потока в свою очередь соединен с блоком междумодульного взаимодействия, также блок обработки инструкций соединен с блоком реализации действий, который соединен с блоком обработки групповых действий и с блоком взаимодействия с контроллером, который соединен с блоком обработки инструкций, причем средство обмена информацией между блоками соединено со всеми вышеперечисленными блоками и с одним или более вышеуказанных сетевых интерфейсов.
20
ЗАМЕНЯЮЩИЙ ЛИСТ (ПРАВИЛО 26)
2. Устройство по п. 1 , характеризующееся тем, что сетевые интерфейсы могут быть выполнены по технологии Gigabit Ethernet;
3. Устройство по п. 1, характеризующееся тем, что сетевые интерфейсы могут быть выполнены по технологии 10 Gigabit Ethernet;
4. Устройство по п. 1, характеризующееся тем, что, управление устройством может осуществляться при помощи удаленного доступа через сеть Интернет;
5. Устройство по п. 1, характеризующееся тем, что, управление устройством может осуществляться при помощи удаленного доступа через локальную вычислительную сеть;
6. Устройство по п. 1, характеризующееся тем, что, управление устройством может осуществляться через выделенный для этого С . . . . . .
отдельный порт.
21
ЗАМЕНЯЮЩИЙ ЛИСТ (ПРАВИЛО 26)
PCT/RU2014/001002 2014-12-29 2014-12-29 Устройство для приема и передачи данных с возможностью осуществления взаимодействия с openflow контроллером WO2016108711A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/RU2014/001002 WO2016108711A1 (ru) 2014-12-29 2014-12-29 Устройство для приема и передачи данных с возможностью осуществления взаимодействия с openflow контроллером

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2014/001002 WO2016108711A1 (ru) 2014-12-29 2014-12-29 Устройство для приема и передачи данных с возможностью осуществления взаимодействия с openflow контроллером

Publications (2)

Publication Number Publication Date
WO2016108711A1 true WO2016108711A1 (ru) 2016-07-07
WO2016108711A9 WO2016108711A9 (ru) 2016-09-15

Family

ID=56284726

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2014/001002 WO2016108711A1 (ru) 2014-12-29 2014-12-29 Устройство для приема и передачи данных с возможностью осуществления взаимодействия с openflow контроллером

Country Status (1)

Country Link
WO (1) WO2016108711A1 (ru)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7835380B1 (en) * 2004-10-19 2010-11-16 Broadcom Corporation Multi-port network interface device with shared processing resources
RU2420013C1 (ru) * 2009-10-14 2011-05-27 Федеральное государственное учреждение 16 Центральный научно-исследовательский испытательный институт Министерства обороны Российской Федерации имени маршала войск связи А.И. Белова Мобильная станция конфиденциальной телефонной связи
WO2013141193A1 (ja) * 2012-03-19 2013-09-26 日本電気株式会社 通信システム、制御装置、通信装置、情報中継方法及びプログラム
WO2014022901A2 (en) * 2012-08-10 2014-02-13 Sabia Experience Tecnologia S.A. Method and system implemented by a collaborative distributed computational network, and related devices
RU2522314C1 (ru) * 2010-06-23 2014-07-10 Интернэшнл Бизнес Машинз Корпорейшн Команды сохранения/сохранения блока данных для связи с адаптерами
RU2523917C2 (ru) * 2010-01-06 2014-07-27 Нек Корпорейшн Система управления связью и способ управления связью

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7835380B1 (en) * 2004-10-19 2010-11-16 Broadcom Corporation Multi-port network interface device with shared processing resources
RU2420013C1 (ru) * 2009-10-14 2011-05-27 Федеральное государственное учреждение 16 Центральный научно-исследовательский испытательный институт Министерства обороны Российской Федерации имени маршала войск связи А.И. Белова Мобильная станция конфиденциальной телефонной связи
RU2523917C2 (ru) * 2010-01-06 2014-07-27 Нек Корпорейшн Система управления связью и способ управления связью
RU2522314C1 (ru) * 2010-06-23 2014-07-10 Интернэшнл Бизнес Машинз Корпорейшн Команды сохранения/сохранения блока данных для связи с адаптерами
WO2013141193A1 (ja) * 2012-03-19 2013-09-26 日本電気株式会社 通信システム、制御装置、通信装置、情報中継方法及びプログラム
WO2014022901A2 (en) * 2012-08-10 2014-02-13 Sabia Experience Tecnologia S.A. Method and system implemented by a collaborative distributed computational network, and related devices

Also Published As

Publication number Publication date
WO2016108711A9 (ru) 2016-09-15

Similar Documents

Publication Publication Date Title
Firestone et al. Azure accelerated networking: SmartNICs in the public cloud
Panda et al. NetBricks: Taking the V out of {NFV}
Al-Shabibi et al. OpenVirteX: Make your virtual SDNs programmable
US10230616B2 (en) Monitoring virtualized network
US20170264622A1 (en) Providing a virtual security appliance architecture to a virtual cloud infrastructure
US10135714B2 (en) Servers, switches, and systems with switching module implementing a distributed network operating system
US10193760B2 (en) Hybrid SDN controller
EP3031174B1 (en) Hybrid network management
US9307018B2 (en) Workload deployment with real-time consideration of global network congestion
US10404622B2 (en) Servers, switches, and systems with virtual interface to external network connecting hardware and integrated networking driver
KR20150146391A (ko) 소프트웨어 정의 네트워크에서의 가상화된 컨테이너 및 가상 머신을 통한 로컬 서비스 체이닝
US10075396B2 (en) Methods and systems for managing distributed media access control address tables
US9680714B2 (en) Methods, systems, and fabrics implementing a distributed network operating system
US10404621B2 (en) Scalable InfiniBand packet-routing technique
US8743872B2 (en) Storage traffic communication via a switch fabric in accordance with a VLAN
RU2583745C2 (ru) Сетевая система, коммутатор и способ обнаружения подсоединенного терминала
CN103548327B (zh) 用于在分布式虚拟交换机上提供位置无关的动态端口镜像的方法
CN104734878B (zh) 软件定义联网灾难恢复的方法和系统
CN103201721B (zh) 虚拟机热迁移的系统和方法
Miao et al. Silkroad: Making stateful layer-4 load balancing fast and cheap using switching asics
US8724633B2 (en) Internet real-time deep packet inspection and control device and method
US9716661B2 (en) Methods and apparatus for path selection within a network based on flow duration
TWI521437B (zh) 用於網路的方法和系統
CN105706043B (zh) 推进式链接的列表吞吐量
CN103856406B (zh) 用于在分布式网络交换机中的路由表管理的系统和方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14909601

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14909601

Country of ref document: EP

Kind code of ref document: A1