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
network
processing unit
switch
processing
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. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling

Definitions

  • the invention relates to the field of telecommunications, communications and data transmission.
  • a software-defined network (SDN from the English Software-defined Networking, also a software-defined network) is a data transmission network in which the network control layer is separated from data transmission devices and implemented at the software level, one of the forms of virtualization of computing resources.
  • the key principles of software-configured networks are the separation of data transfer and data management processes, centralization of network management using unified software tools, and virtualization of physical network resources.
  • the OpenFlow protocol which implements a manufacturer-independent interface between the logical network controller and network transport, is one of the implementations of the concept of a software-configured network and is considered to be the driving force behind its distribution and popularization.
  • a switch is one of the central elements of a computer network. Switches are the building blocks of all business communications, from data communications to voice communications and from video communications to wireless access. They can increase the company's net profit by increasing productivity, reducing operating costs, and improving security and customer service.
  • a programmable switch provides greater flexibility because the switch can be controlled and configured locally or remotely to control traffic over the network and access to the entire network.
  • the architecture of a software-configurable network has three levels:
  • management level a set of software physically separated from the infrastructure level that provides implementation of mechanisms for managing devices at the infrastructure level
  • the core of the software-configurable network management layer is the network operating system — a software tool that provides, on the one hand, an interface with infrastructure level tools (for example, dynamically changing routing tables), and on the other hand, an application programming interface for the network application level formulated in in terms of a higher level of abstraction (for example, “host name”, “username”), rather than used in the configuration parameters of network devices (IP address, subnet mask, MA -address).
  • infrastructure level tools for example, dynamically changing routing tables
  • an application programming interface for the network application level formulated in in terms of a higher level of abstraction for example, “host name”, “username”
  • OpenFlow standard is the main driving force behind the concept of software-configurable networks and the most widely used standard for building them today.
  • This method describes the possibility of connecting an OpenFlow switch with an OpenFlow controller using a wireless environment.
  • the disadvantage of this method is that it does not solve the problem of restricting the implementation of the OpenFlow protocol in modern switches supporting this standard, namely: structural limitations in hardware search and lack of flexibility in working with arbitrary network header fields.
  • FIG. 1 illustrates a packet processing algorithm
  • FIG. 2 illustrates a packet classification algorithm
  • FIG. 3 illustrates a switch model.
  • the present invention addresses the disadvantages inherent in existing solutions.
  • a device for receiving and transmitting data with the possibility of interacting with an OpenFlow controller comprising one or more network interfaces, a means for exchanging information between blocks, an information receiving unit, an initial flow identification unit, an instruction processing unit, an implementation unit , a block for processing group actions, an intermodular interaction unit, an interaction unit with a controller; moreover, one or more network interfaces are connected to the information receiving unit, the output of the information receiving unit is connected to the input of the unit initial identification of the stream, and the input of the information receiving unit is connected to the output of the intermodular interaction unit, the input of which is connected to the output of the instruction processing unit, while the instruction processing unit is connected to the initial flow identification unit, and the flow identification unit, in turn, is connected to the intermodular interaction unit, the instruction processing unit is also connected to the action implementation unit, which is connected to the group action processing unit and to the interaction unit with the controller which is connected to the instruction processing unit, wherein the means for exchanging information between the units is connected to
  • - scalable TSAM memory is used to classify each fragment of network exchanges passing through the switch
  • the device can support 802.3ab communication standards; 802.3ae; 802.3ap;
  • Network interfaces of the device can be made using Gigabit Ethernet technologies; 10 Gigabit Ethernet.
  • the device can be controlled using remote access via the Internet or a local area network, or directly through a dedicated port.
  • a system means a computer system, a computer (electronic computer), CNC (numerical program control), PLC (programmable logic controller), computerized control systems, and any other devices capable of performing a given, clearly defined sequence of operations (actions, instructions).
  • command processing device an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs or microcodes).
  • the command processing device reads and executes machine instructions (programs) from one or more data storage devices.
  • Storage devices may include, but are not limited to, hard disks (HDDs), flash memory, read-only memory (ROM), solid state drives (SSDs), and optical drives.
  • a program is a set of instructions intended for execution by a control device of a computer or a device for processing commands.
  • Network switch (jargon switch from English switch - switch) - a device designed to connect several nodes of a computer network within one or more network segments.
  • the switch operates at the channel (second) level of the OSI model. Switches were designed with using bridge technologies and are often considered as multiport bridges. Routers (OSI Layer 3) are used to connect multiple networks based on the network layer.
  • the OpenFlow switch is capable of packet switching at the 2-4 level of the OSI model, depending on the given set of rules.
  • Associative memory or Associative storage device (RAM) is a special kind of machine memory used in very fast search applications. Also known as content-addressable memory, associative memory, content-addressable memory, or associative array, although the latter term is more often used in programming to refer to a data structure.
  • Binary AP is the simplest type of associative memory that uses data retrieval words consisting entirely of ones and zeros.
  • a third value is added to compare “X” or “not important”, for one or more bits in the stored data word, thereby adding more search flexibility.
  • the word “10XX0” could be stored, which will match any of the four search words “10000”, “10010”, “10100”, or “10110”.
  • Adding flexibility to the search comes at the cost of increasing the price of a binary AP, since the internal memory cell should now encode three possible states instead of two. This extra state is usually done by adding a “importance” mask bit (“important” / “not important”) to each memory location.
  • OpenFlow is a protocol for managing the process of processing data transmitted over a data network by routers and switches that implements software-configured network technology.
  • the protocol is used to control network switches and routers from a central device — the network controller (for example, from a server or even a personal computer). This control replaces or supplements the built-in program running on the switch (router) that performs route building, creating a switching map, etc.
  • the controller is used to manage the switch flow tables, based on which it is decided to transfer the received packet to a specific switch port. Thus, direct network connections are formed in the network with minimal data transmission delays and the necessary parameters.
  • the infrastructure level which provides a set of network devices (switches and data transmission channels);
  • a management level that includes a network operating system that provides applications with network services and a software interface for managing network devices and a network;
  • Network application layer for flexible and efficient network management.
  • Network management virtualization can reduce the cost of building and maintaining software-configured networks.
  • Software-configured network software allows administrators to add new functionality to their existing network architecture. At the same time, new functions will work on many platforms - they will not have to be re-implemented in the firmware of each vendor’s switches.
  • the system administrator can observe the entire network in a single view, thereby increasing the ease of management, security, and simplifying the execution of a number of other tasks. Indeed, since the administrator sees all traffic flows, it is easier for him to notice intrusions, prioritize various types of traffic, and develop rules for responding to networks in case of congestion and equipment problems.
  • OpenFlow an open standard that describes the requirements for a switch that supports the OpenFlow protocol for remote control.
  • Each received packet "cuts out" a header (a bit string of a certain length). For this bit string, in the flow tables, starting with the first one, a rule is searched for in which the attribute field most closely matches (matches) the packet header. If there is a match, transformations are performed on the package and its header, which are determined by the set of instructions specified in the found rule.
  • the instructions associated with each table entry describe actions associated with forwarding the packet, modifying its header, processing in the group table, processing in the pipeline, and forwarding the packet to a specific port on the switch.
  • the processing pipeline instructions allow you to forward packets to subsequent tables for further processing and to transfer information between tables in the form of metadata.
  • the instructions also define the rules for modifying the counters, which can be used to collect a variety of statistics.
  • the packet is encapsulated and sent to the controller, which forms the corresponding rule for packets of this type and installs it on the switch (or on the set of switches managed by it), or the packet can be discarded (depending on the switch configuration) .
  • a stream record may direct the packet to be forwarded to a specific port (a regular physical port, either a virtual port designated by the switch, or a reserved virtual port set by the protocol specification).
  • Reserved virtual ports can determine the general forwarding actions: sending to the controller, broadcasting (flooding), forwarding without OpenFlow.
  • the virtual ports defined by the switch can pinpoint link aggregation groups, tunnels, or loopback interfaces.
  • Stream entries may also indicate groups in which additional processing is defined. Groups are sets of actions for broadcasting, as well as sets of forwarding actions with more complex semantics, for example, fast route change or aggregation of channels.
  • the group mechanism allows you to effectively change the overall output actions for threads.
  • the group table contains group entries containing a list of action containers with special semantics depending on the type of group. Actions in one or more action containers apply to packets sent to the group.
  • Switch developers can be free to implement their internal structure, however, the procedure for viewing packets and the semantics of instructions should be the same for everyone. For example, while a thread can use all groups to forward to a number of ports, the switch designer can choose to implement this single bitmask inside the hardware routing table.
  • a pipeline can be physically implemented using a different number of hardware tables. Installation, updating and removal of rules in the switch flow tables are performed by the controller. Rules can be set reactively (in response to incoming packets) or proactively (in advance, before packets arrive).
  • OpenFlow Data management in OpenFlow is carried out not at the level of individual packets, but at the level of their flows.
  • the rule in the OpenFlow switch is established with the participation of the controller only for the first packet, and then all other packets of the flow use it.
  • a device for receiving and transmitting data with the possibility of interacting with an OpenFlow controller, containing one or more network interfaces, a means of exchanging information between blocks, an information receiving unit, an initial flow identification unit, an instruction processing unit, an action implementation unit, a unit group actions processing, intermodular interaction unit, interaction unit with the controller; moreover, one or more network interfaces are connected to the information receiving unit, the output of the information receiving unit is connected to the input of the initial flow identification unit, and the input of the information receiving unit is connected to the output of the inter-module interaction unit, the input of which is connected to the output of the instruction processing unit, while the instruction processing unit connected to the initial flow identification unit, and the identification unit the flow, in turn, is connected to the inter-module interaction unit, the instruction processing unit is also connected to the action implementation unit, which is connected to the group action processing unit and to the interaction unit with the controller, which is connected to the instruction processing unit, and the means for exchanging information between the units is connected to all the above blocks and with one
  • the modules of the device in question work as follows: receiving a packet, allocating a free buffer and saving the packet body in it, generating a packet descriptor from the packet header data, matching the packet descriptor to the set of classification rules for streams contained in the flow tables, in order to classify it, selecting a classifier identifier streams, fetching the firmware using the previously calculated stream identifier, applying the firmware, modifying the packet header data and descriptor with publicly predetermined microprogram processing, processing the packet according to a mapped firmware modifier group flows duplicate packet if it is determined by the firmware processing, sending the packet (s), the release previously trapped buffer.
  • the switch is a system controlled by the flow of events, which implements processing of bit vectors of limited length - fragments of network exchange.
  • the transmission of the bit vector to the switch is an event, in terms of simulation, and the switch implements the formation of a reaction to the event.
  • the flows can be divided into two main classes:
  • the switch itself is a collection of deterministic finite state machines (DFA) with state.
  • DFA deterministic finite state machines
  • Processing user data streams within the switch is reduced to sequential processing of each individual piece of data - Ethernet frame according to the logic embedded in the switch.
  • the logic embedded in the switch is understood not as the logic fixed by the manufacturer of the product, but the aggregate state of all DFAs for processing the data plane data, changed by the effects of both the data plane and the control plane.
  • the main logic of the switch implements the processing of packets passing through it.
  • the processing of frames in the switch is described as a superposition of mappings, each of which meets a separate requirement of the OpenFlow specification. From a structural point of view, the switch is a collection of blocks, each of which implements:
  • the identifier of the thread group acts as the identifier of the microprogram according to which there should be Converted over the packet processing context fields.
  • all unofficial fields of the package processing context can be affected by the change:
  • the nominal completion of the processing of a package can occur due to exceeding the allowable length of the processing chain of the package, which in turn can be the result of: ⁇ the presence of a cycle in the processing chain of the package due to an incorrect set of rules for transforming the descriptor into the process function;
  • the TSAM memory element is considered as a means of classifier implementation.
  • the TSAM element is the only effective search method for templates with masks and weights. This is due to the implementation of mass parallelism in the TSAM elements - a variant of scheme 2 with parallel calculation of the body of the outer loop (lines 6-18) and subsequent selection of the best result in a cascade of comparators and multiplexers.
  • This section describes the main pipeline that implements processing of fragments of network streams and is a central component of data processing modules of types 1G, 10G.
  • the developed switch model includes the following functional blocks (see Fig. 3):
  • Information receiving unit - provides reading of the incoming message stream, buffering each of them in one of the incoming message queues depending on the values of the flag fields of the header data, forming a message descriptor and message processing context, transferring the context for subsequent processing.
  • Stream identification block - provides processing of the message descriptor, matching the descriptor to a set of templates, determining the template identifier with the maximum weight.
  • Block for processing instructions provides selection of the descriptor of a set of instructions by identifier, application of instructions by modifying the list of action descriptors accumulated in the context of message processing.
  • Action implementation block - provides refinement of the list of actions contained in the package processing context by sequentially running the processing context through a set of functional elements that implement the processing of individual actions on the message descriptor fields.
  • Group message processing unit - provides processing in advance of the specified rules for selecting the outgoing port from the specified group, duplicate messages for subsequent distribution to a group of ports, the implementation of broadcast transmission.
  • Intermodular interaction unit provides the transmission of messages between the modules that make up the switch for subsequent installation in the destination port of the switch, depending on the logical number of the outgoing port specified in the context of message processing. This unit also provides for receiving intermodular transactions from other modules and forwarding messages to local ports.
  • the unit of interaction with the controller is a distributed system that includes:
  • Block of the control controller provides the mapping of the resources of the switch modules into the address space of the control application, provides the conversion of I / O into the transaction sets of the AXI4 bus (acts as a means of exchanging information between the blocks) connecting the modules.
  • Control modules of the switch modules - implement a transparent bridge between the external bus AXI4 (acts as a means of exchanging information between the blocks), and the blocks of parametric and service information of the functional blocks of the switch module.
  • a hardware-software complex which includes: • a calculator based on a general-purpose processor (for example, ARM)
  • the SmartFusion SOM computing device can act
  • SmartFusion SOM is a PP of size 30 by 57 mm and includes:
  • agent software running Linux in the uclibc version is running.
  • a device for storing and / or reading data is used to store the boot image of the system and contains the JFFS2 file system for storing user data, which contains the agent software, as well as the agent configuration file containing a description of the connected switch modules, their settings, as well as initial sets the values of the parametric data of the switch modules (initial filling in the rules of the OpenFlow table, sets of instructions and actions) used when starting the agent software.
  • the basic set of configuration data is stored in a file in the Ini format.
  • the SOM-BSB board is used to install a mezzanine with SoC, connect to a power source (5 V, DC) via a USB connector, and connect the system via FastEthernet via an RJ45 socket. 1002
  • the BSP is based on the Linux BSP package that ships with the SmartFusion Starter it product (http://www.emcraft.eom/products/l 33 # starter-kit).
  • the calculator provides agent software execution under the control of the calculator OS:
  • Switch agent software utilizes the resources of the calculator for:
  • OpenFlow in the impact on various blocks of the switch modules; • S translation of state changes of various blocks of switch modules into OpenFlow protocol message sets;

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

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
US10997106B1 (en) Inter-smartNIC virtual-link for control and datapath connectivity
CN102334112B (zh) 用于虚拟机网络的方法和系统
RU2584449C2 (ru) Система управления связью, коммутационный узел и способ управления связью
US9858104B2 (en) Connecting fabrics via switch-to-switch tunneling transparent to network servers
CN107925677A (zh) 用于卸载数据对象复制以及服务功能链管理的技术
US10313380B2 (en) System and method for centralized virtual interface card driver logging in a network environment
US8953584B1 (en) Methods and apparatus for accessing route information in a distributed switch
CN103368853A (zh) 网络分组的simd处理
CN115917520A (zh) 用于通过分布式算法为可编程数据平面提供lpm实现的系统
RU2584471C1 (ru) УСТРОЙСТВО ДЛЯ ПРИЕМА И ПЕРЕДАЧИ ДАННЫХ С ВОЗМОЖНОСТЬЮ ОСУЩЕСТВЛЕНИЯ ВЗАИМОДЕЙСТВИЯ С OpenFlow КОНТРОЛЛЕРОМ
Shanmugalingam et al. DPDK Open vSwitch performance validation with mirroring feature
US11258707B1 (en) Systems for building data structures with highly scalable algorithms for a distributed LPM implementation
WO2020172129A1 (en) Variable-length packet header vectors
RU2602333C2 (ru) Сетевая система, способ обработки пакетов и носитель записи
US10616116B1 (en) Network traffic load balancing using rotating hash
US20220166718A1 (en) Systems and methods to prevent packet reordering when establishing a flow entry
Li et al. SDN components and OpenFlow
US20220278946A1 (en) Programmable packet processing pipeline with offload circuitry
US20180198704A1 (en) Pre-processing of data packets with network switch application -specific integrated circuit
US20220291928A1 (en) Event controller in a device
Maqbool et al. Virtual TCAM for data center switches
Baymani et al. Exploring RapidIO technology within a DAQ system event building network
WO2016108711A1 (ru) Устройство для приема и передачи данных с возможностью осуществления взаимодействия с openflow контроллером
Taher Testing of floodlight controller with mininet in sdn topology
US11882052B2 (en) Updating flow cache information for packet processing

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

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