WO2019050423A1 - Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения - Google Patents

Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения Download PDF

Info

Publication number
WO2019050423A1
WO2019050423A1 PCT/RU2017/000452 RU2017000452W WO2019050423A1 WO 2019050423 A1 WO2019050423 A1 WO 2019050423A1 RU 2017000452 W RU2017000452 W RU 2017000452W WO 2019050423 A1 WO2019050423 A1 WO 2019050423A1
Authority
WO
WIPO (PCT)
Prior art keywords
signature
tcp
record
key
sender
Prior art date
Application number
PCT/RU2017/000452
Other languages
English (en)
French (fr)
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/RU2017/000452 priority Critical patent/WO2019050423A1/ru
Publication of WO2019050423A1 publication Critical patent/WO2019050423A1/ru

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Definitions

  • the technical solution relates to the field of computer networks, in particular, to technologies for improving the efficiency of their work through the implementation of the principle of multi-threaded routing of transport connections.
  • This principle implies the application-transparent separation of transport connections into multiple network-independent data flows and balancing of these flows along several routes at once between the sender and receiver.
  • LACP Link Aggregation Control Protocol
  • LAG Link Aggregation Group
  • Equal Cost Multi Path (ESMR) technology is widely used to balance traffic between alternate routes with the same quality metrics in many modern routing protocols (for example, OSPF, EIGRP, and others).
  • This technology has better granularity than LACP - when choosing a route for sending each specific ECMR packet, it takes into account not only network (IP) addresses, but also transport (TCP, UDP and others) levels.
  • IP network
  • TCP transport
  • UDP User Datagram Protocol
  • LACP and ECMR are not trying to balance packets within a single connection, not so much because of the complexity of building an appropriate packet redistribution mechanism, but because of the technical limitations of the TCP protocol. Since this protocol is designed to reliably transfer data packets through a network, it must detect possible packet losses during transmission, re-sending the lost packets again until they are delivered to the recipient. The TCP protocol assumes that the packet with the number N is lost if it has not yet been delivered to the recipient at the time when he received several packets with large numbers. When sending packets of the same connection by different routes, even with the same quality metrics, the transmission time of these packets can vary greatly.
  • Packets will be delivered to the recipient out of order, and TCP will unreasonably detect packet losses where they were not.
  • TCP assumes that the network has been overloaded and reduces the data transfer rate, which adversely affects the overall performance of the network.
  • the multi-threaded routing protocol MRTSR proposes to circumvent this problem by transferring the task of reordering packets to end hosts.
  • the sender of the MRTSP connection independently separates the packets of each transport connection into several self-sufficient TCP streams, which are transmitted through the network independently of each other.
  • Recipient MRTSP restores the original order of the packets without reducing the transmission rate.
  • MRTSR and ECMR technologies in some cases may allow balancing packets of one transport connection without reducing the transmission speed.
  • a switch with ECMR support will not be able to detect dependencies between streams: by chance, ECMR can distribute several streams of the same MRTSR connection to one route at once. Thus, balancing will be incorrect.
  • ECMR proposes balancing traffic between routes only if these routes have the same quality metrics (less often, close ones).
  • the criteria for choosing routes for MRTSP connections may be somewhat different. Since MRTSR connections independently balance the amount of data transmitted over each stream, they can increase the efficiency of the network even if the streams they use have different metrics.
  • the main criterion for choosing alternative routes for MRTSR is the number of intersecting edges in their respective paths. The smaller this number, the greater the likelihood that the connection will be able to bypass the bottleneck and provide a higher data transfer rate.
  • the FDMP protocol suggests using the PKS controller to intercept all packets transmitted between the sender and receiver at the stage of installation of each TCP stream, and determine whether the TCP stream belongs to a particular connection based on an analysis of the headers of the intercepted packets. Possessing the information that several streams belong to the same MRTSR connection, the PKS controller will be able to route them in such a way as to provide each of them with its own route having a minimum intersection with the other routes of the same connection.
  • the technical result from the use of this technical solution is to expand the functionality of the switching device to detect individual streams of multi-threaded connections, determine the links between these streams and select appropriate instructions for processing flows based on the established connections.
  • This technical result is achieved by adding two new tables - a key table and a flow table, as well as changes in the rules for matching packets with entries in the routing table.
  • a method for organizing automatic balancing of multi-threaded connection flows on switching devices using their self-learning, characterized in that: a data packet with the TCP SYN flag set is received; analyze the optional TCP level headers; if found among the headers of the MP CAPABLE option, update the key table of the switching device; search in the table by the TCP stream signature — a collection of IP addresses and TCP ports for its sender and recipient: if there is no entry with the corresponding signature in the key table, a new entry is formed, including the stream signature, the key contained in the MP_CAPABLE option and the current timestamp; if there is already an entry in the table with the specified stream signature, update the specified entry by updating the sender's MRTSP key and the timestamp specified inside the table; if the table contains a record with a reverse signature that matches the signature of the intercepted stream with the accuracy of permuting the sender's and recipient's addresses, using the sender's key
  • the flow table of the switching device is updated.
  • This technical solution can be made in the form of a system for organizing automatic balancing of multi-threaded connection flows on switching devices using their self-learning, comprising: at least one command processing device; at least one data storage device; one or more computer programs loaded into at least one of the above mentioned storage devices and executed on at least one of the above command processing devices, wherein one or more computer programs contain the following instructions: receive a data packet with the flag set TCP SY; analyze the optional TCP level headers; if found among the headers of the MP CAPABLE option, update the key table of the switching device; search in the table by the TCP stream signature — a collection of IP addresses and TCP ports for its sender and recipient: if there is no entry with the corresponding signature in the key table, a new entry is formed, including the stream signature, the key contained in the MP CAPABLE option and the current timestamp ; if there is already an entry in the table with the specified stream signature, update the specified entry by updating the sender's MRTSP key and the timestamp specified inside
  • the flow table of the switching device is updated.
  • the corresponding record in the stream table is searched by its signature, and when it is found, the value of its timestamp is updated.
  • Figure 2 is a block diagram of a method for organizing automatic balancing of multi-threaded connection flows on switching devices using their self-learning;
  • Fig.Z is a system for implementing a method of organizing automatic balancing of multi-threaded connection flows on switching devices using their self-learning.
  • a system means a computer system, a computer (electronic computer), a CNC (numerical control), a PLC (programmable logic controller), computerized control systems, and any other devices capable of performing a predetermined, well-defined sequence of operations (actions, instructions).
  • a command processing device is an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs).
  • the command processing device reads and executes machine instructions (programs) from one or more data storage devices.
  • a storage device can act, but not limited to, hard drives (HDD), flash memory, ROM (read-only memory), solid-state drives (SSD), optical drives (CD, DVD, Blue-Ray drives).
  • a program is a sequence of instructions intended for execution by a computer control device or command processing device.
  • This technical solution provides an extension of the switching device functionality for detecting individual streams of multi-threaded connections, defining connections between these streams and selecting appropriate instructions for processing flows based on the established connections by adding two new tables - a key table and a flow table, as well as matching mapping rules packets with entries in the routing table.
  • a method for organizing automatic balancing of multi-threaded connection flows on switching devices using them self-study, characterized by the fact that: they receive a data packet with the TCP SYN flag set; analyze the optional TCP level headers; if found among the headers of the MP CAPABLE option, update the key table of the switching device; search in the table by the TCP stream signature — a collection of IP addresses and TCP ports for its sender and recipient: if there is no entry with the corresponding signature in the key table, a new entry is formed, including the stream signature, the key contained in the MP CAPABLE option and the current timestamp ; if there is already an entry in the table with the specified stream signature, update the specified entry by updating the sender's MRTSP key and the timestamp specified inside the table; if the table contains a record with a reverse signature that matches the signature of the intercepted stream with the accuracy of permuting the sender's and recipient's addresses, using the sender's
  • Figure 1 shows the phases of the algorithm for additional processing packets of multi-threaded connections.
  • the proposed technical solution complements the algorithm for processing data packets arriving at the switching devices in order to route different streams of multi-threaded connections along different routes through the network.
  • a switching device that implements the proposed method of routing multi-threaded connections must rely not only on the addresses of the second and third (for example, MAC and IP) levels of the TCP / IP stack, but also take into account some information transmitted in the TCP headers.
  • the switching device In the case of packet capture with the TCP SYN flag set, the switching device must analyze the optional TCP level headers. If the MP CAPABLE option is found among the headers, the switch must update its key table. To do this, the switch searches the table by the signature of the TCP stream — a collection of IP addresses and TCP ports for its sender and receiver. Switch actions are defined by one of the following scenarios:
  • the switch forms a new entry including the stream signature, the key contained in the MP CAPABLE option and the current timestamp;
  • the table already has an entry with the specified stream signature.
  • the switch updates the specified entry by updating the sender's MRTSP key and the timestamp specified inside the table;
  • the table has a record with the inverse signature that matches the signature of the intercepted stream with the accuracy of the permutation of the addresses of the sender and recipient.
  • the switch uses the sender's key and recipient's key stored in the table contained in the intercepted flow option to calculate the HMAR value — the hash function used to identify the multi-threaded connection.
  • the entry found in the key table is deleted, and the hash function values are used to form the corresponding entry in the stream table. If there is already an entry in the flow table with the specified signature, then it is deleted, and the switch creates an entry about the first flow of the new connection;
  • the switch In case of detection of a TCP SYN packet with the MP JOIN option — it is used by a multi-threaded connection when opening an additional stream to the existing ones, the switch updates its stream table:
  • the HMAP value contained in the option is used to search for records that correspond to previously opened threads of a multi-threaded connection. If no such flows are found in the table, the switch drops the packet - it is incorrect, because the packet with the set option MP JOIN can not be the first. A multithreaded connection was required to begin its work by transmitting packets with the MP_JOIN option set, which the switch would use to form a record of the first stream;
  • the switch adds a new entry to them.
  • the value of the stream index is greater than the maximum among the indices of the existing streams by one;
  • the switch When forming any new entry in the table of values, the switch checks whether address pairs from the stream signature are used in other entries in the table. If a pair of addresses is used in conjunction with a different HMAR value, the corresponding entry is removed from the table - this ensures timely deletion of obsolete entries that may lead to violation of the consistency of the flow table;
  • the switchboard performs an in-depth analysis of the headers as well when intercepting packets with the TCP FIN and TCP RST flags set. If the specified packets carry multi-threaded connection options, the switch removes the corresponding entries from the flow table contained in it. In the event that the packet headers carry the MPTSP FIN or MPTPP RST options, the switch also deletes other entries related to the same multi-threaded connection.
  • the switch When intercepting any TCP packet, the switch searches for the corresponding entry in the flow table by its signature. If a the specified record was found, the switch updates the value of its timestamp;
  • the switch tries to form a new record, and there is no free space left in the switch table, it deletes the record with the oldest timestamp.
  • the switching device receives the sequence number of the corresponding flow within the multi-threaded connection to which it belongs. In the future, this number is used in order to differentiate the routing of these flows, despite the fact that they are sent to the same network subscriber.
  • a switching device may have several routing tables, each of which operates independently of the other tables.
  • the switch When servicing a packet belonging to the kth thread of a multi-threaded connection, the switch uses the table with the kth number. If the stream number exceeds the number of tables n, then the packet is routed according to the rules of the table with the number k mod n;
  • Figure 2 shows a block diagram of a method for organizing automatic balancing of multi-threaded connection flows on switching devices using their self-learning.
  • an exemplary system for implementing a technical solution includes a data processing device 300.
  • Data processing device 300 can be configured as a client, server, mobile device, or any other computing device that interacts with data in a collaboration system based on network.
  • data processing device 300 typically includes at least one processor 301 and data storage device 302.
  • system memory 302 may be volatile (for example, random access memory (RAM, RAM)), non-volatile (for example, read-only memory (ROM, ROM)) or some combination of them.
  • the storage device 302 typically includes one or more application programs 303 and may include program data 304. The present technical solution as a method described in detail above is implemented in the application programs 303.
  • Data processor 300 may have additional features or functionality.
  • data processing device 300 may also include additional data storage devices (removable and non-removable), such as, for example, magnetic disks, optical disks, or tape.
  • additional storage is illustrated in FIG. 3 by means of non-removable storage 307 and removable storage 308.
  • Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any way or using any technology for storing information.
  • the storage device 302, non-removable storage 307 and removable storage 308 are examples of computer storage media.
  • Computer storage media includes, but is not in a limiting sense, random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory or memory made using a different technology, ROM on a compact disk (CD-ROM), digital versatile disks (DVDs) or other optical storage devices, magnetic cassettes, magnetic tapes, storages on magnetic disks or other magnetic storage devices, or any other medium that can be used an information storage device and which can be accessed by data processing device 300. Any such computer storage medium may be part of device 300.
  • Data processing device 300 may also include input device (s) 305, such as a keyboard, mouse, pen , speech input device, touch input device, and so on.
  • Output device (s) 306, such as a display, speakers, printer, and the like, may also be included in the device.
  • Data processor 300 includes communication connections that allow a device to communicate with other computing devices, such as over a network.
  • Networks include local area networks and global networks along with other large scalable networks, including but not limited to corporate networks and extranets.
  • a communication connection is an example of a communication environment.
  • the communication medium can be implemented using computer-readable instructions, data structures, program modules or other data in a modulated information signal, such as a carrier wave, or in another transport mechanism, and includes any medium of information delivery.
  • modulated information signal means a signal that has one or more of its characteristics changed or set to encode information in this signal.
  • communication media includes wired environments such as a wired network or direct-wired connection, and wireless environments such as acoustic, radio frequency, infrared, and other wireless environments.

Landscapes

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

Abstract

Изобретение относится к области компьютерных сетей. Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения, характеризуется тем, что получают пакет данных с установленным флагом TCP SYN и осуществляют анализ опциональных заголовков уровня TCP. При обнаружении среди заголовков опции MP_CAPABLE обновляют таблицу ключей коммутационного устройства; осуществляют поиск в таблице по сигнатуре TCP потока - совокупности IP адресов и TCP портов для его отправителя и получателя: если в таблице ключей нет записи с соответствующей сигнатурой, формируют новую запись, включающую сигнатуру потока, ключ, содержащийся в опции MP CAPABLE и текущую временную метку; если в таблице уже есть запись с указанной сигнатурой потока, обновляют указанную запись, актуализируя ключ МРТСР отправителя и временную метку, указанные внутри таблицы; если в таблице есть запись с обратной сигнатурой, которая соответствует сигнатуре перехваченного потока с точностью до перестановки адресов отправителя и получателя, то используя сохраненный в таблице ключ отправителя и ключ получателя, содержащийся в опции перехваченного потока, вычисляют значение НМАР - хэш-функции, используемой для идентификации многопоточного соединения; если в таблице потоков уже есть запись с указанной сигнатурой, то ее удаляют и создают запись о первом потоке нового соединения.

Description

СПОСОБ ОРГАНИЗАЦИИ АВТОМАТИЧЕСКОЙ БАЛАНСИРОВКИ ПОТОКОВ МНОГОПОТОЧНОГО СОЕДИНЕНИЯ НА КОММУТАЦИОННЫХ УСТРОЙСТВАХ С ИСПОЛЬЗОВАНИЕМ
ИХ САМООБУЧЕНИЯ ОБЛАСТЬ ТЕХНИКИ
Техническое решение относится к области компьютерных сетей, а именно к технологиям повышения эффективности их работы с помощью реализации принципа многопоточной маршрутизации транспортных соединений. Указанный принцип подразумевает прозрачное для приложений разделение транспортных соединений на множество независимых с точки зрения сети потоков данных и балансировку этих потоков сразу по нескольким маршрутам между отправителем и получателем.
УРОВЕНЬ ТЕХНИКИ
Хотя из уровня техники известно множество различных способов балансировки трафика по нескольким разным маршрутам на графе топологии сети, большинство из них не предназначено для балансировки транспортных соединений.
Протокол Link Aggregation Control Protocol (LACP) позволяет объединять несколько параллельных линий связи между двумя коммутационными устройствами воедино, представляя эти связи в виде группы Link Aggregation Group (LAG). При этом возникает задача балансировки пакетов данных между линиями связи, объединёнными в рамках одной группы. Однако выбор маршрута для каждого пакета здесь обычно происходит на основании заголовков протоколов канального (Ethernet) и сетевого (IP) уровня сетевого стека TCP/IP. Таким образом, LACP не только не способен балансировать трафик внутри одного и того же транспортного соединения, но и не способен балансировать соединения, установленные между одной и той же парой сетевых интерфейсов.
Технология Equal Cost Multi Path (ЕСМР) широко используется для балансировки трафика между альтернативными маршрутами с одинаковыми метриками качества многими современными протоколами маршрутизации (например, OSPF, EIGRP и другими). Данная технология обладает лучшей гранулярностью, нежели LACP - при выборе маршрута для отправки каждого конкретного пакета ЕСМР учитывает адреса не только сетевого (IP), но и транспортного (TCP, UDP и другие) уровней. Таким образом, сетевые устройства с ЕСМР не способны балансировать трафик одного и того же соединения - все пакеты соединения всегда будут отправляться по одному из доступных маршрутов.
Необходимо отметить, что LACP и ЕСМР не пытаются балансировать пакеты внутри одного соединения не столько из-за сложности построения надлежащего механизма перераспределения пакетов, сколько из-за технических ограничений протокола TCP. Поскольку данный протокол предназначен для надёжной передачи пакетов данных через сеть, то он должен детектировать возможные потери пакетов при передаче, переотправляя потерянные пакеты повторно, пока они не будут доставлены получателю. Протокол TCP предполагает, что пакет с номером N потерян, если он всё ещё не был доставлен получателю на тот момент, когда тот получил уже несколько пакетов с большими номерами. При отправке пакетов одного и того же соединения разными маршрутами, пусть даже с одинаковыми метриками качества, время передачи этих пакетов может сильно варьироваться. Пакеты будут доставляться получателю не по порядку, и протокол TCP будет необоснованно детектировать потери пакетов там, где их не было. В то же время, при потере пакета протокол TCP предполагает, что сеть была перегружена, и снижает скорость передачи данных, что пагубно сказывается на общей производительности сети. Исследования показывают, что потери в скорости передачи данных вследствие неупорядоченной доставки пакетов значительно превышает выгоду от балансировки трафика соединения между несколькими маршрутами.
Протокол многопоточной маршрутизации МРТСР предлагает обойти указанную проблему, перенеся задачу переупорядочивания пакетов на конечные хосты. Отправитель МРТСР соединения самостоятельно разделяет пакеты каждого транспортного соединения на несколько самодостаточных TCP потоков, которые передают через сеть независимо друг от друга. Получатель МРТСР, в свою очередь, восстанавливает оригинальный порядок пакетов без снижения скорости передачи.
Совмещение технологий МРТСР и ЕСМР в ряде случаев может позволить балансировать пакеты одного транспортного соединения без снижения скорости передачи. Однако коммутатор с поддержкой ЕСМР не сможет выявлять зависимости между потоками: по воле случая ЕСМР может распределить на один маршрут сразу несколько потоков одного и того же МРТСР соединения. Таким образом, балансировка будет некорректной.
Ещё одним недостатков связки МРТСР-ЕСМР является тот факт, что
ЕСМР предлагает балансировать трафик между маршрутами лишь в том случае, если эти маршруты обладают одинаковыми (реже, близкими) метриками качества. В то же время критерии выбора маршрутов для соединений МРТСР могут быть несколько иными. Поскольку МРТСР соединения самостоятельно балансируют количество данных переданных по каждому потоку, то они могут увеличить эффективность работы сети и в том случае, когда задействованные ими потоки имеют разные метрики. Обычно основным критерием выбора альтернативных маршрутов для МРТСР является количество пересекающихся рёбер в соответствующих им путях. Чем меньше это количество, тем больше вероятность того, что соединение сможет обойти узкое место и обеспечить большую скорость передачи данных.
Из уровня техники известен ряд работ, предлагающих обойти ограничения, которые возникают при облуживании многопоточных соединений МРСР с помощью технологии ЕСМР, в рамках программно- конфигурируемых сетей (ПКС). Протокол FDMP предлагает использовать контроллер ПКС для перехвата всех пакетов, передающиеся между отправителем и получателем на этапе установки каждого TCP потока, и определять принадлежность TCP потока к тому или иному соединению на основании анализа заголовков перехваченных пакетов. Обладая информацией о том, что несколько потоков относятся к одному и тому же МРТСР соединению, контроллер ПКС сможет маршрутизировать их таким образом, чтобы обеспечить каждый из них своим собственным маршрутом, имеющим минимальное пересечение с остальными маршрутами того же соединения.
Одной из основных проблем предложенного подхода к реализации маршрутизации многопоточных соединений в рамках ПКС является чрезмерная интенсивность обращения коммутаторов к контроллеру. Необходимость вовлечения контроллера для перехвата пакетов на этапе установки каждого TCP соединения накладывает серьёзные ограничения на масштаб и интенсивность обмена данными внутри сети.
Одной из основных проблем при реализации указанной концепции на практике является сложность реализации привязки разных потоков данных к разным маршрутам. Представленное далее техническое решение предлагает одно из возможных решений указанной проблемы.
СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯ
Данное техническое решение направлено на устранение недостатков, присущих существующим аналогам.
Технический результат от использования данного технического решения заключается в расширении функциональности коммутационного устройства по детектированию отдельных потоков многопоточных соединений, определению связей между этими потоками и выбору надлежащих инструкций по обработке потоков на основании установленных связей. Данный технический результат достигается за счет добавления двух новых таблиц - таблицы ключей и таблицы потоков, а так же изменений правил сопоставления пакетов с записями в таблице маршрутизации.
В одном из предпочтительных вариантов реализации предложен способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения, характеризующийся тем что: получают пакет данных с установленным флагом TCP SYN; осуществляют анализ опциональных заголовков уровня TCP; при обнаружении среди заголовков опции MP CAPABLE обновляют таблицу ключей коммутационного устройства; осуществляют поиск в таблице по сигнатуре TCP потока - совокупности IP адресов и TCP портов для его отправителя и получателя: если в таблице ключей нет записи с соответствующей сигнатурой, формируют новую запись, включающую сигнатуру потока, ключ, содержащийся в опции MP_CAPABLE и текущую временную метку; если в таблице уже есть запись с указанной сигнатурой потока, обновляют указанную запись, актуализируя ключ МРТСР отправителя и временную метку, указанные внутри таблицы; если в таблице есть запись с обратной сигнатурой, которая соответствует сигнатуре перехваченного потока с точностью до перестановки адресов отправителя и получателя, то используя сохранённый в таблице ключ отправителя и ключ получателя, содержащийся в опции перехваченного потока, вычисляют значение НМАР - хэш-функции, используемой для идентификации многопоточного соединения; если в таблице потоков уже есть запись с указанной сигнатурой, то ее удаляют и создают запись о первом потоке нового соединения.
В случае обнаружения TCP SYN пакета с опцией MP JOIN производят обновление таблицы потоков коммутационного устройства.
Проводят углубленный анализ заголовков так же и при перехвате пакетов с выставленными флагами TCP FIN и TCP RST.
При перехвате всякого TCP пакета осуществляют поиск соответствующей ему записи в таблице потоков по его сигнатуре, при ее нахождении обновляют значение её временной метки.
Если в таблице коммутационного устройства не осталось свободного места, удаляют запись с самой старой временной меткой.
Данное техническое решение может быть выполнено в виде системы организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения, содержащую: по крайней мере, одно устройство обработки команд; по крайней мере, одно устройство хранения данных; одну или более компьютерных программ, загружаемых в, по крайней мере, одно вышеупомянутое устройство хранения данных и выполняемых на, по крайне мере, одном из вышеупомянутых устройств обработки команд, при этом одна или более компьютерных программ содержат следующие инструкции: получают пакет данных с установленным флагом TCP SY ; осуществляют анализ опциональных заголовков уровня TCP; при обнаружении среди заголовков опции MP CAPABLE обновляют таблицу ключей коммутационного устройства; осуществляют поиск в таблице по сигнатуре TCP потока - совокупности IP адресов и TCP портов для его отправителя и получателя: если в таблице ключей нет записи с соответствующей сигнатурой, формируют новую запись, включающую сигнатуру потока, ключ, содержащийся в опции MP CAPABLE и текущую временную метку; если в таблице уже есть запись с указанной сигнатурой потока, обновляют указанную запись, актуализируя ключ МРТСР отправителя и временную метку, указанные внутри таблицы; если в таблице есть запись с обратной сигнатурой, которая соответствует сигнатуре перехваченного потока с точностью до перестановки адресов отправителя и получателя, то используя сохранённый в таблице ключ отправителя и ключ получателя, содержащийся в опции перехваченного потока, вычисляют значение НМАР - хэш-функции, используемой для идентификации многопоточного соединения; если в таблице потоков уже есть запись с указанной сигнатурой, то ее удаляют и создают запись о первом потоке нового соединения.
В случае обнаружения TCP SYN пакета с опцией MP JOIN производят обновление таблицы потоков коммутационного устройства.
Проводят углубленный анализ заголовков так же и при перехвате пакетов с выставленными флагами TCP FIN и TCP RST.
При перехвате всякого TCP пакета осуществляют поиск соответствующей ему записи в таблице потоков по его сигнатуре, при ее нахождении обновляют значение её временной метки.
Если в таблице коммутационного устройства не осталось свободного места, удаляют запись с самой старой временной меткой.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - фазы алгоритма дополнительной обработки пакетов многопоточных соединений;
Фиг.2 - блок-схема способа организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения;
Фиг.З - система для реализации способа организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения.
ПОДРОБНОЕ ОПИСАНИЕ ТЕХНИЧЕСКОГО РЕШЕНИЯ
В данном устройстве под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, чётко определённую последовательность операций (действий, инструкций).
Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические накопители информации (CD, DVD, Blue-Ray диски).
Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
Данное техническое решение обеспечивает расширение функциональности коммутационного устройства по детектированию отдельных потоков многопоточных соединений, определению связей между этими потоками и выбору надлежащих инструкций по обработке потоков на основании установленных связей за счет добавления двух новых таблиц - таблицы ключей и таблицы потоков, а так же изменений правил сопоставления пакетов с записями в таблице маршрутизации.
Согласно предлагаемому техническому решению, предложен способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения, характеризующийся тем что: получают пакет данных с установленным флагом TCP SYN; осуществляют анализ опциональных заголовков уровня TCP; при обнаружении среди заголовков опции MP CAPABLE обновляют таблицу ключей коммутационного устройства; осуществляют поиск в таблице по сигнатуре TCP потока - совокупности IP адресов и TCP портов для его отправителя и получателя: если в таблице ключей нет записи с соответствующей сигнатурой, формируют новую запись, включающую сигнатуру потока, ключ, содержащийся в опции MP CAPABLE и текущую временную метку; если в таблице уже есть запись с указанной сигнатурой потока, обновляют указанную запись, актуализируя ключ МРТСР отправителя и временную метку, указанные внутри таблицы; если в таблице есть запись с обратной сигнатурой, которая соответствует сигнатуре перехваченного потока с точностью до перестановки адресов отправителя и получателя, то используя сохранённый в таблице ключ отправителя и ключ получателя, содержащийся в опции перехваченного потока, вычисляют значение НМАР - хэш-функции, используемой для идентификации многопоточного соединения; если в таблице потоков уже есть запись с указанной сигнатурой, то ее удаляют и создают запись о первом потоке нового соединения.
На Фиг.1 изображены фазы алгоритма дополнительной обработки пакетов многопоточных соединений.
Предлагаемое техническое решение дополняет алгоритм обработки поступающих на коммутационные устройства пакеты данных с тем, чтобы направлять разные потоки многопоточных соединений по разным маршрутам через сеть. В процессе разбора и анализа заголовков пакетов коммутационное устройство, реализующее предложенный способ маршрутизации многопоточных соединений, должно опираться не только адреса второго и третьего (например, MAC и IP) уровней стека TCP/IP, но и учитывать некоторую информацию, передающуюся в заголовках протокола TCP.
В случае перехвата пакета с установленным флагом TCP SYN, коммутационное устройство должно осуществить анализ опциональных заголовков уровня TCP. При обнаружении среди заголовков опции MP CAPABLE коммутатор должен обновить свою таблицу ключей. Для этого коммутатор осуществляет поиск в таблице по сигнатуре TCP потока - совокупности IP адресов и TCP портов для его отправителя и получателя. Действия коммутатора определяются одним из следующих сценариев:
В таблице ключей нет записи с соответствующей сигнатурой. Коммутатор формирует новую запись, включающую сигнатуру потока, ключ, содержащийся в опции MP CAPABLE и текущую временную метку;
В таблице уже есть запись с указанной сигнатурой потока. Коммутатор обновляет указанную запись, актуализируя ключ МРТСР отправителя и временную метку, указанные внутри таблицы;
В таблице есть запись с обратной сигнатурой, которая соответствует сигнатуре перехваченного потока с точностью до перестановки адресов отправителя и получателя. Используя сохранённый в таблице ключ отправителя и ключ получателя, содержащийся в опции перехваченного потока, коммутатор вычисляет значение НМАР - хэш-функции, используемой для идентификации многопоточного соединения. Найденная в таблице ключей запись удаляется, а значения хэш-функции используется для формирования соответствующей записи в таблице потоков. Если в таблице потоков уже есть запись с указанной сигнатурой, то она удаляется, и коммутатор создаёт запись о первом потоке нового соединения;
В случае обнаружения TCP SYN пакета с опцией MP JOIN - она используется многопоточным соединением при открытии дополнительного потока к уже существующим, коммутатор производит обновление своей таблицу потоков:
Содержащееся в опции значение НМАР используется для поиска записей, соответствующих ранее открытым потокам многопоточного соединения. Если таких потоков в таблице не найдено, то коммутатор сбрасывает пакет - он некорректен, поскольку пакет с выставленной опцией MP JOIN не может быть первым. Многопоточное соединение обязано было начать свою работу с передачи пакетов с выставленной опцией MP_JOIN, которая бы использовалась коммутатором для формирования записи первого потока;
Если таблицу потоков содержит одну или несколько записей с указанным значением НМАР, то коммутатор добавляет к ним новую запись. При этом в качестве индекса потока используется значение, превышающее максимум среди индексов существующих потоков на единицу;
При формировании всякой новой записи в таблице значений коммутатор проверяет, используются ли пары адресов из сигнатуры потока в других записях таблицы. Если пара адресов задействуется в соединении с другим значением НМАР, то соответствующая запись из таблицы удаляется - тем самым гарантируется своевременное удаление устаревших записей, которые могут привести к нарушению консистентности таблицы потоков;
Коммутатор проводит углубленный анализ заголовков так же и при перехвате пакетов с выставленными флагами TCP FIN и TCP RST. Если указанные пакеты несут в себе опции многопоточного соединения, коммутатор удаляет соответствующие записи из содержащейся в нём таблицы потоков. В том случае, если заголовки пакета несут в себе опцию МРТСР FIN или МРТСР RST, коммутатор удаляет так же и другие записи, относящиеся к тому же многопоточному соединению.
Необходимо отметить, что как отдельные потоки, так и целые многопоточные соединения могут завершаться без пересылки пакетов с выставленными флагами FIN или RST. Поэтому таблица потоков может содержать в себе устаревшие и неактуальные записи. В результате, при достаточно продолжительной работе коммутатора, его таблица потоков неизбежно окажется переполненной. Для решения указанной проблемы коммутатор реализует механизм старения записей:
При перехвате всякого TCP пакета коммутатор осуществляет поиск соответствующей ему записи в таблице потоков по его сигнатуре. Если указанная запись была найдена, коммутатор обновляет значение её временной метки;
Впоследствии, если на каком-то этапе своей работы коммутатор пытается сформировать новую запись, а в таблице коммутатора не осталось свободного места, он удаляет запись с самой старой временной меткой.
В результате сопоставления поступившего на коммутатор пакета с записями из таблицы потоков, коммутационное устройство получает порядковый номер соответствующего потока внутри многопоточного соединения, к которому он относится. В дальнейшем этот номер используется для того, чтобы дифференцировать маршрутизацию указанных потоков несмотря на то, что они направляются к одному и тому же абоненту сети. Существует несколько способов реализовать эту идею на практике:
Коммутационное устройство может иметь несколько таблиц маршрутизации, каждая из которых функционирует независимо от других таблиц. При обслуживании пакета, относящегося к k-му потоку многопоточного соединения, коммутатор использует таблицу k-м номером. Если номер потока превышает количество таблиц п, то маршрутизация пакета производится по правилам таблицы с номером k mod п;
Поскольку многие правила в таблицах могут совпадать, то более эффективным методом реализации указанного подхода, может оказаться использование единственной таблицы маршрутизации, роль ключа в которой будет играть совокупность маски для IP адреса назначения и номера потока. При этом появится возможность совместить многие правила, которые не могли быть объединены при представлении в виде множества таблиц.
Необходимо отметить, что оба приведённых способа могут быть реализованы на современных коммутационных устройствах с поддержкой протокола OpenFlow без необходимости дополнения их функциональных возможностей. Указанный протокол предоставляет как возможности для построения конвейеров обработки пакетов, состоящих из множества таблиц, так и выбирать наборы атрибутов пакетов, по которым осуществляется сопоставление в той или иной таблице. Например, если коммутатор запишет в атрибут METADATA порядковый номер пакета, вычисленный на начальном этапе его обработки, то его смогут использовать все последующие таблицы конвейера OpenFlow.
На Фиг.2 изображена блок-схема способа организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения.
Согласно Фиг.З, примерная система для реализации технического решения включает в себя устройство обработки данных 300. Устройство обработки данных 300 может быть сконфигурировано как клиент, сервер, мобильное устройство или любое другое вычислительное устройство, которое взаимодействует с данными в системе совместной работы, основанной на сети. В самой базовой конфигурации устройство обработки данных 300, как правило, включает в себя, по меньшей мере, один процессор 301 и устройство хранения данных 302. В зависимости от точной конфигурации и типа вычислительного устройства системная память 302 может быть энергозависимой (например, оперативное запоминающее устройство (ОЗУ, RAM)), энергонезависимой (например, постоянное запоминающее устройство (ПЗУ, ROM)) или некоторой их комбинацией. Устройство хранения данных 302, как правило, включает в себя одну или более прикладных программ 303 и может включать в себя данные 304 программ. Настоящее техническое решение как способ, описанное в деталях выше, реализовано в прикладных программах 303.
Устройство обработки данных 300 может иметь дополнительные особенности или функциональные возможности. Например, устройство обработки данных 300 может также включать в себя дополнительные устройства хранения данных (съемные и несъемные), такие как, например, магнитные диски, оптические диски или лента. Такие дополнительные хранилища проиллюстрированы на Фиг.З посредством несъемного хранилища 307 и съемного хранилища 308. Компьютерные носители данных могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или при помощи любой технологии для хранения информации. Устройство хранения данных 302, несъемное хранилище 307 и съемное хранилище 308 являются примерами компьютерных носителей данных. Компьютерные носители данных включают в себя, но не в ограничительном смысле, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое ПЗУ (EEPROM), флэш- память или память, выполненную по другой технологии, ПЗУ на компакт- диске (CD-ROM), универсальные цифровые диски (DVD) или другие оптические запоминающие устройства, магнитные кассеты, магнитные ленты, хранилища на магнитных дисках или другие магнитные запоминающие устройства, или любую другую среду, которая может быть использована для хранения желаемой информации и к которой может получить доступ устройство обработки данных 300. Любой такой компьютерный носитель данных может быть частью устройства 300. Устройство обработки данных 300 может также включать в себя устройство(а) 305 ввода, такие как клавиатура, мышь, перо, устройство с речевым вводом, устройство сенсорного ввода, и так далее. Устройство (а) 306 вывода, такие как дисплей, динамики, принтер и тому подобное, также могут быть включены в состав устройства.
Устройство обработки данных 300 содержит коммуникационные соединения, которые позволяют устройству связываться с другими вычислительными устройствами, например по сети. Сети включают в себя локальные сети и глобальные сети наряду с другими большими масштабируемыми сетями, включая, но не в ограничительном смысле, корпоративные сети и экстрасети. Коммуникационное соединение является примером коммуникационной среды. Как правило, коммуникационная среда может быть реализована при помощи машиночитаемых инструкций, структур данных, программных модулей или других данных в модулированном информационном сигнале, таком как несущая волна, или в другом транспортном механизме, и включает в себя любую среду доставки информации. Термин «модулированный информационный сигнал» означает сигнал, одна или более из его характеристик изменены или установлены таким образом, чтобы закодировать информацию в этом сигнале. Для примера, но без ограничения, коммуникационные среды включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные, инфракрасные и другие беспроводные среды. Термин «машиночитаемый носитель», как употребляется в этом документе, включает в себя как носители данных, так и коммуникационные среды.
Специалисту в данной области, очевидно, что конкретные варианты осуществления способа и системы организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения описаны здесь в целях иллюстрации, допустимы различные модификации, не выходящие за рамки и сущности объема изобретения.

Claims

ФОРМУЛА
1. Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения, характеризующийся тем что:
• получают пакет данных с установленным флагом TCP SYN;
• осуществляют анализ опциональных заголовков уровня TCP;
• при обнаружении среди заголовков опции MP CAPABLE обновляют таблицу ключей коммутационного устройства;
• осуществляют поиск в таблице по сигнатуре TCP потока - совокупности IP адресов и TCP портов для его отправителя и получателя:
о если в таблице ключей нет записи с соответствующей сигнатурой, формируют новую запись, включающую сигнатуру потока, ключ, содержащийся в опции MP CAPABLE и текущую временную метку;
о если в таблице уже есть запись с указанной сигнатурой потока, обновляют указанную запись, актуализируя ключ МРТСР отправителя и временную метку, указанные внутри таблицы; о если в таблице есть запись с обратной сигнатурой, которая соответствует сигнатуре перехваченного потока с точностью до перестановки адресов отправителя и получателя, то используя сохранённый в таблице ключ отправителя и ключ получателя, содержащийся в опции перехваченного потока, вычисляют значение НМАР - хэш-функции, используемой для идентификации многопоточного соединения;
о если в таблице потоков уже есть запись с указанной сигнатурой, то ее удаляют и создают запись о первом потоке нового соединения.
Способ no nl, характеризующийся тем, что в случае обнаружения TCP SYN пакета с опцией MP_JOIN производят обновление таблицы потоков коммутационного устройства.
Способ по nl , характеризующийся тем, что проводят углубленный анализ заголовков так же и при перехвате пакетов с выставленными флагами TCP FIN и TCP RST.
4. Способ по nl , характеризующийся тем, что при перехвате всякого TCP пакета осуществляют поиск соответствующей ему записи в таблице потоков по его сигнатуре, при ее нахождении обновляют значение её временной метки.
5. Способ по nl , характеризующийся тем, что если в таблице коммутационного устройства не осталось свободного места, удаляют запись с самой старой временной меткой.
6. Система организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения, содержащая:
• по крайней мере, одно устройство обработки команд;
• по крайней мере, одно устройство хранения данных;
• одну или более компьютерных программ, загружаемых в, по крайней мере, одно вышеупомянутое устройство хранения данных и выполняемых на, по крайне мере, одном из вышеупомянутых устройств обработки команд, при этом одна или более компьютерных программ содержат инструкции для выполнения способа по любому из п.п.1-5.
7. Машиночитаемый носитель данных, содержащий исполняемые одним или более процессором машиночитаемые инструкции, которые при их исполнении реализуют выполнение способа организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения по любому из п.п.1-5.
PCT/RU2017/000452 2017-09-11 2017-09-11 Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения WO2019050423A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/RU2017/000452 WO2019050423A1 (ru) 2017-09-11 2017-09-11 Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2017/000452 WO2019050423A1 (ru) 2017-09-11 2017-09-11 Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения

Publications (1)

Publication Number Publication Date
WO2019050423A1 true WO2019050423A1 (ru) 2019-03-14

Family

ID=65634465

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2017/000452 WO2019050423A1 (ru) 2017-09-11 2017-09-11 Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения

Country Status (1)

Country Link
WO (1) WO2019050423A1 (ru)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070195797A1 (en) * 2006-02-23 2007-08-23 Patel Alpesh S Network device that determines application-level network latency by monitoring option values in a transport layer message
US7937492B1 (en) * 2008-09-30 2011-05-03 Juniper Networks, Inc. LSP ping and traceroute for bypass tunnels
US20130332601A1 (en) * 2012-06-06 2013-12-12 Juniper Networks, Inc. Dynamic logging

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070195797A1 (en) * 2006-02-23 2007-08-23 Patel Alpesh S Network device that determines application-level network latency by monitoring option values in a transport layer message
US7937492B1 (en) * 2008-09-30 2011-05-03 Juniper Networks, Inc. LSP ping and traceroute for bypass tunnels
US20130332601A1 (en) * 2012-06-06 2013-12-12 Juniper Networks, Inc. Dynamic logging
WO2013184846A1 (en) * 2012-06-06 2013-12-12 Juniper Networks, Inc. Physical path determination for virtual network packet flows

Similar Documents

Publication Publication Date Title
US11811663B2 (en) Network traffic load balancing
US9602428B2 (en) Method and apparatus for locality sensitive hash-based load balancing
EP2904745B1 (en) Method and apparatus for accelerating forwarding in software-defined networks
US8799507B2 (en) Longest prefix match searches with variable numbers of prefixes
US10404621B2 (en) Scalable InfiniBand packet-routing technique
EP2926513B1 (en) Packet prioritization in a software-defined network implementing openflow
EP3164970B1 (en) A method and system for compressing forward state of a data network
US10778588B1 (en) Load balancing for multipath groups routed flows by re-associating routes to multipath groups
US9106443B2 (en) Forwarding table optimization with flow data
RU2612599C1 (ru) Устройство управления, система связи, способ управления коммутаторами и программа
US10693790B1 (en) Load balancing for multipath group routed flows by re-routing the congested route
US9049131B2 (en) Network system and load balancing method
US9590922B2 (en) Programmable and high performance switch for data center networks
CN104821890A (zh) 一种基于普通交换芯片的OpenFlow多级流表的实现方法
WO2014179390A1 (en) Low-cost flow matching in software defined networks without tcams
US9385939B2 (en) Method and a controller system for configuring a software-defined network
US20150341267A1 (en) Control apparatus, communication apparatus, communication system, switch control method, and program
JPWO2013039083A1 (ja) 通信システム、制御装置および通信方法
JP6007972B2 (ja) 通信ノード、パケット処理方法及びプログラム
Miguel-Alonso A research review of OpenFlow for datacenter networking
KR101707355B1 (ko) 통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램
US10218612B2 (en) Method and a device for defining implementation of a look-up table for a network element of a software-defined network
RU2675148C1 (ru) Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения
WO2019050423A1 (ru) Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения
CN108337181B (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: 17924276

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: 17924276

Country of ref document: EP

Kind code of ref document: A1