RU2775146C1 - Method for automated provision of a virtual channel by a communication operator between data processing centers - Google Patents

Method for automated provision of a virtual channel by a communication operator between data processing centers Download PDF

Info

Publication number
RU2775146C1
RU2775146C1 RU2021131113A RU2021131113A RU2775146C1 RU 2775146 C1 RU2775146 C1 RU 2775146C1 RU 2021131113 A RU2021131113 A RU 2021131113A RU 2021131113 A RU2021131113 A RU 2021131113A RU 2775146 C1 RU2775146 C1 RU 2775146C1
Authority
RU
Russia
Prior art keywords
virtual channel
virtual
sdn controller
switches
traffic
Prior art date
Application number
RU2021131113A
Other languages
Russian (ru)
Inventor
Руслан Леонидович Смелянский
Евгений Павлович Степанов
Александр Борисович Яковлев
Виталий Александрович Антоненко
Original Assignee
Общество с ограниченной ответственностью «РанСДН»
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью «РанСДН» filed Critical Общество с ограниченной ответственностью «РанСДН»
Application granted granted Critical
Publication of RU2775146C1 publication Critical patent/RU2775146C1/en

Links

Images

Abstract

FIELD: computer technology.
SUBSTANCE: invention relates to the field of computer technology. The expected result is achieved due to the method for forming a virtual channel between data processing centers (DPC) using a software-configurable network controller (SCN), in which the SCN controller: receives a request to create a record of the tenant of virtual channels and a sign of compliance with the tenant’s virtual channel maintenance mode, generates a data set of virtual channel tenants, receives a request to form a virtual channel, builds a virtual channel route, adds records about the virtual channel to the traffic organization data set, adds records about the ownership of the virtual channel to the tenant to the data set of virtual channel tenants, executes a series of requests to switches to configure switches along the built virtual channel route with the formation of a virtual channel in one direction, and in response to the virtual channel termination condition executes a series of requests to switches along the built virtual channel route to remove traffic processing and routing rules of the virtual channel.
EFFECT: increase in the stability of the created virtual communication channels.
22 cl, 7 dwg, 2 tbl

Description

ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY

Данное техническое решение относится к вычислительной технике и, в частности, к системам управления центров обработки данных, а также к области сетевых технологий, программно-конфигурируемых сетей, транзиту данных по каналам оператора связи и осуществлению функций моделей QoS, а точнее к способам автоматизированного предоставления виртуального канала оператором связи между ЦОД.This technical solution relates to computer technology and, in particular, to data center control systems, as well as to the field of network technologies, software-defined networks, data transit through the channels of a telecom operator and the implementation of the functions of QoS models, and more specifically, to methods for automated provision of virtual channel by the communication operator between the data center.

УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE INVENTION

Требования к Центрам Обработки Данных (ЦОД) для предоставления услуг IaaS (от англ. Infrastructure as a Service - инфраструктура как услуга), PaaS (от англ. Platform as a Service - платформа как услуга), SaaS (от англ. software as a service - программное обеспечение как услуга) постоянно растут, поскольку эти услуги позволяют предприятиям оптимизировать общую стоимость владения (TСO, от англ. total cost of ownership) и экономят время развёртывания вычислительной инфраструктуры.Requirements for Data Processing Centers (DPC) for the provision of IaaS (from the English Infrastructure as a Service - infrastructure as a service), PaaS (from the English Platform as a Service - platform as a service), SaaS (from the English software as a service - software as a service) are constantly growing, as these services allow enterprises to optimize the total cost of ownership (TCO, from the English total cost of ownership) and save time deploying computing infrastructure.

В общем случае система управления ЦОД (101, ФИГ. 1) включает взаимодействующие программные модули: компоненты, обеспечивающие хранение и обработку данных, например, инфраструктурные облачные службы, такие как: управление гипервизорами Nova, служба аутентификации Keystone, распределённое хранилище Swift, интерфейс к базам данных Trove или компонент управления сетевой инфраструктурой Neutron, обеспечивающий связь между всеми компонентами, реализованными в системе управления OpenStack. In the general case, the data center management system ( 101 , FIG. 1 ) includes interacting software modules: components that provide data storage and processing, for example, cloud infrastructure services, such as Nova hypervisor management, Keystone authentication service, Swift distributed storage, interface to databases Trove data or the Neutron network infrastructure management component, which provides communication between all components implemented in the OpenStack management system.

Физическая память, где фактически хранятся цифровые данные, может быть распределена между несколькими серверами и иметь, например, интерфейс службы сетевого хранилища данных (NAS, Network Attached Storage) или другой. Обработка данных также может быть распределена между несколькими серверами. Распределённая обработка данных при такой организации может напоминать схему полносвязной сети, в которой каждый узел взаимодействует с каждым, как показано на ФИГ. 1, изображающей вариант схемы связей системы компьютерной обработки информации, реализованной в ЦОД.The physical memory where digital data is actually stored can be distributed among several servers and have, for example, a network attached storage (NAS, Network Attached Storage) service interface or another. Data processing can also be distributed across multiple servers. Distributed data processing in this organization may resemble a fully meshed network scheme, in which each node interacts with each, as shown in FIG. 1 depicting a variant of the communication scheme of the computer information processing system implemented in the data center.

На ФИГ. 1 изображен вариант логической полносвязной сети, схемы передачи данных между инфраструктурными облачными сервисами (в частности, обработки и хранения данных) 131, 141, 151, 161, применяемыми в ЦОД 101 и клиентами 111, 121 – арендаторами вычислительных ресурсов. FIG. Figure 1 shows a variant of a logical meshed network, a data transfer scheme between infrastructure cloud services (in particular, data processing and storage) 131 , 141 , 151 , 161 , used in the data center 101 and clients 111 , 121 - tenants of computing resources.

Для безопасной передачи данных и трафика арендаторов между компонентами ЦОД применяется туннелирование сетевой передачи данных.To securely transfer data and tenant traffic between data center components, network data transmission tunneling is used.

Построение туннелей между программными компонентами внутри системы ЦОД выполняется автоматически. Построение туннелей для взаимодействия между программными компонентами различных ЦОД может выполняться в автоматизированном режиме с выполнением вызовов API к системам управления ЦОД (202, 212, ФИГ. 2). Например, на ФИГ. 2 изображена схема связей между ЦОД по предварительно предоставленной в аренду оператором связи выделенной линии, имеющей гарантированную полосу пропускания, рассчитанной на максимальную интенсивность трафика. Так, для передачи данных между программными компонентами (модулями) различных ЦОД выполняется вызов API к системам управления ЦОД, после обработки которого между сетевыми модулями удаленных ЦОД создаётся туннель или туннели, позволяющие передавать данные. Выбор точной реализации на этом уровне зависит от системы управления ЦОД и применяемых протоколов туннелирования.The construction of tunnels between software components within the data center system is performed automatically. The construction of tunnels for interaction between software components of different data centers can be performed in an automated mode with the execution of API calls to data center control systems ( 202 , 212 , FIG. 2 ). For example, in FIG. Figure 2 shows a diagram of connections between data centers over a leased line previously leased by a telecom operator, which has a guaranteed bandwidth, designed for maximum traffic intensity. Thus, to transfer data between software components (modules) of different data centers, an API call is made to data center control systems, after processing which a tunnel or tunnels are created between the network modules of remote data centers, allowing data to be transferred. The choice of the exact implementation at this level depends on the data center control system and the applied tunneling protocols.

При объединении ресурсов, при условии обмена данными между удаленными ЦОД, на выходе сетевой компоненты (в частности, модуля системы управления ЦОД, например, модуля «Neutron» из системы управления «OpenStack») в сеть передачи данных поступают инкапсулированные данные (по крайней мере по модели ISO/OSI для L2 или L3 туннелирования), организовано L2 или L3 туннелирование (222, ФИГ. 2). Выбор (осуществляемый автоматически, причем алгоритм выбирается в зависимости от вариантов реализации системы управления) точной реализации на этом уровне зависит от системы управления ЦОД и применяемых протоколов туннелирования.When pooling resources, subject to data exchange between remote data centers, at the output of the network component (in particular, the data center control system module, for example, the Neutron module from the OpenStack control system), encapsulated data (at least over ISO/OSI models for L2 or L3 tunneling), organized L2 or L3 tunneling ( 222 , FIG. 2 ). The choice (which is made automatically, with the algorithm chosen depending on the implementation of the control system) of the exact implementation at this level depends on the control system of the data center and the tunneling protocols used.

Для построения туннелей между программными компонентами удалённых ЦОД возможно, так же, решение без предварительно предоставленной в аренду выделенной линии: с использованием разделяемых каналов оператора связи, но такой способ построения туннелей между программными компонентами удалённых ЦОД не гарантирует стабильную ширину полосы пропускания и приемлемое время отклика. Поэтому для организации связи между ЦОД оператор связи предоставляет в аренду выделенную линию с гарантированной полосой пропускания. Как правило, для объединения ЦОД оператор связи выделяет L2, L3 канал или физический канал с пропускной способностью, рассчитанной на максимальную интенсивность трафика.To build tunnels between software components of remote data centers, it is also possible to use a solution without a leased line previously leased: using shared channels of a telecom operator, but this method of building tunnels between software components of remote data centers does not guarantee a stable bandwidth and acceptable response time. Therefore, to organize communication between data centers, the telecom operator leases a dedicated line with guaranteed bandwidth. As a rule, to combine data centers, the telecom operator allocates an L2, L3 channel or a physical channel with a bandwidth designed for maximum traffic intensity.

Но для построения туннелей между программными компонентами удалённых ЦОД решение с предварительно предоставленной в аренду линией оператора связи, гарантирующей достаточную пропускную способность, имеет низкую эффективность как для оператора связи, так и для владельца ЦОД: создание такого канала может длиться несколько дней, время аренды определяться месяцами, канал должен быть рассчитан на максимальную нагрузку, но максимальная интенсивность трафика случается не всегда и длится непродолжительное время, поэтому владелец ЦОД часто платит за неиспользуемый канал, а оборудование оператора остаётся не загружено.But for building tunnels between software components of remote data centers, a solution with a pre-leased line of a telecom operator that guarantees sufficient bandwidth has low efficiency for both the telecom operator and the owner of the data center: the creation of such a channel can take several days, the lease time is determined by months , the channel should be designed for maximum load, but the maximum traffic intensity does not always happen and lasts for a short time, so the owner of the data center often pays for an unused channel, and the operator's equipment remains unloaded.

Решение с предварительно предоставленной в аренду линией оператора связи в общем случае также не позволяет гарантировать своевременный транзит отдельных потоков данных, чувствительного к временным задержкам трафика, т. к. в рамках арендованного канала с гарантированной общей полосой пропускания транзит отдельных потоков выполняется согласно модели негарантированной доставки QoS (от англ. quality of service - «качество обслуживания»).A solution with a pre-leased line of a telecom operator in the general case also does not guarantee the timely transit of individual data streams that are sensitive to traffic time delays, since within a leased channel with a guaranteed total bandwidth, the transit of individual streams is performed according to the non-guaranteed QoS delivery model (from the English quality of service - “quality of service”).

СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯESSENCE OF THE TECHNICAL SOLUTION

Технический результат, достигаемый предлагаемым техническим решением, состоит в повышении эффективности создания виртуальных каналов, повышении эффективности использования сетевого оборудования, повышении стабильности созданных виртуальных каналовThe technical result achieved by the proposed technical solution consists in increasing the efficiency of creating virtual channels, increasing the efficiency of using network equipment, and increasing the stability of the created virtual channels.

Согласно одному из вариантов реализации, предлагается способ автоматического формирования виртуального канала между центрами обработки данных (ЦОД) с использованием контроллера программно-конфигурируемой сети (ПКС), в котором:According to one of the implementation options, a method is proposed for automatically forming a virtual channel between data processing centers (DPCs) using a software-defined network (SDN) controller, in which:

- коммутаторы, управляемые контроллером ПКС, выполняют обмен пакетами протоколов обнаружение соединения;- switches controlled by the SDN controller perform packet exchange of connection discovery protocols;

- контроллер ПКС периодически выполняет опрос, заданных с помощью механизма межпроцессного взаимодействия, коммутаторов о существующих на коммутаторах интерфейсах, пропускной способности линий и о подключенных к их интерфейсам устройствах с формированием первого набора данных;- the SDN controller periodically polls the switches, specified using the interprocess communication mechanism, about the interfaces existing on the switches, the bandwidth of the lines and about the devices connected to their interfaces with the formation of the first data set;

- на основании первого набора данных контроллер ПКС формирует набор данных организации трафика, содержащий данные о топологии и ресурсах сети коммутаторов;- based on the first data set, the SDN controller generates a traffic management data set containing data on the topology and resources of the switch network;

- контроллер ПКС с помощью механизма межпроцессного взаимодействия получает запрос на создание записи арендатора виртуальных каналов и признака соответствия режиму обслуживания виртуальных каналов арендатора, где признак режима обслуживания задаёт приоритет при построении маршрутов виртуальных каналов;- the SDN controller, using the inter-process communication mechanism, receives a request to create a tenant record of virtual channels and a sign of compliance with the maintenance mode of the tenant's virtual channels, where the sign of the maintenance mode sets the priority when building virtual channels routes;

- контроллер ПКС формирует набор данных арендаторов виртуальных каналов, содержащий: идентификаторы арендаторов виртуальных каналов, идентификаторы виртуальных каналов и признак соответствия режиму обслуживания каналов арендатора;- the SDN controller generates a data set of tenants of virtual channels, containing: identifiers of tenants of virtual channels, identifiers of virtual channels and a sign of compliance with the tenant's channel service mode;

- контроллер ПКС с помощью механизма межпроцессного взаимодействия получает запрос на формирование виртуального канала, содержащий, по меньшей мере: данные о точках входа трафика виртуального канала, признак трафика, попадающего в виртуальный канал, информацию о начале и завершении виртуального канала, данные о принадлежности виртуального канала арендатору и данные о требуемых параметрах QoS;- the SDN controller, using the interprocess communication mechanism, receives a request to form a virtual channel, containing at least: data on the entry points of the virtual channel traffic, a sign of traffic entering the virtual channel, information about the beginning and end of the virtual channel, data about the ownership of the virtual channel to the tenant and data on the required QoS parameters;

- контроллер ПКС выполняет построение маршрута виртуального канала с учётом: признака соответствия режиму обслуживания каналов арендатора, ресурса пропускной способности домена коммутаторов, информации о начале и завершении виртуальных каналов и параметров QoS, запрошенных для виртуальных каналов;- the SDN controller constructs the route of the virtual channel, taking into account: the sign of compliance with the service mode of the tenant channels, the bandwidth resource of the switch domain, information about the beginning and end of virtual channels and the QoS parameters requested for virtual channels;

- контроллер ПКС добавляет в набор данных организации трафика записи о виртуальном канале: маршруте виртуального канала, признаке трафика, попадающего в виртуальный канал, информацию о начале и завершении виртуального канала и занятой виртуальным каналом пропускной способности;- the SDN controller adds records about the virtual channel to the traffic organization data set: the route of the virtual channel, the sign of the traffic entering the virtual channel, information about the beginning and end of the virtual channel and the bandwidth occupied by the virtual channel;

- контроллер ПКС добавляет в набор данных арендаторов виртуальных каналов записи о принадлежности виртуального канала арендатору;- the SDN controller adds to the dataset of tenants of virtual channels records about the ownership of the virtual channel by the tenant;

- контроллер ПКС выполняет серию запросов к коммутаторам для настройки коммутаторов по построенному маршруту виртуального канала с формированием, по меньшей мере одного виртуального канала по меньшей мере в одном направлении, где настройка включает правила обработки и маршрутизации трафика с учетом ресурса пропускной способности сети и параметров QoS;- the SDN controller performs a series of requests to the switches to configure the switches along the constructed virtual channel route with the formation of at least one virtual channel in at least one direction, where the setting includes rules for processing and routing traffic, taking into account the network bandwidth resource and QoS parameters;

- в ответ на условие завершения виртуального канала контроллер ПКС по выполняет серию запросов к коммутаторам по построенному маршруту виртуального канала для удаления правил обработки и маршрутизации трафика виртуального канала.- in response to the virtual channel termination condition, the SDN controller executes a series of requests to the switches along the constructed virtual channel route to remove the rules for processing and routing virtual channel traffic.

В одном из частных вариантов реализации информация для формирования первого набора данных задаётся статически.In one of the private implementation options, the information for the formation of the first data set is specified statically.

В одном из частных вариантов реализации запрос на формирование виртуального канала, в качестве информации о начале и завершении виртуального канала, содержит время существования виртуального канала.In one of the private implementation options, the request for the formation of a virtual channel, as information about the beginning and end of the virtual channel, contains the lifetime of the virtual channel.

В одном из частных вариантов реализации запрос на формирование виртуального канала, в качестве информации о начале и завершении виртуального канала, содержит максимальное значение объёма данных, переданных по виртуальному каналу.In one of the private implementation options, the request to form a virtual channel, as information about the beginning and end of the virtual channel, contains the maximum value of the amount of data transmitted over the virtual channel.

В одном из частных вариантов реализации завершение существования виртуального канала выполняется по запросу, переданному с помощью механизма межпроцессного взаимодействия, содержащему идентификатор виртуального канала.In one of the private implementation options, the termination of the existence of a virtual channel is performed on a request transmitted using the inter-process communication mechanism containing the identifier of the virtual channel.

В одном из частных вариантов реализации при обнаружении с помощью периодического опроса коммутаторов о подключенных к их интерфейсам устройствах или по уведомлению, полученному контроллером ПКС от коммутатора, обнаруживается изменение топологии соединений: отказ линии связи, отказ коммутатора, обнаружение новых связей, причем: в случае отказа линии связи или коммутатора по маршруту сформированного виртуального канала контроллер ПКС осуществляет автоматическое перестроение виртуального канала через другие доступные коммутаторы.In one of the private implementation options, when detecting by periodically polling switches about devices connected to their interfaces or by notification received by the SDN controller from the switch, a change in the connection topology is detected: communication line failure, switch failure, detection of new connections, moreover: in case of failure the communication line or switch along the route of the formed virtual channel, the SDN controller automatically rebuilds the virtual channel through other available switches.

В одном из частных вариантов реализации признаком трафика, попадающего в виртуальный канал, являются поля заголовка пакетных данных второго уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация; или признаком трафика являются поля заголовка третьего уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация; или признаком трафика являются поля заголовка четвертого уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация.In one of the private implementation options, a sign of traffic entering the virtual channel is the packet data header fields of the second level of the OSI / ISO network interaction model, on the basis of which routing is supported by the switch; or a sign of traffic are the fields of the header of the third level of the OSI / ISO network interaction model, on the basis of which the switch supports routing; or a sign of traffic are the fields of the header of the fourth level of the OSI / ISO network interaction model, based on which the switch supports routing.

В одном из частных вариантов реализации пропускная способность по маршруту виртуального канала обеспечивается за счет применения алгоритмов маршрутизации.In one of the private implementations, throughput along the route of the virtual circuit is provided through the use of routing algorithms.

В одном из частных вариантов реализации при задании времени существования виртуальных каналов в сети коммутаторов между удалёнными ЦОД запрос к коммутатору на создание правил обработки и маршрутизации трафика виртуального канала формируется в момент времени начала существования виртуального канала, а в момент времени завершения существования виртуального канала контроллер ПКС удаляет из конфигурации коммутаторов информацию о существующих между ЦОД виртуальных каналах, причем трафик между ЦОД перестаёт передаваться при направлении коммутаторам серии запросов для изменения конфигурации коммутаторов, и запись о маршруте и выделенной для виртуального канала пропускной способности из набора данных организации трафика удаляется.In one of the private implementation options, when setting the lifetime of virtual channels in a network of switches between remote data centers, a request to the switch to create rules for processing and routing virtual channel traffic is generated at the time when the virtual channel begins to exist, and at the time when the virtual channel ends, the SDN controller deletes from the configuration of the switches, information about the virtual channels existing between the data centers, and the traffic between the data centers ceases to be transmitted when a series of requests are sent to the switches to change the configuration of the switches, and the record of the route and the bandwidth allocated for the virtual channel is removed from the traffic organization data set.

В одном из частных вариантов реализации при поступлении запроса на создание виртуального канала контроллер ПКС выполняет поиск оптимального распределения нагрузки (балансировку нагрузки) согласно применяемому алгоритму маршрутизации с использованием интервала времени существования виртуальных каналов и признака режима обслуживания каналов арендатора, определяющего порядок построения маршрутов.In one of the particular implementation options, upon receipt of a request to create a virtual channel, the SDN controller searches for the optimal load distribution (load balancing) according to the applied routing algorithm using the lifetime of virtual channels and the sign of the tenant channel service mode that determines the route construction order.

В одном из частных вариантов реализации при ограничении построения или перестроения маршрутов всех виртуальных каналов пропускной способностью интерфейсов коммутатора, маршрутизация виртуальных каналов выполняется с учётом признака режима обслуживания каналов арендатора.In one of the private implementation options, when building or rebuilding the routes of all virtual channels is limited by the bandwidth of the switch interfaces, the routing of virtual channels is performed taking into account the sign of the tenant channel service mode.

В одном из частных вариантов реализации при построении маршрутов виртуальных каналов признак приоритетного режима обслуживания виртуальных каналов используется для вытеснения из графа топологии виртуальных каналов арендаторов.In one of the private implementation options, when constructing virtual circuit routes, the feature of the virtual circuit priority service mode is used to displace tenants from the topology graph of virtual circuits.

В одном из частных вариантов реализации набор данных организации трафика сохраняется в формате базы данных организации трафика, размещённой локально или удалённо.In one particular implementation, the traffic engineering dataset is stored in the format of a traffic engineering database hosted locally or remotely.

В одном из частных вариантов реализации набор данных арендаторов виртуальных каналов сохраняется в формате базы данных арендаторов виртуальных каналов, размещённой локально или удалённо. In one particular implementation, a set of virtual circuit tenant data is stored in the format of a virtual circuit tenant database hosted locally or remotely.

В одном из частных вариантов реализации функции контроллера ПКС дублируются дополнительным контроллером ПКС по принципу основного и резервного контроллера ПКС.In one of the private implementation options, the functions of the SDN controller are duplicated by an additional SDN controller according to the principle of the main and backup SDN controller.

В одном из частных вариантов реализации создание виртуального канала инициируется с применением механизма 'подписки на события', при котором коммутаторы информируют контроллер ПКС о поступлении данных, имеющих заданный признак, при поступлении которых коммутатор оповещает контроллер ПКС, а контроллер ПКС на основе заданных параметров создаёт для этого трафика виртуальный канал. In one of the private implementation options, the creation of a virtual channel is initiated using the 'event subscription' mechanism, in which the switches inform the SDN controller about the arrival of data with a given attribute, upon receipt of which the switch notifies the SDN controller, and the SDN controller, based on the specified parameters, creates for this traffic is a virtual circuit.

В одном из частных вариантов реализации серия запросов от контроллера ПКС к коммутаторам является серией NETCONF запросов.In one of the private implementation options, a series of requests from the SDN controller to the switches is a series of NETCONF requests.

В одном из частных вариантов реализации серия запросов от контроллера ПКС к коммутаторам является серией RESTCONF запросов.In one of the private implementation options, a series of requests from the SDN controller to the switches is a series of RESTCONF requests.

В одном из частных вариантов реализации для формирования контроллером ПКС запросов к коммутаторам применяются yang модели openConfig, yang модели, созданные производителем коммутаторов или yang модели, созданные третьими лицами.In one of the private implementation options, yang openConfig models, yang models created by the switch manufacturer, or yang models created by third parties are used to form requests to switches by the SDN controller.

В одном из частных вариантов реализации серия запросов от контроллера ПКС к коммутаторам является серией запросов ofConfig.In one particular implementation, the series of requests from the SDN controller to the switches is a series of ofConfig requests.

В одном из частных вариантов реализации серия запросов от контроллера ПКС к подконтрольным коммутаторам является серией openFlow запросов.In one of the private implementation options, a series of requests from the SDN controller to controlled switches is a series of openFlow requests.

В одном из частных вариантов реализации условие завершения виртуального канала представляет собой запрос, получаемый контроллером ПКС с помощью механизма межпроцессного взаимодействия, или событие истечения времени существования виртуального канала или исчерпание заданного объема, переданных по виртуальному каналу, данных.In one of the particular implementation options, the virtual channel termination condition is a request received by the SDN controller using the interprocess communication mechanism, or the virtual channel expiration event or the exhaustion of a given amount of data transmitted over the virtual channel.

КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВBRIEF DESCRIPTION OF GRAPHICS

ФИГ. 1 иллюстрирует вариант логической полносвязной сети, схемы передачи данных между инфраструктурными облачными сервисами, применяемыми в ЦОД и клиентами – арендаторами вычислительных ресурсов; FIG. 1 illustrates a variant of a logical meshed network, data transfer schemes between infrastructure cloud services used in a data center and tenants of computing resources;

ФИГ. 2 иллюстрирует схему связей между ЦОД по предварительно предоставленной в аренду оператором связи выделенной линии, имеющей гарантированную полосу пропускания, рассчитанной на максимальную интенсивность трафика; FIG. 2 illustrates the scheme of communications between data centers over a leased line previously leased by the telecom operator, which has a guaranteed bandwidth, designed for maximum traffic intensity;

ФИГ. 3 иллюстрирует пример автоматизированного предоставления виртуального канала с функциями QoS, согласно одного из вариантов осуществления; FIG. 3 illustrates an example of automated virtual circuit provisioning with QoS features, according to one embodiment;

ФИГ. 4 иллюстрирует функциональную схему контроллера ПКС, согласно одного из вариантов осуществления настоящего технического решения; FIG. 4 illustrates a functional diagram of the SPC controller, according to one of the embodiments of the present technical solution;

ФИГ. 5 иллюстрирует вариант схемы базы данных TED, согласно одному из вариантов осуществления настоящего технического решения; FIG. 5 illustrates a variant of the TED database schema according to one embodiment of the present technical solution;

ФИГ. 6 иллюстрирует пример случая превышения пропускной способности интерфейса; FIG. 6 illustrates an example of an interface overcapacity case;

ФИГ. 7 иллюстрирует примерный вариант осуществления настоящего технического решения. FIG. 7 illustrates an exemplary embodiment of the present technical solution.

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯDESCRIPTION OF EMBODIMENTS

Признаки настоящего технического решения станут очевидны посредством отсылки к примерам вариантов осуществления. Однако настоящее техническое решение не ограничивается примером вариантов осуществления, раскрытых ниже. Описание вариантов осуществления является ничем иным, как конкретными деталями, определенными для помощи специалисту в области техники в исчерпывающем понимании технического решения. Рассмотренные варианты осуществления даны с целью описания идеи, определяющей множество вариантов осуществления. Настоящее техническое решение определяется только в объеме приложенной формулы. Используемые в настоящем описании настоящего технического решения термины «модуль», «компонент», «элемент» и подобные используемые для обозначения технических средств могут быть как аппаратными средствами, так и приложением, исполняемым программным кодом и/ или прошивкой, микропрограммой.Features of the present technical solution will become apparent by referring to examples of embodiments. However, the present technical solution is not limited to the exemplary embodiments disclosed below. The description of the embodiments is nothing more than specific details, defined to assist a person skilled in the art in a thorough understanding of the technical solution. The discussed embodiments are given for the purpose of describing an idea defining a plurality of embodiments. This technical solution is defined only in the scope of the attached formula. The terms "module", "component", "element" and similar used to refer to technical means used in the present description of the present technical solution can be both hardware and an application executable by program code and / or firmware, firmware.

Далее в описании термины «коммутатор» и «маршрутизатор» используются как синонимы и обозначают устройство, выполняющее обработку заголовков пакетных данных второго, третьего и/ или четвертого уровня модели сетевого взаимодействия OSI/ISO.In the following description, the terms "switch" and "router" are used interchangeably and refer to a device that processes the packet data headers of the second, third, and/or fourth layer of the OSI/ISO networking model.

На ФИГ. 3 показан пример автоматизированного предоставления виртуального канала с функциями QoS, согласно одного из вариантов осуществления, в частности, показан вариант схемы автоматизированного предоставления виртуального канала оператором связи между ЦОД с применением элементов дифференцированной и интегрированной моделей обслуживания QoS. FIG. 3 shows an example of automated provision of a virtual channel with QoS functions, according to one of the embodiments, in particular, a variant of the scheme for automated provision of a virtual channel by a telecom operator between data centers using elements of differentiated and integrated QoS service models is shown.

Предлагаемое техническое решение позволяет выполнить создание виртуального канала в течение фиксированного короткого интервала времени и вместо аренды канала большей пропускной способности на длительное время ограничиться арендой виртуального канала с достаточной для текущих потребностей клиента пропускной способностью и сделать тогда, когда клиенту будет необходимо.The proposed technical solution allows you to create a virtual channel for a fixed short period of time and, instead of renting a channel with a larger bandwidth for a long time, limit yourself to renting a virtual channel with sufficient bandwidth for the current needs of the client and do it when the client needs it.

Одной из задач настоящего технического решения является автоматизация предоставления оператором связи виртуального канала между ЦОД.One of the objectives of this technical solution is to automate the provision of a virtual channel between the data center by the telecom operator.

На ФИГ. 3 показаны две группы клиентов, программные компоненты в составе системы управления ЦОД А 202 и программные компоненты в составе системы управления ЦОД B 212. В исходном состоянии программные компоненты двух систем управления ЦОД (клиент и сервер) не могут передавать данные друг другу, для организации обмена выполняется несколько API вызовов (в частности, нескольких API вызовов к системам управления ЦОД 202, 212 и к контроллеру ПКС 313). FIG. 3 shows two groups of clients, the software components in the control system of the data center A 202 and the software components in the control system of the data center B 212 . In the initial state, the software components of the two data center control systems (client and server) cannot transfer data to each other; several API calls are made to organize the exchange (in particular, several API calls to the data center control systems 202 , 212 and to the PKS controller 313 ).

Пусть первый вызов API (373), обеспечивающем построение туннелей для взаимодействия между программными компонентами различных ЦОД, выполняется к системам управления ЦОД А 202 и ЦОД B 212, теперь данные, поступающие от клиентов, направляются в туннель /туннели 222 и могут поступать на коммутатор R1 343 и коммутатор R2 353, как результат выполнения вызова, обеспечивающего построение туннелей для взаимодействия между программными компонентами различных ЦОД.Let the first API call ( 373 ), which provides the construction of tunnels for interaction between software components of different data centers, be made to the control systems of data center A 202 and data center B 212 , now the data coming from the clients is sent to the tunnel / tunnels 222 and can go to the switch R1 343 and switch R2 353 , as a result of a call that provides the construction of tunnels for interaction between software components of different data centers.

Второй вызов API (363), в частности, API вызов, уведомляющий контроллер ПКС о необходимости формирования виртуального канала, выполняется к контроллеру ПКС 313, контроллер ПКС 313 выполняет настройку виртуальных каналов на подконтрольных коммутаторах: R1 343 и R2 353, причем API вызов содержит, как минимум, данные для упомянутой настройки, в том числе данные о точках входа трафика виртуального канала, признак трафика, попадающего в виртуальный канал, информацию о начале и завершении виртуального канала, данные о принадлежности виртуального канала арендатору и данные о требуемых параметрах QoS. Виртуальные каналы позволяют добавить функциональность управления временем существования, пропускной способностью - обеспечить функции моделей обслуживания QoS в разных комбинациях составляющих, а также выполнять отказоустойчивую маршрутизацию и балансировку нагрузки. Коммутатор R1 343 маршрутизирует туннель в сеть подконтрольных коммутаторов. Через условную сеть, в данном случае напрямую, данные направляются от коммутатора R1 343 коммутатору R2 353. Однако, следует понимать, количество узлов и топология сети коммутаторов (343, 353), управляемых контроллером ПКС 313, может быть любым и ограничиваться, в некоторых вариантах осуществления, только числом одновременно открытых файловых дескрипторов на уровне архитектуры операционной системы контроллера ПКС 313. Маршрутизация виртуальных каналов может выполняться с применением дополнительного туннелирования, например QinQ, в этом случае коммутатор R2 353 извлекает данные (в случае применения дополнительного туннелирования данных, передаваемых по виртуальному каналу, например, QinQ), передаваемые по туннелю и передаёт сетевой компоненте системы управления ЦОД B 212. Сетевой программный компонент (в частности, сетевая служба) системы управления ЦОД B 212 извлекает данные, переданные программным компонентом системы управления ЦОД из туннеля и передаёт адресу назначения, программному компоненту системы управления ЦОД B. То же происходит в обратном направлении, обрабатываются данные поступающие от программного компонента системы управления ЦОД B программному компоненту системы управления ЦОД А.The second API call ( 363 ), in particular, an API call that notifies the SPC controller about the need to form a virtual channel, is performed to the SPC controller 313 , the SPC controller 313 configures virtual channels on the controlled switches: R1 343 and R2 353 , and the API call contains, at a minimum, data for said setting, including data on entry points of virtual channel traffic, a sign of traffic entering the virtual channel, information about the beginning and end of the virtual channel, information about the tenant ownership of the virtual channel, and data about the required QoS parameters. Virtual circuits allow you to add the functionality of managing lifetime, bandwidth - to provide the functions of QoS service models in different combinations of components, as well as to perform fault-tolerant routing and load balancing. Switch R1 343 routes the tunnel to the network of controlled switches. Through the conditional network, in this case directly, the data is sent from the switch R1 343 to the switch R2 353 . However, it should be understood that the number of nodes and the topology of the network of switches ( 343 , 353 ) controlled by the SDN controller 313 can be arbitrary and is limited, in some embodiments, only by the number of simultaneously open file descriptors at the operating system architecture level of the SDN controller 313 . Routing of virtual circuits can be performed using additional tunneling, such as QinQ, in which case the R2 353 switch extracts the data (in the case of additional tunneling of data transmitted over a virtual circuit, such as QinQ) transmitted over the tunnel and transmits to the network component of the data center control system B 212 . The network software component (in particular, the network service) of the data center control system B 212 extracts the data transmitted by the data center control system software component from the tunnel and passes the destination address to the data center control system software component B. The same happens in the opposite direction, the data coming from the data center control software is processed. data center control system component B data center control system software component A.

Поскольку данные между ЦОД передаются по линиям оператора связи, может появиться необходимость в дополнительной функциональности, которая позволит оперативно создавать каналы, управлять скоростью, назначить приоритет отдельных потоков данных и т.п., как показано на ФИГ. 3. Указанные функции могут быть включены в функциональность наложенной сети 303, поскольку их реализация не зависит от применяемых протоколов передачи данных, логической и физической организации линий связи и выполняется за счёт централизованного управления, как описано далее.Since data is transmitted between data centers over carrier lines, there may be a need for additional functionality that allows you to quickly create channels, control speed, prioritize individual data streams, etc., as shown in FIG. 3 . These functions can be included in the functionality of the overlay network 303 , since their implementation does not depend on the data transfer protocols used, the logical and physical organization of communication lines, and is performed through centralized control, as described below.

Контроллер программно-конфигурируемой сети (ПКС) 313 позволяет в автоматическом режиме с использованием конфигурационных запросов/ответов 333 создавать на подконтрольных коммутаторах виртуальные каналы 323 – правила обработки и маршрутизации трафика, добавлять функциональность управления временем существования и пропускной способностью виртуальных каналов 323, обеспечивать другие функции моделей обслуживания QoS в разных комбинациях составляющих, а также выполнять отказоустойчивую маршрутизацию и балансировку нагрузки, как показано на ФИГ. 3.The software- defined network controller (SDN) 313 allows you to automatically create virtual channels 323 on controlled switches - rules for processing and routing traffic, add the functionality of managing the lifetime and bandwidth of virtual channels 323 , provide other functions of the models QoS services in different combinations of components, as well as perform fault-tolerant routing and load balancing, as shown in FIG. 3 .

Упомянутые виртуальные каналы 323 включают (в частном случае являются) правила обработки и маршрутизации трафика, установленные на коммутаторах по маршруту транзита трафика, созданные путём централизованной настройки (в частности, управлением) коммутаторов контроллером ПКС 313.Said virtual channels 323 include (in a particular case, they are) traffic processing and routing rules installed on the switches along the traffic transit route, created by centralized configuration (in particular, management) of the switches by the SDN controller 313 .

Функциональность наложенной сети 303 включает (в частном случае является) правила обработки и маршрутизации трафика, установленные на коммутаторах по маршруту транзита трафика, созданные путём централизованной настройки (в частности, управлением) коммутаторов контроллером ПКС 313.The functionality of the overlay network 303 includes (in a particular case is) traffic processing and routing rules installed on the switches along the traffic transit route, created by centralized configuration (in particular, management) of the switches by the SDN controller 313 .

На ФИГ. 4 показана функциональная схема контроллера ПКС, согласно одного из вариантов осуществления настоящего технического решения. FIG. 4 shows a functional diagram of the PKS controller, according to one of the embodiments of the present technical solution.

Как показано на функциональной схеме, ФИГ. 4, контроллер ПКС 313 состоит из логики, обеспечивающей маршрутизацию виртуальных каналов (управляющее приложение 404) и программных библиотек, в частности, библиотек взаимодействия с коммутатором 434, взаимодействия с коммутатором 343, 353, обеспечивающих централизованное управление, настройку коммутаторов на маршруте прохождения данных между ЦОД. Количество и тип библиотек взаимодействия с коммутатором 434, определяет количество поддерживаемых контроллером ПКС 313 протоколов, используемых для взаимодействия контроллера ПКС с коммутаторами 343, 353. Порядок и содержание конфигурационных запросов/ответов (в частности, вызовов RPC) 333 также зависит от протокола, используемого для взаимодействия контроллера ПКС 313 с коммутатором 343, 353.As shown in the functional diagram, FIG. 4 , the controller PKS 313 consists of logic that provides routing of virtual channels (control application 404 ) and software libraries, in particular, libraries for interaction with the switch 434 , interaction with the switch 343 , 353 , providing centralized control, configuration of switches on the data path between the data center . The number and type of libraries for interaction with the switch 434 determines the number of protocols supported by the SDN controller 313 used for the interaction of the SDN controller with the switches 343 , 353 . The order and content of the configuration requests/responses (in particular, RPC calls) 333 also depends on the protocol used for the interaction of the PCC controller 313 with the switch 343 , 353 .

Управляющее приложение контроллера ПКС 404, в описываемом варианте с применением протокола NETCONF (сетевой протокол конфигурации, протокол сетевого управления устройствами), при старте выполняет первичную инициализацию, происходит опрос коммутаторов по заданным адресам. В разных вариантах осуществления адреса коммутаторов могут храниться в конфигурации контроллера ПКС 313 или задаваться динамически с помощью механизмов межпроцессного взаимодействия. Выполняются вызовы RPC 333, 444, позволяющие определить существующие на коммутаторах интерфейсы, пропускную способность линий и информацию о соседних коммутаторах, доступную по протоколам обнаружения соединений. С использованием полученных данных контроллер ПКС 313 осуществляет построение графа, соответствующего топологии связей и пропускной способности линий между коммутаторами. The control application of the PKS 404 controller, in the described embodiment, using the NETCONF protocol (network configuration protocol, network device control protocol), performs initial initialization at startup, the switches are polled at the specified addresses. In various embodiments, the addresses of the switches may be stored in the configuration of the controller SDN 313 or set dynamically using inter-process communication mechanisms. RPC calls 333, 444 are made to determine the interfaces on the switches, the bandwidth of the lines, and information about neighboring switches available via connection discovery protocols. Using the received data, the controller PKS 313 builds a graph corresponding to the topology of connections and the bandwidth of the lines between the switches.

Управляющее приложение контроллера ПКС 404 ведёт записи базы данных TED 414 (базы данных организации трафика (TED, от англ. Trafic Engeneering Data)), полученных в ходе опроса коммутаторов и полученных в результате обработки запросов на формирование виртуальных каналов. Информационный обмен между управляющим приложением 404 и базой данных TED 414 может состоять из данных о топологии и ресурсах домена подконтрольных коммутаторов, информации о маршруте виртуальных каналов. Информация базы данных TED 414 может использоваться управляющим приложением контроллера ПКС 404 в некоторых вариантах осуществления для расчёта маршрута виртуального канала или в случае аварийного восстановления (где фактом аварийного завершения, требующего аварийного восстановления, может являться, например, содержание в базе TED данных). База данных TED может быть расположена на одной программно-аппаратной платформе с контроллером ПКС или размещена за пределами, удалённо. Граф топологии домена подконтрольных коммутаторов в базе данных TED в некоторых вариантах осуществления может храниться в виде записей таблиц «switch_tbl» (535) и «interfaces_tbl» (545). PKS controller control application404 maintains TED database records414 (Traffic Engineering Data (TED) databases) obtained during the interrogation of switches and received as a result of processing requests for the formation of virtual channels. Information exchange between the control application 404 and the TED database 414 may consist of data on the topology and resources of the domain of controlled switches, information on the route of virtual channels. The TED database information 414 may be used by the control application of the SDN controller 404 in some embodiments to calculate the route of the virtual circuit or in the event of a disaster recovery (where the fact of a crash requiring disaster recovery may be, for example, the content in the TED database). The TED database can be located on the same software and hardware platform as the PKS controller or hosted outside, remotely. The domain topology graph of controlled switches in the TED database may, in some embodiments, be stored as table entries "switch_tbl" (535) and "interfaces_tbl" (545).

Управляющее приложение контроллера ПКС ведёт записи базы данных арендаторов виртуальных каналов 424. Информационный обмен между управляющим приложением 404 и базой данных арендаторов виртуальных каналов в некоторых вариантах осуществления может состоять из идентификаторов арендаторов виртуальных каналов, идентификаторов виртуальных каналов и признака привилегированного режима обслуживания виртуальных каналов арендатора. Информация базы данных арендаторов 424 может использоваться управляющим приложением контроллера ПКС 404 в некоторых вариантах осуществления для построения или перестроения маршрута виртуальных каналов, или в случае аварийного восстановления. Признак привилегированного режима обслуживания задает приоритет при маршрутизации виртуальных каналов 323, который в некоторых вариантах осуществления, например, может являться признаком, позволяющим управляющему приложению 404 при маршрутизации виртуальных каналов вытеснять из графа топологии виртуальные каналы других арендаторов.The control application of the SDN controller keeps records of the database of tenants of virtual channels 424 . The communication between the control application 404 and the virtual circuit tenant database may, in some embodiments, consist of virtual circuit tenant identifiers, virtual circuit identifiers, and a tenant privileged service flag. The tenant database information 424 may be used by the control application of the SDN controller 404 in some embodiments to build or reroute virtual circuits, or in case of disaster recovery. The Privileged Service Mode flag defines the routing priority of virtual circuits 323 , which in some embodiments, for example, may be a flag that allows the control application 404 to preempt virtual circuits of other tenants from the topology graph when routing virtual circuits.

Вызов REST API (363), в некоторых вариантах осуществления, может содержать, например, запрос на создание или удаление виртуального канала (323).The REST API call ( 363 ), in some embodiments, may include, for example, a request to create or delete a virtual circuit ( 323 ).

Централизованное управление коммутаторами на маршруте прохождения данных между удаленными ЦОД выполняется с применением протокола NETCONF (RFC4741 https://tools.ietf.org/html/rfc4741, RFC6241 https://tools.ietf.org/html/rfc6241). Контроллер ПКС 313 может формировать запрос NETCONF с применением языка моделирования данных YANG (RFC6020 https://tools.ietf.org/html/rfc6020https://tools.ietf.org/html/rfc7950, RFC7950). В некоторых вариантах осуществления взаимодействие между контроллером ПКС 313 и подконтрольными коммутаторами может выполняться с применением протокола RESTCONF (RFC8040 https://tools.ietf.org/html/rfc8040, RFC8527 https://tools.ietf.org/html/rfc8527). В некоторых вариантах осуществления взаимодействие между контроллером ПКС 313 и подконтрольными коммутаторами может выполняться с применением протокола openConfig. В некоторых вариантах осуществления взаимодействие между контроллером ПКС 313 и подконтрольными коммутаторами может выполняться с применением протокола ofConfig В некоторых вариантах осуществления взаимодействие между контроллером ПКС 313 и подконтрольными коммутаторами также может выполняться с применением протокола PCEP (RFC5440 https://tools.ietf.org/html/rfc5440, RFC7896 https://tools.ietf.org/html/rfc7896, RFC8253 https://tools.ietf.org/html/rfc8253, RFC8356 https://tools.ietf.org/html/rfc8356, RFC8408 https://tools.ietf.org/html/rfc8408, RFC8664 https://tools.ietf.org/html/rfc8664, RFC7420 https://tools.ietf.org/html/rfc7420). В некоторых вариантах осуществления взаимодействие между контроллером ПКС 313 и подконтрольными коммутаторами также может выполняться с применением протокола OpenFlow (OpenFlow® Switch Specification 1.3.0 https://opennetworking.org/wp-content/uploads/2014/10/openflow-spec-v1.3.0.pdf).Centralized management of switches on the data path between remote data centers is performed using the NETCONF protocol (RFC4741 https://tools.ietf.org/html/rfc4741, RFC6241 https://tools.ietf.org/html/rfc6241). The PCC controller 313 may generate a NETCONF request using the YANG data modeling language (RFC6020 https://tools.ietf.org/html/rfc6020https://tools.ietf.org/html/rfc7950, RFC7950). In some embodiments, communication between the SDN controller 313 and controlled switches can be performed using the RESTCONF protocol (RFC8040 https://tools.ietf.org/html/rfc8040, RFC8527 https://tools.ietf.org/html/rfc8527). In some embodiments, communication between the SDN controller 313 and controlled switches may be performed using the openConfig protocol. In some embodiments, the communication between the SPC controller 313 and controlled switches may be performed using the ofConfig protocol /rfc5440, RFC7896 https://tools.ietf.org/html/rfc7896, RFC8253 https://tools.ietf.org/html/rfc8253, RFC8356 https://tools.ietf.org/html/rfc8356, RFC8408 https ://tools.ietf.org/html/rfc8408, RFC8664 https://tools.ietf.org/html/rfc8664, RFC7420 https://tools.ietf.org/html/rfc7420). In some embodiments, communication between the SDN controller 313 and controlled switches can also be performed using the OpenFlow protocol (OpenFlow® Switch Specification 1.3.0 https://opennetworking.org/wp-content/uploads/2014/10/openflow-spec-v1 .3.0.pdf).

Функции централизованного управления обеспечивают:Centralized management functions provide:

- опрос коммутаторов при первичной инициализации контроллера ПКС 313;- interrogation of switches during the initial initialization of the PKS 313 controller;

- автоматическое создание и удаление виртуальных каналов 323 между ЦОД (в частности, между системами управления ЦОД);- automatic creation and removal of virtual channels 323 between data centers (in particular, between data center control systems);

- отслеживание состояния и топологии связей домена подконтрольных коммутаторов.- tracking the state and topology of the links of the domain of controlled switches.

Так, с использованием централизованного управления осуществляется опрос коммутаторов при первичной инициализации контроллера ПКС 313; автоматическое создание и удаление виртуальных каналов 323 между ЦОД и отслеживание состояния и топологии связей домена подконтрольных коммутаторов.So, using centralized control, the switches are polled during the initial initialization of the PKS controller 313 ; automatic creation and deletion of virtual channels 323 between the data center and tracking the state and topology of the links of the domain of controlled switches.

Функции управляющего приложения 404 обеспечивают:The functions of the control application 404 provide:

- построение и перестроение маршрута виртуальных каналов 323 в сети подконтрольных коммутаторов между удалёнными ЦОД;- building and rebuilding the route of virtual channels 323 in the network of controlled switches between remote data centers;

- планирование, моменты времени начала и завершения существования виртуальных каналов 323 в сети подконтрольных коммутаторов между удалёнными ЦОД;- planning, start and end times of the existence of virtual channels 323 in the network of controlled switches between remote data centers;

- построение и перестроение маршрута с учётом признака привилегированного режима обслуживания виртуального канала (323);- building and rebuilding the route, taking into account the sign of the privileged mode of servicing the virtual channel ( 323 );

- балансировку нагрузки с автоматическим перестроением маршрутов виртуальных каналов 323 в сети подконтрольных коммутаторов;- load balancing with automatic rerouting of virtual channels 323 in the network of controlled switches;

- отказоустойчивость при передаче данных по виртуальным каналам 323 в случае отказа одной или нескольких физических линий передачи данных за счёт автоматического перестроения маршрута виртуального канала (323).- fault tolerance during data transmission over virtual channels 323 in case of failure of one or more physical data transmission lines due to automatic rerouting of the virtual channel ( 323 ).

Так, управляющее приложение 404 осуществляет построение и перестроение маршрутов виртуальных каналов 323 в сети подконтрольных коммутаторов между удалёнными ЦОД; планирование, моменты времени начала и завершения существования виртуальных каналов 323 в сети подконтрольных коммутаторов между удалёнными ЦОД; построение и перестроение маршрута с учётом признака привилегированного режима обслуживания виртуального канала (323); балансировку нагрузки с автоматическим перестроением маршрутов виртуальных каналов 323 в сети подконтрольных коммутаторов; обеспечение отказоустойчивости при передаче данных по виртуальным каналам 323 в случае отказа одной или нескольких физических линий передачи данных или коммутаторов за счёт автоматического перестроения маршрута виртуального канала (323).Thus, the control application 404 builds and re-routes virtual channels 323 in the network of controlled switches between remote data centers; planning, start and end times of the existence of virtual channels 323 in the network of controlled switches between remote data centers; building and rebuilding the route, taking into account the sign of the privileged service mode of the virtual channel ( 323 ); load balancing with automatic rerouting of virtual channels 323 in the network of controlled switches; ensuring fault tolerance during data transmission over virtual circuits 323 in case of failure of one or more physical data transmission lines or switches due to automatic rerouting of the virtual circuit ( 323 ).

Функции, обеспечиваемые коммутаторами:Features provided by the switches:

- в некоторых вариантах осуществления функции интегрированной модели обслуживания QoS (гарантированную пропускную способность);- in some embodiments, the implementation of the functions of the integrated service model QoS (guaranteed throughput);

- в некоторых вариантах осуществления функции дифференцированной модели обслуживания QoS (обслуживание на основе разделения трафика по классам);- in some embodiments, the implementation of the function of a differentiated QoS service model (service based on the division of traffic by class);

- в некоторых вариантах осуществления одновременное применение функций дифференцированной и интегрированной моделей обслуживания QoS в разных комбинациях составляющих.- in some embodiments, the simultaneous use of the functions of the differentiated and integrated QoS service models in different combinations of components.

Так, управление настройками коммутаторов обеспечивает возможность осуществления для потоков данных, передаваемых по виртуальным каналам функций интегрированной модели обслуживания QoS (гарантированную ширину полосы пропускания); функции дифференцированной модели обслуживания QoS (обслуживание на основе разделения трафика по классам); одновременного применения функций дифференцированной и интегрированной моделей обслуживания QoS в разных комбинациях составляющих.Thus, the management of switch settings provides the ability to implement the functions of an integrated QoS service model (guaranteed bandwidth) for data flows transmitted over virtual channels; functions of a differentiated QoS service model (service based on the division of traffic into classes); simultaneous application of the functions of differentiated and integrated QoS service models in different combinations of components.

Автоматическое создание виртуальных каналов 323 (функции централизованного управления) обеспечивается выполнением REST API запроса (363) к контроллеру ПКС 313. В некоторых вариантах осуществления API запрос (363) на создание виртуального канала (323) должен включать идентификаторы коммутаторов и интерфейсов начала и конца маршрута, моменты времени начала и завершения существования виртуального канала (323), признак принадлежности виртуального канала (323) арендатору и признак трафика, попадающего в виртуальный канал (323).Automatic creation of virtual circuits 323 ( centralized control functions) is provided by the execution of the REST API request ( 363 ) to the SPC controller 313 . In some embodiments, the API request ( 363 ) to create a virtual circuit ( 323 ) must include the identifiers of the switches and interfaces of the beginning and end of the route, the start and end times of the existence of the virtual circuit ( 323 ), the attribute of the ownership of the virtual circuit ( 323 ) to the tenant, and the traffic attribute falling into the virtual channel ( 323 ).

В некоторых вариантах осуществления в качестве признака трафика, попадающего в виртуальный канал (323), могут использоваться поля заголовка сетевого кадра (L2), на основе которых коммутатором поддерживается маршрутизация, например, MAC destination, MAC source, IEEE 802.1Q tag и/или Ethertype. В некоторых вариантах осуществления в качестве признака трафика, попадающего в виртуальный канал (323), могут использоваться поля заголовка сетевого пакета (L3), на основе которых коммутатором поддерживается маршрутизация, например, на основе полей version, type of service, time to live, protocol, source ip address, destination ip address, ip options полей заголовка пакета IPv4. В некоторых вариантах осуществления в качестве признака трафика, попадающего в виртуальный канал (323), могут использоваться поля заголовка транспортного уровня (L4), на основе которых коммутатором поддерживается маршрутизация, например, source port, destination port, ACK, PSH, RST, SYN, FIN протокола TCP, source port, destination port протокола UDP. Также, в некоторых вариантах осуществления в качестве признака трафика, попадающего в виртуальный канал (323), могут использоваться другие поля пакетов других протоколов или их комбинации, на основе которых коммутатором поддерживается маршрутизация.In some embodiments, as a sign of traffic entering the virtual channel ( 323 ), fields of the network frame header (L2) can be used, based on which the switch supports routing, for example, MAC destination, MAC source, IEEE 802.1Q tag and / or Ethertype . In some embodiments, as a sign of traffic entering the virtual circuit ( 323 ), the fields of the network packet header (L3) can be used, based on which the switch supports routing, for example, based on the version, type of service, time to live, protocol fields , source ip address, destination ip address, ip options IPv4 packet header fields. In some embodiments, as a sign of traffic entering the virtual circuit ( 323 ), the fields of the transport layer (L4) header can be used, based on which the switch supports routing, for example, source port, destination port, ACK, PSH, RST, SYN, FIN of TCP protocol, source port, destination port of UDP protocol. Also, in some embodiments, as a sign of traffic entering the virtual channel ( 323 ), other packet fields of other protocols or their combinations can be used, based on which the switch supports routing.

Выполнение запросов к контроллеру ПКС 313 на создание виртуального канала (323) передачи данных в варианте с применением протокола NETCONF вызывает выполнение серии NETCONF запросов (333) от контроллера ПКС 313 к подконтрольным коммутаторам. В зависимости от признака трафика, попадающего в виртуальный канал (323) и выбранной модели QoS, тип и последовательность выполняемых запросов могут отличаться. Например, в некоторых вариантах осуществления для обеспечения гарантированной полосы пропускания виртуального канала (323) на каждом коммутаторе построенного маршрута может быть выполнен (являющийся для этого достаточным) запрос по настройке фильтра, отделяющего выбранный трафик и запрос по настройке шейпера (от англ. traffic shaping), осуществляющего ограничение пропускной способности для выбранного трафика. Гарантию требуемой пропускной способности виртуального канала обеспечивает управляющее приложение 404 на основе записей базы данных TED 414 с применением в разных вариантах осуществления как типовых (алгоритмы Дейкстры, Беллмана-Форда и т.п.), так и новых (Maximally Redundant Trees) алгоритмов маршрутизации, как и с помощью алгоритмов, которые могут быть разработаны поздней, в зависимости от применяемого в контроллере ПКС. После выполнения запросов коммутаторы на маршруте прохождения данных между ЦОД настроены для передачи трафика между ЦОД (как показано на ФИГ. 3), в базу данных TED (в графе, соответствующем топологии связей между коммутаторами и пропускной способности линий) добавляется запись о маршруте виртуального канала и занятой им полосе пропускания. В некоторых вариантах осуществления схема базы данных TED может соответствовать приведенной на ФИГ. 5.Execution of requests to the PKS 313 controller to create a virtual channel ( 323 ) for data transmission in the variant using the NETCONF protocol causes the execution of a series of NETCONF requests ( 333 ) from the PKS 313 controller to the controlled switches. Depending on the sign of the traffic entering the virtual channel ( 323 ) and the selected QoS model, the type and sequence of requests to be executed may differ. For example, in some embodiments, to provide a guaranteed bandwidth of the virtual channel ( 323 ), on each switch of the constructed route, a request can be made (which is sufficient for this) to configure a filter that separates the selected traffic and a request to configure a shaper (from English traffic shaping) A that limits the bandwidth for the selected traffic. The guarantee of the required bandwidth of the virtual channel is provided by the control application 404 based on the records of the TED 414 database using both standard (Dijkstra, Bellman-Ford algorithms, etc.) and new (Maximally Redundant Trees) routing algorithms in different implementations, as well as with the help of algorithms that can be developed later, depending on the PKS used in the controller. After the requests are made, the switches on the data path between the data centers are configured to transfer traffic between the data centers (as shown in FIG. 3 ), an entry about the route of the virtual channel is added to the TED database (in the column corresponding to the topology of connections between the switches and the bandwidth of the lines) and the bandwidth it occupies. In some embodiments, the TED database schema may be as shown in FIG. 5 .

На ФИГ. 5 показан вариант схемы базы данных TED, согласно одному из вариантов осуществления настоящего технического решения. В этом варианте осуществления база данных TED состоит из таблиц: таблица, содержащая список арендаторов виртуальных каналов «holder_tbl» 505; таблица, содержащая список виртуальных каналов «channel_tbl» 515; таблица, содержащая список признаков трафика, попадающего в виртуальный канал «properties_tbl» 525; таблица, содержащая список коммутаторов «switch_tbl» 535; таблица, содержащая список интерфейсов коммутаторов «interfaces_tbl» 545; таблица, содержащая список маршрутов виртуальных каналов «hop_tbl» 555. Таблицы на схеме базы данных TED связаны между собой по ключевым полям (по уникальным идентификаторам записей). FIG. 5 shows a variant of the TED database schema according to one embodiment of the present technical solution. In this embodiment, the TED database consists of tables: a table containing a list of virtual circuit tenants "holder_tbl"505; a table containing a list of virtual channels "channel_tbl"515; a table containing a list of signs of traffic entering the virtual channel "properties_tbl"525; a table containing a list of switches "switch_tbl"535; a table containing a list of switch interfaces "interfaces_tbl"545; a table containing a list of virtual circuit routes "hop_tbl" 555 . The tables in the TED database schema are linked by key fields (by unique record identifiers).

В приведенном на ФИГ. 5 варианте осуществления базы данных TED, запись об участке маршрута виртуального канала может иметь вид, приведенный в таблице 1.In FIG. 5 of the TED database implementation, the VC route leg entry may be as shown in Table 1.

Таблица 1. Пример записи об участке маршрута виртуального канала базы данных TED.Table 1. Example of a TED virtual circuit route section record.

hop_identhop_ident 77 channel_identchannel_ident 22 hop_numberhop_number 00 switch_dpidswitch_dpid 00:1f:d0:00:ba:9b00:1f:d0:00:ba:9b switch_prev_dpidswitch_prev_dpid nullnull switch_next_dpidswitch_next_dpid 00:1f:d0:00:ba:9c00:1f:d0:00:ba:9c switch_interface_inswitch_interface_in ge-0/0/3.1ge-0/0/3.1 switch_interface_outswitch_interface_out ge-0/0/0.1ge-0/0/0.1 switch_stateswitch_state TRUETRUE

В этом примере запись об участке маршрута виртуального канала сообщает что: уникальный идентификатор этой записи имеет значение «7»; идентификатор виртуального канала, к которому относится запись равен «2»; порядковый номер участка маршрута «0»; идентификатор коммутатора «00:1f:d0:00:ba:9b»; идентификатор предыдущего коммутатора «null»; идентификатор следующего коммутатора «00:1f:d0:00:ba:9c»; данные виртуального канала поступают с интерфейса «ge-0/0/3.1»; данные виртуального канала маршрутизируются на интерфейс «ge-0/0/0.1»; значение поля switch_state, установленное в «TRUE» говорит о том, что настройка коммутатора для маршрутизации данных виртуального канала выполнена.In this example, the VC route leg entry reports that: the unique identifier of this entry is "7"; the identifier of the virtual channel to which the entry refers is equal to "2"; serial number of the route section "0"; switch ID "00:1f:d0:00:ba:9b"; identifier of the previous switch "null"; ID of the next switch "00:1f:d0:00:ba:9c"; virtual channel data comes from the "ge-0/0/3.1" interface; virtual channel data is routed to the "ge-0/0/0.1" interface; the value of the switch_state field set to "TRUE" indicates that the switch has been configured to route virtual circuit data.

Таблица 2. Пример выборки о маршруте созданного виртуального канала из базы данных TED.Table 2. An example of a selection about the route of the created virtual circuit from the TED database.

hop_identhop_ident 77 8eight 99 10ten channel_identchannel_ident 22 22 22 22 hop_numberhop_number 00 1one 22 33 switch_dpidswitch_dpid 00:1f:d0:00:ba:9b00:1f:d0:00:ba:9b 00:1f:d0:00:ba:9c00:1f:d0:00:ba:9c 00:1f:d0:00:ba:9d00:1f:d0:00:ba:9d 00:1f:d0:00:ba:9e00:1f:d0:00:ba:9e switch_prev_dpidswitch_prev_dpid nullnull 00:1f:d0:00:ba:9b00:1f:d0:00:ba:9b 00:1f:d0:00:ba:9c00:1f:d0:00:ba:9c 00:1f:d0:00:ba:9d00:1f:d0:00:ba:9d switch_next_dpidswitch_next_dpid 00:1f:d0:00:ba:9c00:1f:d0:00:ba:9c 00:1f:d0:00:ba:9d00:1f:d0:00:ba:9d 00:1f:d0:00:ba:9e00:1f:d0:00:ba:9e nullnull switch_interface_inswitch_interface_in ge-0/0/3.1ge-0/0/3.1 ge-0/0/0.1ge-0/0/0.1 ge-0/0/0.1ge-0/0/0.1 ge-0/0/2.1ge-0/0/2.1 switch_interface_outswitch_interface_out ge-0/0/0.1ge-0/0/0.1 ge-0/0/2.1ge-0/0/2.1 ge-0/0/2.1ge-0/0/2.1 ge-0/0/3.1ge-0/0/3.1 switch_stateswitch_state TRUETRUE TRUETRUE TRUETRUE TRUETRUE

По завершении времени существования виртуального канала или по запросу (363) контроллер ПКС 313 удаляет хранящуюся на коммутаторах информацию о маршрутизируемых между ЦОД виртуальных каналах. Какая именно информация о маршрутизируемых между ЦОД виртуальных каналов удаляется из конфигурации коммутаторов зависит от признака трафика, попадающего в виртуальный канал и, выбранной модели QoS. Путём направления коммутаторам серии NETCONF запросов выполняется изменение конфигурации коммутаторов и, таким образом, трафик туннелей между ЦОД перестаёт передаваться, запись о маршруте и полосе виртуального канала в базе данных TED удаляется. Тип и последовательность запросов может отличаться в зависимости от признака трафика, попадающего в виртуальный канал и выбранной модели QoS. В случае удаления записи арендатора выполняется удаление всех виртуальных каналов, сопоставленных с его идентификатором.Upon expiration of the lifetime of the virtual channel or upon request (363) PKS controller313 deletes information stored on switches about virtual channels routed between data centers. What information about virtual channels routed between data centers is removed from the switch configuration depends on the sign of traffic entering the virtual channel and the selected QoS model. By sending NETCONF requests to the switches, the configuration of the switches is changed and, thus, tunnel traffic between the data centers is no longer transmitted, the record of the route and band of the virtual link in the TED database is deleted. The type and sequence of requests may differ depending on the type of traffic entering the virtual channel and the selected QoS model. If a tenant entry is deleted, all virtual circuits associated with the tenant ID are deleted.

Отслеживание состояния и топологии связей домена подконтрольных коммутаторов, обеспечивающее функции централизованного управления, в разных вариантах осуществления может выполняться как с применением периодического опроса коммутаторов о соседних сетевых устройствах, так и (например, в варианте осуществления с применением протокола NETCONF) с применением механизма «подписки на события» (NETCONF Event Notifications, RFC5277, YANG Module for NETCONF Monitoring, RFC 6022; NETCONF Base Notifications, RFC 6470). Информацию о связях между сетевыми устройствами коммутатор может получать (в частности, запрашивать), например, с помощью одного из протоколов канального уровня, таких как LLDP (Link Layer Discovery Protocol, IEEE 802.1ab), в зависимости от поддерживаемых коммутаторами.Tracking the state and topology of links of the domain of controlled switches, which provides centralized management functions, in different embodiments, can be performed both using periodic polling of switches about neighboring network devices, and (for example, in an embodiment using the NETCONF protocol) using the “subscription to events" (NETCONF Event Notifications, RFC5277, YANG Module for NETCONF Monitoring, RFC 6022; NETCONF Base Notifications, RFC 6470). The switch can receive (in particular, request) information about connections between network devices, for example, using one of the link layer protocols, such as LLDP (Link Layer Discovery Protocol, IEEE 802.1ab), depending on those supported by the switches.

Построение и перестроение маршрутов виртуальных каналов, обеспечивающее функции управляющего приложения 404, в разных вариантах осуществления может выполняться с применением как типовых (алгоритмы Дейкстры, Беллмана-Форда и т.п.), так и новых (Maximally Redundant Trees) алгоритмов маршрутизации, а также алгоритмов, которые могут быть разработаны поздней, в зависимости от применяемого в контроллере ПКС 313.The construction and re-routing of virtual channels, which provides the functions of the control application 404 , in various embodiments, can be performed using both standard (Dijkstra, Bellman-Ford algorithms, etc.) and new (Maximally Redundant Trees) routing algorithms, as well as algorithms that can be developed later, depending on the PKS 313 used in the controller.

Моменты времени начала и завершения существования виртуальных каналов с заданным периодом отслеживает планировщик контроллера ПКС 313. В разных вариантах осуществления функции планировщика могут обеспечиваться, например, API вызовами управляющего приложения 404 к операционной системе контроллера ПКС 313 или иначе. По наступлении моментов начала или завершения существования выполняется RPC вызов на создание или удаление виртуальных каналов. Отслеживание моментов времени начала и завершения обеспечивают функции управляющего приложения 404.The time points of the beginning and end of the existence of virtual channels with a given period monitors the scheduler of the controller PKS 313 . In various embodiments, the scheduler functions may be provided, for example, by API calls of the control application 404 to the operating system of the PCC controller 313 or otherwise. Upon the arrival or end of existence, an RPC call is made to create or delete virtual channels. Start and end time tracking is provided by the functions of the control application 404 .

Построение и перестроение маршрута с учетом признака привилегированного режима обслуживания каналов арендатора, выполняется управляющим приложением 404 контроллера ПКС 313, обеспечивает функции управляющего приложения 404. В некоторых случаях при поступлении запроса на создание виртуального канала управляющее приложение 404 может выполнить перестроение маршрутов всех виртуальных каналов, например, в соответствие оптимизирующего алгоритма маршрутизации, описанного ниже. Признак привилегированного режима обслуживания может определять порядок построения маршрутов. Признак привилегированного режима обслуживания содержится в базе данных TED 414 таблице «holder_tbl» (505), поле «holder_privilege». В случае если построение или перестроение маршрутов виртуальных каналов 605, 614 ограничено пропускной способностью линии связи (интерфейсов коммутатора) 607, то маршрутизация виртуальных каналов 611, 610 будет выполнена с учётом признака привилегированного режима обслуживания, и, например, API вызов на создание виртуального канала (363) для виртуального канала 2 (610, 614) может быть отклонен или маршрутизация виртуального канала 2 (610, 614) может быть перепланирована на другое время, как показано на ФИГ. 6.The construction and rebuilding of the route, taking into account the sign of the privileged mode of servicing tenant channels, is performed by the control application404 PKS controller313,provides control application functions404. In some cases, when a request is received to create a virtual channel, the control application404 may perform rerouting of all virtual circuits, for example, in accordance with the optimizing routing algorithm described below. The privileged service mode flag may determine the order in which routes are constructed. Privileged mode of service flag is contained in the TED database414table "holder_tbl" (505), the "holder_privilege" field. If building or rerouting virtual circuits605,614 limited by the bandwidth of the communication line (switch interfaces)607, then the routing virtual channels611,610 will be executed taking into account the attribute of the privileged service mode, and, for example, an API call to create a virtual channel (363)for virtual channel 2 (610, 614) may be rejected or virtual circuit 2 routing (610, 614)can be rescheduled for another time, as shown inFIG. 6.

На ФИГ. 6 показан пример случая превышения пропускной способности интерфейса: управляющее приложение контроллера ПКС обрабатывает запросы на создание виртуального канала_1 605, 611 с пропускной способностью 300 мб/с и виртуального канала_2 614, 610 с пропускной способностью 750 мб/с. Согласно топологии, указанной на ФИГ. 6 маршрут виртуального канала_1 605, 611 проходит через коммутатор 1 603, линию связи 604, коммутатор 2 606, линию связи 607 и коммутатор 3 609, маршрут виртуального канала_2 614, 610 проходит через коммутатор 4 612, линию связи 613, коммутатор 2 606, линию связи 607 и коммутатор 3 609. Пропускная способность линий связи и интерфейсов коммутаторов 1000 мб/с. Таким образом суммарная пропускная способность запрошенных виртуальных каналов 611, 610 на участке маршрута коммутатор 2 606 – коммутатор 3 609 превышает пропускную способность линии связи 607. FIG. 6 shows an example of the case of exceeding the bandwidth of the interface: the control application of the SDN controller processes requests to create virtual channel_1 605 , 611 with a bandwidth of 300 Mb/s and virtual channel_2 614 , 610 with a bandwidth of 750 Mb/s. According to the topology shown in FIG. 6 route virtual circuit_1 605 , 611 passes through switch 1 603 , link 604 , switch 2 606 , link 607 and switch 3 609 , route virtual circuit_2 614 , 610 passes through switch 4 612 , link 613 , switch 2 606 , line communication 607 and switch 3 609 . Bandwidth of communication lines and interfaces of switches is 1000 Mb/s. Thus, the total throughput of the requested virtual channels 611 , 610 on the route section switch 2 606 - switch 3 609 exceeds the throughput of the communication line 607 .

Виртуальные каналы, пропускная способность которых в сумме с пропускной способностью построенных маршрутов превышает пропускную способность интерфейсов коммутатора (если разместить все виртуальные каналы в домене подконтрольных коммутаторов не удаётся), могут быть перепланированы на более позднее время или при первой возможности (с изменением топологии) маршрут этих виртуальных каналов будет перестроен.Virtual channels, the throughput of which, together with the throughput of the constructed routes, exceeds the bandwidth of the switch interfaces (if it is not possible to place all virtual channels in the domain of controlled switches), can be rescheduled for a later time or at the first opportunity (with a change in topology) the route of these virtual channels will be rebuilt.

Балансировка нагрузки с автоматическим перестроением маршрутов виртуальных каналов в сети подконтрольных коммутаторов, обеспечивающая функции управляющего приложения 404, осуществляется в соответствии с выстроенным графом топологии и пропускной способности линий связи между коммутаторами, таблицей маршрутов существующих виртуальных каналов (Таблица 2), занимающих часть общей пропускной способности сети подконтрольных коммутаторов и остаточным графом, который складывается из графа топологии и пропускной способности линий связи и таблицы маршрутов существующих виртуальных каналов за счёт оптимизации маршрутов при поступлении новых запросов на создание виртуальных каналов, в частности, посредством использования оптимизирующего алгоритма маршрутизации. В некоторых вариантах осуществления за основу оптимизирующего алгоритма маршрутизации берется идея поиска дополняющих путей с заданной пропускной способностью из метода масштабирования потока. Так, осуществляется поиск дополняющих путей с заданной пропускной способностью из метода масштабирования потока. Если для нового запроса на создание виртуального канала не удается построить маршрут в остаточном графе сети подконтрольных коммутаторов, то маршрут ищется с использованием потенциальных ребер. Потенциальным ребром называется ребро, задействованное в маршруте проложенного виртуального канала и имеющее пропускную способность этого виртуального канала. На маршруте виртуального канала между одной и той же парой соседних вершин в графе топологии связей может быть одновременно использовано остаточное и потенциальное ребро, чтобы удовлетворить требование по пропускной способности. Если в маршруте для нового запроса задействовано потенциальное ребро, то осуществляется (необходимо) перестроение маршрутов соответствующих виртуальных каналов. Наряду с этим, в частном случае, можно рассматривать перестроение маршрута виртуального канала как поступление нового запроса, поэтому может быть использован этот же алгоритм для задачи перестроения маршрута, но с фиксированными маршрутами для уже рассмотренных виртуальных каналов. Так как перестроение маршрута может затронуть рассмотрение большого количества виртуальных каналов, алгоритм имеет настраиваемый параметр «k» – максимальное количество виртуальных каналов, маршруты которых можно перестроить. При помощи указанного алгоритма может быть увеличено использование пропускной способности сети, в частности, поскольку динамическое перестроение маршрутов, в частном случае, может помочь в ситуации, когда отсутствует маршрут в остаточном графе сети.Load balancing with automatic rerouting of virtual channels in the network of controlled switches, which provides the functions of the control application 404 , is carried out in accordance with the built graph of the topology and bandwidth of communication lines between the switches, the route table of existing virtual channels (Table 2), occupying part of the total network bandwidth controlled switches and a residual graph, which is composed of a graph of the topology and bandwidth of communication lines and a route table of existing virtual channels by optimizing routes when new requests for creating virtual channels arrive, in particular, by using an optimizing routing algorithm. In some embodiments, the optimizing routing algorithm is based on the idea of finding complementary paths with a given bandwidth from the flow scaling method. So, the search for complementary paths with a given throughput is carried out from the flow scaling method. If for a new request to create a virtual circuit it is not possible to build a route in the residual graph of the network of controlled switches, then the route is searched using potential edges. A potential edge is an edge involved in the route of the laid virtual circuit and having the capacity of this virtual circuit. On a virtual link path between the same pair of neighboring vertices in the link topology graph, a residual and a potential edge can be used simultaneously to satisfy the throughput requirement. If a potential edge is involved in the route for a new request, then the corresponding virtual circuits are (necessarily) re-routed. Along with this, in a particular case, one can consider rebuilding the route of a virtual channel as a new request, so the same algorithm can be used for the problem of rebuilding the route, but with fixed routes for the already considered virtual channels. Since rerouting may affect the consideration of a large number of virtual circuits, the algorithm has a configurable parameter "k" - the maximum number of virtual circuits whose routes can be rerouted. With this algorithm, network bandwidth utilization can be increased, in particular, since dynamic rebuilding of routes, in a particular case, can help in a situation where there is no route in the residual network graph.

Отказоустойчивость при передаче данных по виртуальным каналам в случае отказа физических линий передачи данных или коммутаторов, обеспечивающая функции управляющего приложения 404, осуществляется в соответствии с выстроенным графом топологии и таблицей маршрутов существующих виртуальных каналов (таблицей, содержащей список маршрутов виртуальных каналов «hop_tbl» 555) в зависимости от изменения состояния линий связи или коммутаторов. В случае отказа линий связи или коммутаторов виртуальные каналы, в маршруте которых используются участки сети, где случился отказ, удаляются из конфигурации коммутаторов и таблицы маршрутов существующих виртуальных каналов. Эти виртуальные каналы можно рассматривать как поступление нового запроса и, в некоторых вариантах осуществления, применить к ним выше описанный оптимизирующий алгоритм маршрутизации или другой.Fault tolerance for data transmission over virtual circuits in the event of failure of physical data transmission lines or switches, which provides the functions of the control application 404 , is carried out in accordance with the built topology graph and the route table of existing virtual circuits (a table containing a list of virtual circuit routes "hop_tbl" 555 ) in depending on changes in the state of communication lines or switches. In the event of a failure of communication lines or switches, virtual links whose route uses the sections of the network where the failure occurred are removed from the configuration of switches and the route table of existing virtual links. These virtual circuits may be treated as a new request and, in some embodiments, the optimization routing algorithm described above or another may be applied to them.

В случае отказа контроллера ПКС 313 таблица маршрутов виртуальных каналов и состояние топологии сети подконтрольных коммутаторов сохраняется в базе данных TED 414 контроллера ПКС. Коммутаторы подконтрольной сети продолжают работу в состоянии до отказа контроллера ПКС 313. По восстановлению работы контроллера ПКС 313 выполняется первичная инициализация топологии сети подконтрольных коммутаторов. Выполняется загрузка маршрутов виртуальных каналов, сохранённых в базе данных TED 414 контроллера ПКС 313.In the event of a failure of the SDN controller 313 , the virtual channel routing table and the state of the network topology of the controlled switches are stored in the TED database 414 of the SDN controller. The switches of the controlled network continue to operate in the state before the failure of the PKS 313 controller. Upon restoration of the PKS 313 controller, the primary initialization of the network topology of the controlled switches is performed. Virtual circuit routes stored in the TED 414 database of the PKS 313 controller are being loaded.

В варианте осуществления интегрированной модели обслуживания QoS для трафика, имеющего признак, который соответствует попадающему в виртуальный канал, устанавливается ограничение пропускной способности в рамках обеспечения такой функции коммутаторами. Для каждого физического интерфейса в сети подконтрольных коммутаторов сумма пропускных способностей виртуальных каналов, проходящих через этот интерфейс, ограничивается полосой пропускания физического интерфейса. Если маршрут для виртуального канала, превышающего физическую пропускную способность интерфейса коммутатора, не найден, происходит отказ в создании виртуального канала. При перестроении виртуальных каналов маршруты могут быть перепланированы на более позднее время, или при первой возможности (например, с изменением топологии сети подконтрольных коммутаторов) маршрут этих виртуальных каналов будет перестроен.In an embodiment of the integrated QoS service model, for traffic that has a sign that corresponds to entering a virtual circuit, a bandwidth limit is set as part of the provision of such a function by switches. For each physical interface in the network of controlled switches, the sum of the throughputs of virtual circuits passing through this interface is limited by the bandwidth of the physical interface. If no route is found for a virtual circuit that exceeds the physical bandwidth of the switch interface, the creation of the virtual circuit fails. When virtual circuits are rebuilt, routes can be rescheduled at a later time, or at the first opportunity (for example, with a change in the topology of the network of controlled switches), the route of these virtual circuits will be rebuilt.

Пример NETCONF запросов, направляемых контроллером ПКС к подконтрольным коммутаторам, приведен ниже. Первый запрос создаёт ограничение пропускной способности виртуального канала. Второй запрос создаёт фильтр, определяющий трафик, который попадает в виртуальный канал, привязывает к нему созданное ограничение пропускной способности и задаёт интерфейс для маршрутизации трафика виртуального канала. Третий запрос выполняет применение изменений к актуальной конфигурации коммутатора.An example of NETCONF requests sent by the SDN controller to controlled switches is shown below. The first request creates a bandwidth limit on the virtual circuit. The second request creates a filter that determines the traffic that enters the virtual channel, binds the created bandwidth limit to it, and sets the interface for routing virtual channel traffic. The third request applies the changes to the actual switch configuration.

Figure 00000001
Figure 00000001

Figure 00000002
Figure 00000002

Figure 00000003
Figure 00000003

В результате обработки запросов подконтрольными коммутаторами по маршруту транзита данных создаётся виртуальный канал для GRE-туннеля (L3) с идентификатором GREKEY 579, выполняющий передачу пакетных данных с ограничением пропускной способности 20 Мбит/с.As a result of processing requests by controlled switches along the data transit route, a virtual channel is created for the GRE tunnel (L3) with the identifier GREKEY 579, which performs packet data transmission with a bandwidth limit of 20 Mbps.

В варианте осуществления дифференцированной модели обслуживания QoS для трафика, имеющего признак, который соответствует попадающему в канал, устанавливаются значения класса обслуживания в соответствие значению приоритета полей заголовка IEEE 802.1p, в рамках обеспечения такой функции коммутаторами.In an implementation of a differentiated QoS model, traffic having a characteristic that matches that entering the channel is set to class of service values in accordance with the priority value of the IEEE 802.1p header fields, as part of the provision of such a function by switches.

В варианте осуществления одновременного применения дифференцированной и интегрированной моделей обслуживания QoS для трафика, имеющего признак, который соответствует попадающему в канал, устанавливается одновременно и значение классов обслуживания в соответствие значению приоритета полей заголовка IEEE 802.1p и ограничение полосы пропускания, в рамках обеспечения такой функции коммутаторами. Для каждого физического интерфейса в сети подконтрольных коммутаторов сумма пропускных способностей виртуальных каналов, проходящих через этот интерфейс, ограничивается полосой пропускания физического интерфейса. Если маршрут для виртуального канала, превышающего физическую пропускную способность интерфейса коммутатора, не найден, происходит отказ в создании виртуального канала. При перестроении виртуальных каналов маршруты могут быть перепланированы на более позднее время, или при первой возможности (с изменением топологии сети подконтрольных коммутаторов) маршрут этих виртуальных каналов будет перестроен.In the embodiment of the simultaneous use of differentiated and integrated QoS service models for traffic that has a sign that corresponds to entering the channel, both the value of the classes of service is set in accordance with the value of the priority of the IEEE 802.1p header fields and the bandwidth limit, within the framework of providing such a function by switches. For each physical interface in the network of controlled switches, the sum of the throughputs of virtual links passing through this interface is limited by the bandwidth of the physical interface. If no route is found for a virtual circuit that exceeds the physical bandwidth of the switch interface, the creation of the virtual circuit fails. When rebuilding virtual circuits, routes can be rescheduled for a later time, or at the first opportunity (with a change in the topology of the network of controlled switches), the route of these virtual circuits will be rebuilt.

Пример NETCONF запросов для удаления виртуального канала, направляемый контроллером ПКС к подконтрольным коммутаторам, приведен ниже. Первый запрос удаляет ограничение пропускной способности виртуального канала. Второй запрос удаляет фильтр, определяющий трафик, который попадает в виртуальный канал. Третий запрос выполняет применение изменений к актуальной конфигурации коммутатора.An example of NETCONF requests to delete a virtual channel sent by the SDN controller to controlled switches is given below. The first request removes the bandwidth limit of the virtual circuit. The second request removes the filter that determines the traffic that enters the virtual circuit. The third request applies the changes to the actual switch configuration.

Figure 00000004
Figure 00000004

Figure 00000005
Figure 00000005

Figure 00000006
Figure 00000006

На ФИГ. 7 показан примерный вариант осуществления настоящего технического решения. FIG. 7 shows an exemplary embodiment of the present technical solution.

В шаге 705 коммутаторы, управляемые контроллером ПКС, выполняют обмен пакетами протоколов обнаружение соединения.In step 705 , the switches controlled by the SDN controller perform an exchange of connection discovery protocol packets.

В шаге 710 контроллер ПКС периодически выполняет опрос, заданных с помощью механизма межпроцессного взаимодействия, коммутаторов о существующих на коммутаторах интерфейсах, пропускной способности линий и о подключенных к их интерфейсам устройствах с формированием первого набора данных.In step 710 , the SDN controller periodically polls the switches, specified using the interprocess communication mechanism, about the interfaces existing on the switches, the bandwidth of the lines, and about the devices connected to their interfaces with the formation of the first data set.

В частном случае информация для формирования первого набора данных задаётся статически.In a particular case, the information for the formation of the first data set is specified statically.

В шаге 715 на основании первого набора данных контроллер ПКС формирует набор данных организации трафика, содержащий данные о топологии и ресурсах сети коммутаторов.In step 715 , based on the first set of data, the SDN controller generates a traffic management data set containing data about the topology and resources of the switch network.

В частном случае набор данных организации трафика сохраняется в формате базы данных организации трафика, размещённой локально или удалённо.In a particular case, a traffic engineering data set is stored in the format of a traffic engineering database hosted locally or remotely.

В шаге 720 контроллер ПКС с помощью механизма межпроцессного взаимодействия получает запрос на создание записи арендатора виртуальных каналов и признака соответствия режиму обслуживания виртуальных каналов арендатора, где признак режима обслуживания задаёт приоритет при построении маршрутов виртуальных каналов.In step 720 , the SDN controller, using the interprocess communication mechanism, receives a request to create a virtual circuit tenant entry and a tenant virtual circuit service mode flag, where the service mode flag specifies a priority when building virtual circuit routes.

В шаге 725 контроллер ПКС формирует набор данных арендаторов виртуальных каналов, содержащий: идентификаторы арендаторов виртуальных каналов, идентификаторы виртуальных каналов и признак соответствия режиму обслуживания каналов арендатора.In step 725 , the SDN controller generates a virtual circuit tenant dataset containing: virtual circuit tenant identifiers, virtual circuit identifiers, and tenant channel service mode matching flag.

В частном случае набор данных арендаторов виртуальных каналов сохраняется в формате базы данных арендаторов виртуальных каналов, размещённой локально или удалённо.In a particular case, a set of virtual circuit tenant data is stored in the format of a virtual circuit tenant database hosted locally or remotely.

В шаге 730 контроллер ПКС с помощью механизма межпроцессного взаимодействия получает запрос на формирование виртуального канала, содержащий, по меньшей мере: данные о точках входа трафика виртуального канала, признак трафика, попадающего в виртуальный канал, информацию о начале и завершении виртуального канала, данные о принадлежности виртуального канала арендатору и данные о требуемых параметрах QoS.In step 730 , the SDN controller, using the inter-process communication mechanism, receives a request to form a virtual channel, containing at least: data on the entry points of the virtual channel traffic, a sign of traffic entering the virtual channel, information about the beginning and end of the virtual channel, data about ownership virtual channel to the tenant and data on the required QoS parameters.

В частном случае запрос на формирование виртуального канала, в качестве информации о начале и завершении виртуального канала, содержит время существования виртуального канала.In a particular case, the request for the formation of a virtual channel, as information about the beginning and end of the virtual channel, contains the lifetime of the virtual channel.

В частном случае при поступлении запроса на создание виртуального канала контроллер ПКС выполняет поиск оптимального распределения нагрузки (балансировку нагрузки) согласно применяемому алгоритму маршрутизации с использованием интервала времени существования виртуальных каналов и признака режима обслуживания каналов арендатора, определяющего порядок построения маршрутов.In a particular case, when a request is received to create a virtual channel, the SDN controller searches for the optimal load distribution (load balancing) according to the applied routing algorithm using the time interval of the existence of virtual channels and the sign of the tenant channel service mode that determines the order of building routes.

В частном случае при задании времени существования виртуальных каналов в сети коммутаторов между удалёнными ЦОД запрос к коммутатору на создание правил обработки и маршрутизации трафика виртуального канала формируется в момент времени начала существования виртуального канала, а в момент времени завершения существования виртуального канала контроллер ПКС удаляет из конфигурации коммутаторов информацию о существующих между ЦОД виртуальных каналах, причем трафик между ЦОД перестаёт передаваться при направлении коммутаторам серии запросов для изменения конфигурации коммутаторов, и запись о маршруте и выделенной для виртуального канала пропускной способности из набора данных организации трафика удаляется.In a particular case, when specifying the lifetime of virtual channels in a network of switches between remote data centers, a request to the switch to create rules for processing and routing virtual channel traffic is generated at the time the virtual channel begins to exist, and at the end of the virtual channel, the SDN controller removes it from the switch configuration information about the virtual channels existing between the data centers, and traffic between the data centers ceases to be transmitted when a series of requests are sent to the switches to change the configuration of the switches, and the record about the route and the bandwidth allocated for the virtual channel is removed from the traffic organization data set.

В частном случае запрос на формирование виртуального канала, в качестве информации о начале и завершении виртуального канала, содержит максимальное значение объёма данных, переданных по виртуальному каналу.In a particular case, the request for the formation of a virtual channel, as information about the beginning and end of the virtual channel, contains the maximum value of the amount of data transmitted over the virtual channel.

В частном случае признаком трафика, попадающего в виртуальный канал, являются поля заголовка пакетных данных второго уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация; или признаком трафика являются поля заголовка третьего уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация; или признаком трафика являются поля заголовка четвертого уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация.In a particular case, a sign of traffic entering the virtual channel is the packet data header fields of the second level of the OSI / ISO network interaction model, on the basis of which the switch supports routing; or a sign of traffic are the fields of the header of the third level of the OSI / ISO network interaction model, on the basis of which the switch supports routing; or a sign of traffic are the fields of the header of the fourth level of the OSI / ISO network interaction model, based on which the switch supports routing.

В шаге 735 контроллер ПКС выполняет построение маршрута виртуального канала с учётом: признака соответствия режиму обслуживания каналов арендатора, ресурса пропускной способности домена коммутаторов, информации о начале и завершении виртуальных каналов и параметров QoS, запрошенных для виртуальных каналов.In step 735 , the SDN controller constructs the virtual circuit route considering: tenant circuit service mode matching flag, switch domain bandwidth resource, virtual circuit start and end information, and QoS parameters requested for the virtual circuits.

В шаге 740 контроллер ПКС добавляет в набор данных организации трафика записи о виртуальном канале: маршруте виртуального канала, признаке трафика, попадающего в виртуальный канал, информацию о начале и завершении виртуального канала и занятой виртуальным каналом пропускной способности.In step 740 , the SDN controller adds records about the virtual circuit to the traffic organization data set: the route of the virtual circuit, the sign of traffic entering the virtual circuit, information about the beginning and end of the virtual circuit, and the bandwidth occupied by the virtual circuit.

В шаге 745 контроллер ПКС добавляет в набор данных арендаторов виртуальных каналов записи о принадлежности виртуального канала арендатору.In step 745 , the SDN controller adds to the virtual circuit tenants dataset records about the ownership of the virtual circuit by the tenant.

В шаге 750 контроллер ПКС выполняет серию запросов к коммутаторам для настройки коммутаторов по построенному маршруту виртуального канала с формированием, по меньшей мере одного виртуального канала по меньшей мере в одном направлении, где настройка включает правила обработки и маршрутизации трафика с учетом ресурса пропускной способности сети и параметров QoS.In step 750 , the SDN controller performs a series of requests to the switches to configure the switches along the constructed virtual circuit route with the formation of at least one virtual circuit in at least one direction, where the configuration includes rules for processing and routing traffic, taking into account the network bandwidth resource and parameters QoS.

В частном случае создание виртуального канала инициируется с применением механизма 'подписки на события', при котором коммутаторы информируют контроллер ПКС о поступлении данных, имеющих заданный признак, при поступлении которых коммутатор оповещает контроллер ПКС, а контроллер ПКС на основе заданных параметров создаёт для этого трафика виртуальный канал.In a particular case, the creation of a virtual channel is initiated using the 'event subscription' mechanism, in which the switches inform the SDN controller about the arrival of data with a given attribute, upon receipt of which the switch notifies the SDN controller, and the SDN controller, based on the specified parameters, creates a virtual channel for this traffic. channel.

В частном случае серия запросов от контроллера ПКС к коммутаторам является серией NETCONF запросов.In a particular case, a series of requests from the SDN controller to the switches is a series of NETCONF requests.

В частном случае серия запросов от контроллера ПКС к коммутаторам является серией RESTCONF запросов.In a particular case, a series of requests from the SDN controller to the switches is a series of RESTCONF requests.

В частном случае для формирования контроллером ПКС запросов к коммутаторам применяются yang модели openConfig, yang модели, созданные производителем коммутаторов или yang модели, созданные третьими лицами.In a particular case, to form requests to switches by the SDN controller, openConfig yang models, yang models created by the switch manufacturer, or yang models created by third parties are used.

В частном случае серия запросов от контроллера ПКС к коммутаторам является серией запросов ofConfig.In a particular case, a series of requests from the SDN controller to the switches is a series of ofConfig requests.

В частном случае серия запросов от контроллера ПКС к подконтрольным коммутаторам является серией openFlow запросов.In a particular case, a series of requests from the SDN controller to controlled switches is a series of openFlow requests.

В шаге 755 в ответ на условие завершения виртуального канала контроллер ПКС по выполняет серию запросов к коммутаторам по построенному маршруту виртуального канала для удаления правил обработки и маршрутизации трафика виртуального канала.In step 755 , in response to the virtual circuit termination condition, the SDN controller executes a series of requests to the switches along the constructed virtual circuit route to remove the rules for processing and routing virtual circuit traffic.

В частном случае завершение существования виртуального канала выполняется по запросу, переданному с помощью механизма межпроцессного взаимодействия, содержащему идентификатор виртуального канала.In a particular case, the termination of the existence of a virtual channel is performed upon a request transmitted using the interprocess communication mechanism containing the identifier of the virtual channel.

В частном случае при обнаружении с помощью периодического опроса коммутаторов о подключенных к их интерфейсам устройствах или по уведомлению, полученному контроллером ПКС от коммутатора, обнаруживается изменение топологии соединений: отказ линии связи, отказ коммутатора, обнаружение новых связей, причем: в случае отказа линии связи или коммутатора по маршруту сформированного виртуального канала контроллер ПКС осуществляет автоматическое перестроение виртуального канала через другие доступные коммутаторы.In a particular case, when detecting by means of periodic polling of switches about devices connected to their interfaces or by notification received by the SDN controller from the switch, a change in the connection topology is detected: communication line failure, switch failure, detection of new connections, moreover: in the event of a communication line failure or switch along the route of the formed virtual link, the SDN controller automatically rebuilds the virtual link through other available switches.

В частном случае пропускная способность по маршруту виртуального канала обеспечивается за счет применения алгоритмов маршрутизации.In a particular case, throughput along the route of the virtual circuit is provided through the use of routing algorithms.

В частном случае при ограничении построения или перестроения маршрутов всех виртуальных каналов пропускной способностью интерфейсов коммутатора, маршрутизация виртуальных каналов выполняется с учётом признака режима обслуживания каналов арендатора.In a particular case, when the construction or rebuilding of routes of all virtual channels is limited by the bandwidth of the switch interfaces, the routing of virtual channels is performed taking into account the sign of the tenant's channels service mode.

В частном случае при построении маршрутов виртуальных каналов признак приоритетного режима обслуживания виртуальных каналов используется для вытеснения из графа топологии виртуальных каналов арендаторов.In a particular case, when constructing virtual circuit routes, the feature of the virtual circuit priority service mode is used to displace tenants from the topology graph of virtual circuits.

В частном случае функции контроллера ПКС дублируются дополнительным контроллером ПКС по принципу основного и резервного контроллера ПКС.In a particular case, the functions of the SPC controller are duplicated by an additional SPC controller according to the principle of the main and backup SPC controller.

В частном случае условие завершения виртуального канала представляет собой запрос, получаемый контроллером ПКС с помощью механизма межпроцессного взаимодействия, или событие истечения времени существования виртуального канала или исчерпание заданного объема, переданных по виртуальному каналу, данных.In a particular case, the virtual channel termination condition is a request received by the SDN controller using the interprocess communication mechanism, or an event of expiration of the virtual channel lifetime or exhaustion of the specified amount of data transmitted over the virtual channel.

Описание настоящего технического решения представляет собой описание примеров, иллюстрирующих предлагаемое техническое решение, возможны и другие модификации. Стоит принять во внимание, что настоящее описание не предназначено для определения объема или границ предлагаемого технического решения. Настоящее описание содержит упрощенные варианты осуществления настоящего технического решения. Различные варианты осуществления данного технического решения могут быть значительно сложнее.The description of this technical solution is a description of examples illustrating the proposed technical solution, other modifications are possible. It should be taken into account that this description is not intended to define the scope or boundaries of the proposed technical solution. The present description contains simplified embodiments of the present technical solution. Various embodiments of this technical solution can be much more complicated.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего технического решения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего технического решения, согласующиеся с сущностью и объемом настоящего технического решения.In conclusion, it should be noted that the information given in the description are examples that do not limit the scope of the present technical solution defined by the formula. It becomes clear to the person skilled in the art that there may be other embodiments of the present technical solution, consistent with the essence and scope of the present technical solution.

Claims (33)

1. Способ формирования виртуального канала между центрами обработки данных (ЦОД) с использованием контроллера программно-конфигурируемой сети (ПКС), в котором:1. A method for forming a virtual channel between data processing centers (DPC) using a software-defined network (SDN) controller, in which: - коммутаторы, управляемые контроллером ПКС, выполняют обмен пакетами протоколов обнаружение соединения;- switches controlled by the SDN controller perform packet exchange of connection discovery protocols; - контроллер ПКС периодически выполняет опрос, заданных с помощью механизма межпроцессного взаимодействия, коммутаторов о существующих на коммутаторах интерфейсах, пропускной способности линий и о подключенных к их интерфейсам устройствах с формированием первого набора данных;- the SDN controller periodically polls the switches, specified using the interprocess communication mechanism, about the interfaces existing on the switches, the bandwidth of the lines and about the devices connected to their interfaces with the formation of the first data set; - на основании первого набора данных контроллер ПКС формирует набор данных организации трафика, содержащий данные о топологии и ресурсах сети коммутаторов;- based on the first data set, the SDN controller generates a traffic organization data set containing data on the topology and resources of the switch network; - контроллер ПКС с помощью механизма межпроцессного взаимодействия получает запрос на создание записи арендатора виртуальных каналов и признака соответствия режиму обслуживания виртуальных каналов арендатора, где признак режима обслуживания задаёт приоритет при построении маршрутов виртуальных каналов;- the SDN controller, using the inter-process communication mechanism, receives a request to create a tenant record of virtual channels and a sign of compliance with the maintenance mode of the tenant's virtual channels, where the sign of the maintenance mode sets the priority when building virtual channels routes; - контроллер ПКС формирует набор данных арендаторов виртуальных каналов, содержащий: идентификаторы арендаторов виртуальных каналов, идентификаторы виртуальных каналов и признак соответствия режиму обслуживания каналов арендатора;- the SDN controller generates a data set of tenants of virtual channels, containing: identifiers of tenants of virtual channels, identifiers of virtual channels and a sign of compliance with the tenant's channel service mode; - контроллер ПКС с помощью механизма межпроцессного взаимодействия получает запрос на формирование виртуального канала, содержащий, по меньшей мере: данные о точках входа трафика виртуального канала, признак трафика, попадающего в виртуальный канал, информацию о начале и завершении виртуального канала, данные о принадлежности виртуального канала арендатору и данные о требуемых параметрах QoS;- the SDN controller, using the interprocess communication mechanism, receives a request to form a virtual channel, containing at least: data on the entry points of the virtual channel traffic, a sign of traffic entering the virtual channel, information about the beginning and end of the virtual channel, data about the ownership of the virtual channel to the tenant and data on the required QoS parameters; - контроллер ПКС выполняет построение маршрута виртуального канала с учётом: признака соответствия режиму обслуживания каналов арендатора, ресурса пропускной способности домена коммутаторов, информации о начале и завершении виртуальных каналов и параметров QoS, запрошенных для виртуальных каналов;- the SDN controller constructs the route of the virtual channel, taking into account: the sign of compliance with the service mode of the tenant channels, the bandwidth resource of the switch domain, information about the beginning and end of virtual channels and the QoS parameters requested for virtual channels; - контроллер ПКС добавляет в набор данных организации трафика записи о виртуальном канале: маршруте виртуального канала, признаке трафика, попадающего в виртуальный канал, информацию о начале и завершении виртуального канала и занятой виртуальным каналом пропускной способности;- the SDN controller adds records about the virtual channel to the traffic organization data set: the route of the virtual channel, the sign of the traffic entering the virtual channel, information about the beginning and end of the virtual channel and the bandwidth occupied by the virtual channel; - контроллер ПКС добавляет в набор данных арендаторов виртуальных каналов записи о принадлежности виртуального канала арендатору;- the SDN controller adds to the dataset of tenants of virtual channels records about the ownership of the virtual channel by the tenant; - контроллер ПКС выполняет серию запросов к коммутаторам для настройки коммутаторов по построенному маршруту виртуального канала с формированием, по меньшей мере одного виртуального канала по меньшей мере в одном направлении, где настройка включает правила обработки и маршрутизации трафика с учетом ресурса пропускной способности сети и параметров QoS;- the SDN controller performs a series of requests to the switches to configure the switches along the constructed virtual channel route with the formation of at least one virtual channel in at least one direction, where the setting includes rules for processing and routing traffic, taking into account the network bandwidth resource and QoS parameters; - в ответ на условие завершения виртуального канала контроллер ПКС выполняет серию запросов к коммутаторам по построенному маршруту виртуального канала для удаления правил обработки и маршрутизации трафика виртуального канала.- in response to the virtual channel termination condition, the SDN controller executes a series of requests to the switches along the constructed virtual channel route to remove the rules for processing and routing virtual channel traffic. 2. Способ по п.1, в котором информация для формирования первого набора данных задаётся статически.2. The method according to claim 1, wherein the information for generating the first data set is statically specified. 3. Способ по п.1, в котором запрос на формирование виртуального канала, в качестве информации о начале и завершении виртуального канала, содержит время существования виртуального канала.3. The method according to claim 1, wherein the request to form a virtual channel, as information about the start and end of the virtual channel, contains the lifetime of the virtual channel. 4. Способ по п.1, в котором запрос на формирование виртуального канала, в качестве информации о начале и завершении виртуального канала, содержит максимальное значение объёма данных, переданных по виртуальному каналу.4. The method according to claim 1, in which the request to form a virtual channel, as information about the beginning and end of the virtual channel, contains the maximum value of the amount of data transmitted over the virtual channel. 5. Способ по п.1, в котором завершение существования виртуального канала выполняется по запросу, переданному с помощью механизма межпроцессного взаимодействия, содержащему идентификатор виртуального канала.5. The method of claim 1, wherein terminating the existence of the virtual channel is performed upon a request transmitted by the interprocess communication mechanism containing the identifier of the virtual channel. 6. Способ по п.1, в котором при обнаружении с помощью периодического опроса коммутаторов о подключенных к их интерфейсам устройствах или по уведомлению, полученному контроллером ПКС от коммутатора, обнаруживается изменение топологии соединений: отказ линии связи, отказ коммутатора, обнаружение новых связей, причем: в случае отказа линии связи или коммутатора по маршруту сформированного виртуального канала контроллер ПКС осуществляет автоматическое перестроение виртуального канала через другие доступные коммутаторы.6. The method according to claim 1, in which upon detection by periodically polling the switches about the devices connected to their interfaces or by notification received by the SDN controller from the switch, a change in the connection topology is detected: communication line failure, switch failure, detection of new connections, and : in case of failure of the communication line or switch along the route of the formed virtual channel, the SDN controller automatically rebuilds the virtual channel through other available switches. 7. Способ по п.1, в котором признаком трафика, попадающего в виртуальный канал, являются поля заголовка пакетных данных второго уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация; или признаком трафика являются поля заголовка третьего уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация; или признаком трафика являются поля заголовка четвертого уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация.7. The method according to claim 1, in which the sign of the traffic entering the virtual channel are the packet data header fields of the second level of the OSI/ISO network interaction model, based on which the switch supports routing; or a sign of traffic are the fields of the header of the third level of the OSI / ISO network interaction model, on the basis of which the switch supports routing; or a sign of traffic are the fields of the header of the fourth level of the OSI / ISO network interaction model, based on which the switch supports routing. 8. Способ по п.1, в котором пропускная способность по маршруту виртуального канала обеспечивается за счет применения алгоритмов маршрутизации.8. The method of claim 1, wherein throughput along the virtual circuit path is provided through the use of routing algorithms. 9. Способ по п.1, в котором при задании времени существования виртуальных каналов в сети коммутаторов между удалёнными ЦОД запрос к коммутатору на создание правил обработки и маршрутизации трафика виртуального канала формируется в момент времени начала существования виртуального канала, а в момент времени завершения существования виртуального канала контроллер ПКС удаляет из конфигурации коммутаторов информацию о существующих между ЦОД виртуальных каналах, причем трафик между ЦОД перестаёт передаваться при направлении коммутаторам серии запросов для изменения конфигурации коммутаторов, и запись о маршруте и выделенной для виртуального канала пропускной способности из набора данных организации трафика удаляется.9. The method according to claim 1, in which when specifying the lifetime of virtual channels in a network of switches between remote data centers, a request to the switch to create rules for processing and routing traffic of a virtual channel is formed at the time when the virtual channel begins to exist, and at the time when the existence of the virtual channel ends. channel, the SDN controller removes from the configuration of the switches information about the virtual channels existing between the DPCs, and the traffic between the DPCs ceases to be transmitted when a series of requests are sent to the switches to change the configuration of the switches, and the record of the route and the bandwidth allocated for the virtual channel is removed from the traffic organization data set. 10. Способ по п.1, в котором при поступлении запроса на создание виртуального канала контроллер ПКС выполняет поиск оптимального распределения нагрузки (балансировку нагрузки) согласно применяемому алгоритму маршрутизации с использованием интервала времени существования виртуальных каналов и признака режима обслуживания каналов арендатора, определяющего порядок построения маршрутов.10. The method according to claim 1, in which, upon receipt of a request to create a virtual channel, the SDN controller searches for the optimal load distribution (load balancing) according to the applied routing algorithm using the time interval for the existence of virtual channels and the sign of the tenant channel service mode that determines the order of building routes . 11. Способ по п.1, в котором при ограничении построения или перестроения маршрутов всех виртуальных каналов пропускной способностью интерфейсов коммутатора, маршрутизация виртуальных каналов выполняется с учётом признака режима обслуживания каналов арендатора.11. The method according to claim 1, in which, when the construction or rebuilding of routes of all virtual channels is limited by the bandwidth of the switch interfaces, the routing of virtual channels is performed taking into account the sign of the service mode of tenant channels. 12. Способ по п.1, в котором при построении маршрутов виртуальных каналов признак приоритетного режима обслуживания виртуальных каналов используется для вытеснения из графа топологии виртуальных каналов арендаторов.12. The method according to claim 1, in which, when constructing the routes of virtual circuits, the feature of the priority service mode of virtual circuits is used to displace tenants from the topology graph of virtual circuits. 13. Способ по п.1, в котором набор данных организации трафика сохраняется в формате базы данных организации трафика, размещённой локально или удалённо.13. The method of claim 1, wherein the traffic management data set is stored in a traffic management database format hosted locally or remotely. 14. Способ по п.1, в котором набор данных арендаторов виртуальных каналов сохраняется в формате базы данных арендаторов виртуальных каналов, размещённой локально или удалённо. 14. The method of claim 1, wherein the virtual circuit tenant data set is stored in a virtual circuit tenant database format hosted locally or remotely. 15. Способ по п.1, в котором функции контроллера ПКС дублируются дополнительным контроллером ПКС по принципу основного и резервного контроллера ПКС.15. The method according to claim 1, in which the functions of the SDN controller are duplicated by an additional SDN controller according to the principle of the main and backup SDN controller. 16. Способ по п.1, в котором создание виртуального канала инициируется с применением механизма 'подписки на события', при котором коммутаторы информируют контроллер ПКС о поступлении данных, имеющих заданный признак, при поступлении которых коммутатор оповещает контроллер ПКС, а контроллер ПКС на основе заданных параметров создаёт для этого трафика виртуальный канал. 16. The method according to claim 1, in which the creation of a virtual channel is initiated using the 'event subscription' mechanism, in which the switches inform the SDN controller about the arrival of data having a given attribute, upon receipt of which the switch notifies the SDN controller, and the SDN controller based on the specified parameters creates a virtual channel for this traffic. 17. Способ по п.1, в котором серия запросов от контроллера ПКС к коммутаторам является серией NETCONF запросов.17. The method of claim 1, wherein the series of requests from the SDN controller to the switches is a series of NETCONF requests. 18. Способ по п.1, в котором серия запросов от контроллера ПКС к коммутаторам является серией RESTCONF запросов.18. The method of claim 1, wherein the series of requests from the SDN controller to the switches is a series of RESTCONF requests. 19. Способ по п.1, в котором для формирования контроллером ПКС запросов к коммутаторам применяются yang модели openConfig, yang модели, созданные производителем коммутаторов или yang модели, созданные третьими лицами.19. The method of claim 1, wherein the SDN controller uses openConfig yang models, yang models created by the switch manufacturer, or yang models created by third parties to generate requests to the switches. 20. Способ по п.1, в котором серия запросов от контроллера ПКС к коммутаторам является серией запросов ofConfig.20. The method of claim 1, wherein the series of requests from the SDN controller to the switches is a series of ofConfig requests. 21. Способ по п.1, в котором серия запросов от контроллера ПКС к подконтрольным коммутаторам является серией openFlow запросов.21. The method of claim 1, wherein the series of requests from the SDN controller to the controlled switches is a series of openFlow requests. 22. Способ по п.1, в котором условие завершения виртуального канала представляет собой запрос, получаемый контроллером ПКС с помощью механизма межпроцессного взаимодействия, или событие истечения времени существования виртуального канала или исчерпание заданного объема переданных по виртуальному каналу данных.22. The method of claim 1, wherein the virtual channel termination condition is a request received by the SDN controller using an interprocess communication mechanism, or a virtual channel timeout event or exhaustion of a predetermined amount of data transmitted over the virtual channel.
RU2021131113A 2021-10-25 Method for automated provision of a virtual channel by a communication operator between data processing centers RU2775146C1 (en)

Publications (1)

Publication Number Publication Date
RU2775146C1 true RU2775146C1 (en) 2022-06-28

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1113628A2 (en) * 1999-12-28 2001-07-04 Nortel Networks Limited System and method for IP QOS adaption and management
US20100195503A1 (en) * 2009-01-28 2010-08-05 Headwater Partners I Llc Quality of service for device assisted services
US20140269292A1 (en) * 2013-03-14 2014-09-18 Vivint, Inc. Dynamic adjustment of quality of service parameters
RU2749444C1 (en) * 2020-11-17 2021-06-10 Юрий Иванович Стародубцев Method for modeling virtual communication network on remaining resources of physical network
RU2750950C1 (en) * 2020-12-19 2021-07-06 Юрий Иванович Стародубцев Method for increasing stability of virtual communication network of corporate control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1113628A2 (en) * 1999-12-28 2001-07-04 Nortel Networks Limited System and method for IP QOS adaption and management
US20100195503A1 (en) * 2009-01-28 2010-08-05 Headwater Partners I Llc Quality of service for device assisted services
US20140269292A1 (en) * 2013-03-14 2014-09-18 Vivint, Inc. Dynamic adjustment of quality of service parameters
RU2749444C1 (en) * 2020-11-17 2021-06-10 Юрий Иванович Стародубцев Method for modeling virtual communication network on remaining resources of physical network
RU2750950C1 (en) * 2020-12-19 2021-07-06 Юрий Иванович Стародубцев Method for increasing stability of virtual communication network of corporate control system

Similar Documents

Publication Publication Date Title
US10542076B2 (en) Cloud service control and management architecture expanded to interface the network stratum
CN114073052B (en) Systems, methods, and computer readable media for slice-based routing
US9769054B2 (en) Network topology discovery method and system
CN111149330B (en) Topology aware controller association in software defined networks
JP4559422B2 (en) Method and apparatus for achieving dynamic capacity and high availability in a multi-stage data network using adaptive flow-based routing
JP7292427B2 (en) Method, apparatus and system for communication between controllers in TSN
US20140280864A1 (en) Methods of Representing Software Defined Networking-Based Multiple Layer Network Topology Views
EP2731313A1 (en) Distributed cluster processing system and message processing method thereof
US9847914B2 (en) Method and system for site interconnection over a transport network
CN108400922B (en) Virtual local area network configuration system and method and computer readable storage medium thereof
JP2009055357A (en) Node device, communications network, path setting method and program
RU2775146C1 (en) Method for automated provision of a virtual channel by a communication operator between data processing centers
US11343120B2 (en) ACTN virtual network augmentation for resource sharing
CN113949659A (en) Intelligent routing method and device for traffic bearing path
GB2578453A (en) Software defined networks
EP3849146A1 (en) Transmission method and apparatus for link resource
Teramoto et al. Managing networks independently of the physical topology by service defined network
Sharma Programmable Ethernet Switch Networks and Their Applications
Ikechukwu Network Models and Design