RU2694585C1 - Method of creating a secure l2-connection between packet switched networks - Google Patents

Method of creating a secure l2-connection between packet switched networks Download PDF

Info

Publication number
RU2694585C1
RU2694585C1 RU2018135893A RU2018135893A RU2694585C1 RU 2694585 C1 RU2694585 C1 RU 2694585C1 RU 2018135893 A RU2018135893 A RU 2018135893A RU 2018135893 A RU2018135893 A RU 2018135893A RU 2694585 C1 RU2694585 C1 RU 2694585C1
Authority
RU
Russia
Prior art keywords
switch
controller
send
arp
network
Prior art date
Application number
RU2018135893A
Other languages
Russian (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 RU2018135893A priority Critical patent/RU2694585C1/en
Application granted granted Critical
Publication of RU2694585C1 publication Critical patent/RU2694585C1/en

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

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

Abstract

FIELD: computer equipment.
SUBSTANCE: method comprises steps of: generating key information for all crypto routers; selecting in each network ranges of IP addresses for installed devices, as well as ranges of IP addresses which are tunneled by crypto routers; key information is loaded onto crypt router devices; configuring on the crypto-router IP-addresses; configuring on the crypto-routers allocated ranges of tunneled IP-addresses; creating on each switch two virtual ports: a port for encapsulating / decapsulating network packets into tunneling protocol headers; L3 level port serving as tunnel end IP interface; configuring all IP address switches on network interfaces; setting IP address of controller on switches; creating on the controller a configuration file containing values of the following constants: timeout of rules in flow tables, statistics request interval, duration of one iteration of statistics collection.
EFFECT: possibility of creating a cluster of crypto routers without restrictions on their number.
1 cl, 1 dwg, 10 tbl

Description

Область техники, к которой относится изобретениеThe technical field to which the invention relates.

Предполагаемое изобретение относится к области сетевых технологий, программно-конфигурируемых сетей и криптографической защиты информации.The alleged invention relates to the field of network technologies, software-configured networks and cryptographic protection of information.

Уровень техникиThe level of technology

Для защиты каналов связи между сетями или центрами обработки данных (ЦОД) используются средства шифрования сетевого трафика. При этом для обеспечения прохождения данных через сегменты глобальной открытой сети применяются шифраторы, работающие на сетевом (L3) уровне эталонной модели ISO/OSI и имеющие возможность выполнять маршрутизацию шифрованного трафика. Такие устройства обычно называют криптографическими маршрутизаторами или крип-томаршрутизаторами. Поскольку криптомаршрутизаторы теряют часть пропускной способности за счет необходимости шифрования и расшифрования трафика, то для увеличения пропускной способности канала связи и его отказоустойчивости применяют технологии масштабирования защищенных каналов связи.To protect communication channels between networks or data processing centers (DPCs), means of encrypting network traffic are used. At the same time, to ensure the passage of data through the global open network segments, encoders are used that operate at the network (L3) level of the ISO / OSI reference model and are able to route encrypted traffic. Such devices are usually called cryptographic routers or crypto-routers. Since crypto routers lose part of their bandwidth due to the need to encrypt and decrypt traffic, scaling technologies of secure communication channels are used to increase the bandwidth of the communication channel and its fault tolerance.

Также актуальной является задача создания защищенного соединения между сетями на канальном уровне (L2) эталонной модели ISO/OSI, что позволяет объединять несвязанные локальные сети в одну локальную сеть и обеспечивает свободное прохождение трафика канального уровня (ARP, LLDP и др.), миграцию хостов и др. Для этого используются протоколы туннелирования, такие как GRE и VXLAN.Also relevant is the task of creating a secure connection between networks at the data link layer (L2) of the ISO / OSI reference model, which allows you to combine unrelated local networks into one local network and ensures free flow of data link traffic (ARP, LLDP, etc.), migration of hosts and others. For this, tunneling protocols such as GRE and VXLAN are used.

Известен метод балансировки нагрузки с использованием программно-конфигурируемых сетей, являющийся составной частью способа (патент РФ №2576488, приоритет от 17.02.2015 г.), согласно которому транзитная сеть, построенная на базе технологии программно-конфигурируемых сетей (ПКС), включает следующие основные компоненты: OpenFlow-коммутаторы (барьерные коммутаторы), серверы верификации приходящего извне сети трафика, контроллер ПКС, сервер аутентификации. Транзитная сеть является промежуточным звеном передачи пакетов между пользовательскими терминалами и защищаемыми серверами.A known method of load balancing using software-configured networks, which is an integral part of the method (RF patent No. 2576488, priority from 02/17/2015), according to which the transit network, built on the basis of software-configured networks technology (PKS), includes the following components: OpenFlow switches (barrier switches), traffic verification servers coming from outside the network, PKS controller, authentication server. The transit network is an intermediate of packet transmission between user terminals and protected servers.

Структура контроллера включает в себя следующие блоки: блок сбора статистики, блок управления присутствием, блок генерации правил маршрутизации, блок переопределения адресов, коммутационный блок. Балансировка нагрузки осуществляется на основании статистики загрузки, которая собирается блоком сбора статистики путем опроса барьерных коммутаторов и серверов верификации через равные заданные промежутки времени. Статистические данные, получаемые контроллером от барьерных коммутаторов, представляют собой значения счетчиков входящих пакетов, а от серверов верификации - общая загрузка процессора и расход оперативной памяти. На основании этих данных реализуются методы равномерного распределения нагрузки, блок генерации правил маршрутизации генерирует правила маршрутизации и пересылает их на барьерные коммутаторы. Блок управления присутствием отвечает за отслеживание появления новых коммутаторов и серверов верификации в транзитной сети и перевод в «спящий» режим простаивающих серверов верификации. Блок реализует стратегию максимального использования ресурсов, смысл которой заключается в уплотнении задач верификации пакетов на серверах верификации и выведения из процесса простаивающего оборудования. Решение о переводе в «спящий» режим производится на основании статистики, получаемой от блока сбора статистики. Блок переназначения адреса используется при инициализации сети и отвечает за отправку барьерным коммутаторам команд на изменение своего IP-адреса.The structure of the controller includes the following units: a statistics collection unit, a presence control unit, a routing rule generation unit, an address rewriting unit, a switching unit. Load balancing is carried out on the basis of load statistics, which is collected by the statistics collection unit by polling barrier switches and verification servers at equal specified intervals. The statistical data received by the controller from the barrier switches are the values of the incoming packet counters, and from the verification servers, the total processor load and RAM consumption. Based on this data, methods of equal load distribution are implemented, the block of routing rules generation generates routing rules and sends them to barrier switches. The presence control unit is responsible for tracking the appearance of new switches and verification servers in the transit network and putting idle verification servers into sleep mode. The block implements the strategy of maximizing the use of resources, the meaning of which is to condense the tasks of verifying packages on the verification servers and removing idle equipment from the process. The decision to transfer to “sleep” mode is made on the basis of statistics received from the statistics collection unit. The address reassignment block is used during network initialization and is responsible for sending to the barrier switches commands to change its IP address.

Барьерные коммутаторы представляют собой управляемые коммутаторы, поддерживающие протокол OpenFlow 1.3, и включают следующие основные компоненты: репозиторий правил маршрутизации, блок управления пакетами, блок обработки команд от контроллера, блок переназначения адреса. Основная задача коммутаторов заключается в распределении входящих пакетов на сервера верификации на основании правил, содержащихся в репозиторий правил маршрутизации. Блок обработки команд является центральным в структуре коммутатора и предназначен для обработки управляющих команд от контроллера ПКС.Barrier switches are managed switches that support the OpenFlow 1.3 protocol and include the following main components: the routing rules repository, the packet control block, the command processing block from the controller, the address remapping block. The main task of switches is to distribute incoming packets to the verification servers based on the rules contained in the repository of routing rules. The command processing block is central in the switch structure and is intended for processing control commands from the PKS controller.

Принцип работы транзитной сети заключается в следующем. Пользовательский терминал посылает сетевой пакет одному из барьерных коммутаторов. Пусть среди правил маршрутизации барьерного коммутатора отсутствует правило для обработки пакетов от данного пользовательского терминала. В результате, коммутатор отсылает заголовок пакета контроллеру. Сам пакет сохраняется на барьерном коммутаторе в ожидании управляющих команд от контроллера. Последний принимает пакет и, опираясь на статистику загрузки серверов верификации, генерирует правило маршрутизации, согласно которому все пакеты, приходящие от данного пользовательского терминала, будут перенаправляться соответствующему серверу верификации. Данное правило по каналу управления передается коммутатору. После этого сохраненные в кэше коммутатора пакеты потока отправляются выбранному серверу верификации. Далее выполняется анализ пакета на сервере верификации и, в случае его легитимности, дальнейшая маршрутизация пакета целевому защищаемому серверу. Обратный трафик от сервера возвращается пользовательскому терминалу по тому же самому маршруту.The principle of operation of the transit network is as follows. The user terminal sends the network packet to one of the barrier switches. Suppose that there is no rule for processing packets from a given user terminal among the barrier switch routing rules. As a result, the switch sends the packet header to the controller. The packet itself is stored on the barrier switch, awaiting control commands from the controller. The latter accepts the packet and, based on the download statistics of the verification servers, generates a routing rule, according to which all packets coming from this user terminal will be redirected to the corresponding verification server. This rule is transmitted through the control channel to the switch. After that, the packet packets stored in the switch cache are sent to the selected verification server. Next, the packet is analyzed on the verification server and, if it is legitimate, the packet is further routed to the target protected server. Reverse traffic from the server is returned to the user terminal along the same route.

Описанный способ имеет следующие недостатки:The described method has the following disadvantages:

- способ не может быть применен для создания защищенного L2-соединения между сетями. В частности, по причине отсутствия поддержки протоколов туннелирования GRE, VXLAN;- the method cannot be applied to create a secure L2 connection between networks. In particular, due to the lack of support for the GRE, VXLAN tunneling protocols;

- способ не может быть применен для криптошлюзов с разными ключевыми наборами и при необходимости отправить зашифрованный пакет на корректный криптошлюз для расшифрования.- the method cannot be applied to crypto-gateways with different key sets and, if necessary, send the encrypted packet to the correct crypto-gateway for decryption.

Известен также способ соединения нескольких ЦОД на уровне L2 при помощи защищенных высокопроизводительных каналов связи с использованием технологии L2OverIP (статья по адресу: https://www.anti-malware.ru/analytics/Technology_Analysis/ViPNet_Coordinator_HW).There is also a known method of connecting several data centers at the L2 level using secure high-performance communication channels using L2OverIP technology (article at: https://www.anti-malware.ru/analytics/Technology_Analysis/ViPNet_Coordinator_HW).

Технология построения защищенной сети L20verIP позволяет организовать защищенное обмен для распределенных локальных сетей, использующих единое адресное пространство на канальном уровне (L2) сетевой модели OSI. Технология поддерживает обмен данными любых протоколов сетевого уровня через зашифрованное IP-соединение. С помощью L2OverIP узлы из разных сетевых сегментов могут взаимодействовать друг с другом так, как будто они находятся в одном сегменте локальной сети с прямой видимостью по МАС-адресам.The technology of building a secure network L20verIP allows you to organize a secure exchange for distributed local networks using a single address space at the data link layer (L2) of the OSI network model. The technology supports the exchange of data of any network layer protocols via an encrypted IP connection. Using L2OverIP, nodes from different network segments can interact with each other as if they were in the same local network segment with direct visibility by MAC addresses.

В схеме для агрегации каналов используется технология EtherChannel, которая поддерживается в большинстве современных коммутаторов и обеспечивает масштабируемость зашифрованного канала. Производительность агрегированного канала можно увеличивать без его отключения за счет добавления новых физических каналов.The scheme for channel aggregation uses EtherChannel technology, which is supported in most modern switches and ensures the scalability of the encrypted channel. The performance of the aggregated channel can be increased without turning it off by adding new physical channels.

Основными компонентами схемы в каждом ЦОД являются: коммутатор, на котором выполняется агрегирование каналов; кластер криптомаршрутизаторов с поддержкой технологии L2OverIP; граничные маршрутизаторы сети. Трафик, идущий из ЦОД, распределяется по линкам агрегированного канала, зашифровывается кластером криптомаршрутизаторов и через граничные маршрутизаторы сети передается в открытую сеть. В ЦОД, где находится получатель трафика, выполняется обратная процедура.The main components of the scheme in each data center are: the switch on which the channel aggregation is performed; a cluster of crypto routers with L2OverIP technology support; boundary network routers. The traffic coming from the data center is distributed over the links of the aggregated channel, encrypted by a cluster of cryptographic routers and transmitted through the border routers of the network to the open network. In the data center where the traffic recipient is located, the reverse procedure is performed.

Этот способ принимается в качестве прототипа. Однако, известный способ имеет следующие недостатки:This method is adopted as a prototype. However, the known method has the following disadvantages:

- технология EtherChannel имеет ограничения по количеству агрегируемых каналов и, следовательно, по количеству подключаемых криптомаршрутизаторов;- EtherChannel technology has limitations on the number of aggregated channels and, therefore, on the number of connected cryptographic routers;

- агрегируемые физические каналы должны быть одинаковой производительности, что исключает возможность использования криптомаршрутизаторов с сетевыми интерфейсами разной производительности;- aggregated physical channels must be of the same performance, which excludes the possibility of using cryptographic routers with network interfaces of different performance;

- указанная технология L2OverIP поддерживается только на одинаковых криптомаршрутизаторах (производимых, в частности, компанией Инфо-ТеКС), что исключает возможность использования в схеме криптомаршрутизаторов разных производителей;- the specified L2OverIP technology is supported only on identical crypto routers (produced, in particular, by Info-TeKS), which excludes the possibility of using crypto-routers from different manufacturers in the scheme;

- способ не может быть применен, если необходима возможность миграции хостов между ЦОД без перенастройки сетевого оборудования.- the method cannot be applied if it is necessary to migrate hosts between data centers without reconfiguring network equipment.

Раскрытие изобретенияDISCLOSURE OF INVENTION

Техническим результатом являетсяThe technical result is

1) обеспечение возможности создания кластера криптомаршрутизаторов без ограничений на их количество, производительность и тип;1) ensuring the possibility of creating a cluster of crypto routers without restrictions on their number, performance and type;

2) обеспечение возможности миграции конечных устройств между соединенными сетями без необходимости перенастройки сетевых устройств.2) enabling the migration of end devices between connected networks without the need to reconfigure network devices.

Для этого предлагается способ создания защищенного L2-соединения между сетями с коммутацией пакетов, причем в сетях установлены:To this end, a method is proposed for creating a secure L2 connection between packet-switched networks, with the following networks installed:

- контроллер, подключенный ко всем сетям и выполненный с возможностью:- a controller connected to all networks and configured to:

Figure 00000001
формировать таблицы потоков, содержащие правила обработки сетевых пакетов;
Figure 00000001
create flow tables containing the rules for processing network packets;

Figure 00000001
обмениваться управляющими сообщениями с коммутаторами по установленному протоколу управления;
Figure 00000001
exchange control messages with switches according to the established control protocol;

Figure 00000001
запрашивать, получать и анализировать информацию от других сетевых устройств;
Figure 00000001
request, receive and analyze information from other network devices;

- коммутаторы, каждый из которых установлен в своей сети, подключен к ней и выполнен с возможностью:- switches, each of which is installed in its network, is connected to it and configured to:

Figure 00000001
принимать и посылать сетевые пакеты;
Figure 00000001
receive and send network packets;

Figure 00000001
обмениваться управляющими сообщениями с контроллером по установленному протоколу управления;
Figure 00000001
exchange control messages with the controller according to the established control protocol;

Figure 00000001
хранить в оперативной памяти, по крайней мере, три таблицы потоков и выполнять обработку сетевых пакетов по этим таблицам;
Figure 00000001
store in memory at least three stream tables and perform network packet processing on these tables;

Figure 00000001
обрабатывать пакеты при помощи заданной таблицы потоков;
Figure 00000001
process packets using the specified stream table;

Figure 00000001
создавать виртуальные порты с поддержкой установленного протокола туннелирования;
Figure 00000001
create virtual ports with the support of the installed tunneling protocol;

- криптографические маршрутизаторы (далее криптомаршрутизаторы), каждый из которых имеет в составе, по крайней мере, один процессор; причем в каждой сети установлено, по крайней мере, по два криптомарш-рутизатора, подключенные к своему коммутатору; каждый криптомарш-рутизатор выполнен с возможностью:- cryptographic routers (hereinafter referred to as crypto routers), each of which has at least one processor; moreover, each network has at least two cryptoMarsh-routizers connected to its switchboard; each crypto-Russian rutizator is configured to:

Figure 00000001
принимать и посылать сетевые пакеты;
Figure 00000001
receive and send network packets;

Figure 00000001
загружать ключевую информацию;
Figure 00000001
upload key information;

Figure 00000001
настраивать диапазоны туннелируемых IP-адресов;
Figure 00000001
configure tunneling IP address ranges;

Figure 00000001
шифровать, расшифровывать и маршрутизировать сетевые пакеты;
Figure 00000001
encrypt, decrypt, and route network packets;

Figure 00000001
отвечать на запросы информации от контроллера;
Figure 00000001
respond to requests for information from the controller;

- рабочие станции, установленные и подключенные каждая к своей сети и выполненные с возможностью обмениваться между собой сетевыми пакетами;- workstations installed and connected each to its network and made with the ability to exchange network packets with each other;

способ заключается в том, что:the way is that:

- формируют ключевую информацию для всех криптомаршрутизаторов;- generate key information for all cryptographic routers;

- выделяют в каждой сети диапазоны ГР-адресов для установленных устройств, а также диапазоны туннелируемых криптомаршрутизаторами IP-адресов;- allocate in each network ranges of GR-addresses for installed devices, as well as ranges of cryptographic routers IP-addresses;

- включают криптомаршрутизаторы;- include crypto routers;

- загружают на криптомаршрутизаторы ключевую информацию;- key information is uploaded to crypto routers;

- настраивают на криптомаршрутизаторах IP-адреса;- set up IP-addresses on crypto-routers;

- настраивают на криптомаршрутизаторах выделенные диапазоны туннелируемых IP-адресов;- set up dedicated ranges of tunneling IP addresses on crypto routers;

- включают коммутаторы;- include switches;

- создают на каждом коммутаторе два виртуальных порта:- create on each switch two virtual ports:

Figure 00000001
порт для инкапсуляции/декапсуляции сетевых пакетов в заголовки протокола туннелирования (далее туннельный порт);
Figure 00000001
port for encapsulation / decapsulation of network packets in the tunneling protocol headers (hereinafter the tunnel port);

Figure 00000001
порт уровня L3, служащий конечным IP-интерфейсом туннеля (далее сетевой интерфейс);
Figure 00000001
port level L3, which serves as the final IP-interface of the tunnel (hereinafter the network interface);

- настраивают на сетевых интерфейсах всех коммутаторов IP-адреса;- configure on the network interfaces of all switches IP-addresses;

- настраивают на коммутаторах IP-адрес контроллера;- configure the switch IP address of the controller;

- включают контроллер;- include the controller;

- создают на контроллере конфигурационный файл, содержащий значения следующих констант: таймаут неактивности правил в таблицах потоков, интервал запроса статистики, длительность одной итерации сбора статистики;- create on the controller a configuration file containing the values of the following constants: inactivity timeout of rules in the flow tables, statistics request interval, duration of one iteration of statistics collection;

- выполняют на контроллере регистрацию и инициализацию коммутаторов, в ходе которых загружают на каждый коммутатор три таблицы потоков с начальным набором правил:- perform on the controller the registration and initialization of switches, during which three flow tables with the initial set of rules are loaded onto each switch:

Figure 00000001
таблица 0 - предназначена для распределения по другим таблицам сетевых пакетов;
Figure 00000001
table 0 - intended for distribution to other tables of network packets;

Figure 00000001
таблица 1 - предназначена для обработки исходящих с коммутатора сетевых пакетов;
Figure 00000001
Table 1 is designed to handle outgoing network packets from the switch;

Figure 00000001
таблица 2 - предназначена для обработки приходящих на коммутатор сетевых пакетов;
Figure 00000001
Table 2 is intended for processing network packets arriving at the switch;

- вычисляют в контроллере метрики криптомаршрутизаторов, выполняя следующие действия:- calculate in the controller metrics cryptographic routers, performing the following actions:

Figure 00000001
получают значения загрузки процессоров криптомаршрутизаторов через интервал запроса статистики, в течение длительности одной итерации сбора статистики;
Figure 00000001
get the values of the load processors cryptographic routers through the interval request statistics, for the duration of one iteration of the collection of statistics;

Figure 00000001
вычисляют среднюю загрузку Li процессора каждого криптомаршрутизатора в процентах, где i - номер криптомаршрутизатора;
Figure 00000001
calculate the average load L i of the processor of each crypto-router in percent, where i is the number of the crypto-router;

Figure 00000001
вычисляют для каждого криптомаршрутизатора метрику по формуле Mi=(100-Li)/10
Figure 00000001
calculate for each crypto router a metric using the formula M i = (100-L i ) / 10

и округляют полученное значение Mi до наибольшего целого числа;and round the obtained M i to the largest integer;

Figure 00000001
создают на контроллере для каждого коммутатора пустой одномерный массив (далее массив портов);
Figure 00000001
create on the controller for each switch an empty one-dimensional array (hereinafter, an array of ports);

Figure 00000001
записывают в конец массива портов каждого коммутатора номер каждого порта коммутатора, к которому подключен i-й криптомаршрутизатор, в количестве, равном значению Mi;
Figure 00000001
write to the end of the array of ports of each switch the number of each port of the switch to which the i-th crypto-router is connected, in an amount equal to the value of M i ;

- включают рабочие станции;- include workstations;

- настраивают на рабочих станциях IP-адреса;- configure IP-addresses on workstations;

- посылают сетевой трафик (далее поток) с одной рабочей станции (далее отправитель), подключенной к своему коммутатору (далее коммутатор 1), на другую рабочую станцию (далее получатель), подключенную к своему коммутатору (далее коммутатор 2);- send network traffic (hereinafter the stream) from one workstation (hereinafter referred to as the sender) connected to its switch (hereinafter switch 1) to another workstation (hereinafter referred to as the receiver) connected to its switch (hereinafter switch 2);

- посылают от отправителя ARP-запрос для определения МАС-адреса получателя по его IP-адресу;- send an ARP request from the sender to determine the MAC address of the recipient by its IP address;

- осуществляют выбор криптомаршрутизатора и определение параметров туннеля на коммутаторе 1, выполняя следующие действия:- carry out the selection of the cryptographic router and determining the parameters of the tunnel on the switch 1, performing the following actions:

Figure 00000001
получают на коммутаторе 1 ARP-запрос от отправителя;
Figure 00000001
receive on the switch 1 ARP request from the sender;

Figure 00000001
обрабатывают ARP-запрос на коммутаторе 1 по таблице потоков 0 и отправляют ARP-запрос на контроллер для анализа;
Figure 00000001
process the ARP request on switch 1 using the flow table 0 and send an ARP request to the controller for analysis;

Figure 00000001
посылают из контроллера на коммутатор 1 команду обработать ARP-запрос по таблице потоков 1 как широковещательный;
Figure 00000001
sending from the controller to switch 1 a command to process the ARP request on the flow table 1 as a broadcast;

Figure 00000001
обрабатывают ARP-запрос на коммутаторе 1 по таблице потоков 1 и снова отправляют ARP-запрос на контроллер для анализа;
Figure 00000001
process the ARP request on switch 1 according to the flow table 1 and again send the ARP request to the controller for analysis;

Figure 00000001
определяют криптомаршрутизатор, на который нужно отправить ARP-запрос; путем случайного выбора в контроллере из массива портов коммутатора 1 выходного порта для отправки ARP-запроса;
Figure 00000001
determine the cryptographic router to which you need to send an ARP request; by randomly selecting in the controller from the array of ports of the switch 1 output port for sending an ARP request;

Figure 00000001
посылают из контроллера на коммутатор 1 команду установить правило коммутации в таблицу потоков 0 с таймаутом неактивности;
Figure 00000001
send from the controller to switch 1 a command to set the switching rule to the flow table 0 with an inactivity timeout;

Figure 00000001
посылают из контроллера на коммутатор 1 команду отправить ARP-запрос в туннельный порт с установленными параметрами туннеля;
Figure 00000001
send from the controller to switch 1 a command to send an ARP request to the tunnel port with the tunnel parameters set;

Figure 00000001
определяют на коммутаторе 1 с участием контроллера МАС-адрес удаленного интерфейса туннеля, выполняя следующие действия:
Figure 00000001
determine on the switch 1 with the participation of the controller MAC address of the remote interface of the tunnel by performing the following actions:

Figure 00000002
посылают из контроллера на коммутатор 1 команду отправить ARP-запрос из сетевого интерфейса коммутатора 1;
Figure 00000002
send from the controller to switch 1 a command to send an ARP request from the network interface of switch 1;

Figure 00000002
устанавливают при помощи искусственной подстановки в качестве МАС-адреса удаленного интерфейса туннеля МАС-адрес выбранного криптомаршрутизатора;
Figure 00000002
set using artificial substitution as the MAC address of the remote interface of the tunnel MAC address of the selected cryptographic router;

Figure 00000002
устанавливают с контроллера в таблицы потоков 0 и 1 коммутатора 1 правила коммутации с таймаутом неактивности;
Figure 00000002
from the controller, in the flow tables 0 and 1 of switch 1, the switching rules with inactivity timeout are set;

Figure 00000001
посылают из коммутатора 1 на коммутатор 2 инкапсулированный ARP-запрос отправителя;
Figure 00000001
send from switch 1 to switch 2 an encapsulated sender's ARP request;

- обрабатывают ARP-запрос отправителя на коммутаторе 2 с использованием контроллера, выполняя следующие действия:- process the sender's ARP request on switch 2 using the controller, performing the following actions:

Figure 00000001
получают на коммутаторе 2 инкапсулированный ARP-запрос отправителя и согласно начальным правилам таблицы потоков 0 отправляют в туннельный порт;
Figure 00000001
receive on the switch 2 the encapsulated ARP request of the sender and according to the initial rules the flow table 0 is sent to the tunnel port;

Figure 00000001
отправляют ARP-запрос отправителя после декапсуляции на туннельном порту коммутатора 2 согласно начальным правилам таблицы потоков 0 в таблицу потоков 2;
Figure 00000001
send the sender's ARP request after decapsulation on the tunnel port of switch 2 according to the initial rules of flow table 0 to flow table 2;

Figure 00000001
обрабатывают ARP-запрос на коммутаторе 2 по таблице потоков 2 и отправляют на контроллер для анализа;
Figure 00000001
process the ARP request on switch 2 according to the flow table 2 and send to the controller for analysis;

Figure 00000001
посылают из контроллера на коммутатор 2 следующие команды:
Figure 00000001
send the following commands from the controller to the switch 2:

Figure 00000002
отправить ARP-запрос в порт, к которому подключен получатель;
Figure 00000002
send an ARP request to the port to which the recipient is connected;

Figure 00000002
установить в таблицы потоков 0 и 2 правила коммутации с таймаутом неактивности;
Figure 00000002
establish in the flow tables 0 and 2 switching rules with an inactivity timeout;

- получают ARP-запрос на получателе;- receive ARP request to the recipient;

- отправляют с получателя отправителю ARP-ответ, содержащий МАС-адрес получателя;- send from the recipient to the sender ARP-response containing the MAC address of the recipient;

- получают ARP-ответ на коммутаторе 2;- receive ARP response on switch 2;

- осуществляют выбор криптомаршрутизатора и определение параметров туннеля на коммутаторе 2, выполняя следующие действия:- carry out the selection of the cryptographic router and determination of the parameters of the tunnel on the switch 2, performing the following actions:

Figure 00000001
обрабатывают ARP-ответ на коммутаторе 2 по таблице потоков 0 и отправляют ARP-ответ на контроллер для анализа;
Figure 00000001
process the ARP response on switch 2 according to flow table 0 and send an ARP response to the controller for analysis;

Figure 00000001
посылают из контроллера на коммутатор 2 команду обработать ARP-ответ по таблице потоков 1 как широковещательный;
Figure 00000001
sending from the controller to switch 2 a command to process the ARP reply on the flow table 1 as a broadcast;

Figure 00000001
обрабатывают ARP-ответ на коммутаторе 2 по таблице потоков 1 и снова отправляют ARP-ответ на контроллер для анализа;
Figure 00000001
process the ARP response on switch 2 according to flow table 1 and again send the ARP response to the controller for analysis;

Figure 00000001
определяют криптомаршрутизатор, на который нужно отправить ARP-ответ; путем случайного выбора в контроллере из массива портов коммутатора 2 выходного порта для отправки ARP-ответа;
Figure 00000001
determine the cryptographic router to which you need to send an ARP response; by randomly selecting in the controller from the switch port 2 array of the output port to send an ARP reply;

Figure 00000001
посылают из контроллера на коммутатор 2 команду установить правило коммутации в таблицу потоков 0 с таймаутом неактивности;
Figure 00000001
sending from the controller to switch 2 a command to establish a switching rule in the flow table 0 with an inactivity timeout;

Figure 00000001
посылают из контроллера на коммутатор 2 команду отправить ARP-ответ в туннельный порт с установленными параметрами туннеля;
Figure 00000001
sending from the controller to switch 2 a command to send an ARP reply to the tunnel port with the tunnel parameters set;

Figure 00000001
определяют на коммутаторе 2 с участием контроллера МАС-адрес удаленного интерфейса туннеля, выполняя следующие действия:
Figure 00000001
determine on the switch 2 with the participation of the controller MAC address of the remote interface of the tunnel by performing the following actions:

Figure 00000002
посылают из контроллера на коммутатор 2 команду отправить ARP-запрос из сетевого интерфейса коммутатора 2;
Figure 00000002
send from the controller to switch 2 a command to send an ARP request from the network interface of switch 2;

Figure 00000002
устанавливают при помощи искусственной подстановки в качестве МАС-адреса удаленного интерфейса туннеля МАС-адрес выбранного криптомаршрутизатора;
Figure 00000002
set using artificial substitution as the MAC address of the remote interface of the tunnel MAC address of the selected cryptographic router;

Figure 00000002
устанавливают с контроллера в таблицы потоков 0 и 1 коммутатора 2 правила коммутации с таймаутом неактивности;
Figure 00000002
from the controller, in the flow tables 0 and 1 of switch 2, the switching rules with an inactivity timeout are set;

Figure 00000001
посылают из коммутатора 2 на коммутатор 1 инкапсулированный ARP-ответ получателя;
Figure 00000001
send from switch 2 to switch 1 the recipient's encapsulated ARP response;

- получают ARP-ответ получателя на коммутаторе 1;- receive the recipient's ARP response on switch 1;

- обрабатывают ARP-ответ получателя на коммутаторе 1 с использованием контроллера, выполняя следующие действия:- process the recipient's ARP response on switch 1 using the controller by performing the following actions:

Figure 00000001
отправляют на коммутаторе 1 инкапсулированный ARP-ответ получателя согласно начальным правилам таблицы потоков 0 в туннельный порт;
Figure 00000001
send on switch 1 the encapsulated recipient ARP response according to the initial rules of the flow table 0 to the tunnel port;

Figure 00000001
отправляют ARP-ответ получателя после декапсуляции на туннельном порту коммутатора 1 согласно начальным правилам таблицы потоков 0 в таблицу потоков 2;
Figure 00000001
send the recipient's ARP response after decapsulation at the tunnel port of switch 1 according to the initial rules of flow table 0 to flow table 2;

Figure 00000001
обрабатывают ARP-ответ на коммутаторе 1 по таблице потоков 2 и отправляют на контроллер для анализа;
Figure 00000001
process the ARP response on switch 1 according to the flow table 2 and send to the controller for analysis;

Figure 00000001
посылают из контроллера на коммутатор 1 следующие команды:
Figure 00000001
The following commands are sent from the controller to switch 1:

Figure 00000002
отправить ARP-ответ в порт, к которому подключен отправитель;
Figure 00000002
send an ARP reply to the port to which the sender is connected;

Figure 00000002
установить в таблицы потоков 0 и 2 правила коммутации с таймаутом неактивности;
Figure 00000002
establish in the flow tables 0 and 2 switching rules with an inactivity timeout;

- получают ARP-ответ на отправителе;- receive an ARP response to the sender;

- передают данные потока между отправителем и получателем по сформированному L2-соединению без новых обращений к контроллеру.- transmit flow data between the sender and the recipient on the formed L2 connection without new calls to the controller.

Отличительные особенности предлагаемого изобретения заключаются в следующем.Distinctive features of the invention are as follows.

Предлагаемый способ базируется на технологии ПКС, согласно которой вся логика обработки трафика выносится на централизованный контроллер, а коммутаторы, занимаются только коммутацией потоков трафика на основании таблиц потоков, загружаемых в них контроллером по установленному протоколу (например, OpenFlow).The proposed method is based on the PKS technology, according to which all the traffic processing logic is transferred to a centralized controller, and the switches are only involved in switching traffic flows based on the flow tables loaded by the controller according to the installed protocol (for example, OpenFlow).

В предлагаемом способе каждый криптографический маршрутизатор обладает уникальным ключевым набором и туннелируемым диапазоном IP-адресов. Для того, чтобы корректно передать зашифрованный IP-пакет между парой криптомаршрутизаторов, обладающих ключами парной связи, выполняется подмена IP-адресов в заголовке исходного IP-пакета.In the proposed method, each cryptographic router has a unique key set and a tunneled range of IP addresses. In order to correctly transfer an encrypted IP packet between a pair of cryptographic routers with pairing keys, IP addresses are substituted in the header of the original IP packet.

Для объединения нескольких сетей в единую локальную сеть, а также для реализации возможности миграции виртуальных машин между сетями в способе используется протокол туннелирования (GRE), позволяющий передавать через открытую сеть трафик любого уровня в инкапсулированном виде.The method uses a tunneling protocol (GRE) to connect multiple networks into a single local area network, as well as to enable virtual machines to migrate between networks, allowing traffic of any level to be transmitted in an encapsulated form over an open network.

Распределение трафика на каждом коммутаторе происходит на основании метрик криптомаршрутизаторов, которые, в свою очередь, базируются на средней загрузке процессоров криптомаршрутизаторов за заданный промежуток времени.Traffic distribution on each switch is based on crypto-routers metrics, which, in turn, are based on the average load of crypto-routers for a given period of time.

Предлагаемый способ позволяет обслуживать случаи миграции виртуальных машин между сетями благодаря использованию таймаута неактивности правил коммутации, динамически устанавливаемых в таблицы потоков распределяющих трафик коммутаторов.The proposed method allows servicing virtual machine migrations between networks through the use of an inactive timeout for switching rules that are dynamically installed into traffic flow tables that distribute traffic to the switches.

Заявленный технический результат достигается благодаря следующему.The stated technical result is achieved due to the following.

Количество подключаемых криптомаршрутизаторов, на которые происходит балансировка полезного трафика, зависит только от количества свободных портов на коммутаторе. В случае объединения нескольких коммутаторов в стек, количество свободных портов для подключения криптомаршрутизаторов будет значительно превышать количество криптомаршрутизаторов, необходимое для создания защищенного канала 10/40/100G, что полностью покрывает современные бизнес-требования.The number of connected cryptographic routers to which the useful traffic is balanced depends only on the number of free ports on the switch. In the case of combining several switches into a stack, the number of free ports for connecting crypto routers will significantly exceed the number of crypto routers needed to create a secure 10/40 / 100G channel, which fully meets current business requirements.

Возможность объединения в кластер криптомаршрутизаторов разной производительности также определяется только наличием портов соответствующей производительности на коммутаторе. Для балансировки при распределении трафика использует метрики криптомаршрутизаторов, которые пропорциональны их производительности и загрузке.The possibility of clustering crypto routers of different performance is also determined only by the presence of ports of appropriate performance on the switch. For balancing the distribution of traffic uses cryptographic router metrics that are proportional to their performance and load.

В предлагаемом способе к криптомаршрутизаторам не предъявляются какие-либо специальные функциональные требования. Поэтому тип и производитель криптомаршрутизатора значения не имеют. Единственное условие заключается в том, чтобы пара криптомаршрутизаторов, участвующих в шифровании/расшифровании данного потока трафика, имели согласованные ключевые наборы и алгоритмы шифрования.In the proposed method, crypto routers do not have any special functional requirements. Therefore, the type and manufacturer of the cryptographic router do not matter. The only condition is that the pair of cryptographic routers involved in the encryption / decryption of this traffic stream have agreed key sets and encryption algorithms.

В случае миграции конечного устройства из одной сети (ЦОДа) в другую, прекращается поток трафика от данного конечного устройства из сети, в которой оно находилось изначально. После истечения таймаута неактивности правил, коммутирующих потоки трафика от данного конечного устройства, все правила, относящиеся к данному конечному устройству, удаляются на всех коммутаторах. Далее контроллер заново формирует и загружает на коммутаторы новые правила, отправляющие трафик из и в новую локацию мигрировавшего конечного устройства.In the case of the migration of the end device from one network (data center) to another, the flow of traffic from this end device from the network in which it was originally located is stopped. After the inactivity timeout expires, the rules that switch traffic flows from this end device, all rules related to this end device are deleted on all switches. Next, the controller re-forms and loads the new rules on the switches, which send traffic from and to the new location of the migrated end device.

Краткое описание чертежейBrief Description of the Drawings

На фигуре графического изображения приведена схема объединения трех сетей посредством защищенного канала связи.The figure of the graphic image shows the scheme of combining three networks through a secure communication channel.

Используются следующие обозначения:The following notation is used:

1, 2, 3 - соединяемые сети;1, 2, 3 - connected networks;

4, 15, 20 - конечные устройства;4, 15, 20 - end devices;

5, 14, 19 - коммутаторы;5, 14, 19 - switches;

6 - контроллер;6 - the controller;

7, 8, 12, 13, 17, 18 - криптомаршрутизаторы;7, 8, 12, 13, 17, 18 — crypto routers;

9, 11, 16 - граничные маршрутизаторы сетей (для предложенного способа несущественны);9, 11, 16 — boundary network routers (insignificant for the proposed method);

10 - глобальная сеть.10 is a global network.

Осуществление изобретенияThe implementation of the invention

Предлагаемый способ может быть реализован в следующей программно-аппаратной среде.The proposed method can be implemented in the following software and hardware environment.

В качестве коммутатора 5, 14, 19 может быть использован сервер со следующими аппаратными характеристиками:As a switch 5, 14, 19 a server with the following hardware characteristics can be used:

- процессор: один процессор Intel Xeon Е5-2620 v3 (2.40 GHz, 6 ядер);- processor: one Intel Xeon E5-2620 v3 processor (2.40 GHz, 6 cores);

- оперативная память: 8 GB;- RAM: 8 GB;

- сетевые адаптеры 10G: 3 адаптера Intel 82599ES;- 10G network adapters: 3 Intel 82599ES adapters;

- сетевые адаптеры 1G: 2 адаптера Intel I350-AM2.- 1G network adapters: 2 Intel I350-AM2 adapters.

Данная конфигурация включает один NUMA-узел с 12 логическими ядрами при включенной технологии Hyper-Threading.This configuration includes one NUMA node with 12 logical cores with Hyper-Threading technology enabled.

Сетевые адаптеры 10G используются для передачи полезного трафика. Обязательное требование для них - поддержка технологии Intel DPDK.10G network adapters are used to transmit useful traffic. A mandatory requirement for them is support for Intel DPDK technology.

Сетевые адаптеры 1G используются для управляющей связи с контроллером и администрирования коммутатора.1G network adapters are used for control communication with the controller and switch management.

Тип и объем жесткого диска коммутатора критического значения не имеют, так как в ходе работы коммутатора частых или регулярных операций чтения-записи не происходит. Достаточным является жесткий диск 250 GB, тип SATA.The type and volume of the hard disk of the switch does not have a critical value, since during the operation of the switch there are no frequent or regular read-write operations. A 250 GB hard disk, SATA type, is sufficient.

Вариант программного обеспечения коммутатора:Switch software option:

- Debian Server 8.7.1 (минимальная установка, ядро 4.10.5);- Debian Server 8.7.1 (minimal install, kernel 4.10.5);

- Open vSwitch 2.7.0;- Open vSwitch 2.7.0;

- Intel DPDK 16.11.- Intel DPDK 16.11.

Аппаратное обеспечение контроллера 6 может значительно различаться в зависимости от максимально возможной нагрузки на контроллер. Нагрузка на контроллер зависит от количества новых потоков трафика в секунду, которые контроллер должен обработать, и от сложности логики обработки каждого потока. Ключевой аппаратной характеристикой работы контроллера является мощность процессора.The hardware of the controller 6 can vary considerably depending on the maximum possible load on the controller. The load on the controller depends on the number of new traffic flows per second that the controller must handle, and on the complexity of the processing logic of each flow. A key hardware characteristic of the controller is the power of the processor.

В качестве контроллера 6 может быть использован сервер со следующими аппаратными характеристиками:As the controller 6, a server with the following hardware characteristics can be used:

- процессор: один процессор Intel Xeon Е5-2620 v3 (2.40 GHz, 6 ядер);- processor: one Intel Xeon E5-2620 v3 processor (2.40 GHz, 6 cores);

- оперативная память: 4 GB;- RAM: 4 GB;

- сетевые адаптеры 1G: 2 адаптера Intel I350-AM2;- 1G network adapters: 2 Intel I350-AM2 adapters;

- жесткий диск: 500 GB, SATA.- hard drive: 500 GB, SATA.

Сетевые адаптеры 1G используются для управляющей связи с коммутаторами и администрирования контроллера.1G network adapters are used to manage communication with switches and administer the controller.

Вариант программного обеспечения контроллера:Controller software option:

- Debian Server 8.7.1;- Debian Server 8.7.1;

- SDN-контроллер RYU;- SDN-controller RYU;

- программы, выполняющие функции создания L2-соединений и балансировки трафика.- programs that perform the functions of creating L2 connections and balancing traffic.

Сформировать программы, выполняющие функции создания L2-соединений и балансировки трафика, может специалист в области программирования (программист), компетентный в области сетевых технологий и программно-конфигурируемых сетей.To create programs that perform the functions of creating L2-connections and balancing traffic, can be an expert in the field of programming (programmer), competent in the field of network technologies and software-configured networks.

Программно-аппаратное обеспечение конечных устройств 4, 15, 20 существенного значения для реализации способа не имеет. В качестве конечного устройства может быть использован любой персональный компьютер с установленной операционной системой и подключенный к сети. Единственным требованием к конечным устройствам является возможность отправки сетевого трафика между собой.The software and hardware of the end devices 4, 15, 20 is not essential for the implementation of the method. The end device can be used by any personal computer with an installed operating system and connected to the network. The only requirement for end devices is the ability to send network traffic between them.

Программно-аппаратное обеспечение криптомаршрутизаторов 7, 8, 12, 13, 17, 18 может быть различным, так как предлагаемый способ предназначен для одновременного использования криптомаршрутизаторов разной производительности. Варианты криптомаршрутизаторов, которые могут быть использованы в предлагаемой схеме, могут быть найдены (материал по адресу: https://infotecs.ru/product/setevye-komponenty/vipnet-coordinator-hw/).Software and hardware of crypto routers 7, 8, 12, 13, 17, 18 can be different, since the proposed method is intended for simultaneous use of crypto routers of different performance. Variants of crypto routers that can be used in the proposed scheme can be found (material at: https://infotecs.ru/product/setevye-komponenty/vipnet-coordinator-hw/).

На фигуре графического изображения представлена схема соединения трех сетей 1, 2, 3 посредством защищенных каналов связи.The figure of the graphic image shows the connection scheme of three networks 1, 2, 3 through secure communication channels.

На OF-коммутаторе 5, 14, 19 (далее коммутатор) каждой сети выделяется один порт, к которому подключается внутренняя локальная сеть. Будем считать, что этот порт имеет номер 01, и в дальнейшем будем называть такой порт портом доступа и обозначать как eth01.On the OF switch 5, 14, 19 (hereinafter the switch) each network is allocated one port to which the internal local network is connected. We assume that this port has the number 01, and in the future we will call this port an access port and denoted as eth01.

Также, на коммутаторе выделяется специальный порт, который выполняет инкапсуляцию/декапсуляцию Ethernet-фреймов, идущих из/в локальную сеть соответственно. Этот порт будем называть туннельным и считать, что туннельный порт имеет номер 02.Also, a special port is allocated on the switch, which performs encapsulation / decapsulation of Ethernet frames going from / to the local network, respectively. We will call this port a tunnel port and assume that the tunnel port is number 02.

Для создания туннелей требуется также IP-интерфейс на коммутаторе. Примем, что этот интерфейс будет иметь номер 03, называть такой интерфейс будем сетевым.Tunnel creation also requires an IP interface on the switch. We assume that this interface will have the number 03, we will call this interface network.

Порт коммутатора, к которому подключается граничный маршрутизатор сети, будем называть внешним (по умолчанию номер 04).The switch port to which the boundary router of the network is connected will be called external (by default, number 04).

В схеме, представленной на фигуре графического изображения, в каждом коммутаторе используются два виртуальных порта veth04.1 и veth04.2, так как к каждому коммутатору подключены два криптомаршрутизатора. В общем случае, количество виртуальных портов коммутатора равно количеству подключенных к коммутатору криптомаршрутизаторов. Данные виртуальные порты реально не существуют в конфигурациях коммутаторов, однако, они будут использоваться в OF-таблицах (таблицах потоков). Каждый виртуальный порт отвечает за связь между парой сетей. Так будем считать, что между собой связаны следующие виртуальные порты:In the diagram presented in the figure of the graphic image, each switch uses two virtual ports, veth04.1 and veth04.2, since two cryptographic routers are connected to each switch. In general, the number of switch virtual ports is equal to the number of crypto routers connected to the switch. These virtual ports do not really exist in switch configurations; however, they will be used in OF-tables (flow tables). Each virtual port is responsible for communication between a pair of networks. So we will assume that the following virtual ports are interconnected:

- veth04.1 коммутатора сети 1 и veth04.1 коммутатора сети 2;- veth04.1 network switch 1 and veth04.1 network switch 2;

- veth04.2 коммутатора сети 1 и veth04.2 коммутатора сети 3;- veth04.2 network switch 1 and veth04.2 network switch 3;

- veth04.2 коммутатора сети 2 и veth04.1 коммутатора сети 3.- veth04.2 network switch 2 and veth04.1 network switch 3.

Связь между каждыми двумя сетями осуществляется напрямую, т.е. обрыв канала между парой сетей не предполагает изменение пути прохождения трафика через третью сеть. Далее вместо термина «сеть» будем использовать термин «ЦОД» аналогично прототипу.The connection between each two networks is direct, i.e. Breaking a channel between a pair of networks does not imply a change in the traffic path through the third network Further, instead of the term “network”, we will use the term “Data Center” in the same way as the prototype.

Опишем схему связи между ЦОД1 и ЦОД2 через GRE-туннель. Зададим на интерфейсах следующие IP-адреса. GRE-туннель будет создаваться между сетевыми интерфейсами OF-коммутаторов. Одна граница GRE-туннеля будет иметь сетевой адрес 172.16.101.2, а вторая - 172.16.102.2.We describe the communication scheme between data center 1 and data center 2 through a GRE tunnel. We set the following IP addresses on the interfaces. A GRE tunnel will be created between the network interfaces of the OF switches. One border of the GRE tunnel will have a network address of 172.16.101.2, and the second - 172.16.102.2.

Далее рассмотрим логику работы SDN-контроллера на примере прохождения ICMP-трафика между конечным устройством 4 client в ЦОД1 и конечным устройством 15 server в ЦОД2. Начнем с заполнения ARP-таблиц.Next, we consider the logic of the SDN controller operation by the example of ICMP traffic passing between the end device 4 client in DC1 and the end device 15 server in DC2. Let's start with filling in ARP tables.

1. Клиентская рабочая станция client отсылает в сторону OF-коммутатора 5 ARP-запрос для установления аппаратного адреса сервера server.1. The client's client workstation sends an ARP request to the OF-switch 5 to establish the hardware address of the server server.

2. ARP-запрос поступает в порт eth01 OF-коммутатора. Коммутатор в свою очередь должен отправить его широковещательно в другие ЦОД, т.к. в начальный момент времени расположение сервера неизвестно. Далее рассмотрим прохождения трафика только к ЦОД2.2. ARP request arrives at port eth01 of the OF switch. The switch, in turn, must send it to other data centers, because at the initial moment of time the location of the server is unknown. Next, we consider the passage of traffic only to DC 2.

3. Для отправки ARP-запроса OF-коммутатор посылает его в туннельный порт eth02. Туннельный порт, инструктируемый SDN-контроллером, динамически создает GRE-туннель, устанавливая адрес отправителя 172.16.101.2, а адрес получателя 172.16.102.2.3. To send an ARP request, the OF switch sends it to the tunnel port eth02. The tunnel port instructed by the SDN controller dynamically creates the GRE tunnel, setting the sender address 172.16.101.2, and the destination address 172.16.102.2.

4. Предполагая, что все маршруты в другие ЦОД проходят через интерфейс eth03, ARP-запрос должен быть отправлен именно в этот интерфейс после упаковки в заголовки туннельного протокола. Однако, здесь возникнет проблема: для формирования Ethernet-фрейма, содержащего IP-пакет с адресом получателя 172.16.102.2, требуется знать аппаратный адрес получателя. В итоге контроллером 6 будет сформирован ARP-запрос от имени адреса 172.16.101.2. Этот ARP-запрос также будет отправлен через интерфейс eth03.4. Assuming that all routes to other data centers pass through interface eth03, an ARP request should be sent to this interface after packaging into the headers of the tunnel protocol. However, a problem will arise here: to form an Ethernet frame containing an IP packet with the destination address 172.16.102.2, you need to know the hardware address of the destination. As a result, the controller 6 will form an ARP request on behalf of the address 172.16.101.2. This ARP request will also be sent through the eth03 interface.

5. Для обработки этого ARP-запроса OF-коммутатор должен заменить IP-адрес, для которого запрашивается аппаратный адрес, на адрес шлюза 9 локальной сети ЦОД1 172.16.101.1 и далее отправить запрос во внешний интерфейс eth04.5. To process this ARP request, the OF switch must replace the IP address for which the hardware address is being requested with the address of the gateway 9 of the local data center1 172.16.101.1 network and then send the request to the external interface eth04.

6. В итоге на шлюз 9 поступит запрос отправить узлу 172.16.101.2 аппаратный адрес шлюза. Шлюз сформирует ARP-ответ в сторону узла 172.16.101.2. Этот ответ должен поступить в интерфейс eth04 OF-коммутатора.6. As a result, the gateway 9 will receive a request to send the hardware address of the gateway to node 172.16.101.2. The gateway will generate an ARP response towards the node 172.16.101.2. This response should go to interface eth04 of the switch.

7. На OF-коммутаторе в полученном от шлюза ARP-ответе необходимо заменить адрес отправителя на адрес 172.16.102.2, для которого реально отправлялся ARP-запрос, а также отправить измененный ответ в интерфейс eth03, через который запрашивался аппаратный адрес узла 172.16.102.2.7. On the OF switch in the ARP reply received from the gateway, you must replace the sender's address with the address 172.16.102.2 for which the ARP request was actually sent, and also send the modified answer to the eth03 interface, through which the node's 172.16.102.2 hardware address was requested.

8. После получения ARP-ответа для адреса 172.16.102.2 в сетевой интерфейс eth03 поступит GRE-пакет, инкапсулирующий исходный ARP-запрос клиента client. Заметим, что аппаратный адрес получателя в этом GRE-пакете будет равен аппаратному адресу интерфейса маршрутизатора 9.8. After receiving the ARP response for the address 172.16.102.2, the GRE interface comes to the eth03 network interface and encapsulates the original ARP request from the client. Note that the hardware address of the receiver in this GRE packet will be equal to the hardware interface address of the router 9.

9. GRE-пакет, попав в ЦОД2, поступает во внешний порт eth04 OF-коммутатора 14 и далее пересылается в туннельный порт eth02, где происходит декапсуляция, и исходный ARP-запрос клиента client отправляется OF-коммутатором в порт доступа eth01, из которого он попадает к серверу server.9. The GRE packet arrives at Data Center 2 and goes to the external port eth04 of the OF switch 14 and then is sent to the tunnel port of eth02, where decapsulation occurs, and the original ARP client request is sent by the OF switch to the access port eth01, from which it gets to server server.

10. Обратный ARP-ответ от сервера проходит описанный путь с очевидными изменениями IP и аппаратных адресов.10. The reverse ARP response from the server passes the described path with obvious changes in IP and hardware addresses.

Рассмотрим конфигурацию OF-таблиц и действия контроллера 6. В каждом OF-коммутаторе будут использоваться три таблицы: таблица с номером 0, 1 и 2. Опишем таблицу с номером 0 после инициализации OF-коммутатора. Разделим таблицу потоков на несколько логических частей. Часть, которая описывает обработку GRE-трафика, выглядит, как показано в табл. 1 (здесь и далее несущественные для алгоритма параметры OF-записей опущены).Consider the configuration of the OF-tables and the actions of the controller 6. Each OF-switch will use three tables: a table with the numbers 0, 1 and 2. We describe the table with the number 0 after the initialization of the OF-switch. We divide the flow table into several logical parts. The part that describes the processing of GRE traffic looks as shown in Table. 1 (hereinafter, the parameters of OF records that are not essential for the algorithm are omitted).

Figure 00000003
Figure 00000003

Первое правило таблицы (напомним, что чем ниже правило в таблице, тем его приоритет выше) означает, что каждый входящий пакет необходимо считать пакетом нового потока и отправлять на контроллер для принятия решения об обработке нового потока.The first rule of the table (recall that the lower the rule in the table, the higher its priority) means that each incoming packet must be considered a packet of a new stream and sent to the controller to make a decision on processing a new stream.

Второе правило определяет, как должен обрабатываться исходящий туннельный трафик (в данном случае GRE). Его необходимо послать в выходной интерфейс OF-коммутатора в сторону граничного маршрутизатора.The second rule defines how outgoing tunnel traffic should be handled (in this case, GRE). It must be sent to the output interface of the OF switch in the direction of the border router.

Правило 3 отправляет входящий туннельный трафик в туннельный интерфейс для распаковки.Rule 3 sends incoming tunnel traffic to the tunnel interface for decompression.

Правила 4 и 5 определяют обработку распакованного GRE-трафика, перенаправляя его в соответствующие порты таблицы 2 в зависимости от адреса отправителя. Это происходит с помощью действия resubmit, которое запускает процедуру обработки трафика OF-коммутатором таблицей с номером 2.Rules 4 and 5 determine the processing of unpacked GRE traffic, redirecting it to the appropriate ports of Table 2, depending on the sender's address. This is done using the resubmit action, which starts the procedure for processing the OF-switch traffic with table number 2.

Правило resubmit позволяет указать не только номер таблицы, но и номер порта. В этом случае поток будет обработан новой таблицей, и при этом коммутатор будет считать, что поток пришел из порта, указанного в команде resubmit. Для примера, если выполняется команда resubmit (2, 4.1), то коммутатор запустит обработку потока таблицей 2 и в правилах будет «считать», что поток пришел из порта 4.1. Можно сказать, что действие resubmit позволяет не отправить поток на другой коммутатор, а отправить его в тот же, но в другой порт и другую таблицу. Заметим, что дополнительная классификация входящего трафика необходима для определения номера ЦОД, из которого пришел трафик.The resubmit rule allows you to specify not only the table number, but also the port number. In this case, the flow will be processed by a new table, and in doing so, the switch will assume that the flow has come from the port specified in the resubmit command. For example, if the resubmit (2, 4.1) command is executed, the switch will start processing the flow with table 2 and in the rules it will “assume” that the flow came from port 4.1. We can say that the resubmit action allows us not to send the stream to another switch, but to send it to the same, but to a different port and another table. Note that the additional classification of incoming traffic is necessary to determine the data center number from which traffic came.

Вторая часть таблицы потоков 0 отвечает за обработку ARP-трафика (табл. 2).The second part of the stream table 0 is responsible for processing ARP traffic (Table 2).

Figure 00000004
Figure 00000004

Первая строка указывает, что необходимо во всех ARP-запросах, приходящих от сетевого интерфейса коммутатора, подменять IP-адрес назначения на 172.16.101.1 (адрес шлюза), и отправлять запрос во внешний порт eth04 к граничному маршрутизатору. Вторая строка обеспечивает передачу ARP-ответов от граничного маршрутизатора с обратной заменой целевого адреса, третья позволяет направлять все ARP-запросы, приходящие от граничного маршрутизатора к сетевому интерфейсу OF-коммутатора, а четвертая отвечает за передачу всех ARP-ответов от сетевого интерфейса eth03 к граничному маршрутизатору.The first line indicates that it is necessary in all ARP requests coming from the network interface of the switch to replace the destination IP address with 172.16.101.1 (gateway address), and send the request to the external port eth04 to the border router. The second line sends ARP responses from the border router with a reverse substitution of the target address, the third allows you to forward all ARP requests coming from the border router to the OF switch network interface, and the fourth is responsible for sending all ARP responses from the eth03 network interface to the border the router.

Таблица потоков с номером 1 обрабатывает трафик, идущий из локальной сети. Она описывает правила туннелирования трафика и зависит от используемого протокола туннелирования. Например, для GRE туннеля может указываться локальный адрес туннеля, удаленный адрес туннеля и идентификатор туннеля. В табл. 3 показана таблица потоков 1 для OF-коммутатора в случае использования протокола GRE.The flow table with the number 1 handles traffic coming from the local network. It describes the traffic tunneling rules and depends on the tunneling protocol used. For example, for a GRE tunnel, the local tunnel address, remote tunnel address, and tunnel identifier can be specified. In tab. 3 shows the flow table 1 for the OF switch in the case of using the GRE protocol.

Figure 00000005
Figure 00000005

В таблице потоков 1 для каждого OF-коммутатора нужно правильно задать параметры GRE туннеля: адрес получателя и отправителя. Каждая запись фактически указывает, что трафик, приходящий в таблицу 1 с порта IN_PORT, должен быть отправлен в туннельный порт, при инкапсуляции в котором должны быть использованы указанные в инструкциях set_field значения параметров. Первая запись обеспечивает связь с ЦОД2 через порт veth04.1, а вторая - с ЦОД3 через порт veth04.2. Таким образом, после прохождения через таблицу потоков 1 поток будет инкапсулирован в заголовки протокола GRE и отправлен на граничный маршрутазатор через туннельный порт eth02. Однако, как уже отмечалось, Ethernet-трафик выйдет не из туннельного порта, а из сетевого интерфейса eth03, куда он будет передан через стек TCP/IP после GRE-инкапсуляции.In the flow table 1 for each OF switch, you must correctly set the GRE parameters of the tunnel: the address of the recipient and the sender. Each entry actually indicates that the traffic coming to Table 1 from the IN_PORT port should be sent to the tunnel port, during encapsulation in which the parameter values specified in the instructions set_field should be used. The first entry provides communication with the data center 2 through the port veth04.1, and the second - with the data center 3 through the port veth04.2. Thus, after passing through the flow table 1, the stream will be encapsulated in the GRE protocol headers and sent to the border router through the tunnel port eth02. However, as already noted, the Ethernet traffic will not come out of the tunnel port, but from the eth03 network interface, where it will be sent via the TCP / IP stack after GRE encapsulation.

Таблица потоков 2 OF-коммутатора (табл. 4) служит для обработки трафика, идущего в локальную сеть. После инициализации в этой таблице содержится только одно правило.The flow table of the 2 OF switch (Table 4) serves to process the traffic going to the local network. After initialization, this table contains only one rule.

Figure 00000006
Figure 00000006

Опишем базовый алгоритм работы контроллера 6. В алгоритме используются таблицы потоков №0, 1, 2 (далее таблицы), описанные выше. Ссылка на пример обсуждаемой таблицы потоков обозначается как «табл.».We describe the basic algorithm of operation of the controller 6. The algorithm uses the flow tables №0, 1, 2 (hereinafter referred to as the tables) described above. The reference to the example of the discussed flow table is referred to as “table.”

1. В начальный момент времени на рабочей станции client пользователь вводит команду ping server.1. At the initial moment of time at the client workstation, the user enters the ping server command.

2. Предполагаем, что раньше связи между двумя узлами не было, и рабочая станция обращается к серверу впервые. В этом случае рабочая станция для формирования Ethernet-фрейма должна узнать МАС-адрес сервера по его IP-адресу. Следовательно, с рабочей станции отправляется широковещательный ARP-запрос, который попадает на OF-коммутатор ЦОД1.2. We assume that before there was no connection between the two nodes, and the workstation is accessing the server for the first time. In this case, the workstation to form the Ethernet frame should find out the MAC address of the server by its IP address. Consequently, a broadcast ARP request is sent from the workstation, which goes to the OFC data center switch1.

3. Как ранее уже указывалось, в начальный момент времени в таблице 0 OF-коммутатора стоит правило, отправляющее первый пакет каждого нового потока на контроллер. ARP-запрос от рабочей станции коммутатор воспринимает как новый поток и поэтому обращается к контроллеру для получения указаний о том, как обработать данный новый поток.3. As previously indicated, at the initial moment of time in table 0 of the OF switch there is a rule that sends the first packet of each new flow to the controller. The switch sees the ARP request from the workstation as a new flow and therefore calls the controller for instructions on how to handle this new flow.

4. Контроллер, получив информацию о новом потоке, определяет, что адрес получателя ему неизвестен, поэтому на коммутатор он должен передать команду отправить этот поток во все порты, кроме входящего, т.е. запустить процесс изучения топологии. Однако, в случае использования туннелей недостаточно отправить трафик во все порты при помощи таблицы 0. Контроллер указывает OF-коммутатору ЦОД1 с помощью правила resubmit запустить процедуру обработки трафика по таблице с номером 1. Таким образом, контроллер отсылает команду обработать поток по таблице 1, считая, что он пришел последовательно из всех виртуальных портов: eth04.1 и eth04.2. В результате пакет будет отправлен по всем возможным направлениям: в ЦОД2 и в ЦОД3.4. Having received information about the new stream, the controller determines that the recipient's address is unknown to it, therefore, it must send the command to the switch to send this stream to all ports except the incoming one, i.e. start the process of studying the topology. However, in the case of using tunnels, it is not enough to send traffic to all ports using table 0. The controller indicates the OFC data center switch1 using the resubmit rule to start the traffic processing procedure on table number 1. Thus, the controller sends the command to process the stream according to table 1, counting that it came consistently from all virtual ports: eth04.1 and eth04.2. As a result, the package will be sent in all possible directions: to data center2 and data center3.

5. Получив команду от контроллера, OF-коммутатор ЦОД1 отправляет трафик в таблицу 1. Для каждого порта с номером N в этой таблице существует запись, которая указывает, что если поток пришел в порт с номером N (напомним, что в таблице 1 это - виртуальные порты), то этот поток должен быть отправлен в GRE/VXLAN порт eth02 с заданными параметрами туннеля. Пакет после попадания в туннельный порт будет упакован, и новый туннельный пакет должен быть отправлен через сетевой интерфейс eth03. Однако, для формирования Ethernet-фрейма недостаточно информации, а именно, нет указания, какой использовать аппаратный адрес получателя. В итоге от имени адреса 172.16.101.2 формируется ARP-запрос к 172.16.102.2 (либо к 172.16.103.2). Этот запрос с заменой целевого адреса поступает на граничный маршрутизатор, который в свою очередь посылает ARP-ответ, обрабатываемый на коммутаторе при помощи таблицы 0. В итоге на коммутаторе ЦОД1 формируется Ethernet-фрейм и отправляется в выходной порт eth04.5. Having received a command from the controller, the OF-DDC1 sends traffic to table 1. For each port with the number N in this table there is an entry that indicates that if the flow came to the port with the number N (recall that in table 1 this is virtual ports), then this stream should be sent to GRE / VXLAN port eth02 with the specified tunnel parameters. The packet after entering the tunnel port will be packaged, and the new tunnel packet must be sent through the eth03 network interface. However, there is not enough information to form an Ethernet frame, namely, there is no indication of which hardware address to use. As a result, an ARP request is sent to 172.16.102.2 (or to 172.16.103.2) on behalf of the address 172.16.101.2. This request with the replacement of the target address arrives at the border router, which in turn sends an ARP response processed on the switch using Table 0. As a result, an Ethernet frame is formed on the switch of DPC1 and sent to output port eth04.

6. Туннельный трафик через глобальную сеть попадает на граничные маршрутизаторы ЦОД2 и ЦОД3 и затем на туннельный порт eth02 граничного OF-коммутатора каждого ЦОД. Далее будем рассматривать только ЦОД2, т.к. в ЦОД3 события будут происходить аналогично за тем лишь исключением, что широковещательный ARP-запрос к server будет отброшен в локальной сети ЦОД3 в силу того, что на него никто не ответит. OF-коммутатор ЦОД2 в соответствии с таблицей 0 отправляет декапсулированный GRE-трафик на обработку в таблицу с номером 2.6. Tunnel traffic through the global network reaches the border routers of data center 2 and data center 3 and then to the eth02 tunnel port of the boundary OF switch of each data center. Further we will consider only DPC2, since in DPC3, events will occur similarly, with the only exception that the broadcasting ARP request to the server will be dropped in the local data center network3 due to the fact that no one will respond to it. The OFC data center switch2, in accordance with table 0, sends decapsulated GRE traffic for processing to table number 2.

7. Первоначально в таблице 2 стоит единственная запись, указывающая считать каждый приходящий пакет началом нового потока и отправлять его на анализ контроллеру. Таким образом, после попадания из туннеля в соответствующий порт таблицы 2 пакет будет отправлен для анализа на контроллер.7. Initially, in Table 2, there is a single entry indicating that each incoming packet is considered to be the beginning of a new flow and send it to the controller for analysis. Thus, after getting from the tunnel to the appropriate port of Table 2, the packet will be sent to the controller for analysis.

8. Контроллер, получив пакет, определяет МАС-адрес отправителя и фиксирует в своей МАС-таблице, что этот адрес доступен за определенным виртуальным портом (veth04.1 или veth04.2) OF-коммутатора ЦОД2. Порт определяется на основании информации, полученной от OF-коммутатора, в которой указывается, в какой конкретно порт таблицы 2 пришел пакет нового потока. В примере, пакет с МАС-адресом client придет в порт 4.1 таблицы 2. Поэтому контроллер зафиксирует запись client:4.1.8. The controller, having received the packet, determines the sender's MAC address and records in its MAC table that this address is available behind a certain virtual port (veth04.1 or veth04.2) of the data center's OF2 switch. The port is determined on the basis of information received from the OF switch, which indicates exactly which port of Table 2 the new stream packet came to. In the example, the packet with the client MAC address will come to port 4.1 of table 2. Therefore, the controller will record the client record: 4.1.

9. Контроллер передает на OF-коммутатор ЦОД2 следующие команды: отправить полученный пакет в выходной порт eth01, в таблице 0 установить запись, предписывающую отправлять весь трафик с МАС-адресом получателя client в порт 4.1 таблицы 1, которая связана с внешним портом eth04, отвечающим за связь с ЦОД1, а в таблице 2 установить запись, на основании которой OF-коммутатор должен отправлять весь трафик, приходящий с аппаратного адреса client на адрес server, в порт eth01 локальной сети. Таким образом, последнее правило предотвратит обращения к контроллеру для всех последующих пакетов данного потока. Отметим, что правило должно выставляться с таймаутом неактивности для отслеживания изменения топологии сети. Приведем итоговые записи в таблицах 0 и 2 OF-коммутатора Ц0Д2. Новые записи в таблице потоков 0 выглядят, как показано в табл. 5. Новые записи в таблице потоков 2 выглядят, как показано в табл. 6.9. The controller sends the following commands to the OFC data center 2 switch: send the received packet to the output port eth01, set an entry in table 0 that tells you to send all traffic with the MAC address of the client client to port 4.1 of table 1, which is connected to the external port eth04 that responds for communication with DPC1, and in Table 2 to establish an entry, on the basis of which the OF switch must send all traffic coming from the hardware client address to the server address to the eth01 port of the local network. Thus, the last rule will prevent calls to the controller for all subsequent packets of this stream. Note that the rule should be set with a timeout of inactivity to track changes in the network topology. We present the summary records in tables 0 and 2 of the OF-switch Ts0D2. New entries in the flow table 0 look as shown in table. 5. New entries in the table of streams 2 look as shown in table. 6

Figure 00000007
Figure 00000007

Figure 00000008
Figure 00000008

10. В результате ARP-запрос от клиента попадет в локальную сеть ЦОД2 и потом серверу.10. As a result, the ARP request from the client will go to the local data center network2 and then to the server.

11. Сервер отправит клиенту ARP-ответ, который вернется на OF-коммутатор ЦОД2.11. The server will send an ARP reply to the client, which will be returned to the OFC data center 2 switch.

12. Полученный ARP-ответ OF-коммутатор может обработать, т.к. в таблице 0 уже имеется запись, соответствующая ARP-ответу: МАС-адрес получателя в ответе равен client. Эта запись диктует отправить пакет на обработку в порт 4.1 таблицы 1. И далее, согласно правилам таблицы 1, пакет будет инкапсулирован и отправлен в ЦОД1.12. The received ARP-response OF-switch can process, because in table 0 there is already an entry corresponding to the ARP response: the MAC address of the recipient in the response is equal to client. This record dictates sending the packet for processing to port 4.1 of table 1. And further, according to the rules of table 1, the packet will be encapsulated and sent to Data Center1.

13. В результате, ARP-ответ поступит в OF-коммутатор ЦОД1. Для этого ARP-ответа повторится такая же последовательность событий, что и для ARP-запроса на OF-коммутаторе ЦОД2.13. As a result, the ARP response will go to the OF-datacenter OF1. For this ARP response, the same sequence of events will be repeated as for the ARP request on the OFC data center switch2.

14. ICMP-запрос от клиента в сторону сервера, как и ICMP-ответ от сервера, уже не вызовут обращений к контроллеру, т.к. в каждом OF-коммутаторе уже есть правила обработки данных пакетов.14. An ICMP request from a client towards the server, like an ICMP response from a server, will no longer call the controller, since Each OF switch already has packet data handling rules.

Далее опишем балансировку трафика на криптографические маршрутизаторы на примере, приведенном на фигуре графического изображения. В конфигурацию коммутаторов добавится дополнительный порт для подключения второго криптомаршрутизатора.Next, we describe the balancing of traffic to cryptographic routers using the example shown in the figure of a graphic image. An additional port will be added to the switch configuration for connecting a second crypto-router.

В каждом OF-коммутаторе будут задействованы таблицы с номерами 0, 1 и 2. Таблица 0 будет служить для классификации трафика и его распределения между криптомаршрутизаторами, таблицы 1 и 2 - для обработки трафика, соответственно исходящего и входящего в локальную сеть. Таблица с номером 0 в части обработки GRE-трафика после инициализации OF-коммутатора ЦОД1 выглядит как показано в табл. 7.Each of the OF switch will use tables with numbers 0, 1, and 2. Table 0 will serve to classify traffic and its distribution between crypto routers, tables 1 and 2 will handle traffic, respectively, outgoing and incoming to the local network. The table with the number 0 in the part of the GRE traffic processing after the initialization of the OF-DDC1 switch looks as shown in Table. 7

Figure 00000009
Figure 00000009

Частично поясним записи таблицы. В строках 2-5 в адресах IP_DST вида 172.16.М.Р буква М означает 100+номер ЦОДа, Р - номер порта, в который подключей криптомаршрутизатор. При отправке GRE-трафика в глобальную сеть заменяется IP-адрес назначения GRE-туннеля. Это сделано для упрощения настройки криптомаршрутизаторов. Последние две строки таблицы предназначены для обработки входящего в коммутатор ЦОДа 1 туннельного трафика.Partially explain the table entries. In lines 2-5 in the IP_DST addresses of the form 172.16. M.P. the letter M means 100 + data center number, P is the port number to which the crypto-router is connected. When sending GRE traffic to the global network, the destination IP address of the GRE tunnel is replaced. This is done to simplify the configuration of crypto routers. The last two rows of the table are intended for processing the tunnel traffic entering the data center switch 1.

Часть таблицы 0, отвечающая за обработку ARP-трафика (см. табл. 8), обеспечивает передачу ARP-запросов от криптомаршрутизаторов к сетевому интерфейсу eth03 OF-коммутатора, а также обратную передачу ARP-ответов. Таблица с номером 1 будет выглядеть, как показано в табл. 9.The part of table 0 responsible for processing ARP traffic (see Table 8) provides ARP requests from crypto routers to the eth03 of the switch network interface, as well as return transmission of ARP responses. Table number 1 will look as shown in Table. 9.

Figure 00000010
Figure 00000010

Figure 00000011
Figure 00000011

Дадим некоторые пояснения. Для управления прохождением трафика через криптомаршрутизатор будем использовать различные адреса удаленного интерфейса GRE-туннеля. Таким образом, IP-адрес отправителя однозначно определяет ЦОД-отправитель, а IP-адрес получателя определяет ЦОД-получатель, и через какой криптомаршрутизатор проходил трафик. Так, например, GRE-туннель вида:We give some explanations. To control the traffic passing through the crypto router, we will use different addresses of the remote GRE tunnel interface. Thus, the sender's IP address uniquely identifies the sending data center, and the recipient's IP address determines the destination data center, and through which cryptographic router the traffic passed. So, for example, a GRE tunnel like:

172.16.102.2←→172.16.103.4172.16.102.2 ← → 172.16.103.4

означает, что трафик поступает от ЦОД2, идет к ЦОД3 и проходит через криптомаршрутизатор, который подключен к порту eth04 OF-коммутатора ЦОД2. В приведенной таблице для каждого удаленного ЦОД, и для каждого криптомаршрутизатора, ведущего к нему, заданы свои адреса конечных точек GRE-туннеля. Входные виртуальные порты OF-коммутатора (первая колонка табл. 7) формируются по схеме: первая цифра - номер ЦОД, вторая цифра - номер порта, в который подключен криптомаршрутизатор.means that the traffic comes from Data Center 2, goes to Data Center 3 and passes through a cryptographic router that is connected to port eth04 of the Data Center 2 OF switch. In the following table, for each remote data center, and for each cryptographic router leading to it, their addresses of the end points of the GRE tunnel are specified. The input virtual ports of the OF-switch (the first column of Table 7) are formed according to the scheme: the first digit is the data center number, the second digit is the port number to which the crypto-router is connected.

Принят следующий базовый алгоритм работы контроллера при балансировке ICMP-трафика.The following basic algorithm of the controller operation when balancing ICMP traffic has been adopted.

1. В начальный момент времени на рабочей станции пользователь вводит команду ping server.1. At the initial moment of time at the workstation, the user enters the ping server command.

3.. Дальше повторяются шаги 2-4 описанной ранее схемы прохождения трафика без балансировки. Как и ранее рассмотрим только трафик, идущий в сторону ЦОД2.3 .. Next, repeat steps 2-4 of the previously described traffic flow scheme without balancing. As before, we consider only the traffic going to DC2.

4. В начальный момент времен в таблице 1 (ЦОД1) пакет, приходящий в порты 4.1 и 4.2, является первым пакетом нового потока, и OF-коммутатор обращается к контроллеру за инструкциями.4. At the initial moment of time in Table 1 (DPC1), the packet arriving at ports 4.1 and 4.2 is the first packet of the new flow, and the OF switch addresses the controller for instructions.

5. Контроллер, получив пакет из порта 4.1 таблицы 1 (в сторону ЦОД2), выбирает случайным образом (либо в соответствии с заданным алгоритмом балансировки) криптомаршрутизатор, через который должен пройти трафик. Пусть был выбран криптомаршрутизатор с номером 2. В этом случае контроллер отсылает OF-коммутатору команду установить правило: отправлять весь данный поток с помощью команды resubmit из таблицы 0 в таблицу 1, но в порт с номером 5.1.5. The controller, receiving a packet from port 4.1 of table 1 (in the direction of data center 2), selects at random (or in accordance with a given balancing algorithm) a crypto-router which the traffic must pass through. Let the crypto-router with number 2 be selected. In this case, the controller sends the OF-switch command to set the rule: send the entire given stream using the resubmit command from table 0 to table 1, but to port 5.1.

6. Получив команду от контроллера, OF-коммутатор отправляет трафик в туннельный порт с указанием какие параметры туннеля должны быть установлены. Однако для создания пакетного трафика недостаточно информации, а именно, нет указания какой использовать аппаратный адрес получателя. В итоге от имени адреса 172.16.101.2 формируется ARP-запрос к 172.16.102.5 и далее с помощью правил таблицы 0 он попадет на контроллер, т.к. к нему будет применима только запись с самым низким приоритетом.6. After receiving a command from the controller, the OF switch sends traffic to the tunnel port, indicating which tunnel parameters should be set. However, there is not enough information to create packet traffic, namely, there is no indication of which one to use the recipient's hardware address. As a result, an ARP request is sent to 172.16.102.5 on behalf of the address 172.16.101.2 and then using the rules of table 0, it will get to the controller, since only the entry with the lowest priority will apply to it.

7. Контроллер, получив ARP-запрос, отправит в коммутатор два OpenFlow-правила: первое правило указывает, что необходимо подменить адрес источника и адрес назначения в ARP-запросе и отправить его в порт eth05, за которым находится граничный маршрутизатор, а второе указывает сделать обратную подмену и отправить в порт eth03. Правила приведены в табл. 10.7. The controller, upon receiving an ARP request, sends two OpenFlow rules to the switch: the first rule indicates that the source address and the destination address in the ARP request must be changed and sent to port eth05, which the border router is located at, and the second one indicates reverse substitution and send to port eth03. The rules are given in table. ten.

Figure 00000012
Figure 00000012

Опишем правило формирования адресов для замены. Пусть к контроллеру поступает ARP-запрос со следующими параметрами:We describe the rule of formation of addresses for replacement. Let the controller receive an ARP request with the following parameters:

arp_spa=172.16.10N.2, arp_tpa=172.16.10М.Р,arp_spa = 172.16.10N.2, arp_tpa = 172.16.10M.R,

где N - номер ЦОД отправителя;where N is the sender's data center number;

М - номер ЦОД получателя;M - recipient data center number;

Р - номер порта OF-коммутатора ЦОДа отправителя, к которому подключей выбранный при балансировке криптомаршрутизатор.P is the port number of the OFS of the data center of the sender, to which connect the crypto-router selected during balancing.

Тогда запрос трансформируется в следующий:Then the request is transformed into the following:

arp_spa=172.16.10N.(M+1), arp_tpa=172.16.10N.1arp_spa = 172.16.10N. (M + 1), arp_tpa = 172.16.10N.1

и отправляется в порт eth0P.and sent to port eth0P.

Обратная трансформация выполняется по правилу:The reverse transformation is performed according to the rule:

ARP-ответ с параметрамиARP response with parameters

arp_spa=172.16.10N.1, arp_tpa=172.16.10N.(M+1),arp_spa = 172.16.10N.1, arp_tpa = 172.16.10N. (M + 1),

пришедший в порт eth0P, преобразуется в ARP-ответ:incoming eth0P port is converted to an ARP response:

arp_spa=172.16.10М.Р, arp_tpa=172.16.10N.2arp_spa = 172.16.10M.R, arp_tpa = 172.16.10N.2

и отправляется в порт eth03.and sent to port eth03.

8. После указанной замены в сетевой порт eth.03 будет получен ARP-ответ с аппаратным адресом выбранного граничного маршрутизатора. Теперь Ethernet-фрейм, содержащий туннельный пакет, будет сформирован и отправлен в выходной интерфейс eth05.8. After the specified replacement, the network port eth.03 will receive an ARP reply with the hardware address of the selected border router. Now the Ethernet frame containing the tunnel packet will be generated and sent to the output interface eth05.

9. Туннельный трафик через глобальную сеть попадает на граничный маршрутизатор ЦОД2 и ЦОД3 и далее на туннельный порт граничного OF-коммутатора каждого ЦОД. Это обеспечивается начальными правилами обработки ARP-запросов в OF-таблице с номером 0. Далее будем рассматривать только ЦОД2, т.к. в ЦОД3 события будут происходить аналогично за тем лишь исключением, что широковещательный ARP-запрос к server будет отброшен в локальной сети ЦОД3 в силу того, что на него никто не ответит. OF-коммутатор в соответствии с таблицей 0 отправляет распакованный GRE-трафик на обработку в таблицу с номером 2.9. Tunnel traffic through the global network goes to the border router Data Center 2 and Data Center 3 and then to the tunnel port of the boundary OF switch of each data center. This is ensured by the initial rules for processing ARP requests in the OF-table with the number 0. Next, we will consider only DC2, since in DPC3, events will occur similarly, with the only exception that the broadcasting ARP request to the server will be dropped in the local data center network3 due to the fact that no one will respond to it. The OF-switch in accordance with table 0 sends the unpacked GRE-traffic for processing in the table with the number 2.

10. Дальнейшие шаги полностью совпадают с шагами 7-11 схемы без балансировки нагрузки.10. The next steps completely coincide with steps 7-11 of the scheme without load balancing.

11. В результате на OF-коммутатор ЦОД1 придет ARP-ответ от сервера server.11. As a result, an ARP response from the server server will be sent to the OFOD1 data center switch.

12. Дальнейшие шаги почти полностью повторяют шаги 12-14 схемы без балансировки нагрузки. Отличие заключается только в том, что ARP-ответ после попадания в таблицу 1 коммутатора ЦОД2 также проходит описанную процедуру балансировки.12. Further steps almost completely repeat steps 12-14 of the circuit without load balancing. The only difference is that the ARP response after hitting the data center switch 2 in table 1 also passes the described balancing procedure.

Имеют значение настройки каждого криптографического маршрутизатора. В каждом ЦОД сетевые настройки криптографических маршрутизаторов со стороны локальной сети идентичны. Список адресов доступа на криптографических маршрутизаторах также идентичен. Фактически, в настройках указывается только один адрес доступа - локальная точка создания GRE-туннеля. Так, для криптомаршрутизаторов ЦОД1 этот адрес принят 172.16.101.2.The settings of each cryptographic router matter. In each data center, the network settings of the cryptographic routers on the LAN side are identical. The list of access addresses on cryptographic routers is also identical. In fact, only one access address is specified in the settings - the local point of creation of the GRE tunnel. So, for data center 1 crypto routers, this address is accepted as 172.16.101.2.

Дополнительно к изложенному выше алгоритму рассмотрим процесс формирования метрик, на основании которых происходит балансировка трафика на криптомаршрутизаторы.In addition to the above algorithm, we consider the process of forming metrics, on the basis of which the traffic is balanced on crypto routers.

1. Каждую секунду в течение 15 секунд специальный процесс, запущенный на контроллере, при помощи протокола SNMP опрашивает загрузку процессоров всех криптомаршрутизаторов, на которые происходит балансировка трафика.1. Every second for 15 seconds, a special process running on the controller, using the SNMP protocol, polls the processor load of all crypto-routers to which the traffic is balanced.

2. По истечении 15 секунд сбор статистики временно прекращается, и вычисляется средняя загрузка процессора каждого криптомаршрутизатора за указанный промежуток времени. Обозначим ее Li, где i - номер криптомаршрутизатора. Данный параметр будет измеряться в процентах. Если криптомаршрутизатор содержит несколько процессоров, то вычисляется средняя загрузка всех процессоров криптомаршрутизатора.2. After 15 seconds, the statistics collection is temporarily stopped, and the average processor load of each crypto-router for a specified period of time is calculated. Denote it by L i , where i is the number of the cryptographic router. This parameter will be measured in percent. If the crypto-router contains several processors, then the average load of all the processors of the crypto-router is calculated.

3. Для каждого криптомаршрутизатора вычисляется метрика по формуле:3. For each crypto router, the metric is calculated using the formula:

Mi=(100-Li)/10M i = (100-L i ) / 10

Получившееся число округляется до большего целого числа. Заметим, что при вычислении метрики не используется загрузка оперативной памяти криптомаршрутизаторов, поскольку она не является критичным параметром работы данных устройств в контексте алгоритма.The resulting number is rounded to a larger integer. Note that the calculation of the metric does not use the load of the RAM memory of crypto routers, since it is not a critical parameter for the operation of these devices in the context of the algorithm.

4. Далее на контроллере для каждого балансирующего трафик OF-коммутатора формируется массив (далее массив портов), в котором каждый порт коммутатора, ведущий к соответствующему криптомаршрутизатору, повторяется столько раз, сколько метрика М, данного криптомаршрутизатора.4. Next, on the controller for each balancing OF-switch traffic, an array is formed (hereinafter an array of ports) in which each switch port leading to the corresponding crypto-router is repeated as many times as the metric M of the crypto-router.

5. После того, как массив сформирован, для каждого нового потока на контроллере происходит случайный выбор элемента массива, которым, как уже упоминалось, является порт коммутатора, ведущий к соответствующему криптомаршрутизатору. Также, сразу после того, как массивы портов для всех коммутаторов сформированы, описанный процесс генерации метрик запускается заново с пункта 1.5. After the array is formed, for each new flow on the controller, a random selection of the array element occurs, which, as already mentioned, is the switch port leading to the corresponding cryptographic router. Also, immediately after the port arrays for all switches are formed, the described process of generating metrics is restarted from point 1.

При объединении нескольких ЦОД, как уже говорилось ранее, требуется обеспечить миграцию хоста из одного ЦОД в другой с сохранением возможности установления с ним соединения других хостов. Описанная схема балансировки учитывает такую миграцию, что обеспечивается использованием таймаутов неактивности в OpenFlow-правилах.When several data centers are merged, as mentioned earlier, it is required to ensure the migration of a host from one data center to another while preserving the possibility of establishing a connection with it of other hosts. The described balancing scheme takes into account such migration, which is ensured by the use of inactivity timeouts in OpenFlow rules.

Так в таблицах 0 и 2 правила выставляются с указанием таймаута неактивности (idle_timeout). Если хост мигрирует в другой ЦОД, то трафик перестает приходить на локальный OF-коммутатор ЦОД, из которого мигрировал узел. В итоге, на коммутаторе в другом ЦОД также не будет входящего трафика в сторону мигрировавшего узла, поэтому неактуальные правила после истечения таймаута неактивности будут удалены как на локальном OF-коммутаторе, так и на OF-коммутаторах других ЦОД.So in tables 0 and 2, the rules are set with an inactivity timeout (idle_timeout). If the host migrates to another data center, the traffic stops coming to the local OF-switch of the data center, from which the node has migrated. As a result, there will also be no incoming traffic to the migrated node on the switch in another data center, therefore irrelevant rules will be deleted after the inactivity timeout on both the local OF switch and the OF switches of other data centers.

После описанного выше удаления правил в таблицах при поступлении на какой-либо OF-коммутатор нового трафика, идущего в сторону мигрировавшего узла коммутатор обратится к контроллеру, который даст указания рассылать трафик широковещательно во все туннели. В результате, трафик дойдет до мигрировавшего узла, и на всех OF-коммутаторах будут установлены новые правила обработки входящих пакетов согласно описанным выше алгоритмам.After the removal of the rules in the tables described above, when a new traffic arrives at an OF switch, going in the direction of the migrated node, the switch will contact the controller, which will instruct it to broadcast traffic to all tunnels. As a result, the traffic will reach the node that has migrated, and all OF-switches will have new rules for processing incoming packets according to the algorithms described above.

Claims (83)

Способ создания защищенного L2-соединения между сетями с коммутацией пакетов, причем в сетях установлены:A way to create a secure L2 connection between packet-switched networks, with the following installed on the networks: контроллер, подключенный ко всем сетям и выполненный с возможностью:a controller connected to all networks and configured to: формировать таблицы потоков, содержащие правила обработки сетевых пакетов;create flow tables containing the rules for processing network packets; обмениваться управляющими сообщениями с коммутаторами по установленному протоколу управления;exchange control messages with switches according to the established control protocol; запрашивать, получать и анализировать информацию от других сетевых устройств;request, receive and analyze information from other network devices; коммутаторы, каждый из которых установлен в своей сети, подключен к ней и выполнен с возможностью:switches, each of which is installed in its network, is connected to it and configured to: принимать и посылать сетевые пакеты;receive and send network packets; обмениваться управляющими сообщениями с контроллером по установленному протоколу управления;exchange control messages with the controller according to the established control protocol; хранить в оперативной памяти, по крайней мере, три таблицы потоков и выполнять обработку сетевых пакетов по этим таблицам;store in memory at least three stream tables and perform network packet processing on these tables; обрабатывать пакеты при помощи заданной таблицы потоков;process packets using the specified stream table; создавать виртуальные порты с поддержкой установленного протокола туннелирования;create virtual ports with the support of the installed tunneling protocol; криптографические маршрутизаторы (далее криптомаршрутизаторы), каждый из которых имеет в составе, по крайней мере, один процессор; причем в каждой сети установлено, по крайней мере, по два криптомаршрутизатора, подключенные к своему коммутатору; каждый криптомаршрутизатор выполнен с возможностью:cryptographic routers (hereinafter referred to as crypto routers), each of which has at least one processor; moreover, each network has at least two crypto-routers connected to its switchboard; Each crypto-router is configured to: принимать и посылать сетевые пакеты;receive and send network packets; загружать ключевую информацию;upload key information; настраивать диапазоны туннелируемых IP-адресов;configure tunneling IP address ranges; шифровать, расшифровывать и маршрутизировать сетевые пакеты;encrypt, decrypt, and route network packets; отвечать на запросы информации от контроллера;respond to requests for information from the controller; рабочие станции, установленные и подключенные каждая к своей сети и выполненные с возможностью обмениваться между собой сетевыми пакетами;Workstations installed and connected each to its network and made with the ability to exchange network packets with each other; способ заключается в том, что:the way is that: формируют ключевую информацию для всех криптомаршрутизаторов; выделяют в каждой сети диапазоны IP-адресов для установленных устройств, а также диапазоны туннелируемых криптомаршрутизаторами IP-адресов;form key information for all crypto routers; allocate in each network ranges of IP addresses for installed devices, as well as ranges of IP addresses encrypted by cryptographic routers; включают криптомаршрутизаторы;include crypto routers; загружают на криптомаршрутизаторы ключевую информацию; настраивают на криптомаршрутизаторах IP-адреса;key information is uploaded to crypto routers; set up IP addresses on crypto routers; настраивают на криптомаршрутизаторах выделенные диапазоны туннелируемых IP-адресов; включают коммутаторы;set up dedicated ranges of tunneled IP addresses on crypto routers; include switches; создают на каждом коммутаторе два виртуальных порта:create on each switch two virtual ports: порт для инкапсуляции/декапсуляции сетевых пакетов в заголовки протокола туннелирования (далее туннельный порт); порт уровня L3, служащий конечным IP-интерфейсом туннеля (далее сетевой интерфейс);port for encapsulation / decapsulation of network packets in the tunneling protocol headers (hereinafter the tunnel port); port level L3, which serves as the final IP-interface of the tunnel (hereinafter the network interface); настраивают на сетевых интерфейсах всех коммутаторов IP-адреса;configure on the network interfaces of all switches IP addresses; настраивают на коммутаторах IP-адрес контроллера;configure the switches with the IP address of the controller; включают контроллер;include the controller; создают на контроллере конфигурационный файл, содержащий значения следующих констант: таймаут неактивности правил в таблицах потоков, интервал запроса статистики, длительность одной итерации сбора статистики;create on the controller a configuration file containing the values of the following constants: inactivity timeout of rules in the flow tables, statistics request interval, duration of one iteration of statistics collection; выполняют на контроллере регистрацию и инициализацию коммутаторов, в ходе которых загружают на каждый коммутатор три таблицы потоков с начальным набором правил:perform on the controller the registration and initialization of switches, during which three flow tables with the initial set of rules are loaded onto each switch: таблица 0 - предназначена для распределения по другим таблицам сетевых пакетов;table 0 - intended for distribution to other tables of network packets; таблица 1 - предназначена для обработки исходящих с коммутатора сетевых пакетов;Table 1 is designed to handle outgoing network packets from the switch; таблица 2 - предназначена для обработки приходящих на коммутатор сетевых пакетов;Table 2 is intended for processing network packets arriving at the switch; вычисляют в контроллере метрики криптомаршрутизаторов, выполняя следующие действия:calculate in the controller metrics cryptographic routers, performing the following actions: получают значения загрузки процессоров криптомаршрутизаторов через интервал запроса статистики, в течение длительности одной итерации сбора статистики;get the values of the load processors cryptographic routers through the interval request statistics, for the duration of one iteration of the collection of statistics; вычисляют среднюю загрузку Li процессора каждого криптомаршрутизатора в процентах, где i - номер криптомаршрутизатора; вычисляют для каждого криптомаршрутизатора метрику по формуле Mi=(100-Li)/10calculate the average load L i of the processor of each crypto-router in percent, where i is the number of the crypto-router; calculate for each crypto router a metric using the formula M i = (100-L i ) / 10 и округляют полученное значение Mi до наибольшего целого числа; создают на контроллере для каждого коммутатора пустой одномерный массив (далее массив портов);and round the obtained M i to the largest integer; create on the controller for each switch an empty one-dimensional array (hereinafter, an array of ports); записывают в конец массива портов каждого коммутатора номер каждого порта коммутатора, к которому подключен i-й криптомаршрутизатор, в количестве, равном значению Мi;write to the end of the array of ports of each switch the number of each port of the switch to which the i-th crypto-router is connected, in an amount equal to the value of М i ; включают рабочие станции;include workstations; настраивают на рабочих станциях IP-адреса;configure IP addresses on workstations; посылают сетевой трафик (далее поток) с одной рабочей станции (далее отправитель), подключенной к своему коммутатору (далее коммутатор 1), на другую рабочую станцию (далее получатель), подключенную к своему коммутатору (далее коммутатор 2);send network traffic (hereinafter the stream) from one workstation (hereinafter referred to as the sender) connected to its switch (hereinafter switch 1) to another workstation (hereinafter the receiver) connected to its switch (hereinafter switch 2); посылают от отправителя ARP-запрос для определения МАС-адреса получателя по его IP-адресу;send an ARP request from the sender to determine the MAC address of the recipient by its IP address; осуществляют выбор криптомаршрутизатора и определение параметров туннеля на коммутаторе 1, выполняя следующие действия:select a cryptographic router and determine tunnel parameters on switch 1 by performing the following actions: получают на коммутаторе 1 ARP-запрос от отправителя;receive on the switch 1 ARP request from the sender; обрабатывают ARP-запрос на коммутаторе 1 по таблице потоков 0 и отправляют ARP-запрос на контроллер для анализа;process the ARP request on switch 1 using the flow table 0 and send an ARP request to the controller for analysis; посылают из контроллера на коммутатор 1 команду обработать ARP-запрос по таблице потоков 1 как широковещательный;sending from the controller to switch 1 a command to process the ARP request on the flow table 1 as a broadcast; обрабатывают ARP-запрос на коммутаторе 1 по таблице потоков 1 и снова отправляют ARP-запрос на контроллер для анализа;process the ARP request on switch 1 according to the flow table 1 and again send the ARP request to the controller for analysis; определяют криптомаршрутизатор, на который нужно отправить ARP-запрос, путем случайного выбора в контроллере из массива портов коммутатора 1 выходного порта для отправки ARP-запроса;determine the cryptographic router to which you need to send an ARP request by randomly selecting in the controller from the port array of switch 1 of the output port to send an ARP request; посылают из контроллера на коммутатор 1 команду установить правило коммутации в таблицу потоков 0 с таймаутом неактивности;send from the controller to switch 1 a command to set the switching rule to the flow table 0 with an inactivity timeout; посылают из контроллера на коммутатор 1 команду отправить ARP-запрос в туннельный порт с установленными параметрами туннеля; определяют на коммутаторе 1 с участием контроллера МАС-адрес удаленного интерфейса туннеля, выполняя следующие действия:send from the controller to switch 1 a command to send an ARP request to the tunnel port with the tunnel parameters set; determine on the switch 1 with the participation of the controller MAC address of the remote interface of the tunnel by performing the following actions: посылают из контроллера на коммутатор 1 команду отправить ARP-запрос из сетевого интерфейса коммутатора 1;send from the controller to switch 1 a command to send an ARP request from the network interface of switch 1; устанавливают при помощи искусственной подстановки в качестве МАС-адреса удаленного интерфейса туннеля МАС-адрес выбранного криптомаршрутизатора;set using artificial substitution as the MAC address of the remote interface of the tunnel MAC address of the selected cryptographic router; устанавливают с контроллера в таблицы потоков 0 и 1 коммутатора 1 правила коммутации с таймаутом неактивности;from the controller, in the flow tables 0 and 1 of switch 1, the switching rules with inactivity timeout are set; посылают из коммутатора 1 на коммутатор 2 инкапсулированный ARP-запрос отправителя; обрабатывают ARP-запрос отправителя на коммутаторе 2 с использованием контроллера, выполняя следующие действия:send from switch 1 to switch 2 an encapsulated sender's ARP request; process the sender's ARP request on switch 2 using the controller by performing the following steps: получают на коммутаторе 2 инкапсулированный ARP-запрос отправителя и согласно начальным правилам таблицы потоков 0 отправляют в туннельный порт;receive on the switch 2 the encapsulated ARP request of the sender and according to the initial rules the flow table 0 is sent to the tunnel port; отправляют ARP-запрос отправителя после декапсуляции на туннельном порту коммутатора 2 согласно начальным правилам таблицы потоков 0 в таблицу потоков 2;send the sender's ARP request after decapsulation on the tunnel port of switch 2 according to the initial rules of flow table 0 to flow table 2; обрабатывают ARP-запрос на коммутаторе 2 по таблице потоков 2 и отправляют на контроллер для анализа;process the ARP request on switch 2 according to the flow table 2 and send to the controller for analysis; посылают из контроллера на коммутатор 2 следующие команды:send the following commands from the controller to the switch 2: отправить ARP-запрос в порт, к которому подключен получатель;send an ARP request to the port to which the recipient is connected; установить в таблицы потоков 0 и 2 правила коммутации с таймаутом неактивности;establish in the flow tables 0 and 2 switching rules with an inactivity timeout; получают ARP-запрос на получателе;receive an ARP request at the recipient; отправляют с получателя отправителю ARP-ответ, содержащий МАС-адрес получателя;send from the recipient to the sender an ARP reply containing the MAC address of the recipient; получают ARP-ответ на коммутаторе 2;receive an ARP response on switch 2; осуществляют выбор криптомаршрутизатора и определение параметров туннеля на коммутаторе 2, выполняя следующие действия:select a cryptographic router and determine tunnel parameters on switch 2 by performing the following actions: обрабатывают ARP-ответ на коммутаторе 2 по таблице потоков 0 и отправляют ARP-ответ на контроллер для анализа;process the ARP response on switch 2 according to flow table 0 and send an ARP response to the controller for analysis; посылают из контроллера на коммутатор 2 команду обработать ARP-ответ по таблице потоков 1 как широковещательный;sending from the controller to switch 2 a command to process the ARP reply on the flow table 1 as a broadcast; обрабатывают ARP-ответ на коммутаторе 2 по таблице потоков 1 и снова отправляют ARP-ответ на контроллер для анализа;process the ARP response on switch 2 according to flow table 1 and again send the ARP response to the controller for analysis; определяют криптомаршрутизатор, на который нужно отправить ARP-ответ,determine the cryptographic router to which you need to send an ARP response, путем случайного выбора в контроллере из массива портов коммутатора 2 выходного порта для отправки ARP-ответа; посылают из контроллера на коммутатор 2 команду установить правило коммутации в таблицу потоков 0 с таймаутом неактивности;by randomly selecting in the controller from the switch port 2 array of the output port to send an ARP reply; sending from the controller to switch 2 a command to establish a switching rule in the flow table 0 with an inactivity timeout; посылают из контроллера на коммутатор 2 команду отправить ARP-ответ в туннельный порт с установленными параметрами туннеля;sending from the controller to switch 2 a command to send an ARP reply to the tunnel port with the tunnel parameters set; определяют на коммутаторе 2 с участием контроллера МАС-адрес удаленного интерфейса туннеля, выполняя следующие действия:determine on the switch 2 with the participation of the controller MAC address of the remote interface of the tunnel by performing the following actions: посылают из контроллера на коммутатор 2 команду отправить ARP-запрос из сетевого интерфейса коммутатора 2;send from the controller to switch 2 a command to send an ARP request from the network interface of switch 2; устанавливают при помощи искусственной подстановки в качестве МАС-адреса удаленного интерфейса туннеля МАС-адрес выбранного криптомаршрутизатора;set using artificial substitution as the MAC address of the remote interface of the tunnel MAC address of the selected cryptographic router; устанавливают с контроллера в таблицы потоков 0 и 1 коммутатора 2 правила коммутации с таймаутом неактивности;from the controller, in the flow tables 0 and 1 of switch 2, the switching rules with an inactivity timeout are set; посылают из коммутатора 2 на коммутатор 1 инкапсулированный ARP-ответ получателя; получают ARP-ответ получателя на коммутаторе 1;send from switch 2 to switch 1 the recipient's encapsulated ARP response; receive the recipient's ARP response on switch 1; обрабатывают ARP-ответ получателя на коммутаторе 1 с использованием контроллера, выполняя следующие действия:process the recipient's ARP response on switch 1 using the controller by performing the following actions: отправляют на коммутаторе 1 инкапсулированный ARP-ответ получателя согласно начальным правилам таблицы потоков 0 в туннельный порт;send on switch 1 the encapsulated recipient ARP response according to the initial rules of the flow table 0 to the tunnel port; отправляют ARP-ответ получателя после декапсуляции на туннельном порту коммутатора 1 согласно начальным правилам таблицы потоков 0 в таблицу потоков 2;send the recipient's ARP response after decapsulation at the tunnel port of switch 1 according to the initial rules of flow table 0 to flow table 2; обрабатывают ARP-ответ на коммутаторе 1 по таблице потоков 2 и отправляют на контроллер для анализа;process the ARP response on switch 1 according to the flow table 2 and send to the controller for analysis; посылают из контроллера на коммутатор 1 следующие команды:The following commands are sent from the controller to switch 1: отправить ARP-ответ в порт, к которому подключен отправитель;send an ARP reply to the port to which the sender is connected; установить в таблицы потоков 0 и 2 правила коммутации с таймаутом неактивности; получают ARP-ответ на отправителе;establish in the flow tables 0 and 2 switching rules with an inactivity timeout; receive an ARP reply from the sender; передают данные потока между отправителем и получателем по сформированному L2-соединению без новых обращений к контроллеру.transmit the flow data between the sender and the receiver over the formed L2 connection without new calls to the controller.
RU2018135893A 2018-10-11 2018-10-11 Method of creating a secure l2-connection between packet switched networks RU2694585C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2018135893A RU2694585C1 (en) 2018-10-11 2018-10-11 Method of creating a secure l2-connection between packet switched networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018135893A RU2694585C1 (en) 2018-10-11 2018-10-11 Method of creating a secure l2-connection between packet switched networks

Publications (1)

Publication Number Publication Date
RU2694585C1 true RU2694585C1 (en) 2019-07-16

Family

ID=67309144

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018135893A RU2694585C1 (en) 2018-10-11 2018-10-11 Method of creating a secure l2-connection between packet switched networks

Country Status (1)

Country Link
RU (1) RU2694585C1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2757297C1 (en) * 2021-04-19 2021-10-13 Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Method for security gateway cluster operation
CN115333996A (en) * 2021-12-06 2022-11-11 广西民族大学 SDN-based internet exchange technical scheme
CN115883256A (en) * 2023-02-03 2023-03-31 南京易科腾信息技术有限公司 Data transmission method and device based on encrypted tunnel and storage medium
RU2802911C1 (en) * 2023-04-20 2023-09-05 Игорь Юрьевич Егоров Method for traffic balancing in switching node of transport communication network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816910B1 (en) * 2000-02-17 2004-11-09 Netzentry, Inc. Method and apparatus for limiting network connection resources
US9124550B1 (en) * 2006-08-08 2015-09-01 A10 Networks, Inc. Distributed multi-processing security gateway
RU2576488C1 (en) * 2015-02-17 2016-03-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Нижегородский государственный технический университет им. Р.Е. Алексеева" (НГТУ) METHOD OF CONSTRUCTING DATA NETWORKS WITH HIGH LEVEL OF SECURITY FROM DDoS ATTACKS
US20160182450A1 (en) * 2011-02-16 2016-06-23 Fortinet, Inc. Load balancing in a network with session information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816910B1 (en) * 2000-02-17 2004-11-09 Netzentry, Inc. Method and apparatus for limiting network connection resources
US9124550B1 (en) * 2006-08-08 2015-09-01 A10 Networks, Inc. Distributed multi-processing security gateway
US20160182450A1 (en) * 2011-02-16 2016-06-23 Fortinet, Inc. Load balancing in a network with session information
RU2576488C1 (en) * 2015-02-17 2016-03-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Нижегородский государственный технический университет им. Р.Е. Алексеева" (НГТУ) METHOD OF CONSTRUCTING DATA NETWORKS WITH HIGH LEVEL OF SECURITY FROM DDoS ATTACKS

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2757297C1 (en) * 2021-04-19 2021-10-13 Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Method for security gateway cluster operation
CN115333996A (en) * 2021-12-06 2022-11-11 广西民族大学 SDN-based internet exchange technical scheme
CN115333996B (en) * 2021-12-06 2024-04-02 广西民族大学 SDN-based Internet switching technology method
CN115883256A (en) * 2023-02-03 2023-03-31 南京易科腾信息技术有限公司 Data transmission method and device based on encrypted tunnel and storage medium
RU2802911C1 (en) * 2023-04-20 2023-09-05 Игорь Юрьевич Егоров Method for traffic balancing in switching node of transport communication network

Similar Documents

Publication Publication Date Title
JP7355830B2 (en) System and method for on-demand flow-based policy enforcement in multi-cloud environments
US11412076B2 (en) Network access node virtual fabrics configured dynamically over an underlay network
CN110838975B (en) Secure forwarding of tenant workloads in virtual networks
US10419319B1 (en) Monitoring gateway systems and methods for openflow type networks
JP5913536B2 (en) Method for configuring network switches
US10911355B2 (en) Multi-site telemetry tracking for fabric traffic using in-band telemetry
Azodolmolky et al. SDN-based cloud computing networking
Yu et al. Scalable flow-based networking with DIFANE
US9059922B2 (en) Network traffic distribution
US11196648B2 (en) Detecting and measuring microbursts in a networking device
RU2694585C1 (en) Method of creating a secure l2-connection between packet switched networks
WO2014022183A1 (en) Adaptive infrastructure for distributed virtual switch
US20210306908A1 (en) Scalable reachability for movable destinations attached to a leaf-spine switching architecture
US11632288B2 (en) Determining the impact of network events on network applications
US11792116B1 (en) Stateful network router for managing network appliances
Stephens Designing scalable networks for future large datacenters
US11258653B1 (en) Monitoring gateway systems and methods for openflow type networks
Chang et al. A Congestion Aware Multi-Path Label Switching in Data Centers Using Programmable Switches
Yu Scalable management of enterprise and data-center networks
Köstler et al. Network Federation for Inter-cloud Operations
Sehery OneSwitch Data Center Architecture
Fattah A Virtualized Network Function for Advanced Network Flow Logging in Microsoft Azure Distributed System
CN117178523A (en) Multi-uplink path quality aware IPSEC