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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network 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
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:
формировать таблицы потоков, содержащие правила обработки сетевых пакетов; 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 cryptoMarsh-routizers connected to its switchboard; each crypto-Russian rutizator 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:
- формируют ключевую информацию для всех криптомаршрутизаторов;- 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:
порт для инкапсуляции/декапсуляции сетевых пакетов в заголовки протокола туннелирования (далее туннельный порт); port for encapsulation / decapsulation of network packets in the tunneling protocol headers (hereinafter the tunnel port);
порт уровня L3, служащий конечным IP-интерфейсом туннеля (далее сетевой интерфейс); 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:
таблица 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 - номер криптомаршрутизатора; calculate the average load L i of the processor of each crypto-router in percent, where i is the number of the crypto-router;
вычисляют для каждого криптомаршрутизатора метрику по формуле Mi=(100-Li)/10 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-й криптомаршрутизатор, в количестве, равном значению Mi; 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
получают на коммутаторе 1 ARP-запрос от отправителя; receive on the
обрабатывают ARP-запрос на коммутаторе 1 по таблице потоков 0 и отправляют ARP-запрос на контроллер для анализа; process the ARP request on
посылают из контроллера на коммутатор 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
определяют криптомаршрутизатор, на который нужно отправить ARP-запрос; путем случайного выбора в контроллере из массива портов коммутатора 1 выходного порта для отправки ARP-запроса; 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
посылают из контроллера на коммутатор 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-запрос в туннельный порт с установленными параметрами туннеля; send from the controller to switch 1 a command to send an ARP request to the tunnel port with the tunnel parameters set;
определяют на коммутаторе 1 с участием контроллера МАС-адрес удаленного интерфейса туннеля, выполняя следующие действия: determine on the
посылают из контроллера на коммутатор 1 команду отправить ARP-запрос из сетевого интерфейса коммутатора 1; send from the controller to switch 1 a command to send an ARP request from the network interface of
устанавливают при помощи искусственной подстановки в качестве МАС-адреса удаленного интерфейса туннеля МАС-адрес выбранного криптомаршрутизатора; 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
посылают из коммутатора 1 на коммутатор 2 инкапсулированный ARP-запрос отправителя; send from
- обрабатывают ARP-запрос отправителя на коммутаторе 2 с использованием контроллера, выполняя следующие действия:- process the sender's ARP request on
получают на коммутаторе 2 инкапсулированный ARP-запрос отправителя и согласно начальным правилам таблицы потоков 0 отправляют в туннельный порт; receive on the
отправляют ARP-запрос отправителя после декапсуляции на туннельном порту коммутатора 2 согласно начальным правилам таблицы потоков 0 в таблицу потоков 2; send the sender's ARP request after decapsulation on the tunnel port of
обрабатывают ARP-запрос на коммутаторе 2 по таблице потоков 2 и отправляют на контроллер для анализа; process the ARP request on
посылают из контроллера на коммутатор 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 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
- осуществляют выбор криптомаршрутизатора и определение параметров туннеля на коммутаторе 2, выполняя следующие действия:- carry out the selection of the cryptographic router and determination of the parameters of the tunnel on the
обрабатывают ARP-ответ на коммутаторе 2 по таблице потоков 0 и отправляют ARP-ответ на контроллер для анализа; process the ARP response on
посылают из контроллера на коммутатор 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
определяют криптомаршрутизатор, на который нужно отправить ARP-ответ; путем случайного выбора в контроллере из массива портов коммутатора 2 выходного порта для отправки ARP-ответа; determine the cryptographic router to which you need to send an ARP response; by randomly selecting in the controller from the
посылают из контроллера на коммутатор 2 команду установить правило коммутации в таблицу потоков 0 с таймаутом неактивности; 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
посылают из контроллера на коммутатор 2 команду отправить ARP-запрос из сетевого интерфейса коммутатора 2; send from the controller to switch 2 a command to send an ARP request from the network interface of
устанавливают при помощи искусственной подстановки в качестве МАС-адреса удаленного интерфейса туннеля МАС-адрес выбранного криптомаршрутизатора; 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
посылают из коммутатора 2 на коммутатор 1 инкапсулированный ARP-ответ получателя; send from
- получают ARP-ответ получателя на коммутаторе 1;- receive the recipient's ARP response on
- обрабатывают ARP-ответ получателя на коммутаторе 1 с использованием контроллера, выполняя следующие действия:- process the recipient's ARP response on
отправляют на коммутаторе 1 инкапсулированный ARP-ответ получателя согласно начальным правилам таблицы потоков 0 в туннельный порт; send on
отправляют ARP-ответ получателя после декапсуляции на туннельном порту коммутатора 1 согласно начальным правилам таблицы потоков 0 в таблицу потоков 2; send the recipient's ARP response after decapsulation at the tunnel port of
обрабатывают ARP-ответ на коммутаторе 1 по таблице потоков 2 и отправляют на контроллер для анализа; process the ARP response on
посылают из контроллера на коммутатор 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 правила коммутации с таймаутом неактивности; 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
- процессор: один процессор 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
В качестве контроллера 6 может быть использован сервер со следующими аппаратными характеристиками:As the
- процессор: один процессор 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
Программно-аппаратное обеспечение криптомаршрутизаторов 7, 8, 12, 13, 17, 18 может быть различным, так как предлагаемый способ предназначен для одновременного использования криптомаршрутизаторов разной производительности. Варианты криптомаршрутизаторов, которые могут быть использованы в предлагаемой схеме, могут быть найдены (материал по адресу: https://infotecs.ru/product/setevye-komponenty/vipnet-coordinator-hw/).Software and hardware of
На фигуре графического изображения представлена схема соединения трех сетей 1, 2, 3 посредством защищенных каналов связи.The figure of the graphic image shows the connection scheme of three
На OF-коммутаторе 5, 14, 19 (далее коммутатор) каждой сети выделяется один порт, к которому подключается внутренняя локальная сеть. Будем считать, что этот порт имеет номер 01, и в дальнейшем будем называть такой порт портом доступа и обозначать как eth01.On the
Также, на коммутаторе выделяется специальный порт, который выполняет инкапсуляцию/декапсуляцию 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
- veth04.2 коммутатора сети 1 и veth04.2 коммутатора сети 3;- veth04.2
- veth04.2 коммутатора сети 2 и veth04.1 коммутатора сети 3.- veth04.2
Связь между каждыми двумя сетями осуществляется напрямую, т.е. обрыв канала между парой сетей не предполагает изменение пути прохождения трафика через третью сеть. Далее вместо термина «сеть» будем использовать термин «ЦОД» аналогично прототипу.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
Далее рассмотрим логику работы 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
1. Клиентская рабочая станция client отсылает в сторону OF-коммутатора 5 ARP-запрос для установления аппаратного адреса сервера server.1. The client's client workstation sends an ARP request to the OF-
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
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
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
6. В итоге на шлюз 9 поступит запрос отправить узлу 172.16.101.2 аппаратный адрес шлюза. Шлюз сформирует ARP-ответ в сторону узла 172.16.101.2. Этот ответ должен поступить в интерфейс eth04 OF-коммутатора.6. As a result, the
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
9. GRE-пакет, попав в ЦОД2, поступает во внешний порт eth04 OF-коммутатора 14 и далее пересылается в туннельный порт eth02, где происходит декапсуляция, и исходный ARP-запрос клиента client отправляется OF-коммутатором в порт доступа eth01, из которого он попадает к серверу server.9. The GRE packet arrives at
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
Первое правило таблицы (напомним, что чем ниже правило в таблице, тем его приоритет выше) означает, что каждый входящий пакет необходимо считать пакетом нового потока и отправлять на контроллер для принятия решения об обработке нового потока.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 отправляет входящий туннельный трафик в туннельный интерфейс для распаковки.
Правила 4 и 5 определяют обработку распакованного GRE-трафика, перенаправляя его в соответствующие порты таблицы 2 в зависимости от адреса отправителя. Это происходит с помощью действия resubmit, которое запускает процедуру обработки трафика OF-коммутатором таблицей с номером 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).
Первая строка указывает, что необходимо во всех 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
В таблице потоков 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
Таблица потоков 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.
Опишем базовый алгоритм работы контроллера 6. В алгоритме используются таблицы потоков №0, 1, 2 (далее таблицы), описанные выше. Ссылка на пример обсуждаемой таблицы потоков обозначается как «табл.».We describe the basic algorithm of operation of the
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
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
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
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
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
Частично поясним записи таблицы. В строках 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
Часть таблицы 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.
Дадим некоторые пояснения. Для управления прохождением трафика через криптомаршрутизатор будем использовать различные адреса удаленного интерфейса 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
Принят следующий базовый алгоритм работы контроллера при балансировке 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
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.
Опишем правило формирования адресов для замены. Пусть к контроллеру поступает 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
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
Имеют значение настройки каждого криптографического маршрутизатора. В каждом ЦОД сетевые настройки криптографических маршрутизаторов со стороны локальной сети идентичны. Список адресов доступа на криптографических маршрутизаторах также идентичен. Фактически, в настройках указывается только один адрес доступа - локальная точка создания 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
Дополнительно к изложенному выше алгоритму рассмотрим процесс формирования метрик, на основании которых происходит балансировка трафика на криптомаршрутизаторы.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
При объединении нескольких ЦОД, как уже говорилось ранее, требуется обеспечить миграцию хоста из одного ЦОД в другой с сохранением возможности установления с ним соединения других хостов. Описанная схема балансировки учитывает такую миграцию, что обеспечивается использованием таймаутов неактивности в 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)
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)
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)
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 |
-
2018
- 2018-10-11 RU RU2018135893A patent/RU2694585C1/en active
Patent Citations (4)
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)
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 |