патент
№ RU 2636403
МПК H04L29/12

Способ выбора маршрутов, получаемых по протоколу DHCP, в сети с коммутацией пакетов

Авторы:
Вороков Евгений Леонидович
Номер заявки
2016124471
Дата подачи заявки
21.06.2016
Опубликовано
27.11.2017
Страна
RU
Как управлять
интеллектуальной собственностью
Реферат

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

Формула изобретения

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

Описание

[1]

Область техники, к которой относится изобретение

[2]

Предлагаемое изобретение относится к цифровым сетям передачи данных с коммутацией пакетов (IP) и, в частности, к способам выбора маршрутов, получаемых по протоколу DHCP (dynamic host configuration protocol).

[3]

Уровень техники

[4]

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

[5]

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

[6]

Известны способы (протоколы) динамической маршрутизации (RIP, OSPF, BGP и др.), позволяющие управлять потоками данных (трафика) в цифровых сетях передачи данных.

[7]

Протокол DHCP используется для обеспечения автоматического получения IP-адреса и других параметров (в том числе маршрутов в удаленные сети), необходимых для работы в сетях передачи данных с коммутацией пакетов (IP). При этом маршруты, получаемые через DHCP, являются, по существу, динамическими - они формируются и удаляются без прямого указания пользователя, их нельзя настроить локально. Представляется целесообразным считать автоматическое получение маршрутов в клиентские сети псевдо-протоколом динамической маршрутизации и обращаться с маршрутами, полученными таким образом, аналогично маршрутам, полученным с помощью «настоящих» протоколов динамической маршрутизации.

[8]

Так, известен способ перенаправления DHCP трафика [1], содержащий следующие этапы:

[9]

• получение промежуточным DHCP ретранслятором, соединенным по сети со множеством удаленных DHCP ретрансляторов и множеством DHCP серверов, DHCP сообщения (запроса) от одного из упомянутого множества удаленных DHCP ретрансляторов для связи с этим упомянутым промежуточным DHCP ретранслятором через упомянутую сеть, причем:

[10]

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

[11]

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

[12]

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

[13]

упомянутые записи БД сопоставления адресов дают возможность каждому из множества удаленных DHCP ретрансляторов быть связанным с одним из множества DHCP серверов; и

[14]

упомянутые конфигурационные данные получены, по крайней мере, частично, от множества DHCP серверов и объединены в упомянутой БД сопоставления адресов;

[15]

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

[16]

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

[17]

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

[18]

Для обеспечения процесса перенаправления промежуточный DHCP ретранслятор, представляющий собой компьютер (отдельный сервер), содержит БД сопоставления адресов и сервер накопления, который получает обновленные конфигурационные файлы от множества DHCP серверов. Промежуточный DHCP ретранслятор содержит несколько сетевых интерфейсов и работает под управлением операционной системы (ОС) и прикладного программного обеспечения (ПО).

[19]

Известный способ принят за прототип.

[20]

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

[21]

В известном способе также не обеспечивается возможность объединения маршрутов в одну определенную клиентскую сеть от разных серверов и использования DHCP маршрутов совместно с маршрутами, полученными от других протоколов динамической маршрутизации (RIP, OSPF, BGP и т.д.).

[22]

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

[23]

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

[24]

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

[25]

• по крайней мере, один основной сервер,

[26]

• клиентские компьютеры, расположенные в клиентских сетях,

[27]

• удаленные DHCP серверы, имеющие данные о клиентских сетях, причем основной сервер работает под управлением операционной системы и содержит

[28]

• совокупность средств первичной обработки протоколов динамической маршрутизации,

[29]

• средство первичной обработки протокола DHCP,

[30]

• средство выбора наилучших маршрутов;

[31]

при этом средство первичной обработки протокола DHCP выполнено с возможностью

[32]

• получать таблицы маршрутов от удаленных DHCP серверов по протоколу DHCP;

[33]

• формировать первичную таблицу маршрутов из полученных таблиц маршрутов;

[34]

• выбирать наилучшие маршруты из первичной таблицы маршрутов с учетом первичной метрики;

[35]

• передавать выбранные наилучшие маршруты в средство выбора наилучших маршрутов;

[36]

при этом средство выбора наилучших маршрутов выполнено с возможностью

[37]

• получать таблицы выбранных маршрутов от средств первичной обработки;

[38]

• формировать вторичную таблицу маршрутов из полученных таблиц маршрутов;

[39]

• выбирать наилучшие маршруты из вторичной таблицы маршрутов с учетом вторичной метрики;

[40]

• передавать финальную таблицу маршрутов в операционную систему основного сервера;

[41]

способ заключается в том, что

[42]

• запрашивают и получают сетевые адреса и сетевые маршруты от удаленных DHCP серверов по протоколу DHCP;

[43]

• обрабатывают полученные таблицы маршрутов в средстве первичной обработки протокола DHCP, выполняя следующие действия:

[44]

назначают каждому маршруту первичную метрику;

[45]

записывают маршруты в первичную таблицу маршрутов;

[46]

выявляют маршруты с одинаковым адресом клиентской сети;

[47]

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

[48]

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

[49]

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

[50]

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

[51]

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

[52]

сохраняют таблицу наилучших маршрутов со вторичными метриками;

[53]

выявляют наилучшие маршруты с одинаковым адресом клиентской сети;

[54]

выбирают наилучшие маршруты в каждую клиентскую сеть из таблицы наилучших маршрутов, с учетом вторичных метрик;

[55]

формируют финальную таблицу маршрутов;

[56]

• передают финальную таблицу маршрутов в операционную систему основного сервера.

[57]

В реальной сети, например корпоративной, компьютеры отдельных пользователей (клиентов) или клиентские компьютеры расположены в сегментах сети, имеющих выход во внешнюю сеть, например Интернет, через отдельный сервер (маршрутизатор). Данный сервер (маршрутизатор) может быть подключен к сети Интернет по нескольким (например, трем) каналам от разных провайдеров услуг сети Интернет. При этом он может являться DHCP клиентом в двух сетях провайдеров (и получает от них адреса и маршруты по DHCP) и иметь статический адрес (и возможность использовать протоколы динамической маршрутизации, например OSPF) у третьего провайдера. Одновременно он является DHCP сервером для клиентских компьютеров, расположенных в сегментах своей сети (выдает им адреса и маршруты для доступа в Интернет).

[58]

Таким образом, маршруты, получаемые по DHCP и другим протоколам динамической маршрутизации (например, OSPF), добавляются в таблицу маршрутизации сервера (маршрутизатора) и далее передаются на клиентские компьютеры.

[59]

Сервер (маршрутизатор), например, представляет собой программно-аппаратный комплекс (ПАК) на базе ОС (Linux) и содержит совокупность средств первичной обработки протоколов динамической маршрутизации (RIP, OSPF, BGP и др.). Обычно такие средства являются программными средствами.

[60]

Для реализации предложенного способа в состав средств первичной обработки протоколов динамической маршрутизации включается средство первичной обработки протокола DHCP, которое также является программным средством.

[61]

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

[62]

Средство первичной обработки протокола DHCP (который выступает в этом случае как протокол динамической маршрутизации), запущено постоянно и держит соединение со средством выбора наилучших маршрутов, передавая в него маршруты DHCP/PPP и удаляя их по мере необходимости. Сами маршруты в средство первичной обработки протокола DHCP поступают из текстового файла, в котором их, в свою очередь, сохраняют скрипты, запускаемые из DHCP- или РРР-клиента (этот файл будем в дальнейшем называть файлом таблиц маршрутов). Файл таблиц маршрутов периодически считывается средством первичной обработки протокола DHCP, его содержимое сравнивается с ранее считанным, и если есть изменения, то производится добавление или удаление маршрутов средством выбора наилучших маршрутов.

[63]

Каждому DHCP-маршруту при его записи в файл таблиц маршрутов присваивается метрика, с помощью которой средство первичной обработки протокола DHCP выбирает наилучшие маршруты, и которая позволяет пользователю настраивать предпочтения по маршрутизации через тот или иной интерфейс, где используется DHCP. Метрика является характеристикой сетевого интерфейса, и все маршруты, полученные DHCP-клиентом на данном сетевом интерфейсе, получают метрику, заданную для этого интерфейса. Каждая метрика задается целым положительным числом в определенном диапазоне, например от 1 до 255. По умолчанию для всех интерфейсов установлено одинаковое значение первичной метрики 70. Это значение может изменяться администратором системы для установки предпочтения (чем меньше метрика, тем предпочтительнее) маршрутов с тех или иных интерфейсов.

[64]

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

[65]

1) более дешевым по стоимости трафиком через определенный интерфейс, подключенный к сети выбранного провайдера,

[66]

2) большая средняя скорость передачи данных через определенный интерфейс,

[67]

3) больший уровень защищенности канала передачи данных через определенный интерфейс и др.

[68]

Средство первичной обработки протокола DHCP устанавливает для каждого маршрута, при передаче маршрутов в средство выбора наилучших маршрутов, вторичную метрику (число от 1 до 255), заданную в настройках этого средства (по умолчанию для маршрутов, полученных по протоколу DHCP, назначается, например, вторичная метрика, равная 70, для маршрутов, полученных по другим протоколам, могут устанавливаться другие значения метрики, например, с учетом известных рекомендаций [2]). Это значение может изменяться администратором системы для установки предпочтения (чем меньше метрика, тем предпочтительнее) маршрутов, полученных по протоколам того или иного типа.

[69]

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

[70]

В заключении, финальная таблица маршрутов передается в ОС основного сервера (маршрутизатора) и может быть передана на клиентские компьютеры своей сети.

[71]

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

[72]

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

[73]

Во-первых, сведение воедино таблиц маршрутов, полученных от нескольких DHCP-серверов через различные сетевые интерфейсы.

[74]

Во-вторых, автоматический выбор наилучшего маршрута в каждую клиентскую сеть среди всего множества маршрутов, полученных от DHCP-серверов, с учетом первичной метрики.

[75]

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

[76]

Осуществление изобретения

[77]

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

[78]

Помимо основного сервера, в рассматриваемую сетевую конфигурацию входят

[79]

• клиентские компьютеры, расположенные в клиентских сетях,

[80]

• удаленные DHCP-серверы провайдеров сети Интернет, имеющие данные о клиентских сетях,

[81]

• клиентские компьютеры, расположенные в своей сети.

[82]

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

[83]

В качестве основного сервера (маршрутизатора) используется высокопроизводительный ПАК HW1000Q6 на базе Intel Core i3-4360 с тактовой частотой 3,7 ГГЦ, объемом оперативной памяти 2 ГБ, объемом жесткого диска 500 Мб, с установленной ОС Linux Debian 7 (ядро 3.10.92) и специализированным ПО, в состав которого входят модули, отвечающие за маршрутизацию и выбор наилучших маршрутов [3]. ПАК HW1000Q6 содержит несколько сетевых интерфейсов (4 проводных Ethernet и 2 оптических SFP+).

[84]

В качестве основы для доработки был взят пакет свободно распространяемого прикладного ПО Quagga [4], поддерживающий протоколы динамической маршрутизации:

[85]

• Routing Information Protocol (RIP): v1, v2, v3;

[86]

• Open Shortest Path First (OSPF): v2, v3;

[87]

• Border Gateway Protocol (BGP): v4;

[88]

• Intermediate System to Intermediate System (IS-IS);

[89]

• Protocol Independent Multicast (только PIM-SSM).

[90]

После доработки, основной сервер ПАК HW1000Q6, включающий доработанный пакет ПО Quagga, должным образом настроенный, становится способен использовать протокол DHCP наравне с перечисленными выше протоколами динамической маршрутизации и позволяет обеспечить выбор наилучшего маршрута, учитывая все протоколы динамической маршрутизации и маршруты, полученные по протоколу DHCP.

[91]

Несмотря на то, что в предложенном способе используется комплекс ПАК HW1000Q6, доработанный пакет Quagga может быть установлен на любую Linux-подобную ОС.

[92]

Доработку ПО может выполнить специалист по программированию (программист) на языке программирования С, зная выполняемые ПО функции:

[93]

• получать таблицы маршрутов от удаленных DHCP серверов по протоколу DHCP;

[94]

• формировать первичную таблицу маршрутов из полученных таблиц маршрутов;

[95]

• выбирать наилучшие маршруты из первичной таблицы маршрутов с учетом первичной метрики;

[96]

• передавать выбранные наилучшие маршруты в средство выбора наилучших маршрутов.

[97]

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

[98]

• получать таблицы выбранных маршрутов от средств первичной обработки;

[99]

• формировать вторичную таблицу маршрутов из полученных таблиц маршрутов;

[100]

• выбирать наилучшие маршруты из вторичной таблицы маршрутов с учетом вторичной метрики;

[101]

• передавать финальную таблицу маршрутов в операционную систему основного сервера.

[102]

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

[103]

После проведенной предварительной подготовки можно непосредственно реализовать предложенный способ.

[104]

Для этого основной сервер запускается в рабочем режиме.

[105]

Через сетевые интерфейсы в средство первичной обработки протокола DHCP и средства первичной обработки протоколов динамической маршрутизации основного сервера получают таблицы маршрутов от удаленных DHCP серверов по протоколу DHCP и от других серверов (маршрутизаторов) по другим протоколам динамической маршрутизации.

[106]

Затем все средства первичной обработки протоколов

[107]

• формируют первичную таблицу маршрутов из полученных таблиц маршрутов;

[108]

• выбирают наилучшие маршруты из первичной таблицы маршрутов с учетом первичной метрики;

[109]

• передают выбранные наилучшие маршруты в средство выбора наилучших маршрутов.

[110]

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

[111]

• сопоставляют вторичную метрику для каждого из используемых протоколов динамической маршрутизации, включая DHCP;

[112]

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

[113]

• сохраняют таблицу наилучших маршрутов со вторичными метриками;

[114]

• выявляют наилучшие маршруты с одинаковым адресом клиентской сети;

[115]

• выбирают наилучшие маршруты в каждую клиентскую сеть из таблицы наилучших маршрутов, с учетом вторичных метрик;

[116]

• формируют финальную таблицу маршрутов.

[117]

Финальную таблицу маршрутов передают из средства выбора наилучших маршрутов в ОС основного сервера.

[118]

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

[119]

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

[120]

Источники информации

[121]

1. Патент США №9300627, приоритет от 14.03.2013 г.

[122]

2. What Is Administrative Distance? - статья по адресу:

[123]

http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/15986-admin-distance.html

[124]

3. ViPNet Coordinator HW1000 v2 - статья по адресу:

[125]

http://www.infotecs.ru/products/catalog.php?SECTION_ID=&ELEMENT_ID=190

[126]

4. Quagga Routing Software Suite - статья по адресу:

[127]

http://www.nongnu.org/quagga/

Как компенсировать расходы
на инновационную разработку
Похожие патенты