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

Изобретение относится к компьютерным и сетевым. Технический результат - снижение рисков, возникающих при несоответствии поведения программно-конфигурируемых сетей (ПКС) предъявляемым к ним требованиям. Система содержит прокси-сервер, модуль разведки конфигурации, конструктор моделей, корректировщик моделей и верификатор. Прокси-сервер задерживает команды контроллера, которые предписывают коммутаторам изменить свое поведение, направляя их копии корректировщику моделей, который использует поступающую к нему информацию о командах контроллера для построения математической модели, описывающей конфигурацию сети, которая может быть получена в результате их применения, полученные формальные модели проверяются на соответствие предъявляемым к сети требованиям с помощью верификатора, который помечает команду контроллера как безопасную лишь в том случае, если модель удовлетворяет каждому из требований политик маршрутизации, прокси-сервер получает от верификатора результаты проверки переданных ему команд контроллера и передает безопасные команды контроллера на коммутаторы, если верификатор обнаружил небезопасную команду, которая может привести к нарушению требований политик маршрутизации и некорректному поведению сети, прокси-сервер осуществляет ее блокировку. 2 н. и 4 з.п. ф-лы, 2 ил.

 

Заявленное техническое решение относится к компьютерным и сетевым технологиям, а именно к технологиям, используемым для выявления и предотвращения установки таких настроек коммутационного оборудования, которые способны привести к несоответствию поведения сети предъявляемым к нему требованиям, в режиме реального времени.

Из уровня техники известны технические решения, способные восстанавливать поведения сети по правилам обслуживания пакетов, которые были заложены в ее коммутационные устройства, а также исследовать свойства этого поведения, проверяя его соответствие требованиям политик маршрутизации.

Из уровня техники известны средства верификации компьютерных сетей, которые позволяют анализировать поведенческие свойства сетей по их конфигурациям:

FlowChecker [Al-Shaer Ε., Al-Haj S. FlowChecker: Configuration Analysis and Verification of Federated Openflow Infrastructures // Proceedings of the 3rd ACM Workshop on Assurable and Usable Security Configuration, (SafeConfig '10). - Chicago, Illinois, USA, 2010. - Pp. 37-44].

AntEater [Mai H., Khurshid Α., Agarwal R., Caesar M., Godfrey P.В., King S.T. Debugging the Data Plane with Anteater // Proceedings of the ACM SIGCOMM 2011 Conference, (SIGCOMM '11). - Toronto, Ontario, Canada, 2011. - Pp. 290-301].

Hassel [Kazemian P., Varghese G., McKeown N. Header Space Analysis: Static Checking For Networks // Presented as part of the 9th USENIX Symposium on Networked Systems Design and Implementation (NSDI 12). - San Jose, CA, USA, 2012. - Pp. 113-126].

Указанные средства способны восстанавливать поведение сети по записям из таблиц коммутации и маршрутизации - такие записи можно считать частным случаем настроек коммутационного оборудования. Они способны также исследовать свойства воссозданного поведения сети, проверять, соответствует ли это поведение требованиям политик маршрутизации, и выявлять те правила, которые могли стать причиной возникновения возможных несоответствий.

Однако ни одно из перечисленных средств не рассматривает задачу сбора информации об актуальной конфигурации сети. Все они предполагают, что указанная информация формируется с помощью внешних инструментов. Таким образом, диапазон задач, которые могут быть решены с помощью указанных средств, сводится к однократной проверке заданной статической конфигурации. Задача проверки конфигурации сети в динамике ее работы здесь не рассматривается.

Из уровня техники известны и более продвинутые средства верификации сети, которые ориентированные, в первую очередь, на динамический анализ конфигураций:

Veriflow [Khurshid Α., Zhou W., Caesar M., Godfrey P.B. VeriFlow: Verifying Network-wide Invariants in Real Time // Proceedings of the First Workshop on Hot Topics in Software Defined Networks, (HotSDN '12). - Helsinki, Finland, 2012. - Pp. 49-54].

NetPlumber [Kazemian P., Chang M., Zeng H., Varghese G., McKeown N., Whyte S. Real Time Network Policy Checking Using Header Space Analysis // Presented as part of the 10th USENIX Symposium on Networked Systems Design and Implementation, (NSDI '13). - Lombard, IL, USA, 2013. - Pp. 99-111].

Atomic Predicate (AP) Verifier [Yang H., Lam S. Real-Time Verification of Network Properties Using Atomic Predicates // IEEE/ACM Transactions on Networking. - 2015. - Vol. PP, no. 99. - Pp. 1-14].

Благодаря использованию эффективных математических моделей и алгоритмов перечисленные средства гипотетически способны решать задачу анализа заданной конфигурации сети достаточно быстро, чтобы успевать перепроверять конфигурацию после каждого происходящего в ней изменения. В ряде случаев указанные средства верификации способны проверять выполнение некоторых классов свойств сетей в режиме реального времени, обнаруживая ошибки конфигурации устройств в скором времени после того, как в конфигурацию были внесены порождающие эти ошибки модификации.

Инструментарий средства АР Verifier ограничивается множеством модулей анализа, осуществляющих проверку состояния сети на соответствие некоторым классам свойств и собственно верификатором, обеспечивающим необходимый для этого программный интерфейс. Таким образом, данное средство не предлагает какого-либо конкретного механизма получения информации ни об изначальной конфигурации сети, ни о вносимых в нее модификациях.

Средство NetPlumber построено на тех же принципах, что и средство Hassel, однако предназначено, в первую очередь, для динамической верификации особого класса компьютерных сетей - Программно-Конфигурируемых Сетей (ПКС) - в режиме реального времени. Отличительными чертами ПКС являются:

- Разделение контура данных, охватывающего правила по обслуживанию трафика, от контура управления, который отвечает за установку подходящих правила на коммутационные устройства,

- Логическая централизация контура управления в единой точке - контроллере,

- Унификация интерфейса взаимодействия между контроллером и контуром передачи данных.

Перечисленные особенности ПКС упрощают процесс контроля за теми модификациями, которые вносятся контроллером в настройки подключенных к нему коммутационных устройств. Авторы средства NetPlumber рассматривают два варианта интеграции данного средства в ПКС:

1. В виде специального программного модуля, встроенного непосредственно в контроллер и перехватывающего команды других модулей при их отправке на контур передачи данных. Этот подход и реализован в программном коде средства NetPlumber [https://bitbucket.org/peymank/hassel-public/].

2. В виде прокси-сервера, находящегося между контроллером и коммутационными устройствами и перехватывающего команды для устройств уже после того, как они покинули контроллер. Этот подход лишь упоминается в научной статье, представляющей NetPlumber на конференции NSDI '13.

Наиболее близким к заявляемому техническому решению является подход к верификации сети, реализованный средством VeriFlow. Также как и средство NetPlumber средство VerifFlow ориентировано, в первую очередь, на использование в среде ПКС. Однако в качестве приоритетного способа интеграции своего средства в инфраструктуру сети авторы VeriFlow выбрали использование прокси-сервера [исходные коды соответствующей программной реализации могут быть получены после заполнения формы по адресу http://web.engr.illinois.edu/~khurshi1/projects/veriflow/veriflow-code-release.php].

Прокси-сервер средства VeriFlow размещается на пути передачи сообщений между контроллером и коммутационными устройствами и зеркалирует любые команды контроллера, изменяющие конфигурацию сети, на верификатор, анализирующий свойства актуальной конфигурации сети в режиме реального времени.

Однако и средство NetPlumber, и средство VeriFlow нацелены лишь на анализ свойств сети и не предлагают каких-либо методов для предотвращения установки тех правил, которые способны привести к ошибочной конфигурации контура данных. Таким образом, данные средства верификации лишь детектируют ошибочные команды контроллера, но не предотвращают применения этих команд, тем самым не позволяя избежать некорректного поведения сети.

Задачей, на решение которой направлено заявленное техническое решение, является создание системы и способа, обеспечивающих выявление таких настроек коммутационного оборудования ПКС, при которых поведение сети не будет соответствовать специфицированным требованиям, а также препятствующих возникновению подобных конфигураций сети.

Технический результат, получаемый от использования заявленного технического решения, заключается в снижение рисков, возникающих при несоответствии поведения ПКС предъявляемым к ним требованиям, за счет перехвата, анализа корректности, а также блокировки или модификации тех правил обработки пакетов, которые ПКС контроллер пытается установить на подключенные к нему коммутаторы.

Поставленная задача решается тем, что система динамического контроля соответствия настроек коммутационных устройств программно-конфигурируемой сети требованиям политик маршрутизации состоит из следующих компонентов:

- Прокси-сервер, перехватывающий команды, передающиеся от контроллера на подключенные к нему коммутаторы ПКС, и сообщения, передающиеся в обратном направлении;

- Модуль разведки конфигурации собирает информацию о конфигурации сети, выполняя анализ потока сообщений между контроллером и коммутаторами или же запрашивая необходимые данные непосредственно у коммутаторов;

- Конструктор моделей, предназначенный для построения формальной модели сети, на основании поступающей к нему информации о правилах обслуживания пакетов, загруженных в коммутаторы сети, а также о соединяющих эти коммутаторы линиях связи;

- Корректировщик моделей, отвечающий за вычисление обновленной модели сети, которая получается из конфигурации ПКС в результате применения к ней заданного набора команд контроллера;

- Верификатор, который отвечает за проверку формальных моделей ПКС, построенных с помощью модуля конструктора, на соответствие формулам языка спецификации, описывающим требования к сети.

Поставленная задача решается также тем, что способ динамического контроля соответствия настроек коммутационных устройств программно-конфигурируемой сети требованиям политик маршрутизации предполагает следующие этапы передачи команд контроллера на находящиеся в его подчинении коммутаторы ПКС:

- Сообщения, направляемые контроллером на находящиеся в его подчинении коммутаторы, передаются через прокси-сервер, выполняющий первичный анализ их содержимого;

- Прокси-сервер задерживает такие команды контроллера, которые предписывают коммутаторам изменить свое поведение (например, удалить, модифицировать или добавить новые правила по обслуживанию пакетов), направляя их копии корректировщику моделей;

- Корректировщик моделей использует поступающую к нему информацию о командах контроллера для построения математической модели, описывающей конфигурацию сети, которая может быть получена в результате их применения;

- Полученные таким образом формальные модели проверяются на соответствие предъявляемым к сети требованиям с помощью модуля верификации;

- Верификатор помечает команду контроллера как безопасную лишь в том случае, если модель удовлетворяет каждому из требований политик маршрутизации. В противном случае команда считается небезопасной;

- Прокси-сервер получает от верификатора результаты проверки переданных ему команд контроллера и передает безопасные команды контроллера на коммутаторы;

- Если верификатор обнаружил небезопасную команду, которая может привести к нарушению требований политик маршрутизации и некорректному поведению сети, прокси-сервер осуществляет ее блокировку: команда контроллера сбрасывается, а сам контроллер уведомляется о некорректности направленной им команды.

На фиг. 1 приведена покомпонентная схема заявленной системы динамического контроля соответствия настроек коммутационных устройств программно-конфигурируемой сети требованиям политик маршрутизации.

На фиг. 2 приведена блок-схема алгоритма обработки сообщений контроллера системой динамического контроля соответствия настроек коммутационных устройств программно-конфигурируемой сети требованиям политик маршрутизации.

Для реализации предложенного способа динамического контроля соответствия настроек коммутационных устройств программно-конфигурируемой сети требованиям политик маршрутизации необходимо интегрировать модуль прокси-сервера в управляющую сеть, таким образом, чтобы он имел возможность поддерживать связь с ее коммутаторами и контроллером:

- При первичной настройке прокси-сервера администратор указывает сетевые адреса для подключения к контроллеру, а также диапазон адресов, через которые прокси-серверу следует ожидать подключения от коммутаторов;

- Каждый из коммутаторов перенастраивается таким образом, чтобы при включении они пытались подключиться к контроллеру ПКС не по тем адресам, на которых подключения ожидает контроллер, а по тем, которые были назначены прокси-серверу;

- При возникновении нового соединения с коммутатором прокси-сервер открывает новое соединение с контроллером и замыкает эти соединения друг с другом: те сообщения, которые поступают через соединение со стороны коммутатора, направляются на соединение со стороны контроллера, и наоборот, те сообщения, которые поступают от контроллера, направляются на коммутатор.

При поступлении сообщений контроллера прокси-сервер выполняет их первичный анализ, соотнося их с одним из следующих классов:

- Команды - разнообразные сообщения, обработка которых приводит к изменению конфигурации ПКС. Примерами таких сообщений можно считать, в частности, добавление или удаление правил по обработке пакетов или инструкции по отключению отдельных портов устройства;

- Запросы - сообщения, в ответ на которые коммутаторы возвращают информацию о своем состоянии, например действующих портах или статистике по количеству пакетов, обработанных отдельными правилами;

- Служебные - все прочие сообщения, например keep-alive сообщения, которые позволяют контроллеру ПКС время от времени убеждаться в работоспособности подключенных к нему коммутаторов.

Обработка различных классов сообщений контроллера осуществляется по-разному, в зависимости от текущего режима работы прокси-сервера:

- В режиме туннелирования какой бы то анализ сообщений не производится - все сообщения от контроллера передаются на коммутаторы напрямую. Такой режим может быть полезен, если верификация сети осуществляется не постоянно, а периодически - большую часть времени прокси-сервер выполняет роль простого посредника, отправляя данные на верификатор лишь при кратковременном переключении в один из других режимов;

- В режиме фильтрации прокси-сервер направляет на верификацию перехваченные команды контроллера. Служебные сообщения передаются на коммутаторы мгновенно. Команды и поступившие вслед за ними запросы задерживаются в очередях до тех пор, пока не будут получены результаты верификации команд. Команда направляется на коммутатор лишь в том случае, если верификатор доказал ее безопасность. Если команда небезопасна, то она сбрасывается, а контроллеру посылается соответствующее уведомление об ошибке. Задержанные прокси-сервером запросы передаются на коммутатор вне зависимости от вердикта проверки. Режим фильтрации предоставляет полный контроль за работой сети, позволяя предотвратить возможность нежелательного поведения сети в режиме реального времени;

- В режиме зеркалирования прокси-сервер направляет на верификацию копии команд контроллера. Однако прокси-сервер передает на коммутаторы все сообщения контроллера, вне зависимости от их типа, не дожидаясь результатов проверки верификатора. Такой режим удобно использовать, например, в тех сетях, конфигурация которых слишком сложна для быстрой проверки в режиме реального времени. Хотя зеркалирование и не позволяет предупредить возникновение небезопасных конфигураций, оно позволяет определить сам факт нарушения требований.

Переключение прокси-сервера между режимами может осуществляться на лету, без необходимости останавливать работу сети. Однако при переключении из режима туннелирования в один из режимов, задействующих модуль верификации, прокси-серверу необходимо сообщить конструктору моделей текущую конфигурацию ПКС, включая как те правила, которые содержатся в таблицах отдельных коммутаторов, так и линии передачи данных, которые связывают эти коммутаторы друг с другом.

Чтобы иметь возможность передать конструктору моделей содержимое таблиц коммутаторов прокси-сервер может либо запоминать все передающиеся на коммутаторы команды, либо запросить необходимые данные у коммутаторов в момент переключения режима, что может быть более эффективно, если обновления правил производятся с повышенной эффективностью.

Для извлечения данных о линиях связи между коммутаторами прокси-сервер может использовать стандартные методы разведки топологии, широко применяющиеся ПКС контроллерами. Прокси-сервер может получить информацию о портах подключившихся коммутаторах и переслать специально сформированные LLDP пакеты через каждый из этих портов. Если какие-то порты коммутаторов связаны между собой, то коммутатор на другой стороне линии получит переданный LLDP пакет и сформирует соответствующее сообщение контроллеру. Перехватив это сообщение, прокси-сервер сможет заключить, что определенные порты коммутаторов связаны между собой.

Необходимо отметить, что поскольку описанный алгоритм разведки топологии является стандартным, и контроллер, по всей видимости, будет рассылать LLDP пакеты самостоятельно, то для определения топологии на прокси-сервере может быть достаточно проводить более подробный анализ сообщений между контроллером и коммутаторами, выявляя команды по передаче и сообщения об их получении LLDP.

Хотя настоящее изобретение было описано на примере некоторых вариантов его осуществления, специалисты в данной области техники могут предложить другие подобные варианты, не выходя за пределы сущности и объема изобретения. Поэтому изобретение должно оцениваться в терминах пунктов формулы изобретения.

1. Система динамического контроля соответствия настроек коммутационных устройств программно-конфигурируемой сети требованиям политик маршрутизации, содержащая

- прокси-сервер, выполненный с возможностью перехвата команд, передающихся от контроллера на подключенные к нему коммутаторы программно-конфигурируемых сетей (ПКС), и уведомлений, передающихся в обратном направлении;

- модуль разведки конфигурации, выполненный с возможностью сбора информации о конфигурации ПКС;

- конструктор моделей, выполненный с возможностью построения модели ПКС на основе доступной информации о топологии и правилах обработки пакетов на отдельных коммутаторах ПКС;

- корректировщик моделей, выполненный с возможностью вычисления обновленных моделей ПКС, которые получаются из заданной модели ПКС в результате применения к ней заданного набора команд контроллера, перехваченных прокси-сервером;

- верификатор, выполненный с возможностью проверки моделей ПКС, построенных с помощью корректировщика моделей, на соответствие требованиям политик маршрутизации.

2. Система по п. 1, отличающаяся тем, что прокси-сервер способен не только передавать команды контроллера на анализ верификатору, но и блокировать те команды, которые потенциально способны вызвать нарушения требований политик маршрутизации, в момент их установки - тем самым достигается динамический контроль над настройками коммутационных устройств.

3. Система по п. 1, отличающаяся тем, что модуль разведки конфигурации осуществляет сбор информации о топологии и наборах правил на отдельных коммутаторах ПКС путем выполнения анализа потока сообщений между контроллером и коммутаторами или путем запроса необходимых данных непосредственно у коммутаторов.

4. Система по п. 1, отличающаяся тем, что конструктор моделей осуществляет построение модели сети на основании поступающей к нему информации о правилах обработки пакетов данных, загруженных в коммутаторы ПКС.

5. Система по п. 1, отличающаяся тем, что конструктор моделей осуществляет построение модели ПКС на основании поступающей к нему информации о топологии и правилах обработки пакетов, которые были загружены в отдельные коммутаторы ПКС.

6. Способ динамического контроля соответствия настроек коммутационных устройств программно-конфигурируемой сети требованиям политик маршрутизации, включающий в себя этапы, на которых:

- при помощи контроллера направляют сообщения на находящиеся в его подчинении коммутаторы, причем сообщения передаются через прокси-сервер, выполняющий первичный анализ их содержимого;

- при помощи прокси-сервера задерживают команды контроллера, которые предписывают коммутаторам изменить свое поведение и направляют копии указанных команд корректировщику моделей;

- при помощи корректировщика моделей осуществляют построение обновленных моделей, описывающих конфигурации ПКС, которые могут быть получены в результате применения перехваченных команд от контроллера к модели, описывающей актуальное состояние ПКС;

- при помощи верификатора проверяют построенные корректировщиком модели на соответствие требованиям политик маршрутизации, которые предъявляются к ПКС;

- при помощи верификатора помечают команду контроллера как корректную и безопасную, если модель удовлетворяет каждому из требований политик маршрутизации или как небезопасную, если модель не удовлетворяет, по меньшей мере, одному из требований политик маршрутизации;

- при помощи прокси-сервера передают безопасные команды контроллера на коммутаторы или

- при помощи прокси-сервера осуществляют блокировку небезопасных команд и уведомляют контроллер о небезопасности указанной команды.



 

Похожие патенты:

Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении безопасности передачи данных.

Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении скорости передачи данных.

Изобретение относится к области передачи цифровой информации. Техническим результатом является повышение помехоустойчивости приема цифровой информации.

Изобретение относится к способу передачи данных между терминалом и шлюзом. Технический результат заключается в уменьшении дополнительных издержек, вызванных заголовками при передаче кадров Ethernet между терминалом и шлюзом.

Изобретение относится к передаче Интернет-трафика между пользователями. Техническим результатом является обеспечение возможности обмена между пользователями неизрасходованным Интернет-трафиком.

Группа изобретений относится к области передачи данных. Технический результат – повышение эффективности коммутации.

Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности управления электронным устройством.

Изобретение относится к системе мобильной связи между устройствами в сетях широкополосной связи. Различные варианты осуществления, в общем, могут быть направлены на технологии для мобильности IP потока, инициированного UE и инициированного сетью.

Изобретение относится к области связи. Технический результат – создание механизма обратной связи, который помогает сбалансировать поток данных между главной и второй точками сети и гарантирует, что для разделенных однонаправленных каналов главная точка сети не задействует более, чем половину пространства порядковых номеров блоков пакетных данных (PDU) протокола конвергенции пакетных данных (PDCP).

Группа изобретений относится к системам программного управления. Способ для идентификации типа электронного устройства, подключенного к интеллектуальной розетке, заключается в том, что получают параметры конечного включенного состояния конечного электронного устройства, подключенного к интеллектуальной розетке и находящегося во включенном состоянии, идентифицируют конечный тип электронного устройства на основании параметра конечного включенного состояния конечного электронного устройства и выводят конечный тип.

Изобретение относится к области электросвязи и может быть использовано для поиска и оперативной идентификации информации в сетях передачи данных с коммутацией пакетов и в информационно-справочных (поисковых) системах.

Изобретение относится к области связи и может быть использовано для построения цифровых сетей связи (ЦСС) с коммутацией пакетов, в системах коммутации для построения коммутационных полей АТС, сетей ЭВМ, микропроцессорных систем, суперкомпьютеров.

Изобретение относится к области систем связи. Технический результат изобретения заключается в оптимизации выбора узлов многоточечной ретрансляции (MPR).

Изобретение относится к вычислительной технике и может быть использовано в вычислительных системах различного назначения для передачи информации между различными частями распределенных вычислительных систем.

Изобретение относится к широковещанию, а именно к сигналу и устройству широковещательного канала для управления передачей и приемом информации широковещательного канала.

Изобретение относится к системам связи. .

Изобретение относится к беспроводной связи. .

Изобретение относится к области маршрутизации в беспроводных сетях передачи данных. .

Изобретение относится к системам связи. .

Изобретение относится к способу мобильной связи и к базовой радиостанции. .

Изобретение относится к кодированию и декодированию видео. Технический результат изобретения заключается в возможности предотвращения переполнения выходных данных при вспомогательных операциях процесса декодирования.

Изобретение относится к компьютерным и сетевым. Технический результат - снижение рисков, возникающих при несоответствии поведения программно-конфигурируемых сетей предъявляемым к ним требованиям. Система содержит прокси-сервер, модуль разведки конфигурации, конструктор моделей, корректировщик моделей и верификатор. Прокси-сервер задерживает команды контроллера, которые предписывают коммутаторам изменить свое поведение, направляя их копии корректировщику моделей, который использует поступающую к нему информацию о командах контроллера для построения математической модели, описывающей конфигурацию сети, которая может быть получена в результате их применения, полученные формальные модели проверяются на соответствие предъявляемым к сети требованиям с помощью верификатора, который помечает команду контроллера как безопасную лишь в том случае, если модель удовлетворяет каждому из требований политик маршрутизации, прокси-сервер получает от верификатора результаты проверки переданных ему команд контроллера и передает безопасные команды контроллера на коммутаторы, если верификатор обнаружил небезопасную команду, которая может привести к нарушению требований политик маршрутизации и некорректному поведению сети, прокси-сервер осуществляет ее блокировку. 2 н. и 4 з.п. ф-лы, 2 ил.

Наверх