Фильтр для разделения трафика
Иллюстрации
Показать всеИзобретение относится к фильтру для разделения трафика уровня 2 модели взаимодействия открытых систем в по меньшей мере одном коммутирующем маршрутизаторе (42) доступа в сети (40), при этом порты в маршрутизаторах (42, 44) сконфигурированы для одной и той же виртуальной локальной сети. Техническим результатом является повышение уровня безопасности в сети, достигаемое тем, что фильтр фильтрует трафик пакетов данных по отношению к портам, обеспечивая при этом имитацию того, что если устройство-источник и устройство-адресат находятся в одном и том же домене уровня 2, то адрес уровня 2 маршрутизатора является фактическим адресом адресата как для устройства-источника, так и для устройства-адресата, а также обеспечивает имитацию того, что если устройство-источник и устройство-адресат не находятся в одном и том же домене уровня 2, но находятся в одной и той же подсети уровня 3, то адрес уровня 2 маршрутизатора является фактическим адресом уровня 2 адресата для источника к адресату. Посредством этой фильтрации предусматривается использование одной IP-подсети, распространение ее на несколько помещений и множество коммутирующих маршрутизаторов доступа, и той же самой подсети на множество доменов уровня 2, посредством чего охватывается большее количество потребителей. 2 н. и 10 з.п. ф-лы, 3 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к фильтру для разделения трафика уровня 2 модели взаимодействия открытых систем в по меньшей мере одном маршрутизаторе в сети и способу для его реализации.
Предшествующий уровень техники
При использовании сетевых устройств, таких как маршрутизаторы и коммутаторы для сети, основанной на Ethernet®, или подобной сети, существующая технология уровня 2 модели взаимодействия открытых систем (OSI), реализующего адресацию протокола управления доступом к среде передачи (адресацию МАС), обеспечивает возможность использования виртуальных локальных сетей (VLAN) для разделения физических портов в устройстве, таком как маршрутизатор и коммутатор, на уровне 2 и связывания портов, принадлежащих одной и той же VLAN, по множеству устройств так называемого «группирования».
На уровне 3 OSI, обеспечивающем адресацию множественного протокола (IP) через маршрутизаторы, для каждой VLAN требуется отличающаяся IP-подсеть для адресации. В последние несколько лет сделано несколько попыток при использовании этой технологии для развертывания широкополосной сети.
Ethernet® является совместно используемой средой, соответствующей множественному доступу с контролем несущей и обнаружением конфликтов (CSMA/CD), что означает, что все хосты (подсоединенные к сети устройства), которые подсоединены к одной и той же сети Ethernet®, получают весь трафик, но они выбирают его в зависимости от их МАС-адреса.
Обычная широкополосная сеть состоит из нескольких коммутаторов или маршрутизаторов, размещенных в жилом районе для подсоединения отдельных домов к общей инфраструктуре, так называемой инфраструктуре поставщиков (провайдеров) услуг.
Использование технологии Ethernet для достижения этого немедленно вносит проблему безопасности соединения различных помещений, таких как дома и т.п., с единой совместно используемой инфраструктурой, которую обеспечивает Ethernet.
Поставщик услуг должен принимать во внимание:
- Соединение каждого потребителя с отдельной VLAN, что требует многочисленных небольших IP-подсетей, по одной для каждой VLAN для сохранения разделения уровня 2,
- Соединение потребителей с единой VLAN, что требует единой большой IP-подсети, но вводит риск предоставления доступа уровня 2 между разными потребителями, например, совместное использование файлов Microsoft®.
Для решения этой проблемы фильтрации некоторые варианты реализации используют функциональные возможности защиты портов, когда предотвращается трафик между двумя портами в одном и том же устройстве, содержащимися в одной и той же VLAN. Это означает, что хосты, подсоединенные к этим портам, не способны обмениваться любым трафиком. Дальнейшее усовершенствование решений этого типа включает в себя пересылку пакетов между защищенными портами к промежуточному устройству фильтрации, которое решает, должен ли быть разрешен трафик пакетных данных, и если это так, то пересылает этот трафик обратно к его месту назначения. Это, конечно же, будет накладывать бульшую нагрузку на магистральную линию связи, используемую между коммутатором и устройством фильтрации.
При текущем увеличении числа компьютеров, подсоединенных к сетям Ethernet®, возрастает проблема, касающаяся конфликтов трафика данных. Для того чтобы решить эту проблему, были изобретены мосты, которые разделяют Ethernet® на несколько сегментов и запоминают/определяют, в каких сегментах находятся различные МАС-адреса. После этого пересылка пакетов осуществляется только для пакетов, которые предназначались для широковещательного адреса или для МАС-адреса, который находится в сегменте, отличающемся от того, из которого он был передан. Но различные сегменты являются все еще частью одного и того же широковещательного домена.
Современные коммутаторы являются дальнейшим развитием моста. О них можно было бы сказать, что они имеют мост в каждом порту. Коммутатор запоминает/определяет, какие МАС-адреса соответствуют каждому порту соответственно, и выполняет пересылку между портами, только если трафик предназначен для МАС-адреса, соответствующего другому порту. Каждый порт, таким образом, становится сегментом, но каждый порт (все сегменты) является пока еще частью одного того же широковещательного домена, т.к. широковещательная передача передается к каждому порту. Преимущество коммутатора заключается в том, что он осуществляет связь на высоких скоростях, благодаря чему достигается то, что несколько портов могут одновременно осуществлять связь друг с другом с максимальной скоростью.
Методы коммутации развиваются, например, через введение VLAN, группирования и протокола Spanning Tree (протокола «охватывающего дерева», предназначенного для оптимизации топологии локальной сети).
VLAN делает возможным группировать порты в коммутаторе для разных широковещательных доменов. Это подразумевает, что порты, содержащиеся в конкретной VLAN, не способны сообщаться с портами в другой VLAN. По меньшей мере не через уровень 2, который обращается к маршрутизатору для соединения таких портов.
В RFC1027 (документе «Запрос на комментарии» под управлением целевой группы инженерной поддержки Internet (IETF)) описывается методика, известная как «Proxy-ARP», в которой устройство маршрутизации отвечает на запросы протокола разрешения адресов (ARP) для любого адреса вне местной подсети, запрашиваемой локально подсоединенным хостом, тем самым заставляя этот хост посылать весь трафик к маршрутизатору, при этом не требуется понимания используемого по умолчанию IP-маршрута. Это использовалось на ранней стадии развития Интернет для управления хостами при отсутствии полного понимания IP для связи с использованием протокола IP. Это редко используется сегодня.
Сущность изобретения
Настоящее изобретение предназначено для решения проблем, относящихся к широковещанию уровня 2 OSI и ограниченной возможности разделения IP-адресов на подсети для множества сетей VLAN.
Для того чтобы решить эти задачи, согласно настоящему изобретению предложен фильтр для разделения трафика уровня 2 модели взаимодействия открытых систем в по меньшей мере одном коммутирующем маршрутизаторе доступа (ASR) в сети. Порты в маршрутизаторах сконфигурированы для одной и той же виртуальной локальной сети. Фильтр фильтрует трафик пакетов данных по отношению к портам. Он дополнительно содержит:
средство для перехвата трафика уровня 2 от подсоединенного к сети устройства-источника для МАС-адреса, принадлежащего упомянутой виртуальной локальной сети, и для определения того, разрешено ли пересылать трафик к другим портам;
средство для перехвата широковещательных сообщений протокола разрешения адресов в таком трафике, для посылки ответа на широковещательное сообщение на упомянутое устройство-источник, независимо от того, является ли домен уровня 2 устройства-адресата тем же самым, что и домен уровня 2 устройства-источника, причем устройство-источник тем самым определяет, что широковещательное сообщение подтвердило адрес уровня 2 искомого устройства-адресата, в результате чего устройство-источник передает пакеты данных к этому устройству-адресату, при этом маршрутизатор принимает переданные пакеты данных;
средство для определения выходного порта к устройству-адресату;
средство для определения адреса уровня 2 устройства-адресата;
средство для корректировки заголовка уровня 2 из принятого пакета данных, причем это средство для задания адреса уровня 2 источника посредством задания адреса маршрутизатора в качестве адреса источника для пакетов данных, для определения адреса уровня 2 устройства-адресата и задания адреса этого устройства-адресата в качестве адреса уровня 2 адресата и для передачи пакета данных к устройству-адресату; и
тем самым обеспечивается имитация того, что если устройство-источник и устройство-адресат находятся в одном и том же домене уровня 2, то адрес уровня 2 маршрутизатора является фактическим адресом адресата как для устройства-источника, так и для устройства-адресата, или имитация того, что если устройство-источник и устройство-адресат не находятся в одном и том же домене уровня 2, но находятся в одной и той же подсети уровня 3, то адрес уровня 2 маршрутизатора является фактическим адресом уровня 2 адресата для источника к адресату.
В одном варианте осуществления настоящего изобретения предусматривается, что порт, который находится в подмаршрутизаторе, обеспечивается упомянутым адресом уровня 2 маршрутизатора при адресации устройства-адресата.
Другой вариант осуществления предусматривает, что маршрутизатор анализирует адрес источника и/или адресата для определения наилучшего выходного порта для пакета, для определения того, соответствует ли пакет по профилю для ограничения скорости передачи данных, или для выполнения другой фильтрации на основе информации уровня 3 модели взаимодействия открытых систем и более высоких протокольных уровней.
Еще один вариант осуществления предусматривает, что коммутирующий маршрутизатор доступа является комбинацией коммутатора уровня 2 и маршрутизатора уровня 3, сочетающий возможности коммутации уровня 2 с усовершенствованными возможностями принятия решений в отношении управления пакетами и пересылки в маршрутизаторе уровня 3.
Еще один вариант осуществления предусматривает использование IP-подсети, распространение ее на несколько помещений и множество коммутирующих маршрутизаторов доступа и той же самой подсети на множество доменов уровня 2, тем самым охватывая большее количество потребителей. Еще один вариант осуществления обеспечивает потребителю, имеющему множество компьютеров, возможность получить большее количество адресов.
Согласно настоящему изобретению предлагается способ для фильтра в разделении трафика уровня 2 модели взаимодействия открытых систем в по меньшей мере одном коммутирующем маршрутизаторе доступа в сети. Маршрутизатор имеет порты в маршрутизаторах, сконфигурированные для одной и той же виртуальной локальной сети. Фильтр фильтрует трафик пакетов данных по отношению к этим портам. Способ дополнительно содержит следующие этапы:
перехват трафика уровня 2 от подсоединенного к сети устройства-источника (Хост A, Хост B), для адреса протокола управления доступом к среде передачи, принадлежащего упомянутой виртуальной локальной сети, и определение того, разрешается ли пересылать трафик к другим портам;
перехват широковещательных сообщений протокола разрешения адресов в таком трафике, отправка ответа на широковещательное сообщение на устройство-источник, независимо от того, является ли домен уровня 2 устройства-адресата тем же самым, что и домен уровня 2 устройства-источника, причем устройство-источник тем самым определяет, что широковещательное сообщение подтвердило адрес уровня 2 искомого устройства-адресата, в результате чего устройство-источник передает пакеты данных к этому устройству-адресату, при этом маршрутизатор принимает переданные пакеты данных;
определение выходного порта к устройству-адресату;
определение адреса уровня 2 устройства-адресата;
корректировка заголовка уровня 2 из принятого пакета данных, при этом осуществляется задание адреса уровня 2 источника посредством задания адреса маршрутизатора в качестве адреса источника для пакетов данных, определение адреса уровня 2 устройства-адресата и задание адреса этого устройства адресата в качестве адреса уровня 2, и передача пакета данных к устройству-адресату; и
тем самым обеспечивается имитация того, что если устройство-источник и устройство-адресат находятся в одном и том же домене уровня 2, то адрес уровня 2 маршрутизатора является фактическим адресом адресата как для устройства-источника, так и для устройства-адресата, или имитация того, что если устройство-источник и устройство-адресат не находятся в одном и том же домене уровня 2, но находятся в одной и той же подсети уровня 3, то адрес уровня 2 маршрутизатора является фактическим адресом уровня 2 адресата для источника к адресату.
Следует понимать, что согласно этому способу допускается выполнять этапы приложенного набора зависимых пунктов формулы изобретения, относящихся к способу, соответствующие описанным выше вариантам осуществления.
Перечень фигур чертежей
Далее делаются ссылки на сопровождающие чертежи для лучшего понимания данных примеров и вариантов осуществления настоящего изобретения, где:
фиг.1 - схематическая иллюстрация жилого района, подсоединенного к широкополосной сети в соответствии с предшествующим уровнем техники;
фиг.2 - схематическая иллюстрация шлюза, подсоединенного между двумя широкополосными сетями в соответствии с предшествующим уровнем техники;
фиг.3 - схематическая иллюстрация широкополосной сети в соответствии с настоящим изобретением.
Подробное описание предпочтительных вариантов осуществления
Для того чтобы было возможным понять техническое решение в соответствии с настоящим изобретением в отношении проблем, относящихся к трафику данных уровня 2, важно также понять фундаментальные признаки IP-адресации. Фундаментальной частью использования Ethernet® для IP-связи является использование протокола разрешения адресов (ARP). ARP используется для разрешения между адресами уровня 2 и уровня 3 OSI. Он обеспечивает хостам возможность определять адрес уровня 2 другого устройства, когда адрес уровня 3 уже известен. Это используется, когда хост в IP-подсети намеревается осуществить связь с другим хостом в той же самой подсети. ARP, таким образом, используется для интерпретации между адресами уровня 2 (МАС-адресами Ethernet®) и адресами уровня 3 (IP).
Фундаментальной частью IP является то, что не каждому устройству в сети необходимо знать о предоставляемой глобальной таблице маршрутизации. Если устройство имеет пакет для пересылки к неизвестному месту назначения, это устройство может быть сконфигурировано с используемым по умолчанию маршрутом, подлежащим использованию для любого трафика, для которого нет явного маршрута. Используемый по умолчанию маршрут всегда является IP-адресом в подсети, к которой хост непосредственно подключен. Адрес уровня 2 используемого по умолчанию маршрута запоминается/определяется протоколом ARP, если он не задан статическим образом в конфигурации хоста.
В соответствии с настоящим изобретением маршрутизатор определяется как устройство, которое анализирует информацию уровня 3 OSI или протоколов более высоких уровней для принятия решения в отношении пересылки трафика.
Это включает в себя, но не в ограничительном смысле, анализ адреса источника и/или адресата для определения наилучшего выходного порта для пакета, определение того, соответствует ли пакет профилю для ограничения скорости передачи данных, или выполнение другой фильтрации на основе информации уровня 3 OSI и более высоких протокольных уровней.
Коммутирующий маршрутизатор доступа (ASR) является комбинацией коммутатора уровня 2 и маршрутизатора уровня 3. Он объединяет возможности коммутации уровня 2 с усовершенствованными возможностями принятия решений в отношении управления пакетами и пересылки в маршрутизаторе уровня 3. Это определение отвечает определению маршрутизатора в соответствии с настоящим изобретением и также включает в себя уникальные функциональные возможности фильтрации, описанные здесь.
Преимущества настоящего изобретения обеспечивают возможность конфигурирования всех портов Ethernet® на ASR для одной и той же VLAN, что разрешает портам совместно использовать одну и ту же IP-подсеть. Следовательно, никакого разделения подсети, например 32-битового IP-адреса, не происходит. Каждый раз, когда создается подсеть, два адреса пропадают. Они представляют собой так называемые адрес сети и адрес, являющийся широковещательным адресом. Когда корпорации, поставщики услуг Интернет и т.п. соединяются с Интернетом, они запрашивают назначение IP-адресов. Назначение адреса зависит от того, сколько компьютеров подсоединены к сети, как сеть должна быть сконструирована и каковы ее перспективы роста в последующие годы.
Например, компании в качестве адреса назначается 192.168.1.0/24, где /24 обозначает размер подсети. Поскольку IP-адреса имеют 32 двоичных бита, то проще представить пример в двоичной системе счисления:
192.168.1.0 = 11000000 10101000 00000001 00000000
/24 равняется одной десятичной маске подсети 255.255.255.0, в двоичном представлении 11111111 11111111 11111111 00000000
Часть подсети, в которой маска подсети равняется 0, ниже обозначаемая как часть хоста, является частью, которую разрешается использовать для задания IP-адреса для отдельных компьютеров. Часть, в которой маска подсети равняется 1, должна всегда быть одной и той же. Два адреса в этой части никогда не могут использоваться для компьютеров, и они представляют собой сам номер подсети, когда часть хоста содержит только двоичный 0, и широковещательный адрес, когда часть хоста содержит лишь двоичную 1. Следовательно:
11000000 10101000 00000001 00000000 192.168.1.0
11000000 10101000 00000001 11111111 192.168.1.255
Мало вероятно, что 250 компьютеров подсоединяются к одному и тому же сегменту. Вероятно, он состоит из нескольких сегментов, разделенных на несколько широковещательных доменов уровня 2, так что каждому домену уровня 2 необходима одна своя собственная IP-подсеть. Поэтому необходимо разделить 255 адресов на меньшие подсети. Это достигается дальнейшим продолжением маски подсети, то есть части, содержащей двоичную 1.
Например:
11000000 10101000 00000001 00000000 192.168.1.0
11111111 11111111 11111111 11000000 255.255.255.192
Маска подсети сейчас распространяется на два бита в последнем октете. Это означает, что имеется 6 битов, оставленных для адреса хоста, что в десятичном представлении соответствует 64. Следовательно, 256 адресов превращаются в четыре подсети, каждая из которых имеет 64 адреса.
11000000 10101000 00000001 00000000 192.168.1.0
11111111 11111111 11111111 11000000 255.255.255.192
11000000 10101000 00000001 01000000 192.168.1.64
11111111 11111111 11111111 11000000 255.255.255.192
11000000 10101000 00000001 10000000 192.168.1.128
11111111 11111111 11111111 11000000 255.255.255.192
11000000 10101000 00000001 11000000 192.168.1.192
11111111 11111111 11111111 11000000 255.255.255.192
Любая и каждая из этих четырех подсетей имеет два адреса, которые не разрешается использовать. В десятичной системе:
Подсеть 192.168.1.0, запрещены 192.168.1.0 и 192.168.1.63
Подсеть 192.168.1.64, запрещены 192.168.1.64 и 192.168.1.127
Подсеть 192.168.1.128, запрещены 192.168.1.128 и 192.168.1.191
Подсеть 192.168.1.192, запрещены 192.168.1.192 и 192.168.1.255
В двоичном представлении:
11000000 10101000 00000001 00000000 192.168.1.0
11111111 11111111 11111111 11000000 255.255.255.192
11000000 10101000 00000001 00111111 192.168.1.63
11111111 11111111 11111111 11000000 255.255.255.192
11000000 10101000 00000001 01000000 192.168.1.64
11111111 11111111 11111111 11000000 255.255.255.192
11000000 10101000 00000001 01111111 192.168.1.127
11111111 11111111 11111111 11000000 255.255.255.192
11000000 10101000 00000001 10000000 192.168.1.128
11111111 11111111 11111111 11000000 255.255.255.192
11000000 10101000 00000001 10111111 192.168.1.191
11111111 11111111 11111111 11000000 255.255.255.192
11000000 10101000 00000001 11000000 192.168.1.192
11111111 11111111 11111111 11000000 255.255.255.192
11000000 10101000 00000001 11111111 192.168.1.255
11111111 11111111 11111111 11000000 255.255.255.192
Теперь можно разделить одну из этих 64-адресных подсетей на две части, получая две подсети из 32 адресов, но при этом каждая из них содержит два запрещенных адреса:
11000000 10101000 00000001 11000000 192.168.1.192
11111111 11111111 11111111 11100000 255.255.255.224
11000000 10101000 00000001 10111111 192.168.1.223
11111111 11111111 11111111 11100000 255.255.255.224
11000000 10101000 00000001 11100000 192.168.1.224
11111111 11111111 11111111 11100000 255.255.255.224
11000000 10101000 00000001 11111111 192.168.1.255
11111111 11111111 11111111 11100000 255.255.255.224
В широкополосной сети 32 адресов вполне хватит для одного дома. Считается, что каждый компьютер, соединенный с подсетью, имеет адрес, которая также включает в себя используемый по умолчанию шлюзовой маршрутизатор, существует требование на по меньшей мере два адреса для каждого дома - один для компьютера и один для маршрутизатора. Если в доме осуществляется управление более чем одним компьютером, то необходима более крупная подсеть.
Поэтому два адреса на один дом требуют, чтобы наименьшая подсеть имела размер в четыре адреса. В двоичной системе:
11000000 10101000 00000001 00000000 192.168.1.0
11111111 11111111 11111111 11111100 255.255.255.252
Поскольку два адреса запрещены:
11000000 10101000 00000001 00000000 192.168.1.0
11111111 11111111 11111111 11111100 255.255.255.252
11000000 10101000 00000001 00000011 192.168.1.3
11111111 11111111 11111111 11111100 255.255.255.252,
адресами, оставленными для использования, являются 192.168.1.1 и 192.168.1.2. В следующей подсети запрещены адреса 192.168.1.4 и 192.168.1.7. Адресами, которые могут быть использованы, являются 192.168.1.5 и 192.168.1.6, и так далее.
Из этих 256 адресов сначала имеются 256/4=64 подсети или 64 потребителя. Одна половина адресов в этом виде небольших подсетей сохраняются как широковещательные и сетевые адреса, и потери адресного пространства составляют 50%.
Если подсети спроектированы в бульших размерах, потери адресного пространства уменьшаются из-за широковещательных адресов и адресов сети (8 адресов на подсеть обеспечивают 256/8=32 подсетей, 25% потери адресного пространства). Но полезно иметь 6 адресов на подсеть, и если маршрутизатор обеспечивается одним, то имеется 5 адресов на дом. Если эти 5 адресов не полностью используются, поскольку имеется не более чем два компьютера на каждый дом, то еще имеются адресные потери, т.к. 3 адреса не используются.
Посредством технического решения в соответствии с одним вариантом осуществления настоящего изобретения разрешается использовать 254 адреса из 256, предоставленных в подсети, и распространять их на несколько помещений и множество ASR, охватывая таким образом больше потребителей. Если один потребитель имеет больше компьютеров, чем другой потребитель, то не вносится никакой потери адресного пространства, поскольку потребитель с большим количеством компьютеров получает больше адресов. Поэтому потери адресного пространства согласно настоящему изобретению удерживаются на уровне нескольких процентов, если сеть построена для оптимизации адресного пространства.
Согласно настоящему изобретению применяется фильтр, который препятствует любому трафику уровня 2 между портами, принадлежащими VLAN, за исключением трафика с опциями протокола, указывающими, что данные, переносимые в пакете уровня 2, соответствуют IP, IPv6 или любому другому трафику, приемлемому для целей связи. Это означает, что даже хотя порты принадлежат одному и тому же широковещательному домену уровня 2, трафик между ними предохраняется от коммутации на основании их адреса уровня 2 источника и адреса уровня 2 адресата.
Когда клиент, подсоединенный к порту, начинает передачу, первый пакет будет пересекать сегмент Ethernet®, включающий в себя ASR.
Когда бы клиентский хост ни пытался осуществить связь с другим узлом, он выдаст запрос ARP в отношении либо используемого по умолчанию маршрутизатора, если адресат не является частью IP-подсети клиентского хоста, либо самого адресата, если его адрес адресата находится в той же самой подсети, что и адрес клиентского хоста. Этот запрос ARP является широковещательным сообщением уровня 2, которое обычно проходит всю VLAN. Сообщение ARP перехватывается посредством ASR в соответствии с настоящим изобретением и предохраняется от пересылки к любому другому порту, принадлежащему этой VLAN. Если запрос ARP предназначен для адресата, который присутствует на любом другом порте на ASR, или если адресат известен в таблице маршрутизации уровня 3 ASR, то ASR отвечает на этот запрос ASR своим собственным МАС-адресом в качестве следующего транзитного участка. Эта процедура заставляет клиентский хост полагать, т.е. имитирует, что адрес уровня 2 ASR является адресом уровня 2 адресата, подлежащим использованию для достижения фактического адресата уровня 3. Таким образом, клиентский хост передает пакет по адресу уровня 2 ASR.
Если определено, что пакет должен быть переслан к другому из портов ASR, на основе адреса уровня 3 адресата и содержимого таблицы маршрутизации ASR и/или таблицы разрешения адресов, то МАС-адрес источника пакета заменяется на адрес уровня 2 ASR в выходном порту. IP-адрес источника будет продолжать оставаться тем же самым адресом первоначального клиентского хоста. Таким образом, приемник в ASR запоминает/определяет, что адрес клиентского хоста-источника отображается в адрес уровня 2 ASR, и любой обратный трафик к клиентскому хосту-источнику направляется к ASR, а не непосредственно по МАС-адресу клиента-источника. Таким образом благодаря такой имитации и клиентский хост-источник, и клиентский хост-адресат получают, что МАС-адрес ASR является адресом другого хоста, и поток обмена данными сохраняется.
Чтобы быть способным осуществлять связь с помощью TCP/IP, хост должен быть сконфигурирован с:
- IP-адресом
- маской подсети
- шлюзом, используемым по умолчанию
- сервером разрешения имен.
Сервер разрешения имен используется для связи между именами и IP-адресами в Интернете.
Фиг.1 схематически иллюстрирует жилой район, подсоединенный к широкополосной сети 10 в соответствии с предшествующим уровнем техники. Коммутатору (S) 12 соответствует VLAN, при этом все его порты 14 соединены с ней, что означает, что соседи имеют доступ уровня 2 между собой. Это позволяет одному соседу, например, просматривать жесткий диск у другого соседа. У коммутатора (S) 16 каждый порт 14 принадлежит другой VLAN, что требует небольшой IP-подсети на каждую VLAN. Это представляет собой нерациональное использование адресного пространства, потому что каждая подсеть вводит неиспользуемые адреса для сети и широковещания. Подсеть с двумя используемыми адресами также требует два неиспользуемых адреса, впустую расходуя 50% адресного пространства. Устройства 18 на фиг.1 являются маршрутизаторами (R).
фиг.2 схематически иллюстрирует шлюз 30, подсоединенный между двумя широкополосными сетями 32, 34 в соответствии с предшествующим уровнем техники, а также изображены Хост A, Хост B и Хост C.
Последующая последовательность операций описывает традиционную работу протокола маршрутизации ARP.
Первая последовательность этапов 1)-9) представляет пример, когда Хост A осуществляет передачу на Хост B, со ссылкой на фиг.2:
1) Хост A имеет IP-пакет для отправки
2) Хост A сравнивает адрес Хоста A + маску подсети с адресом Хоста B
3) Хост B находится в той же самой сети, что и Хост A
4) Хост A посылает широковещательное сообщение ARP в Сеть 1, запрашивая адрес уровня 2 Хоста B
5) Хост B распознает запрос в отношении его адреса уровня 2
6) Хост B отвечает
7) Хост A теперь имеет адрес уровня 2 Хоста B
8) Хост A передает данные
9) Хост B принимает данные
Вторая последовательность этапов 1)-17) представляет пример, когда Хост A осуществляет передачу на Хост С, со ссылкой на фиг.2:
1) Хост A имеет IP-пакет для отправки
2) Хост A сравнивает адрес Хоста A + маску подсети с адресом Хоста С
3) Хост С не находится в той же самой сети, что и Хост A
4) Хост A посылает широковещательное сообщение ARP в Сеть 1, запрашивая адрес уровня 2 шлюза
5) Шлюз распознает запрос в отношении его адреса уровня 2
6) Шлюз отвечает
7) Хост A теперь имеет адрес уровня 2 шлюза
8) Хост A передает данные
9) Шлюз принимает данные
10) Шлюз удаляет информацию уровня 2 из пакета
11) Шлюз выполняет поиск адреса Хоста C в таблице маршрутизации и определяет выходной интерфейс
12) Шлюз посылает широковещательное сообщение ARP в Сеть 2, запрашивая адрес уровня 2 Хоста C
13) Хост C распознает запрос в отношении его адреса уровня 2
14) Хост C отвечает
15) Шлюз теперь имеет адрес уровня 2 Хоста C
16) Шлюз строит новый заголовок уровня 2 для пакета и передает данные
17) Хост C принимает данные.
Если шлюз 30 не соединен напрямую с Сетью 2, то на этапе 12 вместо этого должна выполняться «пересылка пакета к Сети 2», при этом этапы 9, 10, 11 и новый этап 12 повторяются в каждом шлюзе вдоль маршрута до тех пор, пока шлюз, который соединен напрямую с Сетью 2, не примет пакет, и тогда выполняются этапы 12-17 согласно описанному выше алгоритму.
Фиг.3 схематически иллюстрирует широкополосную сеть 40 в соответствии с настоящим изобретением, имеющую два маршрутизатора 42, 44 ASR. Хост A и Хост B соединены с маршрутизатором 42, а Хост C соединен с маршрутизатором 44. Оба маршрутизатора 42 и 44 имеют прямое соединение между собой, причем маршрутизатор 42 содержит фильтр по настоящему изобретению. Фиг.3 также изображает Хост D, соединенный с широкополосной сетью через Интернет.
Фильтр по настоящему изобретению предназначен для разделения трафика уровня 2 модели взаимодействия открытых систем в по меньшей мере одном маршрутизаторе 42, 44 ASR в широкополосной сети 40. Все порты (не показано) в маршрутизаторах 42, 44 сконфигурированы для одной и той же VLAN. ASR 44 является подмаршрутизатором для маршрутизатора 42 или просто подсоединен к нему и обеспечивает те же самые преимущества фильтрации в соответствии с настоящим изобретением. Трафик пакетов данных перехватывается маршрутизатором 42, содержащим упомянутый фильтр, который фильтрует трафик пакетов данных по отношению к упомянутым портам. Фильтр содержит:
средство для перехвата трафика уровня 2 от подсоединенного к сети устройства-адресата (Хост A, Хост B) для МАС-адреса, принадлежащего упомянутой виртуальной локальной сети, и для определения того, разрешается ли пересылать трафик к другим портам;
средство для перехвата широковещательных сообщений протокола разрешения адресов в таком трафике, для направления ответа на широковещательное сообщение на устройство-источник, независимо от того, является ли домен уровня 2 устройства-адресата тем же самым, что и домен уровня 2 устройства-источника, при этом устройство-источник тем самым определяет, что широковещательное сообщение подтвердило адрес уровня 2 искомого устройства-адресата, в результате чего устройство-источник передает пакеты данных к устройству-адресату, при этом маршрутизатор принимает переданные пакеты данных;
средство для определения выходного порта к устройству-адресату;
средство для определения адреса уровня 2 устройства-адресата;
средство для корректировки заголовка уровня 2 из принятого пакета данных, причем это средство предназначено для задания адреса уровня 2 источника посредством задания адреса маршрутизатора в качестве адреса источника для пакетов данных, для определения адреса уровня 2 устройства-адресата и задания адреса устройства-адресата в качестве адреса уровня 2 адресата, и для передачи пакетов данных к устройству-адресату.
Таким образом, фильтр по настоящему изобретению обеспечивает имитацию того, что если устройство-источник и устройство-адресат находятся в одном и том же домене уровня 2, то адрес уровня 2 маршрутизатора является фактическим адресом адресата как для устройства-источника, так и для устройства-адресата, или имитацию того, что если устройство-источник и устройство-адресат не находятся в одном и том же домене уровня 2, но находятся в одной и той же подсети уровня 3, то адрес уровня 2 маршрутизатора является фактическим адресом уровня 2 адресата для источника к адресату.
Понятно, что средствами настоящего изобретения предпочтительно являются блоки построения программного обеспечения в маршрутизаторе или комбинация аппаратного и программного обеспечения.
Далее представлены три сценария для потока пакетов в соответствии с настоящим изобретением и со ссылкой на фиг.3.
Нужно отметить, что при IP-маршрутизации инкапсуляция и деинкапсуляция заголовков уровня 2 в IP-пакетах является известной процедурой. IP-заголовок с IP-адресами источника и адресата не затрагивается, тогда как заголовки уровня 2 для Ethernet, TokenRing, FrameRelay, ATM или другой используемой технологии уровня 2 изменяются. Так как протокол уровня 2 не является маршрутизируемым, адрес источника всегда устанавливается в адрес устройства, передающего пакет. Это является общепринятым.
Первый сценарий с последовательностью этапов с 1) по 13) описывает передачу пакета из Хоста A в Хост B. Оба хоста подсоединены к портам в одном и том же ASR. Порты сконфигурированы так, что принадлежат одному и тому же широковещательному домену (VLAN), но при этом защита портов с дополнительными функциональными возможностями задействована в ASR в соответствии с настоящим изобретением.
Первый сценарий:
1) Хост A имеет IP-пакет для отправки
2) Хост A сравнивает свой адрес + маску подсети с адресом Хоста B и определяет, что они находятся в одной и той же подсети
3) Хост A посылает широковещательное сообщение ARP в отношении адреса Хоста B
4) Из-за фильтров между портами ASR 42 широковещательное сообщение не может достичь Хоста B
5) ASR перехватывает широковещательное сообщение ASR и определяет, что знает, где расположен Хост B
6) ASR отвечает на запрос ARP в отношении Хоста B, устанавливая свой собственный адрес уровня 2 в качестве адреса для Хоста B
7) Хост B принимает ответ на запрос ARP и полагает, что теперь знает адрес уровня 2 для Хоста B
8) Хост A передает данные
9) ASR 42 принимает данные
10) ASR 42 удаляет информацию уровня 2 и определяет выходной порт для Хоста B
11) ASR 42 устанавливает свой собственный адрес уровня 2 в качестве адреса источника для пакета и инкапсулирует пакет для Хоста B
12) ASR 42 передает данные
13) Хост B принимает данные от Хоста A.
Поскольку адрес уровня 2 ASR 42 устанавливается как адрес источника, Хост B полагает, что адрес уровня 2 ASR 42 является адресом Хоста A. Таким же образом, вследствие ответа на запрос ARP Хост A будет полагать, что адрес уровня 2 ASR 42 является адресом Хоста B.
Второй сценарий с последовательностью этапов с 1) по 18) описывает передачу пакетов из Хоста A в Хост С. Оба хоста подсоединены к портам разных маршрутизаторов ASR. Но возможности совместного использования адресов ASR и центральной системы управления обеспечивают хостам возможность получения IP-адресов посредством протокола динамического конфигурирования хоста (DHCP) из одной и той же IP-подсети. Маршрутизаторы ASR обмениваются информацией маршрутизации, сообщая друг другу о подсоединенных хостах.
Второй сценарий:
1) Хост A имеет IP-пакет для отправки
2) Хост A сравнивает свой адрес + маску подсети с адресом Хоста С и определяет, что они находятся в одной и той же подсети
3) Хост A посылает широковещательное сообщение ARP для адреса Хоста С
4) Из-за фильтров между портами ASR 42 широковещательное сообщение не достигает какого-либо другого порта на ASR.
5) ASR 42 перехватывает широковещательное сообщение ASR и определяет, что знает, где расположен Хост С
6) ASR 42 отвечает на запрос ARP в отношении Хоста С, устанавливая свой собственный адрес уровня 2 в качестве адреса для Хоста С
7) Хост А принимает ответ на запрос ARP и полагает, что знает теперь адрес уровня 2 для Хоста С
8) Хост A передает пакет
9) ASR 42 принимает пакет
10) ASR 42 удаляет информацию уровня 2 и определяет выходной порт для Хоста С
11) ASR 42 инкапсулирует пакет с соответствующими заголовками уровня 2 для линии связи с ASR 44
12) ASR 42 пересылает пакет по направлению к ASR 44
13) ASR 44 принимает пакет
14) ASR 44 удаляет инкапсуляцию уровня 2, использованную для линии связи от ASR 42
15) ASR 44 определяет выходной порт для пакета к Хосту C
16) ASR 44 инкапсулирует пакет с заголовками уровня 2, устанавливая свой собственный адрес уровня 2 в качестве адреса источника
17) ASR 44 передает данные
18) Хост С принимает данные от Хоста A.
Поскольку ASR 42 отвечает на запрос ARP, Хост A будет полагать, что адрес уровня 2 ASR 42 является адресом Хоста С. Вследствие того что ASR 44 устанавливает свой собственный адрес уровня 2 в качестве адреса источника для пакета к Хосту C на последних указанных выше этапах, Хост C тем самым полагает, что адрес уровня 2 ASR 44 является адресом Хоста A.
Третий сценарий с последовательностью этапов с 1) по 15) описывает передачу пакета от Хоста A к Хосту D. Хост А подсоединен к порту на ASR 42. Хост D подсоединен где-нибудь к Интернет.
Третий сценарий:
1) Хост A имеет IP-пакет для отправки
2) Хост A сравнивает свой адрес + маску подсети с адресом Хоста D и определяет, что они не находятся в одной и той же подсети
3) Хост A посылает широковещательное сообщение ARP в отношении адреса шлюза, используемого по умолчанию
4) Из-за фильтров между портами ASR 42 широковещательное сообщение не достигает какого-либо другого порта на этом ASR.
5) ASR перехватывает широковещательное сообщение ARP и определяет, что он является шлюзом, используемым по умолчанию
6) ASR отвечает на запрос ARP в отношении шлюза, используемого по умолчанию, своим собственным адресом уровня 2
7) Хост А принимает ответ на запрос ARP и полагает, что знает т