СПОСОБ ПРЕДОТВРАЩЕНИЯ СБОЕВ В ЛОКАЛЬНОЙ КОМПЬЮТЕРНОЙ СЕТИ, ВЫЗВАННЫХ ВОЗНИКНОВЕНИЕМ НЕПРАВИЛЬНО НАСТРОЕННЫХ УЗЛОВ
METHOD FOR PREVENTION OF FAULTS IN A LOCAL COMPUTER NETWORK CAUSED BY ONSET OF INCORRECT UNITS

Изобретение относится к методам построения сетей переключения сигналов (передачи данных), а именно к методам предотвращения неисправности, восстановления маршрута, а также предотвращения взаимной блокировки сетевых узлов в системах маршрутизации.
Предлагаемое изобретение направлено на решение задачи предотвращения сбоев в локальной компьютерной сети, вызванных появлением неправильно настроенных узлов, влияющих на функционирование других узлов в упомянутой локальной компьютерной сети.
При функционировании локальной компьютерной сети пользователь может неправильно установить IP-адрес (IP - Internet Protocol, протокол Интернета) интерфейса сетевого устройства, подключенного к сетевому коммутатору, что может привести к сбою в работе других сетевых устройств, подключенных к тому же коммутатору.
Для маршрутизации в локальных компьютерных сетях широко используется ARP (Address Resolution Protocol) - протокол определения адреса.
В ряде известных способов маршрутизации, использующих ARP-протокол и предусматривающих защиту от сбоев, основанную на анализе ARP-ответов, содержатся существенные недостатки, заключающиеся в том, что в них предусматривается либо только оповещение о наличии неправильно настроенного узла, либо блокировка порта сетевого устройства, с которым сопряжен неправильно настроенный узел, тем самым нарушая передачу пакетов от других узлов (хостов) через заблокированный порт, что приводит к существенному сбою в работе локальной компьютерной сети. При этом не ставится и не решается задача устранения влияния неправильно настроенного узла на функционирование локальной компьютерной сети; для устранения сбоя требуется вмешательство оператора.
Способы, основанные на включении и анализе заголовков в передаваемых пакетах, содержат недостаток, заключающийся в увеличении сложности абонентского устройства и снижении пропускной способности локальной компьютерной сети.
Известен способ отправки пакета запроса протокола ARP (ARP - Address Resolution Protocol, протокол определения адреса), выполняемый с помощью коммутатора третьего уровня, сконфигурированного с помощью агрегированной VLAN (VLAN - Virtual Local Area Network, логическая (виртуальная) локальная компьютерная сеть), при этом агрегированная VLAN имеет идентификатор VLAN, VLAN IP, и содержит множество VLAN, по патенту РФ №2540820 от 17.10.2012 («Способ и коммутатор для отправки пакета» [1]), схожий с предлагаемым по функциональному назначению, но не имеющий с ним существенных общих признаков, заключающийся в том, что отыскивают соответствия между информацией об IP-адресе и VLAN в агрегированной VLAN согласно конечному IP-адресу в пакете ARP-запроса для того, чтобы определить, находится ли VLAN в агрегированной VLAN, которая соответствует конечному IP-адресу; при этом если VLAN в агрегированной VLAN, которая соответствует конечному IP-адресу, получается, отправляют пакет ARP-запроса в только что полученную VLAN в агрегированной VLAN; если VLAN в агрегированной VLAN, которая соответствует конечному IP-адресу, нельзя получить, отправляют пакет ARP-запроса во все VLAN в агрегированной VLAN.
Рассмотренный способ имеет вариант реализации, в котором информация об IP-адресе содержит пул IP-адресов, и этап отыскания соответствия между информацией об IP-адресе и VLAN в агрегированной VLAN согласно конечному IP-адресу в пакете ARP-запроса содержит подэтапы, на которых: определяют пул IP-адресов, которому принадлежит конечный IP-адрес, и отыскивают соответствие между пулами IP-адресов и VLAN в агрегированной VLAN, согласно определенному пулу IP-адресов.
Рассмотренный способ имеет существенный недостаток, заключающийся в том, что на абонентском устройстве необходимо в каждый пакет добавлять заголовок (тег), что увеличивает сложность абонентского устройства и снижает пропускную способность локальной компьютерной сети.
В патенте США 5780654 от 13.01.1998 г. («Способ идентификации прокси ARP-ответов от устройств в локальной сети» [2]) описан способ обнаружения неправильно настроенного маршрутизатора, также схожий с предлагаемым способом по функциональному назначению, но не имеющий с ним существенных общих признаков, включающий: создание базы данных, содержащей записи, соответствующие устройствам указанной локальной сети, причем каждая из указанных записей содержит пары МАС- (МАС - Media Access Control, управление доступом к среде) и IP-адресов; подачу первого сетевого запроса указанным устройствам в указанной локальной сети, соответствующего каждой из указанных записей, причем указанный первый сетевой запрос не разрешает пересылку из локального сегмента указанной локальной сети; подачу второго сетевого запроса указанным устройствам указанной локальной сети, соответствующего каждой из указанных записей, причем указанный второй сетевой запрос разрешает пересылку из указанного локального сегмента указанной локальной сети; при отсутствии ответа на указанный первый сетевой запрос и при наличии ответа на указанный второй сетевой запрос, по крайней мере, для одной из указанных записей детектируется прокси ARP ответ для одной из указанных записей; и если указанная одна из указанных записей содержит IP-адрес, соответствующий локальному узлу (хосту), детектируется указанный неправильно настроенный маршрутизатор.
Основной недостаток рассмотренного способа заключается в том, что при его использовании в локальных сетях, содержащих большое количество локальных узлов (хостов), в том числе обладающих сложной разветвленной структурой для поиска неправильно настроенного маршрутизатора, требуется существенная затрата времени; способ предусматривает только оповещение о наличии неправильно настроенного маршрутизатора; не ставится и не решается задача устранения влияния последнего на функционирование сети; для устранения неисправности требуется вмешательство оператора.
Известен также способ защиты локальных компьютерных сетей от влияния неправильно настроенных узлов, основанный на идентификации ARP-ответов (патент США 8245300 от 14.08.2012 г. [3]), включающий в одном из вариантов реализации: прием сетевым устройством первого пакета данных из первой подсети компьютерной сети; прием сетевым устройством второго пакета данных из второй подсети компьютерной сети; определение сетевым устройством, произошел ли ложный ARP-ответ в первой подсети или во второй подсети, посредством сравнения информации, включающей первый и второй пакеты данных с информацией, хранящейся в базе данных, доступной сетевому устройству, причем первый пакет данных дополнительно включает (идентификатор) порта сетевого устройства первой подсети, через который был получен первый ARP-ответ, второй пакет данных дополнительно включает (идентификатор) порта сетевого устройства второй подсети, через который был получен второй ARP-ответ, и первый и второй пакеты данных являются пакетами ARP-туннельного протокола (АТР-пакетами).
В другом из вариантов реализации указанный способ дополняется тем, что первый пакет данных включает в себя первый МАС-адрес и первый IP-адрес, идентифицирующий источник первого ARP-ответа, и второй пакет данных включает в себя второй МАС-адрес и второй IP-адрес, идентифицирующий источник второго ARP-ответа.
В третьем из вариантов реализации указанный способ дополняется тем, что если определено, что произошел ложный ARP-ответ, то порт сетевого устройства в первой подсети или порт сетевого устройства второй подсети будет заблокирован.
По схожести большинства признаков указанный выше способ, включая рассмотренные варианты его реализации, принят за прототип.
Основной недостаток прототипа заключается в том, что в одном из вариантов реализации способ предусматривает либо только оповещение о наличии неправильно настроенного узла, либо блокировку порта сетевого устройства, к которому подключен маршрутизатор, обслуживающий неправильно настроенный узел, и тем самым блокируется передача пакетов от других узлов (хостов) локальной компьютерной сети через упомянутый порт, что приводит к существенному сбою в работе локальной компьютерной сети. При этом не решается задача устранения влияния неправильно настроенного узла на функционирование локальной компьютерной сети; для устранения сбоя требуется вмешательство оператора.
Указанные недостатки преодолены в предлагаемом способе предотвращения сбоев в локальной компьютерной сети, вызванных возникновением неправильно настроенных узлов, в первом варианте осуществления, заключающемся в том, что в способ, содержащий признаки прототипа: прием сетевым устройством первого пакета данных, включающего в себя первый IP-адрес, идентифицирующий источник первого ARP-ответа из первой подсети локальной компьютерной сети, прием сетевым устройством второго пакета данных, включающего в себя второй IP-адрес, идентифицирующий источник второго ARP-ответа из второй подсети локальной компьютерной сети, причем первый пакет данных включает идентификатор порта сетевого устройства, на который был получен первый ARP-ответ первой подсети, второй пакет данных включает идентификатор порта сетевого устройства, на который был получен второй ARP-ответ второй подсети, первый и второй пакеты данных являются пакетами ARP-туннельного протокола, включены новые признаки: определение сетевым устройством, произошел ли ложный ARP-ответ из первой подсети, путем сравнения информации, доступной сетевому устройству, включенной в первый пакет данных, с информацией, хранящейся в первой базе данных, относящейся к первой подсети, производится определение сетевым устройством, произошел ли ложный ARP-ответ из второй подсети, путем сравнения информации, доступной сетевому устройству, включенной во второй пакет данных, с информацией, хранящейся во второй базе данных, относящейся ко второй подсети, и если определено, что произошел ложный ARP-ответ, то передача пакета данных, содержащего ложный ARP-ответ из первой подсети или второй подсети, сетевым устройством не производится, причем в первой и второй базах данных содержится информация из пакетов протокола DHCP (DHCP - Dynamic Host Configuration Protocol - протокол динамической настройки узла).
Предлагаемый способ содержит второй вариант осуществления, в котором в способе по первому варианту осуществления информация в первой и второй базах данных формируется оператором.
Следовательно, предлагаемый способ удовлетворяет критерию «новизна».
Сравнение с другими техническими решениями показывает, что предлагаемый способ обладает признаками, позволяющими достичь предотвращения сбоев в локальной компьютерной сети, вызванных появлением неправильно настроенных узлов, влияющих на функционирование других узлов. При этом блокируется только ответ от неправильно настроенного узла локальной компьютерной сети до момента устранения неисправности, но не блокируется передача пакетов от других узлов (хостов) через порт сетевого устройства, сопряженный с неправильно настроенным узлом.
Предлагаемый способ поясняется следующими графическими материалами:
фиг. 1 - схема, поясняющая сущность предлагаемого способа предотвращения сбоев в локальной компьютерной сети, вызванных возникновением неправильно настроенных узлов;
фиг. 2 - функциональная схема сетевого коммутирующего устройства, реализующего предлагаемый способ.
В первом варианте осуществления способ предотвращения сбоев в локальной компьютерной сети, вызванных возникновением неправильно настроенных узлов, состоит в том, что производится прием сетевым устройством первого пакета данных, включающего в себя первый IP-адрес, идентифицирующий источник первого ARP-ответа из первой подсети локальной компьютерной сети, прием сетевым устройством второго пакета данных, включающего в себя второй IP-адрес, идентифицирующий источник второго ARP-ответа из второй подсети локальной компьютерной сети, причем первый пакет данных включает идентификатор порта сетевого устройства, на который был получен первый ARP-ответ первой подсети, второй пакет данных включает идентификатор порта сетевого устройства, на который был получен второй ARP-ответ второй подсети, первый и второй пакеты данных являются пакетами ARP-туннельного протокола, после чего производится определение сетевым устройством, произошел ли ложный ARP-ответ из первой подсети, путем сравнения информации, доступной сетевому устройству, включенной в первый пакет данных, с информацией, хранящейся в первой базе данных, относящейся к первой подсети; производится определение сетевым устройством, произошел ли ложный ARP-ответ из второй подсети, путем сравнения информации, доступной сетевому устройству, включенной во второй пакет данных, с информацией, хранящейся во второй базе данных, относящейся ко второй подсети; если сетевым устройством определено, что произошел ложный ARP-ответ, то передача пакета данных, содержащего ложный ARP-ответ из первой подсети или второй подсети, сетевым устройством не производится, причем в первой и второй базах данных содержится информация из пакетов протокола DHCP.
Во втором варианте осуществления способа предотвращения сбоев в локальной компьютерной сети, вызванных возникновением неправильно настроенных узлов, в способе по первому варианту осуществления информация в первой и второй базах данных формируется оператором.
Сущность предлагаемого способа предотвращения сбоев в локальной компьютерной сети, вызванных возникновением неправильно настроенных узлов, поясняется следующим примером (фиг. 1). Первый узел (хост) 1, подключенный к первому порту сетевого устройства, содержит, например, первый IP-адрес (1.2.3.4). Второй узел (хост) 2, подключенный ко второму порту сетевого устройства, содержит, например, второй IP-адрес (1.2.3.5).
Второй узел 2, подключенный ко второму порту сетевого устройства, отправляет пакет первому узлу на первый IP-адрес (1.2.3.4), для чего второй узел 2 определяет соответствующий МАС-адрес. Далее второй узел 2 отправляет в сеть широковещательный ARP-запрос с первым IP-адресом первого узла 1 (1.2.3.4).
Первый узел 1, содержащий искомый первый IP-адрес (1.2.3.4), на указанный широковещательный ARP-запрос сформирует пакет, содержащий первый ARP-ответ.
Второй узел 2, приняв пакет, содержащий указанный первый ARP-ответ, заносит содержащийся в нем первый МАС-адрес (00:01) в ARP-базу данных, сопряженную со вторым узлом 2, и производит отправку пакетов данных первому узлу 1 на первый IP-адрес (1.2.3.4), используя полученный первый МАС-адрес.
Если в сети появляется неправильно настроенный третий узел (хост) 3, содержащий третий IP-адрес, равный первому IP-адресу первого узла 1, то указанный третий узел 3 в ответ на полученный широковещательный ARP-запрос от второго узла 2 отправит второй ARP-ответ, содержащий второй МАС-адрес (00:03), который может попасть (в зависимости от порядка поступления ARP-ответов во второй узел 2) в ARP-базу данных, сопряженную с узлом 2, что приведет к тому что второй узел 2 будет отправлять пакеты вместо первого узла 1 третьему узлу 3.
Предложенный способ предотвращения сбоев в локальной компьютерной сети, вызванных возникновением неправильно настроенных узлов, может быть реализован, например, в сетевом коммутирующем устройстве, представленном на фиг. 2 и включающем блок коммутации пакетов 4, к которому подсоединены N идентичных каналов, каждый из которых состоит из блока фильтрации ARP-ответов 5 и базы данных разрешенных адресов порта 6, причем первый вывод блока фильтрации ARP-ответов 5 соединен с блоком коммутации пакетов 4, второй вывод - с запоминающим устройством 6, содержащим базу данных разрешенных адресов порта данного канала, а третий вывод - с коммутируемым узлом 7, подсоединенным к порту данного канала, причем все указанные соединения являются двунаправленными.
Сетевое коммутирующее устройство, реализующее предлагаемый способ, функционирует следующим образом.
В базы данных 6 каждого из каналов сетевого коммутирующего устройства вносится список IP-адресов узлов (хостов), допустимых для данного канала (порта). Список формируется посредством анализа пакетов протокола DHCP или вручную.
Анализ пакетов протокола DHCP может производиться, например, следующим образом. При прохождении на порт, к которому подключен узел (хост), пакетов DHCPACK (OPTION 53=5, ОР=2) протокола DHCP по стандарту RFC2131 [5], IP-адрес, содержащийся в поле YIADDR, добавляется в список разрешенных IP-адресов. Также с поля OPTION 51 можно получить время, в течение которого данный IP-адрес будет действителен.
Все проходящие через данный канал ARP-ответы проходят проверку в блоке фильтрации ARP-ответов посредством сравнения содержащихся в них IP-адресов с IP-адресами, содержащимися в базе данных 6, сопряженной с данным каналом. ARP-ответ, отправленный неправильно настроенным узлом, IP-адрес которого не содержится в базе данных 6, сопряженной с данным каналом, будет проигнорирован, что исключит получение указанного ARP-ответа другим узлом, и данные в ARP базе данных других узлов будут корректны, что предотвратит сбой в сети.
Протокол ARP - известный протокол определения адреса в компьютерных сетях, описанный в стандарте RFC 826 [4] и предназначенный для определения МАС-адреса по известному IP-адресу.
Протокол DHCP - известный сетевой протокол динамической настройки узла, описанный в стандарте RFC 2131 [5], позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы сетевого устройства в локальной компьютерной сети.
В результате достигается предотвращение сбоев в локальной компьютерной сети, вызванных появлением неправильно настроенных узлов, влияющих на функционирование других узлов, за счет фильтрации коммутатором входящих ARP-ответов на абонентском порту сетевого устройства на соответствие IP-адресам, разрешенным для каждого порта. При этом блокируется только ответ от неправильно настроенного узла локальной компьютерной сети до момента устранения неисправности, но не блокируется передача пакетов от других узлов (хостов) через порт сетевого устройства, сопряженный с неправильно настроенным узлом. В предлагаемом способе предусмотрено использование стандартного ARP-туннельного протокола без включения в пакеты каких-либо дополнительных заголовков, что не приводит к снижению пропускной способности локальной компьютерной сети и не приводит к усложнению абонентских устройств.
Источники информации
1. Патент РФ №2540820 от 17.10.2012 «Способ и коммутатор для отправки пакета».
2. Патент US 5780654 от 13.01.1998 "Method for detecting proxy ARP-replies from devises in a local area network".
3. Патент US 8245300 от 14.08.2012 "System and method for ARP anti spoofing security".
4. RFC 826. An Ethernet Address Resolution Protocol or Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware.
5. RFC 2131. Dynamic Host Configuration Protocol.