ВИРТУАЛЬНАЯ СЕТЬ ВЕЩАНИЯ ДЛЯ МЕЖДОМЕННОЙ СВЯЗИ
VIRTUAL BROADCASTING NETWORK FOR INTER-DOMAIN CONNECTION

Область техники
Изобретение относится к компьютерным сетям, в частности к виртуальному коммутатору, который сконфигурирован так, чтобы сделать возможной междоменную связь.
Уровень техники
Обычно брандмауэр конфигурируют для предотвращения несанкционированного доступа к частной сети или из нее. Брандмауэр может быть приспособлен для изоляции частной сети от Интернета с помощью управления доступом к ресурсам внутри частной сети. Например, брандмауэр может быть сконфигурирован для предотвращения доступа к ресурсам внутри частной сети со стороны неавторизованных пользователей Интернета. Пакеты, входящие и покидающие частную сеть, можно перенаправить к брандмауэру. Брандмауэр может блокировать пакеты, которые не удовлетворяют заданным критериям безопасности.
В организации может быть несколько отделов, причем каждый из отделов имеет собственный брандмауэр. Обычно пакеты, посланные хосту в отделе, перед тем как будут направлены к хосту назначения, сначала посылаются к брандмауэру этого отдела. Подобным образом, пакет, посланный от хоста, как правило, посылается к брандмауэру отдела, которому принадлежит хост, перед тем как будет направлен куда-нибудь в другое место. Затем пакет может быть направлен от брандмауэра к шлюзовому маршрутизатору. Если пакет предназначен для хоста в другом отделе внутри организации, то затем пакет может быть направлен от шлюзового маршрутизатора к брандмауэру этого отдела.
Краткое описание чертежей
Не ограничивающие и не исчерпывающие изобретение варианты его осуществления описываются со ссылкой на следующие чертежи, на которых:
На фиг.1 изображена блок-схема системы для связи по сети;
На фиг.2 показана блок-схема другой системы для связи по сети, которая содержит многодоменную компьютерную систему;
На фиг.3 показана блок-схема варианта выполнения многодоменной компьютерной системы;
На фиг.4 показана блок-схема многодоменной компьютерной системы;
На фиг.5 изображена блок-схема другого варианта осуществления многодоменной компьютерной системы, в которой применяется виртуальный коммутатор, выполненный в соответствии с аспектами настоящего изобретения.
Подробное описание изобретения
Различные варианты осуществления настоящего изобретения будут подробно описаны со ссылкой на чертежи, где похожие числовые обозначения означают похожие со всех точек зрения составные части и компоненты. Ссылки на различные варианты осуществления не ограничивают рамки изобретения, которые ограничиваются только формулой изобретения, приложенной к этому описанию. Кроме того, любые примеры, изложенные в этом техническом описании, не носят ограничивающий характер, а только лишь объясняют некоторые из многих возможных вариантов осуществления заявленного изобретения.
Во всем техническом описании и формуле изобретения следующие термины имеют явно указанное значение, если контекст ясно не указывает на противоположное. Значения, установленные ниже, не предназначены для того, чтобы ограничивать термины, а просто дают пояснительные примеры для терминов. Фраза «в одном варианте осуществления», которая здесь используется, не обязательно ссылается на тот же самый вариант осуществления, хотя и это возможно.
Если сформулировать кратко, изобретение относится к устройству для многодоменной компьютерной системы, которое включает домены виртуальных систем, каждый из которых имеет связанный с ним экземпляр маршрутизации. Виртуальный коммутатор создается для того, чтобы пересылать пакеты между доменами. Виртуальный коммутатор можно сконфигурировать для работы по существу так, как если бы он был физическим коммутатором второго уровня. Виртуальный коммутатор и виртуальные домены соединены вместе с помощью виртуальных интерфейсов, где виртуальный коммутатор, виртуальные домены и виртуальные интерфейсы можно создать программным путем. Кроме того, протоколы, такие как протокол разрешения адреса (ARP), Интернет протокол (IP) и/или Интернет протокол версии 6 (IPv6) и аналогичные могут работать через виртуальные интерфейсы по существу таким же образом, как в сети Ethernet. Также каждый домен может включать в себя программный драйвер, который ведет себя аналогично драйверу Ethernet и имеет Ethernet-подобный адрес, который используется для физического адреса. В одном варианте осуществления изобретения Ethernet-подобный адрес является 48-битным адресом.
На фиг.1 изображена блок-схема системы 100. Система 100 включает устройства-хосты 110-118, сетевые концентраторы (хабы) 121-123, маршрутизаторы 131-133 и 141 и внешнюю сеть 110. Система 100 может включать в себя намного больше компонентов, чем те, которые показаны на фиг.1 в целях иллюстрации.
Каждое из устройств-хостов 110-118 может содержать в сущности любое вычислительное устройство, которое может соединяться с другим вычислительным устройством, чтобы посылать и принимать информацию. Множество таких устройств может включать устройства, которые обычно соединяются с использованием проводных средств связи, такие как персональные компьютеры, многопроцессорные системы, микропроцессорную или программируемую потребительскую электронику, сетевые ПК и тому подобное. Множество таких устройств может также включать устройства, которые обычно соединяются с использованием беспроводных средств связи, такие как сотовые телефоны, смартфоны, пейджеры, портативные радиостанции «уоки-токи», радиочастотные устройства, инфракрасные устройства, пульты управления, интегрированные устройства, объединяющие одно или более из вышеупомянутых устройств и тому подобное. Альтернативно, одно или более из клиентских устройств 110-118 могут являться любым устройством, способным соединяться с использованием проводных или беспроводных средств связи, таким как карманный компьютер PDA, POCKET PC, носимый компьютер и любым другим устройством, которое оснащено средствами для связи по проводному и/или беспроводному каналу связи.
Сетевые концентраторы 121-123 - это сетевые устройства, каждое из которых выполнено с возможностью подавать пакет, принятый на один из его адаптеров, каждому из остальных его адаптеров. Сетевые концентраторы 121-123 являются необязательными элементами системы 100 и могут не требоваться, если для системы 100 применяется другая топологическая схема.
Маршрутизаторы 131-133 и 141 выполнены с возможностью пересылать пакеты на основе одного или более сетевых протоколов, которые включают, но не ограничены этим, ARP, RARP, IP vX (например, IPv4, IPv6) и тому подобные. Более того, маршрутизатор 141 может быть шлюзовым маршрутизатором. Также каждый из маршрутизаторов 131-133 может включать в себя брандмауэр. Каждый брандмауэр может содержать одно или более вычислительных устройств, сконфигурированных для экранирования от нежелательного доступа извне ресурса, например сервера ресурсов, внутри локально управляемого периметра безопасности. Каждый брандмауэр можно реализовать в виде фильтра, шлюза, преобразователя сетевого адреса (NAT) и тому подобного, сконфигурированного для минимизации нежелательного доступа извне.
Внешняя сеть 110 может содержать практически любую внешнюю сеть, например Интернет. В сети 110 можно применять любой вид читаемого компьютером средства для передачи информации от одного электронного устройства к другому. Также сеть 110 может включать в себя локальные сети (LAN), глобальные сети (WAN), непосредственное соединение, например через порт универсальной последовательной шины (USB), другие виды средств, считываемых компьютером, или любое сочетание этого. Для взаимно соединенного набора локальных сетей LAN, включая те, которые основаны на различных архитектурах и протоколах, маршрутизатор может действовать в качестве связующего звена между локальными сетями, чтобы сделать возможным отправку сообщений от одной из них к другой. Также линии связи внутри локальных сетей обычно содержат витую проводную пару или коаксиальный кабель, в то время как линии связи между сетями могут использовать аналоговые телефонные линии, полностью или частично выделенные цифровые линии, которые включают линии Т2, Т3 и Т4, цифровые сети с интеграцией услуг (ISDN), цифровые абонентские линии (DSL), беспроводные линии, которые включают спутниковые линии или другие линии связи, известные специалистам.
Сеть 110 дополнительно может применять технологии беспроводного доступа, которые включают, но этим не ограничиваются, сотовые системы радиодоступа второго (2G) и третьего (3G) поколения, беспроводную LAN, сеть беспроводных маршрутизаторов и тому подобное. Технологии доступа такие, как 2G, 3G и будущие сети доступа, могут предоставить широкую территорию охвата для подвижных устройств с различной степенью мобильности. Например, сеть 110 может предоставить радиосоединение через радиодоступ к сети, например через глобальную систему мобильной связи (GSM), через общие услуги пакетной радиопередачи (GPRS), через среду расширенных данных GSM (EDGE), широкополосный множественный доступ с кодовым разделением каналов (WCDMA) и тому подобное. Кроме того, удаленные компьютеры и другие имеющие к ним отношение электронные устройства удаленно могут быть соединены или с локальной, или с глобальной сетью через модем и временную телефонную линию.
Дополнительно, сеть 110 может включать средства связи, которые типично несут команды, которые может прочитать компьютер, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна, сигнал данных или другой транспортный механизм, и включает любые средства доставки информации. Для примера, средства связи включают проводные средства, такие как, но не только они, витая пара, коаксиальный кабель, волоконно-оптический кабель, волноводы, и другие, и беспроводные средства, такие как, но не только они, акустические, радиочастотные, инфракрасные и другие.
Систему 100 может применять деловая или частная организация, которая может включать несколько отделов. Например, один отдел может содержать хосты 110-112, другой отдел может содержать хосты 113-115, а еще один отдел может содержать хосты 116-118. Система 100 может включать намного больше отделов, хостов, маршрутизаторов и других элементов сети, чем те, которые показаны на фиг.1. Систему 100 можно использовать для связи хостов 110-118 друг с другом, с ресурсами внутри системы 100 и с внешней сетью 110. Также маршрутизатор 131 может содержать брандмауэр для отдела, который содержит хосты 110-112, маршрутизатор 132 может содержать брандмауэр для отдела, который содержит хосты 113-115, а маршрутизатор 133 может содержать брандмауэр для отдела, который содержит хосты 116-118. Брандмауэры можно применять в целях безопасности и т.п.
На фиг.2 изображена блок-схема системы 200. Компоненты в системе 200 могут работать подобно аналогично вышеназванным компонентам системы 100, но в некоторых отношениях могут работать иначе. Система 200 дополнительно включает многодоменную компьютерную систему 250.
Варианты выполнения многодоменной компьютерной системы 250 подробно описываются ниже. Однако если сформулировать кратко, многодоменная компьютерная система 250 - это компьютерная система, которая включает домены виртуальных систем, каждый из которых имеет связанный с ним независимый экземпляр маршрутизации. Домены виртуальных систем здесь также упоминаются как «виртуальные сетевые устройства». Многодоменная компьютерная система 250 может включать в себя практически любое количество виртуальных сетевых устройств, например только несколько виртуальных сетевых устройств, или сотни, или более виртуальных сетевых устройств.
Используя многодоменную компьютерную систему 250 вместо физических маршрутизаторов, брандмауэров, сетевых устройств маршрутизации и тому подобных устройств, можно достичь значительной экономии аппаратных средств. Многодоменная компьютерная система 250 может заменить большое количество отдельных физических сетевых устройств. Виртуальные сетевые устройства действуют по существу так, как если бы они были физическими сетевыми устройствами, и могут применять те же протоколы, но внутри многодоменной компьютерной системы 250 они реализованы программным путем.
На фиг.3 изображена блок-схема варианта осуществления многодоменной компьютерной системы 350. Многодоменная компьютерная система 350 может работать по существу аналогично тому, как описано для многодоменной компьютерной системы 250 на фиг 2, но в некоторых отношениях может работать иначе. Многодоменная компьютерная система 350 включает адаптеры 371-373, процессор 380 и память 382. Память 382 содержит программы, например многодоменный модуль 385. Адаптеры 371-373 могут быть соединены с физическими интерфейсами L1-L3 соответственно. Многодоменная компьютерная система 350 может включать в себя намного больше компонентов, чем те, которые показаны. Однако показанные компоненты достаточны для того, чтобы пояснить вариант осуществления изобретения на практике.
Память 382 может содержать запоминающее устройство большой емкости, которое может включать в себя ОЗУ (RAM), ПЗУ (ROM) и одно или более постоянное запоминающее устройство, такое как накопитель на жестком диске и тому подобное. Запоминающее устройство большой емкости может хранить программы, которые включают сегменты кода и тому подобное. Программы, сохраненные в памяти 382, могут содержать многодоменный модуль 385. В одном варианте осуществления многодоменный модуль 385 является отдельной программой. В другом варианте осуществления многодоменный модуль 385 включает в себя многочисленные программы, которые работают независимо друг от друга. В любом случае многодоменный модуль 385 может содержать сегменты кода для создания виртуальных сетевых устройств, виртуальных интерфейсов и виртуальных коммутаторов и для выполнения функций созданных виртуальных сетевых устройств, виртуальных интерфейсов и виртуальных коммутаторов, как подробно объясняется ниже.
Процессор 380 можно сконфигурировать для выполнения действий, которые включают извлечение и декодирование сегментов кода из программ, таких как многодоменный модуль 385 в памяти 382. Кроме того, процессор 380 можно сконфигурировать для связи с адаптерами 371-373.
Адаптеры (устройства сопряжения) 371-373 сконфигурированы для передачи и приема пакетов по сети. Иногда адаптер также называют приемопередатчиком, приемопередающим устройством, драйвером или сетевым интерфейсом.
После извлечения и декодирования процессором 380 многодоменный модуль 385 конфигурируется для создания виртуальных сетевых устройств и обеспечения связи между ними. Многодоменный модуль 385 также может быть приспособлен для обеспечения связи между виртуальными сетевыми устройствами и физической сетью через соединение с одним или более адаптерами, такими как адаптеры 371-373.
На фиг.4 показана блок-схема многодоменной компьютерной системы 450. Компоненты в многодоменной компьютерной системе 450 могут работать подобно сходно названным компонентам многодоменной компьютерной системы 350, но могут работать в некотором отношении иначе. Многодоменная компьютерная система 450 включает виртуальные сетевые устройства 461-463 и виртуальные интерфейсы VL1-VL3. Виртуальные сетевые устройства 461-463 и виртуальные интерфейсы VL1-VL3 можно создать и управлять ими с помощью программного обеспечения, такого как многодоменный модуль 385 на фиг.3.
Виртуальные интерфейсы (например, VL1-VL3) в многодоменной компьютерной системе 450 - это виртуальные соединения точка-точка для связи между виртуальными сетевыми устройствами (например 461-463) в многодоменной компьютерной системе 450. Каждое из виртуальных сетевых устройств 461-463 может иметь связанный с ним уникальный экземпляр маршрутизации. В одном варианте осуществления виртуальное сетевое устройство 461-463 является виртуальным маршрутизатором. Также одно или более виртуальных сетевых устройств 461-463 может содержать брандмауэр. Виртуальные сетевые устройства 461-463 могут быть самостоятельными и работать независимо друг от друга.
Кроме того, связь между виртуальными сетевыми устройствами 461-463 можно осуществлять по виртуальным интерфейсам VL1-VL3 с применением сетевых протоколов, которые включают, но этим не ограничены, ARP, RARP, IP vX и тому подобные. Одно или более из виртуальных сетевых устройств 461-463 также может быть связано с физическим интерфейсом, таким как физические интерфейсы L1-L3. Передачу пакетов по виртуальным интерфейсам (например, VL1-VL3) и по физическим интерфейсам (например, L1-L3) можно выполнять по существу таким же образом и с применением по существу таких же протоколов, как в физическом маршрутизаторе. Однако передача пакетов по виртуальным интерфейсам VL1-VL3 выполняется программно, тогда как передачу пакетов по физическим интерфейсам L1-L3 можно выполнять с применением физических адаптеров, таких как адаптеры 371-373 на фиг.3.
Приведенная на фиг.4 топологическая схема, которая использует виртуальные интерфейсы, имеет ограниченную масштабируемость. Вариант топологической схемы с улучшенной масштабируемостью приведен ниже на фиг.5.
На фиг.5 изображена блок-схема варианта выполнения многодоменной компьютерной системы 550. Компоненты в многодоменной компьютерной системе 550 могут работать подобно сходно названным компонентам многодоменной компьютерной системы 350 на фиг.3, но могут работать в некотором отношении иначе. Многодоменная компьютерная система 550 включает виртуальные сетевые устройства 561-563, виртуальные интерфейсы VL4-VL6 и виртуальный коммутатор 590.
Процессор (например, процессор 380 на фиг.3) в многодоменной компьютерной системе 550 можно сконфигурировать для выполнения инструкций (например, из многодоменного модуля 385 на фиг.3) для создания и управления работой виртуальных сетевых устройств 561-563, виртуальных интерфейсов и виртуального коммутатора 590. В одном варианте осуществления изобретения после создания нового виртуального сетевого устройства (например, виртуального сетевого устройства 563), также создается связанный виртуальный интерфейс (например, виртуальный интерфейс VL6), который связан с вновь созданным виртуальным сетевым устройством и с виртуальным коммутатором 590.
Виртуальные сетевые устройства 561-563 связаны с виртуальными интерфейсами VL4-VL6 соответственно. Виртуальные сетевые устройства 561-563 также могут быть связаны с физическими интерфейсами L1-L3 соответственно. Виртуальный коммутатор 590 связан с виртуальными интерфейсами VL4-VL6. Виртуальные сетевые устройства 561-563 в значительной степени похожи на виртуальные сетевые устройства 461-463 на фиг.4, за исключением того, что виртуальные сетевые устройства 561-563 приспособлены для связи с виртуальным коммутатором 590 с использованием виртуальных интерфейсов VL4-VL6 соответственно.
Кроме того, виртуальный коммутатор 590 можно сконфигурировать для работы в качестве коммутатора второго уровня, коммутатора третьего уровня и т.п. В одном варианте осуществления изобретения виртуальный коммутатор 590 конфигурируется для работы в качестве коммутатора второго уровня, который содержит кэш-таблицу соседей.
В этом варианте осуществления изобретения виртуальный коммутатор 590 может добавлять запись всякий раз, когда виртуальным коммутатором 590 принимается пакет от интерфейса (например, VL4, VL5 или VL6), который связан с виртуальным коммутатором 590. Запись может содержать поле адреса, которое указывает адрес отправителя принятого пакета, и поле интерфейса, которое указывает интерфейс, от которого пакет прибыл. Запись может также содержать поле времени, которое соответствует времени, в которое был принят пакет. Если пакет прибывает на один из интерфейсов, связанных с виртуальным коммутатором 590, и адрес получателя содержится в поле адреса в кэш-таблице соседей, то виртуальный коммутатор 590 пересылает пакет в интерфейс, указанный в поле интерфейса этой записи в кэш-таблице соседей. Если пакет пересылается от виртуального коммутатора 590 к виртуальному интерфейсу, то процессор передает пакет в виртуальный интерфейс с использованием инструкций (например, из многодоменного модуля 385).
В одном варианте осуществления изобретения для каждого виртуального сетевого устройства (например, 561-563), для виртуального интерфейса, который связан с виртуальным сетевым устройством, виртуальное сетевое устройство содержит виртуальный адаптер для виртуального интерфейса. Виртуальный адаптер содержит программный модуль, который может работать по существу так же, как драйвер Ethernet в физическом маршрутизаторе. В одном варианте осуществления изобретения виртуальный адаптер имеет поставленный ему в соответствие адрес IP. Также виртуальный адаптер может иметь поставленный ему в соответствие 48-битный физический адрес.
В одном варианте осуществления изобретения 48-битный физический адрес является адресом Ethernet. В другом варианте осуществления физический адрес является 48-битным Ethernet-подобным адресом, который в основном аналогичен адресу Ethernet, за исключением того, что он уникален в многодоменной компьютерной системе 550, но не требуется, чтобы он был уникален во всем мире. В одном варианте осуществления изобретения каждое из виртуальных сетевых устройств в многодоменной компьютерной системе 550 содержит уникальный 32-битный идентификатор домена, в котором 32 младших бита 48-битного физического адреса являются уникальным идентификатором домена.
Если пакет пересылается от одного из виртуальных сетевых устройств к виртуальному интерфейсу, то процессор передает пакет в виртуальный интерфейс с использованием инструкций (например, из многодоменного модуля 385). Если одно из виртуальных сетевых устройств (например, 561-563) посылает пакет в физический интерфейс, то процессор (например, процессор 360) приводит в действие физический адаптер, который связан с физической линией, чтобы передать пакет в этот физический интерфейс на основе, частично, сетевого протокола.
Со стороны протоколов и приложений верхнего уровня внутри каждого виртуального сетевого устройства (например, 561-563) существует возможность соединения с другими виртуальными сетевыми устройствами через виртуальный коммутатор 590. Также со стороны сетевых устройств за пределами многодоменной компьютерной системы 550 виртуальные сетевые устройства 561-563 и виртуальный коммутатор 590 кажутся физическими и отдельными устройствами.
В одном варианте осуществления изобретения виртуальный коммутатор 590 является виртуальным коммутатором Ethernet с поддержкой VLAN (Virtual LAN - виртуальная локальная сеть). Кадры Ethernet можно использовать для пакетной передачи второго уровня. Каждый кадр Ethernet может использовать формат заголовка Ethernet, включая формат для VLAN. Заголовок каждого кадра Ethernet включает получателя информации, отправителя информации и тип протокола. Использование VLAN дает возможность логически группировать вместе группы виртуальных устройств в виде VLAN. Каждое из виртуальных устройств 461-463 может принадлежать одной или более VLAN. Логическое объединение(ия) VLAN можно явно определить с помощью присвоения меток или можно определить неявно через правила членства, которые применяются виртуальным коммутатором 590. Использование коммутатора, поддерживающего VLAN, также позволяет пересылать пакеты подмножеству виртуальных устройств без пересылки пакета каждому устройству, которое связано с виртуальным коммутатором 590.
Приведенное выше описание, примеры и данные дают возможность изготовить и использовать изобретение. Так как возможны многочисленные варианты осуществления изобретения, не выходящие за рамки изобретения, изобретение также определяется приложенной формулой изобретения.