Способ автоматизированного предоставления виртуального канала оператором связи между ЦОД
METHOD FOR AUTOMATED PROVISION OF A VIRTUAL CHANNEL BY A COMMUNICATION OPERATOR BETWEEN DATA PROCESSING CENTERS

ОБЛАСТЬ ТЕХНИКИ
Данное техническое решение относится к вычислительной технике и, в частности, к системам управления центров обработки данных, а также к области сетевых технологий, программно-конфигурируемых сетей, транзиту данных по каналам оператора связи и осуществлению функций моделей QoS, а точнее к способам автоматизированного предоставления виртуального канала оператором связи между ЦОД.
УРОВЕНЬ ТЕХНИКИ
Требования к Центрам Обработки Данных (ЦОД) для предоставления услуг IaaS (от англ. Infrastructure as a Service - инфраструктура как услуга), PaaS (от англ. Platform as a Service - платформа как услуга), SaaS (от англ. software as a service - программное обеспечение как услуга) постоянно растут, поскольку эти услуги позволяют предприятиям оптимизировать общую стоимость владения (TСO, от англ. total cost of ownership) и экономят время развёртывания вычислительной инфраструктуры.
101
ФИГ. 1
В общем случае система управления ЦОД (, ) включает взаимодействующие программные модули: компоненты, обеспечивающие хранение и обработку данных, например, инфраструктурные облачные службы, такие как: управление гипервизорами Nova, служба аутентификации Keystone, распределённое хранилище Swift, интерфейс к базам данных Trove или компонент управления сетевой инфраструктурой Neutron, обеспечивающий связь между всеми компонентами, реализованными в системе управления OpenStack.
ФИГ. 1
Физическая память, где фактически хранятся цифровые данные, может быть распределена между несколькими серверами и иметь, например, интерфейс службы сетевого хранилища данных (NAS, Network Attached Storage) или другой. Обработка данных также может быть распределена между несколькими серверами. Распределённая обработка данных при такой организации может напоминать схему полносвязной сети, в которой каждый узел взаимодействует с каждым, как показано на , изображающей вариант схемы связей системы компьютерной обработки информации, реализованной в ЦОД.
ФИГ. 1
131
141
151
161
101
111
121
На  изображен вариант логической полносвязной сети, схемы передачи данных между инфраструктурными облачными сервисами (в частности, обработки и хранения данных) , , , , применяемыми в ЦОД  и клиентами ,  – арендаторами вычислительных ресурсов.
Для безопасной передачи данных и трафика арендаторов между компонентами ЦОД применяется туннелирование сетевой передачи данных.
202
212
ФИГ. 2
ФИГ. 2
Построение туннелей между программными компонентами внутри системы ЦОД выполняется автоматически. Построение туннелей для взаимодействия между программными компонентами различных ЦОД может выполняться в автоматизированном режиме с выполнением вызовов API к системам управления ЦОД (, , ). Например, на  изображена схема связей между ЦОД по предварительно предоставленной в аренду оператором связи выделенной линии, имеющей гарантированную полосу пропускания, рассчитанной на максимальную интенсивность трафика. Так, для передачи данных между программными компонентами (модулями) различных ЦОД выполняется вызов API к системам управления ЦОД, после обработки которого между сетевыми модулями удаленных ЦОД создаётся туннель или туннели, позволяющие передавать данные. Выбор точной реализации на этом уровне зависит от системы управления ЦОД и применяемых протоколов туннелирования.
222
ФИГ. 2
При объединении ресурсов, при условии обмена данными между удаленными ЦОД, на выходе сетевой компоненты (в частности, модуля системы управления ЦОД, например, модуля «Neutron» из системы управления «OpenStack») в сеть передачи данных поступают инкапсулированные данные (по крайней мере по модели ISO/OSI для L2 или L3 туннелирования), организовано L2 или L3 туннелирование (, ). Выбор (осуществляемый автоматически, причем алгоритм выбирается в зависимости от вариантов реализации системы управления) точной реализации на этом уровне зависит от системы управления ЦОД и применяемых протоколов туннелирования.
Для построения туннелей между программными компонентами удалённых ЦОД возможно, так же, решение без предварительно предоставленной в аренду выделенной линии: с использованием разделяемых каналов оператора связи, но такой способ построения туннелей между программными компонентами удалённых ЦОД не гарантирует стабильную ширину полосы пропускания и приемлемое время отклика. Поэтому для организации связи между ЦОД оператор связи предоставляет в аренду выделенную линию с гарантированной полосой пропускания. Как правило, для объединения ЦОД оператор связи выделяет L2, L3 канал или физический канал с пропускной способностью, рассчитанной на максимальную интенсивность трафика.
Но для построения туннелей между программными компонентами удалённых ЦОД решение с предварительно предоставленной в аренду линией оператора связи, гарантирующей достаточную пропускную способность, имеет низкую эффективность как для оператора связи, так и для владельца ЦОД: создание такого канала может длиться несколько дней, время аренды определяться месяцами, канал должен быть рассчитан на максимальную нагрузку, но максимальная интенсивность трафика случается не всегда и длится непродолжительное время, поэтому владелец ЦОД часто платит за неиспользуемый канал, а оборудование оператора остаётся не загружено.
Решение с предварительно предоставленной в аренду линией оператора связи в общем случае также не позволяет гарантировать своевременный транзит отдельных потоков данных, чувствительного к временным задержкам трафика, т. к. в рамках арендованного канала с гарантированной общей полосой пропускания транзит отдельных потоков выполняется согласно модели негарантированной доставки QoS (от англ. quality of service - «качество обслуживания»).
СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯ
Технический результат, достигаемый предлагаемым техническим решением, состоит в повышении эффективности создания виртуальных каналов, повышении эффективности использования сетевого оборудования, повышении стабильности созданных виртуальных каналов
Согласно одному из вариантов реализации, предлагается способ автоматического формирования виртуального канала между центрами обработки данных (ЦОД) с использованием контроллера программно-конфигурируемой сети (ПКС), в котором:
- коммутаторы, управляемые контроллером ПКС, выполняют обмен пакетами протоколов обнаружение соединения;
- контроллер ПКС периодически выполняет опрос, заданных с помощью механизма межпроцессного взаимодействия, коммутаторов о существующих на коммутаторах интерфейсах, пропускной способности линий и о подключенных к их интерфейсам устройствах с формированием первого набора данных;
- на основании первого набора данных контроллер ПКС формирует набор данных организации трафика, содержащий данные о топологии и ресурсах сети коммутаторов;
- контроллер ПКС с помощью механизма межпроцессного взаимодействия получает запрос на создание записи арендатора виртуальных каналов и признака соответствия режиму обслуживания виртуальных каналов арендатора, где признак режима обслуживания задаёт приоритет при построении маршрутов виртуальных каналов;
- контроллер ПКС формирует набор данных арендаторов виртуальных каналов, содержащий: идентификаторы арендаторов виртуальных каналов, идентификаторы виртуальных каналов и признак соответствия режиму обслуживания каналов арендатора;
- контроллер ПКС с помощью механизма межпроцессного взаимодействия получает запрос на формирование виртуального канала, содержащий, по меньшей мере: данные о точках входа трафика виртуального канала, признак трафика, попадающего в виртуальный канал, информацию о начале и завершении виртуального канала, данные о принадлежности виртуального канала арендатору и данные о требуемых параметрах QoS;
- контроллер ПКС выполняет построение маршрута виртуального канала с учётом: признака соответствия режиму обслуживания каналов арендатора, ресурса пропускной способности домена коммутаторов, информации о начале и завершении виртуальных каналов и параметров QoS, запрошенных для виртуальных каналов;
- контроллер ПКС добавляет в набор данных организации трафика записи о виртуальном канале: маршруте виртуального канала, признаке трафика, попадающего в виртуальный канал, информацию о начале и завершении виртуального канала и занятой виртуальным каналом пропускной способности;
- контроллер ПКС добавляет в набор данных арендаторов виртуальных каналов записи о принадлежности виртуального канала арендатору;
- контроллер ПКС выполняет серию запросов к коммутаторам для настройки коммутаторов по построенному маршруту виртуального канала с формированием, по меньшей мере одного виртуального канала по меньшей мере в одном направлении, где настройка включает правила обработки и маршрутизации трафика с учетом ресурса пропускной способности сети и параметров QoS;
- в ответ на условие завершения виртуального канала контроллер ПКС по выполняет серию запросов к коммутаторам по построенному маршруту виртуального канала для удаления правил обработки и маршрутизации трафика виртуального канала.
В одном из частных вариантов реализации информация для формирования первого набора данных задаётся статически.
В одном из частных вариантов реализации запрос на формирование виртуального канала, в качестве информации о начале и завершении виртуального канала, содержит время существования виртуального канала.
В одном из частных вариантов реализации запрос на формирование виртуального канала, в качестве информации о начале и завершении виртуального канала, содержит максимальное значение объёма данных, переданных по виртуальному каналу.
В одном из частных вариантов реализации завершение существования виртуального канала выполняется по запросу, переданному с помощью механизма межпроцессного взаимодействия, содержащему идентификатор виртуального канала.
В одном из частных вариантов реализации при обнаружении с помощью периодического опроса коммутаторов о подключенных к их интерфейсам устройствах или по уведомлению, полученному контроллером ПКС от коммутатора, обнаруживается изменение топологии соединений: отказ линии связи, отказ коммутатора, обнаружение новых связей, причем: в случае отказа линии связи или коммутатора по маршруту сформированного виртуального канала контроллер ПКС осуществляет автоматическое перестроение виртуального канала через другие доступные коммутаторы.
В одном из частных вариантов реализации признаком трафика, попадающего в виртуальный канал, являются поля заголовка пакетных данных второго уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация; или признаком трафика являются поля заголовка третьего уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация; или признаком трафика являются поля заголовка четвертого уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация.
В одном из частных вариантов реализации пропускная способность по маршруту виртуального канала обеспечивается за счет применения алгоритмов маршрутизации.
В одном из частных вариантов реализации при задании времени существования виртуальных каналов в сети коммутаторов между удалёнными ЦОД запрос к коммутатору на создание правил обработки и маршрутизации трафика виртуального канала формируется в момент времени начала существования виртуального канала, а в момент времени завершения существования виртуального канала контроллер ПКС удаляет из конфигурации коммутаторов информацию о существующих между ЦОД виртуальных каналах, причем трафик между ЦОД перестаёт передаваться при направлении коммутаторам серии запросов для изменения конфигурации коммутаторов, и запись о маршруте и выделенной для виртуального канала пропускной способности из набора данных организации трафика удаляется.
В одном из частных вариантов реализации при поступлении запроса на создание виртуального канала контроллер ПКС выполняет поиск оптимального распределения нагрузки (балансировку нагрузки) согласно применяемому алгоритму маршрутизации с использованием интервала времени существования виртуальных каналов и признака режима обслуживания каналов арендатора, определяющего порядок построения маршрутов.
В одном из частных вариантов реализации при ограничении построения или перестроения маршрутов всех виртуальных каналов пропускной способностью интерфейсов коммутатора, маршрутизация виртуальных каналов выполняется с учётом признака режима обслуживания каналов арендатора.
В одном из частных вариантов реализации при построении маршрутов виртуальных каналов признак приоритетного режима обслуживания виртуальных каналов используется для вытеснения из графа топологии виртуальных каналов арендаторов.
В одном из частных вариантов реализации набор данных организации трафика сохраняется в формате базы данных организации трафика, размещённой локально или удалённо.
В одном из частных вариантов реализации набор данных арендаторов виртуальных каналов сохраняется в формате базы данных арендаторов виртуальных каналов, размещённой локально или удалённо.
В одном из частных вариантов реализации функции контроллера ПКС дублируются дополнительным контроллером ПКС по принципу основного и резервного контроллера ПКС.
В одном из частных вариантов реализации создание виртуального канала инициируется с применением механизма 'подписки на события', при котором коммутаторы информируют контроллер ПКС о поступлении данных, имеющих заданный признак, при поступлении которых коммутатор оповещает контроллер ПКС, а контроллер ПКС на основе заданных параметров создаёт для этого трафика виртуальный канал.
В одном из частных вариантов реализации серия запросов от контроллера ПКС к коммутаторам является серией NETCONF запросов.
В одном из частных вариантов реализации серия запросов от контроллера ПКС к коммутаторам является серией RESTCONF запросов.
В одном из частных вариантов реализации для формирования контроллером ПКС запросов к коммутаторам применяются yang модели openConfig, yang модели, созданные производителем коммутаторов или yang модели, созданные третьими лицами.
В одном из частных вариантов реализации серия запросов от контроллера ПКС к коммутаторам является серией запросов ofConfig.
В одном из частных вариантов реализации серия запросов от контроллера ПКС к подконтрольным коммутаторам является серией openFlow запросов.
В одном из частных вариантов реализации условие завершения виртуального канала представляет собой запрос, получаемый контроллером ПКС с помощью механизма межпроцессного взаимодействия, или событие истечения времени существования виртуального канала или исчерпание заданного объема, переданных по виртуальному каналу, данных.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
ФИГ. 1
иллюстрирует вариант логической полносвязной сети, схемы передачи данных между инфраструктурными облачными сервисами, применяемыми в ЦОД и клиентами – арендаторами вычислительных ресурсов;
ФИГ. 2
иллюстрирует схему связей между ЦОД по предварительно предоставленной в аренду оператором связи выделенной линии, имеющей гарантированную полосу пропускания, рассчитанной на максимальную интенсивность трафика;
ФИГ. 3
иллюстрирует пример автоматизированного предоставления виртуального канала с функциями QoS, согласно одного из вариантов осуществления;
ФИГ. 4
иллюстрирует функциональную схему контроллера ПКС, согласно одного из вариантов осуществления настоящего технического решения;
ФИГ. 5
иллюстрирует вариант схемы базы данных TED, согласно одному из вариантов осуществления настоящего технического решения;
ФИГ. 6
иллюстрирует пример случая превышения пропускной способности интерфейса;
ФИГ. 7
иллюстрирует примерный вариант осуществления настоящего технического решения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Признаки настоящего технического решения станут очевидны посредством отсылки к примерам вариантов осуществления. Однако настоящее техническое решение не ограничивается примером вариантов осуществления, раскрытых ниже. Описание вариантов осуществления является ничем иным, как конкретными деталями, определенными для помощи специалисту в области техники в исчерпывающем понимании технического решения. Рассмотренные варианты осуществления даны с целью описания идеи, определяющей множество вариантов осуществления. Настоящее техническое решение определяется только в объеме приложенной формулы. Используемые в настоящем описании настоящего технического решения термины «модуль», «компонент», «элемент» и подобные используемые для обозначения технических средств могут быть как аппаратными средствами, так и приложением, исполняемым программным кодом и/ или прошивкой, микропрограммой.
Далее в описании термины «коммутатор» и «маршрутизатор» используются как синонимы и обозначают устройство, выполняющее обработку заголовков пакетных данных второго, третьего и/ или четвертого уровня модели сетевого взаимодействия OSI/ISO.
ФИГ. 3
На  показан пример автоматизированного предоставления виртуального канала с функциями QoS, согласно одного из вариантов осуществления, в частности, показан вариант схемы автоматизированного предоставления виртуального канала оператором связи между ЦОД с применением элементов дифференцированной и интегрированной моделей обслуживания QoS.
Предлагаемое техническое решение позволяет выполнить создание виртуального канала в течение фиксированного короткого интервала времени и вместо аренды канала большей пропускной способности на длительное время ограничиться арендой виртуального канала с достаточной для текущих потребностей клиента пропускной способностью и сделать тогда, когда клиенту будет необходимо.
Одной из задач настоящего технического решения является автоматизация предоставления оператором связи виртуального канала между ЦОД.
ФИГ. 3
202
212
202
212
313
На  показаны две группы клиентов, программные компоненты в составе системы управления ЦОД А  и программные компоненты в составе системы управления ЦОД B . В исходном состоянии программные компоненты двух систем управления ЦОД (клиент и сервер) не могут передавать данные друг другу, для организации обмена выполняется несколько API вызовов (в частности, нескольких API вызовов к системам управления ЦОД ,  и к контроллеру ПКС ).
373
202
212
222
343
353
Пусть первый вызов API (), обеспечивающем построение туннелей для взаимодействия между программными компонентами различных ЦОД, выполняется к системам управления ЦОД А  и ЦОД B , теперь данные, поступающие от клиентов, направляются в туннель /туннели  и могут поступать на коммутатор R1  и коммутатор R2 , как результат выполнения вызова, обеспечивающего построение туннелей для взаимодействия между программными компонентами различных ЦОД.
363
313
313
343
353
343
343
353
343
353
313
313
353
212
212
Второй вызов API (), в частности, API вызов, уведомляющий контроллер ПКС о необходимости формирования виртуального канала, выполняется к контроллеру ПКС , контроллер ПКС выполняет настройку виртуальных каналов на подконтрольных коммутаторах: R1  и R2 , причем API вызов содержит, как минимум, данные для упомянутой настройки, в том числе данные о точках входа трафика виртуального канала, признак трафика, попадающего в виртуальный канал, информацию о начале и завершении виртуального канала, данные о принадлежности виртуального канала арендатору и данные о требуемых параметрах QoS. Виртуальные каналы позволяют добавить функциональность управления временем существования, пропускной способностью - обеспечить функции моделей обслуживания QoS в разных комбинациях составляющих, а также выполнять отказоустойчивую маршрутизацию и балансировку нагрузки. Коммутатор R1  маршрутизирует туннель в сеть подконтрольных коммутаторов. Через условную сеть, в данном случае напрямую, данные направляются от коммутатора R1  коммутатору R2 . Однако, следует понимать, количество узлов и топология сети коммутаторов (, ), управляемых контроллером ПКС , может быть любым и ограничиваться, в некоторых вариантах осуществления, только числом одновременно открытых файловых дескрипторов на уровне архитектуры операционной системы контроллера ПКС . Маршрутизация виртуальных каналов может выполняться с применением дополнительного туннелирования, например QinQ, в этом случае коммутатор R2  извлекает данные (в случае применения дополнительного туннелирования данных, передаваемых по виртуальному каналу, например, QinQ), передаваемые по туннелю и передаёт сетевой компоненте системы управления ЦОД B . Сетевой программный компонент (в частности, сетевая служба) системы управления ЦОД B  извлекает данные, переданные программным компонентом системы управления ЦОД из туннеля и передаёт адресу назначения, программному компоненту системы управления ЦОД B. То же происходит в обратном направлении, обрабатываются данные поступающие от программного компонента системы управления ЦОД B программному компоненту системы управления ЦОД А.
ФИГ. 3
303
Поскольку данные между ЦОД передаются по линиям оператора связи, может появиться необходимость в дополнительной функциональности, которая позволит оперативно создавать каналы, управлять скоростью, назначить приоритет отдельных потоков данных и т.п., как показано на . Указанные функции могут быть включены в функциональность наложенной сети , поскольку их реализация не зависит от применяемых протоколов передачи данных, логической и физической организации линий связи и выполняется за счёт централизованного управления, как описано далее.
313
333
323
323
ФИГ. 3
Контроллер программно-конфигурируемой сети (ПКС)  позволяет в автоматическом режиме с использованием конфигурационных запросов/ответов  создавать на подконтрольных коммутаторах виртуальные каналы – правила обработки и маршрутизации трафика, добавлять функциональность управления временем существования и пропускной способностью виртуальных каналов , обеспечивать другие функции моделей обслуживания QoS в разных комбинациях составляющих, а также выполнять отказоустойчивую маршрутизацию и балансировку нагрузки, как показано на .
323
313
Упомянутые виртуальные каналы включают (в частном случае являются) правила обработки и маршрутизации трафика, установленные на коммутаторах по маршруту транзита трафика, созданные путём централизованной настройки (в частности, управлением) коммутаторов контроллером ПКС .
303
313
Функциональность наложенной сети  включает (в частном случае является) правила обработки и маршрутизации трафика, установленные на коммутаторах по маршруту транзита трафика, созданные путём централизованной настройки (в частности, управлением) коммутаторов контроллером ПКС .
ФИГ. 4
На  показана функциональная схема контроллера ПКС, согласно одного из вариантов осуществления настоящего технического решения.
ФИГ. 4
313
404
434
343
353
434
313
343
353
333
313
343
353
Как показано на функциональной схеме, , контроллер ПКС  состоит из логики, обеспечивающей маршрутизацию виртуальных каналов (управляющее приложение ) и программных библиотек, в частности, библиотек взаимодействия с коммутатором , взаимодействия с коммутатором , , обеспечивающих централизованное управление, настройку коммутаторов на маршруте прохождения данных между ЦОД. Количество и тип библиотек взаимодействия с коммутатором , определяет количество поддерживаемых контроллером ПКС  протоколов, используемых для взаимодействия контроллера ПКС с коммутаторами , . Порядок и содержание конфигурационных запросов/ответов (в частности, вызовов RPC)  также зависит от протокола, используемого для взаимодействия контроллера ПКС  с коммутатором , .
404
313
333, 444
313
Управляющее приложение контроллера ПКС , в описываемом варианте с применением протокола NETCONF (сетевой протокол конфигурации, протокол сетевого управления устройствами), при старте выполняет первичную инициализацию, происходит опрос коммутаторов по заданным адресам. В разных вариантах осуществления адреса коммутаторов могут храниться в конфигурации контроллера ПКС или задаваться динамически с помощью механизмов межпроцессного взаимодействия. Выполняются вызовы RPC , позволяющие определить существующие на коммутаторах интерфейсы, пропускную способность линий и информацию о соседних коммутаторах, доступную по протоколам обнаружения соединений. С использованием полученных данных контроллер ПКС  осуществляет построение графа, соответствующего топологии связей и пропускной способности линий между коммутаторами.
404
414
535
545
Управляющее приложение контроллера ПКС  ведёт записи базы данных TED  (базы данных организации трафика (TED, от англ. Trafic Engeneering Data)), полученных в ходе опроса коммутаторов и полученных в результате обработки запросов на формирование виртуальных каналов. Информационный обмен между управляющим приложением 404 и базой данных TED 414 может состоять из данных о топологии и ресурсах домена подконтрольных коммутаторов, информации о маршруте виртуальных каналов. Информация базы данных TED 414 может использоваться управляющим приложением контроллера ПКС 404 в некоторых вариантах осуществления для расчёта маршрута виртуального канала или в случае аварийного восстановления (где фактом аварийного завершения, требующего аварийного восстановления, может являться, например, содержание в базе TED данных). База данных TED может быть расположена на одной программно-аппаратной платформе с контроллером ПКСили размещена за пределами, удалённо. Граф топологии домена подконтрольных коммутаторов в базе данных TED в некоторых вариантах осуществления может храниться в виде записей таблиц «switch_tbl» () и «interfaces_tbl» ().
424
404
424
404
323
404
Управляющее приложение контроллера ПКС ведёт записи базы данных арендаторов виртуальных каналов . Информационный обмен между управляющим приложением  и базой данных арендаторов виртуальных каналов в некоторых вариантах осуществления может состоять из идентификаторов арендаторов виртуальных каналов, идентификаторов виртуальных каналов и признака привилегированного режима обслуживания виртуальных каналов арендатора. Информация базы данных арендаторов  может использоваться управляющим приложением контроллера ПКС  в некоторых вариантах осуществления для построения или перестроения маршрута виртуальных каналов, или в случае аварийного восстановления. Признак привилегированного режима обслуживания задает приоритет при маршрутизации виртуальных каналов , который в некоторых вариантах осуществления, например, может являться признаком, позволяющим управляющему приложению  при маршрутизации виртуальных каналов вытеснять из графа топологии виртуальные каналы других арендаторов.
363
323
Вызов REST API (), в некоторых вариантах осуществления, может содержать, например, запрос на создание или удаление виртуального канала ().
313
313
313
313
313
313
Централизованное управление коммутаторами на маршруте прохождения данных между удаленными ЦОД выполняется с применением протокола NETCONF (RFC4741 https://tools.ietf.org/html/rfc4741, RFC6241 https://tools.ietf.org/html/rfc6241). Контроллер ПКС  может формировать запрос NETCONF с применением языка моделирования данных YANG (RFC6020 https://tools.ietf.org/html/rfc6020https://tools.ietf.org/html/rfc7950, RFC7950). В некоторых вариантах осуществления взаимодействие между контроллером ПКС  и подконтрольными коммутаторами может выполняться с применением протокола RESTCONF (RFC8040 https://tools.ietf.org/html/rfc8040, RFC8527 https://tools.ietf.org/html/rfc8527). В некоторых вариантах осуществления взаимодействие между контроллером ПКС  и подконтрольными коммутаторами может выполняться с применением протокола openConfig. В некоторых вариантах осуществления взаимодействие между контроллером ПКС  и подконтрольными коммутаторами может выполняться с применением протокола ofConfig В некоторых вариантах осуществления взаимодействие между контроллером ПКС  и подконтрольными коммутаторами также может выполняться с применением протокола 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). В некоторых вариантах осуществления взаимодействие между контроллером ПКС  и подконтрольными коммутаторами также может выполняться с применением протокола OpenFlow (OpenFlow Switch Specification 1.3.0 https://opennetworking.org/wp-content/uploads/2014/10/openflow-spec-v1.3.0.pdf).
Функции централизованного управления обеспечивают:
313
- опрос коммутаторов при первичной инициализации контроллера ПКС ;
323
- автоматическое создание и удаление виртуальных каналов между ЦОД (в частности, между системами управления ЦОД);
- отслеживание состояния и топологии связей домена подконтрольных коммутаторов.
313
323
Так, с использованием централизованного управления осуществляется опрос коммутаторов при первичной инициализации контроллера ПКС ; автоматическое создание и удаление виртуальных каналов между ЦОД и отслеживание состояния и топологии связей домена подконтрольных коммутаторов.
404
Функции управляющего приложения  обеспечивают:
323
- построение и перестроение маршрута виртуальных каналов  в сети подконтрольных коммутаторов между удалёнными ЦОД;
323
- планирование, моменты времени начала и завершения существования виртуальных каналов  в сети подконтрольных коммутаторов между удалёнными ЦОД;
323
- построение и перестроение маршрута с учётом признака привилегированного режима обслуживания виртуального канала ();
323
- балансировку нагрузки с автоматическим перестроением маршрутов виртуальных каналов  в сети подконтрольных коммутаторов;
323
323
- отказоустойчивость при передаче данных по виртуальным каналам  в случае отказа одной или нескольких физических линий передачи данных за счёт автоматического перестроения маршрута виртуального канала ().
404
323
323
323
323
323
323
Так, управляющее приложение  осуществляет построение и перестроение маршрутов виртуальных каналов в сети подконтрольных коммутаторов между удалёнными ЦОД; планирование, моменты времени начала и завершения существования виртуальных каналов в сети подконтрольных коммутаторов между удалёнными ЦОД; построение и перестроение маршрута с учётом признака привилегированного режима обслуживания виртуального канала (); балансировку нагрузки с автоматическим перестроением маршрутов виртуальных каналов в сети подконтрольных коммутаторов; обеспечение отказоустойчивости при передаче данных по виртуальным каналам в случае отказа одной или нескольких физических линий передачи данных или коммутаторов за счёт автоматического перестроения маршрута виртуального канала ().
Функции, обеспечиваемые коммутаторами:
- в некоторых вариантах осуществления функции интегрированной модели обслуживания QoS (гарантированную пропускную способность);
- в некоторых вариантах осуществления функции дифференцированной модели обслуживания QoS (обслуживание на основе разделения трафика по классам);
- в некоторых вариантах осуществления одновременное применение функций дифференцированной и интегрированной моделей обслуживания QoS в разных комбинациях составляющих.
Так, управление настройками коммутаторов обеспечивает возможность осуществления для потоков данных, передаваемых по виртуальным каналам функций интегрированной модели обслуживания QoS (гарантированную ширину полосы пропускания); функции дифференцированной модели обслуживания QoS (обслуживание на основе разделения трафика по классам); одновременного применения функций дифференцированной и интегрированной моделей обслуживания QoS в разных комбинациях составляющих.
323 (
363
313
363
323
323
323
323
Автоматическое создание виртуальных каналов функции централизованного управления) обеспечивается выполнением REST API запроса () к контроллеру ПКС . В некоторых вариантах осуществления API запрос () на создание виртуального канала () должен включать идентификаторы коммутаторов и интерфейсов начала и конца маршрута, моменты времени начала и завершения существования виртуального канала (), признак принадлежности виртуального канала () арендатору и признак трафика, попадающего в виртуальный канал ().
323
323
323
323
В некоторых вариантах осуществления в качестве признака трафика, попадающего в виртуальный канал (), могут использоваться поля заголовка сетевого кадра (L2), на основе которых коммутатором поддерживается маршрутизация, например, MAC destination, MAC source, IEEE 802.1Q tag и/или Ethertype. В некоторых вариантах осуществления в качестве признака трафика, попадающего в виртуальный канал (), могут использоваться поля заголовка сетевого пакета (L3), на основе которых коммутатором поддерживается маршрутизация, например, на основе полей version, type of service, time to live, protocol, source ip address, destination ip address, ip options полей заголовка пакета IPv4. В некоторых вариантах осуществления в качестве признака трафика, попадающего в виртуальный канал (), могут использоваться поля заголовка транспортного уровня (L4), на основе которых коммутатором поддерживается маршрутизация, например, source port, destination port, ACK, PSH, RST, SYN, FIN протокола TCP, source port, destination port протокола UDP. Также, в некоторых вариантах осуществления в качестве признака трафика, попадающего в виртуальный канал (), могут использоваться другие поля пакетов других протоколов или их комбинации, на основе которых коммутатором поддерживается маршрутизация.
313
323
333
313
323
323
404
414
ФИГ. 3
ФИГ. 5
Выполнение запросов к контроллеру ПКС  на создание виртуального канала () передачи данных в варианте с применением протокола NETCONF вызывает выполнение серии NETCONF запросов () от контроллера ПКС  к подконтрольным коммутаторам. В зависимости от признака трафика, попадающего в виртуальный канал () и выбранной модели QoS, тип и последовательность выполняемых запросов могут отличаться. Например, в некоторых вариантах осуществления для обеспечения гарантированной полосы пропускания виртуального канала () на каждом коммутаторе построенного маршрута может быть выполнен (являющийся для этого достаточным) запрос по настройке фильтра, отделяющего выбранный трафик и запрос по настройке шейпера (от англ. traffic shaping), осуществляющего ограничение пропускной способности для выбранного трафика. Гарантию требуемой пропускной способности виртуального канала обеспечивает управляющее приложение  на основе записей базы данных TED  с применением в разных вариантах осуществления как типовых (алгоритмы Дейкстры, Беллмана-Форда и т.п.), так и новых (Maximally Redundant Trees) алгоритмов маршрутизации, как и с помощью алгоритмов, которые могут быть разработаны поздней, в зависимости от применяемого в контроллере ПКС. После выполнения запросов коммутаторы на маршруте прохождения данных между ЦОД настроены для передачи трафика между ЦОД (как показано на ), в базу данных TED (в графе, соответствующем топологии связей между коммутаторами и пропускной способности линий) добавляется запись о маршруте виртуального канала и занятой им полосе пропускания. В некоторых вариантах осуществления схема базы данных TED может соответствовать приведенной на .
ФИГ. 5
505
515
525
535
545
555
На  показан вариант схемы базы данных TED, согласно одному из вариантов осуществления настоящего технического решения. В этом варианте осуществления база данных TED состоит из таблиц: таблица, содержащая список арендаторов виртуальных каналов «holder_tbl» ; таблица, содержащая список виртуальных каналов «channel_tbl» ; таблица, содержащая список признаков трафика, попадающего в виртуальный канал «properties_tbl» ; таблица, содержащая список коммутаторов «switch_tbl» ; таблица, содержащая список интерфейсов коммутаторов «interfaces_tbl» ; таблица, содержащая список маршрутов виртуальных каналов «hop_tbl» . Таблицы на схеме базы данных TED связаны между собой по ключевым полям (по уникальным идентификаторам записей).
ФИГ. 5
В приведенном на  варианте осуществления базы данных TED, запись об участке маршрута виртуального канала может иметь вид, приведенный в таблице 1.
Таблица 1. Пример записи об участке маршрута виртуального канала базы данных TED.
hop_ident
7
channel_ident
2
hop_number
0
switch_dpid
00:1f:d0:00:ba:9b
switch_prev_dpid
null
switch_next_dpid
00:1f:d0:00:ba:9c
switch_interface_in
ge-0/0/3.1
switch_interface_out
ge-0/0/0.1
switch_state
TRUE
В этом примере запись об участке маршрута виртуального канала сообщает что: уникальный идентификатор этой записи имеет значение «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» говорит о том, что настройка коммутатора для маршрутизации данных виртуального канала выполнена.
Таблица 2. Пример выборки о маршруте созданного виртуального канала из базы данных TED.
hop_ident
7
8
9
10
channel_ident
2
2
2
2
hop_number
0
1
2
3
switch_dpid
00:1f:d0:00:ba:9b
00:1f:d0:00:ba:9c
00:1f:d0:00:ba:9d
00:1f:d0:00:ba:9e
switch_prev_dpid
null
00:1f:d0:00:ba:9b
00:1f:d0:00:ba:9c
00:1f:d0:00:ba:9d
switch_next_dpid
00:1f:d0:00:ba:9c
00:1f:d0:00:ba:9d
00:1f:d0:00:ba:9e
null
switch_interface_in
ge-0/0/3.1
ge-0/0/0.1
ge-0/0/0.1
ge-0/0/2.1
switch_interface_out
ge-0/0/0.1
ge-0/0/2.1
ge-0/0/2.1
ge-0/0/3.1
switch_state
TRUE
TRUE
TRUE
TRUE
363
313
По завершении времени существования виртуального канала или по запросу ()контроллер ПКС  удаляет хранящуюся на коммутаторах информацию о маршрутизируемых между ЦОД виртуальных каналах. Какая именно информация о маршрутизируемых между ЦОД виртуальных каналов удаляется из конфигурации коммутаторов зависит от признака трафика, попадающего в виртуальный канал и, выбранной модели QoS. Путём направления коммутаторам серии NETCONF запросов выполняется изменение конфигурации коммутаторов и, таким образом, трафик туннелей между ЦОД перестаёт передаваться, запись о маршруте и полосе виртуального канала в базе данных TED удаляется. Тип и последовательность запросов может отличаться в зависимости от признака трафика, попадающего в виртуальный канал и выбранной модели QoS. В случае удаления записи арендатора выполняется удаление всех виртуальных каналов, сопоставленных с его идентификатором.
Отслеживание состояния и топологии связей домена подконтрольных коммутаторов, обеспечивающее функции централизованного управления, в разных вариантах осуществления может выполняться как с применением периодического опроса коммутаторов о соседних сетевых устройствах, так и (например, в варианте осуществления с применением протокола 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), в зависимости от поддерживаемых коммутаторами.
404
313
Построение и перестроение маршрутов виртуальных каналов, обеспечивающее функции управляющего приложения , в разных вариантах осуществления может выполняться с применением как типовых (алгоритмы Дейкстры, Беллмана-Форда и т.п.), так и новых (Maximally Redundant Trees) алгоритмов маршрутизации, а также алгоритмов, которые могут быть разработаны поздней, в зависимости от применяемого в контроллере ПКС .
313
404
313
404
Моменты времени начала и завершения существования виртуальных каналов с заданным периодом отслеживает планировщик контроллера ПКС . В разных вариантах осуществления функции планировщика могут обеспечиваться, например, API вызовами управляющего приложения  к операционной системе контроллера ПКС или иначе. По наступлении моментов начала или завершения существования выполняется RPC вызов на создание или удаление виртуальных каналов. Отслеживание моментов времени начала и завершения обеспечивают функции управляющего приложения .
404
313,
404
404
414
505
605
614
607
611
610
363)
610, 614
610, 614)
ФИГ. 6
Построение и перестроение маршрута с учетом признака привилегированного режима обслуживания каналов арендатора, выполняется управляющим приложением  контроллера ПКС обеспечивает функции управляющего приложения . В некоторых случаях при поступлении запроса на создание виртуального канала управляющее приложение  может выполнить перестроение маршрутов всех виртуальных каналов, например, в соответствие оптимизирующего алгоритма маршрутизации, описанного ниже. Признак привилегированного режима обслуживания может определять порядок построения маршрутов. Признак привилегированного режима обслуживания содержится в базе данных TED таблице «holder_tbl» (), поле «holder_privilege». В случае если построение или перестроение маршрутов виртуальных каналов ,  ограничено пропускной способностью линии связи (интерфейсов коммутатора) , то маршрутизациявиртуальных каналов ,  будет выполнена с учётом признака привилегированного режима обслуживания, и, например, API вызов на создание виртуального канала (для виртуального канала 2 () может быть отклонен или маршрутизация виртуального канала 2 (может быть перепланирована на другое время, как показано на .
ФИГ. 6
605
611
614
610
ФИГ. 6
605
611
603
604
606
607
609
614
610
612
613
606
607
609
611
610
606
609
607
На  показан пример случая превышения пропускной способности интерфейса: управляющее приложение контроллера ПКС обрабатывает запросы на создание виртуального канала_1 ,  с пропускной способностью 300 мб/с и виртуального канала_2 , с пропускной способностью 750 мб/с. Согласно топологии, указанной на  маршрут виртуального канала_1 ,  проходит через коммутатор 1 , линию связи , коммутатор 2 , линию связи  и коммутатор 3 , маршрут виртуального канала_2 ,  проходит через коммутатор 4 , линию связи , коммутатор 2 , линию связи  и коммутатор 3 . Пропускная способность линий связи и интерфейсов коммутаторов 1000 мб/с. Таким образом суммарная пропускная способность запрошенных виртуальных каналов ,  на участке маршрута коммутатор 2  – коммутатор 3  превышает пропускную способность линии связи .
Виртуальные каналы, пропускная способность которых в сумме с пропускной способностью построенных маршрутов превышаетпропускную способность интерфейсов коммутатора (если разместить все виртуальные каналы в домене подконтрольных коммутаторов не удаётся), могут быть перепланированы на более позднее время или при первой возможности (с изменением топологии) маршрут этих виртуальных каналов будет перестроен.
404
Балансировка нагрузки с автоматическим перестроением маршрутов виртуальных каналов в сети подконтрольных коммутаторов, обеспечивающая функции управляющего приложения , осуществляется в соответствии с выстроенным графом топологии и пропускной способности линий связи между коммутаторами, таблицей маршрутов существующих виртуальных каналов (Таблица 2), занимающих часть общей пропускной способности сети подконтрольных коммутаторов и остаточным графом, который складывается из  графа топологии и пропускной способности линий связи и таблицы маршрутов существующих виртуальных каналов за счёт оптимизации маршрутов при поступлении новых запросов на создание виртуальных каналов, в частности, посредством использования оптимизирующего алгоритма маршрутизации. В некоторых вариантах осуществления за основу оптимизирующего алгоритма маршрутизации берется идея поиска дополняющих путей с заданной пропускной способностью из метода масштабирования потока. Так, осуществляется поиск дополняющих путей с заданной пропускной способностью из метода масштабирования потока. Если для нового запроса на создание виртуального канала не удается построить маршрут в остаточном графе сети подконтрольных коммутаторов, то маршрут ищется с использованием потенциальных ребер. Потенциальным ребром называется ребро, задействованное в маршруте проложенного виртуального канала и имеющее пропускную способность этого виртуального канала. На маршруте виртуального канала между одной и той же парой соседних вершин в графе топологии связей может быть одновременно использовано остаточное и потенциальное ребро, чтобы удовлетворить требование по пропускной способности. Если в маршруте для нового запроса задействовано потенциальное ребро, то осуществляется (необходимо) перестроение маршрутов соответствующих виртуальных каналов. Наряду с этим, в частном случае, можно рассматривать перестроение маршрута виртуального канала как поступление нового запроса, поэтому может быть использован этот же алгоритм для задачи перестроения маршрута, но с фиксированными маршрутами для уже рассмотренных виртуальных каналов. Так как перестроение маршрута может затронуть рассмотрение большого количества виртуальных каналов, алгоритм имеет настраиваемый параметр «k» – максимальное количество виртуальных каналов, маршруты которых можно перестроить. При помощи указанного алгоритма может быть увеличено использование пропускной способности сети, в частности, поскольку динамическое перестроение маршрутов, в частном случае, может помочь в ситуации, когда отсутствует маршрут в остаточном графе сети.
404
555
Отказоустойчивость при передаче данных по виртуальным каналам в случае отказа физических линий передачи данных или коммутаторов, обеспечивающая функции управляющего приложения , осуществляется в соответствии с выстроенным графом топологии и таблицей маршрутов существующих виртуальных каналов (таблицей, содержащей список маршрутов виртуальных каналов «hop_tbl» ) в зависимости от изменения состояния линий связи или коммутаторов. В случае отказа линий связи или коммутаторов виртуальные каналы, в маршруте которых используются участки сети, где случился отказ, удаляются из конфигурации коммутаторов и таблицы маршрутов существующих виртуальных каналов. Эти виртуальные каналы можно рассматривать как поступление нового запроса и, в некоторых вариантах осуществления, применить к ним выше описанный оптимизирующий алгоритм маршрутизации или другой.
313
414
313
313
414
313
В случае отказа контроллера ПКС  таблица маршрутов виртуальных каналов и состояние топологии сети подконтрольных коммутаторов сохраняется в базе данных TED  контроллера ПКС. Коммутаторы подконтрольной сети продолжают работу в состоянии до отказа контроллера ПКС . По восстановлению работы контроллера ПКС  выполняется первичная инициализация топологии сети подконтрольных коммутаторов. Выполняется загрузка маршрутов виртуальных каналов, сохранённых в базе данных TED  контроллера ПКС .
В варианте осуществления интегрированной модели обслуживания QoS для трафика, имеющего признак, который соответствует попадающему в виртуальный канал, устанавливается ограничение пропускной способности в рамках обеспечения такой функции коммутаторами. Для каждого физического интерфейса в сети подконтрольных коммутаторов сумма пропускных способностей виртуальных каналов, проходящих через этот интерфейс, ограничивается полосой пропускания физического интерфейса. Если маршрут для виртуального канала, превышающего физическую пропускную способность интерфейса коммутатора, не найден, происходит отказ в создании виртуального канала. При перестроении виртуальных каналов маршруты могут быть перепланированы на более позднее время, или при первой возможности (например, с изменением топологии сети подконтрольных коммутаторов) маршрут этих виртуальных каналов будет перестроен.
Пример NETCONF запросов, направляемых контроллером ПКС к подконтрольным коммутаторам, приведен ниже. Первый запрос создаёт ограничение пропускной способности виртуального канала. Второй запрос создаёт фильтр, определяющий трафик, который попадает в виртуальный канал, привязывает к нему созданное ограничение пропускной способности и задаёт интерфейс для маршрутизации трафика виртуального канала. Третий запрос выполняет применение изменений к актуальной конфигурации коммутатора.
В результате обработки запросов подконтрольными коммутаторами по маршруту транзита данных создаётся виртуальный канал для GRE-туннеля (L3) с идентификатором GREKEY 579, выполняющий передачу пакетных данных с ограничением пропускной способности 20 Мбит/с.
В варианте осуществления дифференцированной модели обслуживания QoS для трафика, имеющего признак, который соответствует попадающему в канал, устанавливаются значения класса обслуживания в соответствие значению приоритета полей заголовка IEEE 802.1p, в рамках обеспечения такой функции коммутаторами.
В варианте осуществления одновременного применения дифференцированной и интегрированной моделей обслуживания QoS для трафика, имеющего признак, который соответствует попадающему в канал, устанавливается одновременно и значение классов обслуживания в соответствие значению приоритета полей заголовка IEEE 802.1p и ограничение полосы пропускания, в рамках обеспечения такой функции коммутаторами. Для каждого физического интерфейса в сети подконтрольных коммутаторов сумма пропускных способностей виртуальных каналов, проходящих через этот интерфейс, ограничивается полосой пропускания физического интерфейса. Если маршрут для виртуального канала, превышающего физическую пропускную способность интерфейса коммутатора, не найден, происходит отказ в создании виртуального канала. При перестроении виртуальных каналов маршруты могут быть перепланированы на более позднее время, или при первой возможности (с изменением топологии сети подконтрольных коммутаторов) маршрут этих виртуальных каналов будет перестроен.
Пример NETCONF запросов для удаления виртуального канала, направляемый контроллером ПКС к подконтрольным коммутаторам, приведен ниже. Первый запрос удаляет ограничение пропускной способности виртуального канала. Второй запрос удаляет фильтр, определяющий трафик, который попадает в виртуальный канал. Третий запрос выполняет применение изменений к актуальной конфигурации коммутатора.
ФИГ. 7
На  показан примерный вариант осуществления настоящего технического решения.
705
В шаге  коммутаторы, управляемые контроллером ПКС, выполняют обмен пакетами протоколов обнаружение соединения.
710
В шаге  контроллер ПКС периодически выполняет опрос, заданных с помощью механизма межпроцессного взаимодействия, коммутаторов о существующих на коммутаторах интерфейсах, пропускной способности линий и о подключенных к их интерфейсам устройствах с формированием первого набора данных.
В частном случае информация для формирования первого набора данных задаётся статически.
715
В шаге  на основании первого набора данных контроллер ПКС формирует набор данных организации трафика, содержащий данные о топологии и ресурсах сети коммутаторов.
В частном случае набор данных организации трафика сохраняется в формате базы данных организации трафика, размещённой локально или удалённо.
720
В шаге  контроллер ПКС с помощью механизма межпроцессного взаимодействия получает запрос на создание записи арендатора виртуальных каналов и признака соответствия режиму обслуживания виртуальных каналов арендатора, где признак режима обслуживания задаёт приоритет при построении маршрутов виртуальных каналов.
725
В шаге  контроллер ПКС формирует набор данных арендаторов виртуальных каналов, содержащий: идентификаторы арендаторов виртуальных каналов, идентификаторы виртуальных каналов и признак соответствия режиму обслуживания каналов арендатора.
В частном случае набор данных арендаторов виртуальных каналов сохраняется в формате базы данных арендаторов виртуальных каналов, размещённой локально или удалённо.
730
В шаге  контроллер ПКС с помощью механизма межпроцессного взаимодействия получает запрос на формирование виртуального канала, содержащий, по меньшей мере: данные о точках входа трафика виртуального канала, признак трафика, попадающего в виртуальный канал, информацию о начале и завершении виртуального канала, данные о принадлежности виртуального канала арендатору и данные о требуемых параметрах QoS.
В частном случае запрос на формирование виртуального канала, в качестве информации о начале и завершении виртуального канала, содержит время существования виртуального канала.
В частном случае при поступлении запроса на создание виртуального канала контроллер ПКС выполняет поиск оптимального распределения нагрузки (балансировку нагрузки) согласно применяемому алгоритму маршрутизации с использованием интервала времени существования виртуальных каналов и признака режима обслуживания каналов арендатора, определяющего порядок построения маршрутов.
В частном случае при задании времени существования виртуальных каналов в сети коммутаторов между удалёнными ЦОД запрос к коммутатору на создание правил обработки и маршрутизации трафика виртуального канала формируется в момент времени начала существования виртуального канала, а в момент времени завершения существования виртуального канала контроллер ПКС удаляет из конфигурации коммутаторов информацию о существующих между ЦОД виртуальных каналах, причем трафик между ЦОД перестаёт передаваться при направлении коммутаторам серии запросов для изменения конфигурации коммутаторов, и запись о маршруте и выделенной для виртуального канала пропускной способности из набора данных организации трафика удаляется.
В частном случае запрос на формирование виртуального канала, в качестве информации о начале и завершении виртуального канала, содержит максимальное значение объёма данных, переданных по виртуальному каналу.
В частном случае признаком трафика, попадающего в виртуальный канал, являются поля заголовка пакетных данных второго уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация; или признаком трафика являются поля заголовка третьего уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация; или признаком трафика являются поля заголовка четвертого уровня модели сетевого взаимодействия OSI/ISO, на основе которых коммутатором поддерживается маршрутизация.
735
В шаге  контроллер ПКС выполняет построение маршрута виртуального канала с учётом: признака соответствия режиму обслуживания каналов арендатора, ресурса пропускной способности домена коммутаторов, информации о начале и завершении виртуальных каналов и параметров QoS, запрошенных для виртуальных каналов.
740
В шаге  контроллер ПКС добавляет в набор данных организации трафика записи о виртуальном канале: маршруте виртуального канала, признаке трафика, попадающего в виртуальный канал, информацию о начале и завершении виртуального канала и занятой виртуальным каналом пропускной способности.
745
В шаге  контроллер ПКС добавляет в набор данных арендаторов виртуальных каналов записи о принадлежности виртуального канала арендатору.
750
В шаге  контроллер ПКС выполняет серию запросов к коммутаторам для настройки коммутаторов по построенному маршруту виртуального канала с формированием, по меньшей мере одного виртуального канала по меньшей мере в одном направлении, где настройка включает правила обработки и маршрутизации трафика с учетом ресурса пропускной способности сети и параметров QoS.
В частном случае создание виртуального канала инициируется с применением механизма 'подписки на события', при котором коммутаторы информируют контроллер ПКС о поступлении данных, имеющих заданный признак, при поступлении которых коммутатор оповещает контроллер ПКС, а контроллер ПКС на основе заданных параметров создаёт для этого трафика виртуальный канал.
В частном случае серия запросов от контроллера ПКС к коммутаторам является серией NETCONF запросов.
В частном случае серия запросов от контроллера ПКС к коммутаторам является серией RESTCONF запросов.
В частном случае для формирования контроллером ПКС запросов к коммутаторам применяются yang модели openConfig, yang модели, созданные производителем коммутаторов или yang модели, созданные третьими лицами.
В частном случае серия запросов от контроллера ПКС к коммутаторам является серией запросов ofConfig.
В частном случае серия запросов от контроллера ПКС к подконтрольным коммутаторам является серией openFlow запросов.
755
В шаге  в ответ на условие завершения виртуального канала контроллер ПКС по выполняет серию запросов к коммутаторам по построенному маршруту виртуального канала для удаления правил обработки и маршрутизации трафика виртуального канала.
В частном случае завершение существования виртуального канала выполняется по запросу, переданному с помощью механизма межпроцессного взаимодействия, содержащему идентификатор виртуального канала.
В частном случае при обнаружении с помощью периодического опроса коммутаторов о подключенных к их интерфейсам устройствах или по уведомлению, полученному контроллером ПКС от коммутатора, обнаруживается изменение топологии соединений: отказ линии связи, отказ коммутатора, обнаружение новых связей, причем: в случае отказа линии связи или коммутатора по маршруту сформированного виртуального канала контроллер ПКС осуществляет автоматическое перестроение виртуального канала через другие доступные коммутаторы.
В частном случае пропускная способность по маршруту виртуального канала обеспечивается за счет применения алгоритмов маршрутизации.
В частном случае при ограничении построения или перестроения маршрутов всех виртуальных каналов пропускной способностью интерфейсов коммутатора, маршрутизация виртуальных каналов выполняется с учётом признака режима обслуживания каналов арендатора.
В частном случае при построении маршрутов виртуальных каналов признак приоритетного режима обслуживания виртуальных каналов используется для вытеснения из графа топологии виртуальных каналов арендаторов.
В частном случае функции контроллера ПКС дублируются дополнительным контроллером ПКС по принципу основного и резервного контроллера ПКС.
В частном случае условие завершения виртуального канала представляет собой запрос, получаемый контроллером ПКС с помощью механизма межпроцессного взаимодействия, или событие истечения времени существования виртуального канала или исчерпание заданного объема, переданных по виртуальному каналу, данных.
Описание настоящего технического решения представляет собой описание примеров, иллюстрирующих предлагаемое техническое решение, возможны и другие модификации. Стоит принять во внимание, что настоящее описание не предназначено для определения объема или границ предлагаемого технического решения. Настоящее описание содержит упрощенные варианты осуществления настоящего технического решения. Различные варианты осуществления данного технического решения могут быть значительно сложнее.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего технического решения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего технического решения, согласующиеся с сущностью и объемом настоящего технического решения.