Уровень техники
[0001] Компьютерные сети могут иметь большое число физических или виртуальных серверов, соединенных между собой посредством маршрутизаторов, коммутаторов, мостов или других сетевых узлов через проводные или беспроводные сетевые линии связи. Сетевые узлы могут обеспечивать связь между серверами посредством обмена сообщениями через сетевые линии связи в соответствии с одним или более сетевых протоколов.
[0002] Одна трудность, ассоциированная с проектированием и управлением компьютерными сетями, заключается в масштабируемости. По мере того, как возрастает число серверов, увеличивается объем требуемых ресурсов, а также функциональная сложность. Например, современные маршрутизаторы типично переносят таблицу маршрутизации в запоминающем устройстве, которая указывает сетевые маршруты, чтобы достигать конкретных серверов в компьютерной сети. По мере того, как возрастает число серверов, также увеличивается размер таблицы маршрутизации и сложность вычисления сетевых маршрутов для таблицы маршрутизации. Таким образом, как затраты на аппаратные средства, так и функциональная сложность маршрутизаторов могут увеличиваться до неуправляемых уровней, когда число серверов достигает миллионов или десятки миллионов.
Сущность изобретения
[0003] Данная сущность изобретения предоставлена для того, чтобы представлять в упрощенной форме выбор концепций, которые дополнительно описаны ниже в подробном описании. Эта сущность не имеет намерением ни то, чтобы идентифицировать ключевые признаки или важнейшие признаки заявленного предмета изобретения, ни то, чтобы использоваться таким образом, что она ограничивает объем заявленного предмета изобретения.
[0004] Увеличение масштаба компьютерных сетей до миллионов серверов, виртуальных машин или других конечных точек может быть затруднительным на основе существующей сетевой технологии. По мере того, как возрастает число конечных точек, затраты на аппаратные средства и функциональная сложность могут увеличиваться до неуправляемых уровней. Например, вычисление сетевых маршрутов между парами миллионов конечных точек может требовать значительной вычислительной мощности и также может приводить к таблицам маршрутизации, которые превышают емкости запоминающих устройств маршрутизаторов. В других примерах, может быть затруднительным реализовывать технологии управления сетевым трафиком (например, организацию трафика или балансировку нагрузки) для миллионов или десятков миллионов конечных точек. Например, вычисление сетевых маршрутов (или туннелей) для организации трафика, выделение полосы пропускания сети для туннелей организации трафика или другие аналогичные недетерминированно-полиномиальные полные ("NP-полные") задачи могут быть сложными, когда число конечных точек становится большим.
[0005] Несколько вариантов осуществления настоящей технологии позволяют повышать масштабируемость компьютерных сетей посредством сегментации компьютерных сетей на различные физические или перекрывающиеся домены, соединенные между собой в аппаратно- или программно-конфигурируемой иерархии. Функции плоскости управления (например, вычисление сетевых маршрутов) и/или функции плоскости перенаправления (например, маршрутизация, перенаправление, коммутация) могут быть сегментированы и выполнены отдельно на основе домена на основе (1) конфигурации сети конкретного домена (например, конечных точек и/или доменов нижнего уровня в конкретном домене); и (2) одного или более доменов верхнего уровня, соединенных с конкретным доменом в иерархии. Таким образом, конкретный домен может управлять различными сетевыми операциями домена без проблем относительно конечных точек или сетевых узлов в любых других доменах иерархии. Как результат, конфигурация и работа сети может быть сегментирована, чтобы уменьшать затраты на аппаратные средства и функциональную сложность, даже когда общий размер компьютерных сетей увеличивается. Другие варианты осуществления настоящей технологии направлены на идентификацию конечных точек в компьютерной сети на основе, по меньшей мере, части физического местоположения, в котором расположена каждая из конечных точек.
Краткое описание чертежей
[0006] Фиг. 1A и 1B являются принципиальными схемами, иллюстрирующими иерархическую сегментацию компьютерной сети в соответствии с вариантами осуществления настоящей технологии.
[0007] Фиг. 2 является принципиальной схемой, иллюстрирующей примерный вариант применения технологии иерархической сегментации на фиг. 1A к компьютерной сети для центра обработки и хранения данных или нескольких центров обработки и хранения данных в соответствии с вариантами осуществления настоящей технологии.
[0008] Фиг. 3 является принципиальной схемой, иллюстрирующей операции компьютерной сети на фиг. 2 с использованием примерных идентификаторов конечных точек в соответствии с вариантами осуществления настоящей технологии. Определенные части компьютерной сети на фиг. 2 опускаются для ясности.
[0009] Фиг. 4 является блок-схемой, показывающей примерные программные компоненты сетевого контроллера на фиг. 3 в соответствии с вариантами осуществления настоящей технологии.
[0010] Фиг. 5A и 5B являются блок-схемами, иллюстрирующими примерные идентификаторы конечных точек, имеющие секции, размещенные в стеке в соответствии с вариантами осуществления настоящей технологии.
[0011] Фиг. 6 является блок-схемой, иллюстрирующей один пример одной из секций на фиг. 5A или 5B в соответствии с вариантами осуществления настоящей технологии.
[0012] Фиг. 7 является принципиальной схемой, иллюстрирующей один пример идентификатора конечной точки с использованием IP-адресов в соответствии с вариантами осуществления настоящей технологии.
[0013] Фиг. 8 является блок-схемой последовательности операций способа, иллюстрирующей вариант осуществления процесса конфигурирования сегментированной компьютерной сети в соответствии с вариантами осуществления настоящей технологии.
[0014] Фиг. 9A является блок-схемой последовательности операций способа, иллюстрирующей вариант осуществления процесса управления исходящей связью в домене в соответствии с вариантами осуществления настоящей технологии.
[0015] Фиг. 9B является блок-схемой последовательности операций способа, иллюстрирующей вариант осуществления процесса управления входящей связью в домене в соответствии с вариантами осуществления настоящей технологии.
[0016] Фиг. 10 является вычислительным устройством, подходящим для определенных компонентов компьютерной сети на фиг. 1A.
Подробное описание изобретения
[0017] Ниже описываются конкретные варианты осуществления систем, устройств, компонентов, модулей, процедур и процессов для конфигурирования и управления компьютерными сетями. В нижеприведенном описании, конкретные подробности компонентов включены для того, чтобы предоставлять полное понимание конкретных вариантов осуществления настоящей технологии. Специалисты в данной области техники также должны понимать, что технология может иметь дополнительные варианты осуществления. Технология также может осуществляться на практике без некоторых подробностей вариантов осуществления, описанных ниже со ссылкой на фиг. 1A-10.
[0018] При использовании в данном документе, термин "компьютерная сеть", в общем, означает соединительную сеть, имеющую множество сетевых узлов, которые соединяют множество конечных точек между собой и с другими сетями (например, Интернет). Термин "сетевой узел", в общем, означает физическое или программно-эмулированное сетевое устройство. Примерные сетевые узлы включают в себя маршрутизаторы, коммутаторы, концентраторы, мосты, модули балансировки нагрузки, шлюзы безопасности, брандмауэры, модули преобразования сетевых имен или серверы имен. Каждый сетевой узел может быть ассоциирован с идентификатором сетевого узла, имеющим различающееся значение в компьютерной сети.
[0019] Также при использовании в данном документе, термин "плоскость управления" компьютерной сети, в общем, означает часть сетевой архитектуры, которая относится к определению назначений и/или способов, которыми сетевой трафик переносится в компьютерной сети. Плоскость управления может включать в себя вычисление, конфигурирование и/или управление таблицами маршрутизации или перенаправления в сетевых узлах с использованием централизованного контроллера или протоколов распределенной маршрутизации или перенаправления, например, BGP, OSPF, ISIS, LDP, RSVP и т.д. Другие функции плоскости управления также могут включать в себя выделение полосы пропускания, управление трафиком, управление перегрузкой, вычисление способов защиты сетевых маршрутов, восстановление после сбоя, конфигурирование, управление системой, аналитику и/или другие сетевые операции.
[0020] Термин "плоскость перенаправления" компьютерной сети, в общем, означает другую часть сетевой архитектуры, которая переносит сетевой трафик. Плоскость перенаправления перенаправляет сетевой трафик в следующий перескок по сетевому маршруту или тракту перенаправления, устанавливаемому согласно логике или протоколам плоскости управления. Пакеты плоскости перенаправления проходят через сетевые узлы, которые используют таблицы перенаправления, устанавливаемые посредством плоскости управления, чтобы выполнять маршрутизацию, коммутацию и транспортировку сообщений, таких как пакеты в каждом сетевом узле.
[0021] Термин "конечная точка", в общем, означает физическое или программно-эмулированное вычислительное устройство. Примерные конечные точки включают в себя сетевые серверы, сетевые устройства хранения данных, персональные компьютеры, мобильные вычислительные устройства (например, смартфоны) или виртуальные машины. Каждая конечная точка может быть ассоциирована с идентификатором конечной точки, который может иметь различающееся значение в компьютерной сети. Примеры идентификаторов конечных точек (или идентификаторов сетевых узлов) могут включать в себя, по меньшей мере, часть метки, используемой в сети с многопротокольной коммутацией по меткам (MPLS), стек меток, используемых в MPLS-сети, один или более адресов согласно Интернет-протоколу (IP), один или более виртуальных IP-адресов, один или более тегов в виртуальной локальной вычислительной сети, один или более адресов на уровне управления доступом к среде, один или более лямбда-идентификаторов, один или более соединительных трактов, один или более идентификаторов физических интерфейсов либо один или более заголовков или конвертов пакетов.
[0022] Термин "домен", в общем, означает физический или логический сегмент компьютерной сети. Домен может включать в себя выбранное число сетевых узлов, соединенных между собой и/или с определенным числом конечных точек в компьютерной сети. Домен также может соединяться с одним или более доменов верхнего уровня, которые включают в себя определенное число дополнительных сетевых узлов, которые соединяют конкретный домен с другими доменами на идентичных или разных уровнях в иерархии доменов. В нижеприведенном описании, программно-конфигурируемая сеть (SDN) с использованием одного или более SDN-контроллеров используется для того, чтобы иллюстрировать варианты осуществления сегментации компьютерной сети. Тем не менее, в других вариантах осуществления, один или более доменов компьютерной сети представляют собой, по меньшей мере, частично распределенную компьютерную сеть, которая использует протоколы распределенной маршрутизации и/или перенаправления.
[0023] Отдельные сетевые узлы и конечные точки в домене могут отдельно содержать таблицу перенаправления, которая указывает способы перенаправления сообщений (например, пакетов данных) в другую конечную точку в компьютерной сети. В конкретных вариантах осуществления, таблица перенаправления может включать в себя множество записей, отдельно указывающих сетевой маршрут, тракт перенаправления, физический интерфейс или логический интерфейс, соответствующий конкретному значению идентификатора конечной точки. Примерная запись может заключаться в следующем с подходящими значениями для каждого идентификатора:
В конкретных вариантах осуществления, входящий идентификатор и исходящий идентификатор могут иметь различные значения. В связи с этим, по меньшей мере, часть идентификатора конечной точки может изменяться в связи с перенаправлением сообщения из сетевого узла. В других вариантах осуществления, входящий идентификатор и исходящий идентификатор могут иметь идентичные значения, и примерная запись вместо этого может заключаться в следующем:
В дополнительных вариантах осуществления, таблица перенаправления может включать в себя множество записей, которые отдельно ссылаются на записи в одной или более других таблиц на основе конкретного значения идентификатора конечной точки.
[0024] Увеличение масштаба компьютерных сетей с тем, чтобы соединять большое число конечных точек, может быть затруднительным или даже невозможным на основе существующей сетевой технологии. Например, вычисление сетевых маршрутов между парами миллионов конечных точек в компьютерной сети может приводить к таблицам маршрутизации, которые превышают емкости запоминающих устройств всех существующих маршрутизаторов. В другом примере, может быть затруднительным реализовывать технологии организации трафика, поскольку вычисление туннелей организации трафика является NP-полной задачей.
[0025] Несколько вариантов осуществления настоящей технологии позволяют повышать масштабируемость компьютерных сетей посредством сегментации компьютерной сети на различные домены, соединенные между собой в иерархии. Отдельные домены могут включать в себя управляемое число (например, 256, 512, 1024 или другие подходящие числа) конечных точек, отдельно идентифицированных посредством идентификатора конечной точки. В конкретных вариантах осуществления, идентификаторы конечных точек могут отдельно иметь различающееся значение, соответствующее конечным точкам в конкретном домене и одном или более доменов верхнего уровня, с которыми соединен конкретный домен. Ниже описываются примеры идентификаторов конечных точек со ссылкой на фиг. 5-7.
[0026] Функции плоскости управления (например, вычисление сетевых маршрутов) и/или функции плоскости перенаправления (например, маршрутизация, перенаправление, коммутация) могут быть сегментированы и выполнены отдельно на основе домена на основе (1) конфигурации сети конкретного домена (например, конечных точек и/или доменов нижнего уровня в конкретном домене); и (2) одного или более доменов верхнего уровня, соединенных с конкретным доменом в иерархии. Например, если целевая конечная точка пакета находится в домене, идентичном домену инициирующей конечной точки, пакет может перенаправляться непосредственно в целевую конечную точку в идентичном домене согласно предварительно вычисленному сетевому маршруту. Для пакетов, предназначенных в конечные точки не в идентичном домене, пакеты могут перенаправляться в один или более доменов верхнего уровня, которые, в свою очередь, независимо выполняют дополнительную маршрутизацию, перенаправление или другую обработку пакетов на основе идентификаторов конечных точек. Таким образом, конкретный домен, возможно, должен распознавать только (1) конечные точки в конкретном домене (включающем в себя все домены нижнего уровня) и (2) конечные точки одного или более доменов верхнего уровня, чтобы независимо выполнять различные функции плоскости управления и/или плоскости перенаправления. Как результат, инициирующий домен может управлять различными сетевыми операциями в домене без проблем относительно сетевых операций в других доменах иерархии. Таким образом, конфигурация и/или работа сети в каждом сегментированном домене может поддерживаться в управляемом уровне, даже когда общий размер компьютерной сети увеличивается.
[0027] Фиг. 1A является принципиальной схемой, иллюстрирующей иерархическую сегментацию компьютерной сети 100 на множество доменов в иерархии в соответствии с вариантами осуществления настоящей технологии. Как показано на фиг. 1A компьютерная сеть 100 может включать в себя базовый домен 102 (идентифицированный как D0), соединяющий один или более доменов 104 первого уровня (идентифицированных отдельно как D1-1 и D1-2). Домены 104 первого уровня могут включать в себя один или более доменов 106 второго уровня (идентифицированных отдельно как D2-1 и D2-2), которые, в свою очередь, могут включать в себя одну или более конечных точек 108 (идентифицированных как EP) и один или более сетевых узлов 112. На фиг. 1A, три доменных уровня и конкретные числа доменов на каждом уровне показаны в качестве иллюстрации. В других вариантах осуществления, компьютерная сеть 100 может быть сегментирована на любые подходящие уровни доменов с подходящими числами доменов и/или конечных точек на каждом уровне.
[0028] Базовый домен 102 может включать в себя один или более сетевых узлов 112, соединенных между собой. Два сетевых узла 112 показаны на фиг 1A в качестве иллюстрации. В других вариантах осуществления, базовый домен 102 может включать в себя любое подходящее число сетевых узлов 112 и/или других подходящих компонентов. Сетевые узлы 112 могут включать в себя различные компоненты вычисления и/или связи, чтобы упрощать связь между парами конечных точек 108 в доменах нижнего уровня. Например, сетевые узлы 112 базового домена 102 могут включать в себя один или более маршрутизаторов с коммутацией по меткам, модулей высокоплотного мультиплексирования с разделением по длине волны в сетях дальней связи, динамических контекстных маршрутизаторов, интерфейсных процессоров сообщений и/или других подходящих компонентов.
[0029] Компьютерная сеть 100 также может включать в себя один или более граничных узлов между парами доменов на смежных уровнях в иерархии. При использовании в данном документе, граничный узел, в общем, означает сетевой узел между доменом нижнего уровня и соединенным доменом верхнего уровня. Граничный узел представляет собой как (1) назначение для домена верхнего уровня, так и (2) точку входа для домена нижнего уровня, или наоборот. Например, домен D1-1 первого уровня может включать в себя граничный узел 114 первого уровня (идентифицированный как EN1), который взаимодействует с базовым доменом 102. Домен D1-1 первого уровня также может включать в себя граничный узел 114 второго уровня (идентифицированный как EN2-1), который взаимодействует с доменом D2-1 второго уровня, и еще один граничный узел 114 второго уровня (идентифицированным как EN2-2), который взаимодействует с доменом D2-2 второго уровня. Домен D1-2 первого уровня может включать в себя граничный узел 114 первого уровня (идентифицированный как EN1-2), который взаимодействует с базовым доменом D0, и граничный узел 114 второго уровня (идентифицированный как EN2-3), который взаимодействует с доменом D2-3 второго уровня.
[0030] Как подробнее описано ниже, любые конечные точки 108 в конкретном домене в иерархии могут достигать других конечных точек 108 в других доменах посредством идентификации одного или более граничных узлов на нижнем уровне иерархии и одного или более граничных узлов на верхнем уровне иерархии относительно конкретного домена. Например, конечная точка 108 в домене D1-1 первого уровня может достигать любых других конечных точек 108 в иерархии посредством распознавания (1) граничного узла EN1-1 первого уровня и (2) граничного узла EN2-1 и EN2-2 второго уровня.
[0031] Даже если только один граничный узел 114 показан между парами доменов на смежных уровнях на фиг. 1A, в конкретных вариантах осуществления, отдельные граничные узлы 114 могут включать в себя группу граничных узлов 114, имеющих идентичное состояние перенаправления (например, целевой перескок или тракт перенаправления в компьютерной сети 100). Например, как показано на фиг. 1B, домен D1-1 первого уровня включает в себя группу граничных узлов 114, идентифицированных как EN1-1-1 - EN1-1-X. Домен D1-2 первого уровня включает в себя группу граничных узлов 114, идентифицированных как EN1-2-1 - EN1-2-Y. В других примерах, граничные узлы EN2-1, EN2-2 и EN2-3 второго уровня также могут включать в себя группу граничных узлов (не показаны). В конкретных вариантах осуществления, пакеты из конкретного домена могут проходить через любой из граничных узлов 114 в группе граничных узлов, чтобы достигать требуемого назначения. Например, конечная точка 108 в домене D1-1 первого уровня может достигать любых конечных точек 108 в домене D2-3 второго уровня через любой из граничных узлов EN1-1-1 - EN1-1-X. В других вариантах осуществления, пакеты из конкретного домена могут проходить через конкретный один из граничных узлов 114 в группе граничных узлов с использованием таких технологий, как организация трафика. В дополнительных вариантах осуществления, пакеты из конкретного домена могут проходить через граничные узлы 114 в группе граничных узлов другими подходящими способами.
[0032] Возвращаясь к фиг. 1A, каждый домен компьютерной сети 100 может независимо управлять функциями плоскости управления (например, вычислением сетевых маршрутов) и/или функциями плоскости перенаправления (например, маршрутизацией, перенаправлением, коммутацией) на основе (1) конфигурации сети конечных точек 108 в конкретном домене и (2) позиции и возможностей подключений домена в иерархии. Например, таблица перенаправления для домена D2-1 второго уровня может вычисляться на основе (1) конфигурации конечных точек 108 в домене D2-1 второго уровня и (2) идентификационных данных его доменов верхнего уровня (т.е. домена D1-1 первого уровня и базового домена D0). Например, таблица перенаправления может включать в себя записи, указывающие один или более сетевых маршрутов (например, через сетевой узел 112 или другие сетевые узлы (не показаны)) из инициирующей конечной точки 108 в домене D2-1 в целевую конечную точку 108 в идентичном домене. В конкретных вариантах осуществления, таблицы перенаправления в граничных узлах 114 могут содержать сетевые маршруты во все конечные точки 108 в конкретном домене, тогда как таблицы перенаправления в других сетевых узлах 112 в домене могут содержать сетевые маршруты только в часть конечных точек 108. В других вариантах осуществления, таблицы перенаправления во всех граничных узлах 114 и сетевых узлах 112 могут содержать сетевые маршруты во все конечные точки 108 в конкретном домене.
[0033] Продолжая предыдущий пример, таблица перенаправления также может включать в себя одну или более записей, которые указывают сетевой маршрут для всех целевых конечных точек 108, которые не находятся в домене D2-1 второго уровня. Например, все целевые конечные точки 108 в домене D2-2 второго уровня могут иметь идентичный сетевой маршрут в домене D2-1 второго уровня, который указывает на граничный узел EN2-1 второго уровня. Все целевые конечные точки 108 в домене D2-3 второго уровня могут иметь идентичный сетевой маршрут, который указывает на граничный узел EN2-1 второго уровня, граничный узел EN1-1 первого уровня или один из сетевых узлов 112. Таким образом, посредством указания одного сетевого маршрута для нескольких целевых конечных точек 108 в других доменах, несколько целевых конечных точек 108 могут считаться "агрегированными" в одно (или ограниченное число) назначение(я). Таким образом, таблица перенаправления для домена D2-1 второго уровня может включать в себя управляемое число записей (например, менее 3000 записей). Как результат, может исключаться дорогостоящее оборудование для сетевых узлов в первом домене D2-1 второго уровня, и может уменьшаться функциональная сложность по сравнению с традиционными технологиями.
[0034] Домен D1-1 первого уровня также может включать аналогичную таблицу перенаправления в свои сетевые узлы (например, в граничный узел 114 первого уровня). Таблица перенаправления может включать в себя записи, которые указывают один или более сетевых маршрутов из инициирующего домена нижнего уровня (например, домена D2-1 второго уровня) в целевой домен нижнего уровня (например, в домен D2-2 второго уровня) в идентичном домене. Если целевой домен нижнего уровня не находится в домене D1-1 первого уровня, домен D1-1 первого уровня может указывать сетевой маршрут, например, в граничный узел EN1-1 в базовом домене 102. Базовый домен 102 также может включать другую таблицу перенаправления в сетевые узлы 112, имеющие записи, указывающие сетевой маршрут в домен нижнего уровня, аналогично доменам D1-1 первого уровня.
[0035] Таблицы перенаправления доменов в компьютерной сети 100 также могут включать в себя записи, указывающие сетевой маршрут для входящих сообщений в конкретные целевые конечные точки 108 в конкретном домене. Например, таблица перенаправления в домене D1-2 первого уровня может включать в себя запись, которая указывает сетевой маршрут из граничного узла EN1-2 первого уровня в граничный узел EN2-3 второго уровня для всех конечных точек 108 в домене D2-3 второго уровня. Таблица перенаправления в домене D2-3 второго уровня затем может включать один или более сетевых маршрутов для каждой из конечных точек 108 в этот домен. Ниже пояснены несколько примеров для того, чтобы иллюстрировать примерные операции компьютерной сети 100. В других вариантах осуществления, компьютерная сеть 100 может иметь другие подходящие рабочие последовательности, условия и/или другие характеристики.
[0036] При работе, сетевой узел 112 (или граничный узел 114) в домене может принимать пакет с ассоциированным идентификатором целевой конечной точки из инициирующей конечной точки 108 (например, конечной точки 108 в домене D2-1 второго уровня). Сетевой узел 112 (или граничный узел EN2-1) сравнивает значение идентификатора целевой конечной точки с записями в своей таблице перенаправления и определяет сетевой маршрут для перенаправления пакета. Если назначение (например, конечная точка 108') находится в идентичном домене (т.е. в домене D2-1 второго уровня), одна из записей может указывать сетевой маршрут для того, чтобы непосредственно перенаправлять сообщение в конечную точку 108', например, через сетевой узел 112.
[0037] Если назначение (например, конечная точка 108'' в домене D2-3) не находится в домене, идентичном домену инициирующей конечной точки 108, записи могут указывать сетевой маршрут, указывающий в домен верхнего уровня (например, домен D1-1 первого уровня). Как результат, сетевой узел 112 перенаправляет пакет в граничный узел EN2-1. В домене D1-1 первого уровня, граничный узел EN2-1 сравнивает значение идентификатора целевой конечной точки с записями своей таблицы перенаправления и определяет сетевой маршрут в граничный узел EN1-1 в базовом домене 102. В базовом домене 102, граничный узел EN1-1 сравнивает значение идентификатора целевой конечной точки с записями своей таблицы перенаправления и определяет сетевой маршрут через один или более сетевых узлов 112 в граничный узел EN1-2.
Граничный узел EN1-2, в свою очередь, определяет сетевой маршрут в граничный узел EN2-3, который затем определяет маршрут для того, чтобы перенаправлять сообщение в конечную точку 108''.
[0038] Как пояснено выше, каждый из доменов и ассоциированных доменов нижнего уровня в компьютерной сети 100 может независимо управлять собственными сетевыми операциями. Например, каждый из доменов может независимо управлять функциями плоскости управления и/или функциями плоскости перенаправления на основе конфигурации сети конкретного домена и одного или более доменов верхнего уровня, соединенных с конкретным доменом. Таким образом, сетевые операции конкретного домена могут зависеть от сведений по состоянию сети не всей компьютерной сети, а вместо этого по состоянию сети конкретного домена. Термин "состояние сети", в общем, означает идентификацию и соединение сетевых узлов и/или конечных точек, текущее рабочее состояние сетевых узлов и/или конечных точек (например, активная/неактивная линия связи и т.д.), выделение полосы пропускания в компьютерной сети и/или другие подходящие данные, связанные с условиями и/или характеристикой компьютерной сети. Как результат, расширение компьютерной сети 100 имеет ограниченное или вообще не имеет влияния на функциональную сложность существующих доменов. Например, если компьютерная сеть 100 расширена таким образом, что она включает в себя другой домен D2-4 второго уровня (показан пунктирными линиями для ясности), операции других доменов 106 второго уровня требуют только ограниченного регулирования. Например, таблицы перенаправления в доменах D2-1, D2-2 и D2-3 второго уровня, возможно, должны обновляться, чтобы распознавать дополнительные конечные точки 108 в новом домене D2-4 второго уровня. Тем не менее, число записей в таблице перенаправления не должно существенно увеличиваться, поскольку дополнительные конечные точки в новом домене D2-4 могут быть "агрегированы" с другими конечными точками не в отдельных доменах. Как результат, компьютерная сеть 100 может быть расширена таким образом, что она включает в себя миллионы или десятки миллионов конечных точек 108 при общем поддержании аналогичных уровней функциональной сложности в каждом домене.
[0039] Фиг. 2 является принципиальной схемой, иллюстрирующей примерный вариант применения технологии иерархической сегментации на фиг. 1A к компьютерной сети 100 для центра обработки и хранения данных или нескольких центров обработки и хранения данных в соответствии с вариантами осуществления настоящей технологии. Как показано на фиг. 2, компьютерная сеть 100 может включать в себя базовый домен 102, имеющий один или более сетевых узлов 112. Компьютерная сеть 100' также может включать в себя один или более доменов 104 первого уровня. Два домена 104 первого уровня показаны на фиг 2 в качестве иллюстрации и отдельно идентифицируются в качестве доменов D1-1 и D1-2. В проиллюстрированном варианте осуществления, домен D1-1 первого уровня включает в себя два домена 106 второго уровня (отдельно идентифицированных как D2-1 и D2-2). Домен D1-2 первого уровня включает в себя один домен D2-3 второго уровня. В других вариантах осуществления, домены 104 первого уровня могут включать в себя другое подходящее число доменов и/или конечных точек.
[0040] Домены 106 второго уровня могут отдельно включать в себя одну или более конечных точек 108, один или более граничных узлов 114 и один или более сетевых узлов 112, соединяющих конечные точки 108 с граничными узлами 114. В одном варианте осуществления, сетевые узлы 112 могут отдельно включать в себя стоечный (TOR) маршрутизатор или коммутатор верхнего уровня. В других вариантах осуществления, сетевой узел 112 может включать в себя мост, шлюз или другое подходящее устройство связи. В проиллюстрированном варианте осуществления, каждый из доменов 106 второго уровня включает в себя два граничных узла 114 (например, граничные узлы EN2-1 и EN2-1'), формирующие группу граничных узлов. В конкретных вариантах осуществления, к граничным узлам 114 в группе граничных узлов может осуществляться доступ случайно, например, для пакетов не для организации трафика. В других вариантах осуществления, один из граничных узлов 114 в группе граничных узлов может конкретно идентифицироваться и указываться, чтобы обрабатывать, например, пакеты для организации трафика. В дополнительных вариантах осуществления, к граничным узлам 114 может осуществляться доступ другими подходящими способами на основе любых других подходящих критериев. В любом из вышеприведенных вариантов осуществления, может использоваться идентичный идентификатор конечной точки, как подробнее описано ниже со ссылкой на фиг. 3.
[0041] Как показано на фиг. 2, отдельные домены в компьютерной сети 100' могут включать в себя сетевой контроллер 110 (упоминаемый в данном документе как "контроллер"), адаптированный с возможностью конфигурировать, отслеживать и/или управлять сетевыми операциями в конкретном домене. В проиллюстрированном варианте осуществления, сетевые контроллеры 110 показаны как отдельные вычислительные устройства. В других вариантах осуществления, сетевые контроллеры 110 могут представлять собой сервер или виртуальную машину в одной из конечных точек 108. В дополнительных вариантах осуществления, несколько доменов (например, домены D2-1 и D2-2 второго уровня) могут совместно использовать общий сетевой контроллер 110. Ниже подробнее поясняются примеры контроллеров 110 со ссылкой на фиг. 4.
[0042] Иерархическая сегментация, показанная на фиг. 2, может быть наложена на один или более центров обработки и хранения данных различными способами. Например, в конкретных вариантах осуществления, иерархическая сегментация, показанная на фиг. 2, может быть наложена на один центр обработки и хранения данных с базовым доменом 102, включающим в себя один или более широкополосных T3-коммутаторов центра обработки и хранения данных. Домены 106 первого уровня могут включать в себя T2-коммутаторы, которые соединяются с доменами 106 второго уровня, имеющими T1- и/или TOR-коммутаторы. В других вариантах осуществления, домены 104 первого уровня могут включать в себя T2- и T1-коммутаторы, тогда как домены 106 второго уровня включают в себя TOR-коммутаторы. В другом примере, иерархическая сегментация, показанная на фиг. 2, также может быть наложена на несколько центров обработки и хранения данных. Например, базовый домен 102 может включать в себя базовую сеть, соединяющую несколько центров обработки и хранения данных и широкополосных T3-коммутаторов. В каждом центре обработки и хранения данных, домены первого уровня могут включать в себя T2-коммутаторы, тогда как домены второго уровня могут включать в себя T1- и/или TOR-коммутаторы. В дополнительных примерах, сегментированная компьютерная сеть 100' может включать в себя дополнительные и/или другие уровни сегментации.
[0043] В конкретных вариантах осуществления, каждая конечная точка 108 в компьютерной сети 100' может четко идентифицироваться посредством значения идентификатора 120 конечной точки, имеющего множество секций, размещаемых в стеке. Каждая из секций может соответствовать физическому или логическому местоположению конечной точки 108. Например, как показано на фиг. 3, целевая конечная точка 108'' в домене D2-3 второго уровня может четко идентифицироваться посредством стека, имеющего четыре секции 122a-122d, каждая из которых соответствует физическому или логическому местоположению конечной точки 108''. В проиллюстрированном примере, каждый уровень домена в иерархии ассоциирован с секцией идентификатора 120 краевой точки и может использоваться для того, чтобы достигать одного или более соответствующих граничных узлов 114, ассоциированных с конкретным доменом. Например, первая секция 122a имеет значение, соответствующее базовому домену 102 с примерным значением 38. Вторая секция 122b имеет значение, соответствующее домену D1-2 первого уровня с примерным значением 63. Третья секция 122c имеет значение, соответствующее домену D2-3 второго уровня. Четвертая секция 122d имеет значение, соответствующее серверной или виртуальной машине в конечной точке 108'' с примерным значением 14. В других вариантах осуществления, идентификатор конечной точки также может включать в себя одну секцию или составной идентификатор конечной точки, имеющий множество идентификаторов конечных точек, как показано на фиг. 5. В дополнительных вариантах осуществления, конечные точки 108 могут идентифицироваться другими подходящими способами и/или значениями, один пример с использованием IP-адресов показан на фиг 7.
[0044] Нижеприведенное пояснение иллюстрирует примерные операции для перенаправления пакета из конечной точки 108 в домене D2-1 второго уровня в конечную точку 108'' в другом домене D2-3 второго уровня. При работе, конечная точка 108 может формировать пакет с идентификатором 120 конечной точки и рабочие данные 124, например, на основе IP-адреса или других подходящих идентификационных данных целевой конечной точки 108'' в домене D2-3. Идентификатор 120 конечной точки может включать в себя значение для каждой из секций 122a-122d, как пояснено выше. В проиллюстрированном варианте осуществления, конечная точка 108 перенаправляет сформированный пакет в сетевой узел 112. Сетевой узел 112 сравнивает значение в верхней секции идентификатора 120 конечной точки (т.е. первой секции 122a) с записями в таблице перенаправления (не показана) в сетевом узле 112, чтобы определять тракт перенаправления или следующий перескок для перенаправления пакета. Например, в одном варианте осуществления, значение 38 может соответствовать, в частности, тракту перенаправления в граничный узел EN2-1 второго уровня, который, в свою очередь, сравнивает верхнюю секцию идентификатора 120 конечной точки со своей таблицей перенаправления, чтобы определять другой тракт перенаправления в граничный узел EN1-1 первого уровня. В других вариантах осуществления, значение 38 может соответствовать группе граничных узлов, включающей в себя граничные узлы EN2-1 и EN2-1'. В таком варианте осуществления, один из граничных узлов EN2-1 и EN2-1' может выбираться, чтобы перенаправлять пакет случайно, например, с использованием хэш-функции или другими подходящими способами.
[0045] Граничный узел EN1-1 первого уровня затем перенаправляет сообщение в один или более сетевых узлов 112 в базовом домене 102. Один или более сетевых узлов 112 сравнивают верхнюю секцию с записями в своей таблице перенаправления, удаляют верхнюю секцию (т.е. первую секцию 122a) и перенаправляют сообщение в граничный узел EN1-2 первого уровня. Граничный узел EN1-2 первого уровня затем сравнивает верхнюю секцию (т.е. вторую секцию 122b) с записями в своей таблице перенаправления, удаляет верхнюю секцию (т.е. вторую секцию 122b) и перенаправляет сообщение в граничный узел EN2-3 второго уровня или группу граничных узлов, содержащую граничные узлы EN2-3 и EN2-3'. Граничный узел EN2-3 (или EN2-3') второго уровня затем сравнивает верхнюю секцию (т.е. третью секцию 122c) с записями в своей таблице перенаправления, удаляет верхнюю секцию (т.е. третью секцию 122c) и перенаправляет сообщение в сетевой узел 112' в домене D2-3. Сетевой узел 112' затем сравнивает верхнюю секцию (т.е. четвертую секцию 122d) с записями в своей таблице перенаправления, удаляет верхнюю секцию (т.е. четвертую секцию 122d) и перенаправляет рабочие данные сообщения в конечную точку 108''.
[0046] В вариантах осуществления, поясненных выше, сетевые узлы 112, граничные узлы EN2-1, EN1-1, EN1-2, EN2-3 не модифицируют верхнюю секцию идентификатора 120 конечной точки в ходе сетевой обработки. В других вариантах осуществления, по меньшей мере, один из вышеприведенных компонентов может переставлять значение верхней секции идентификатора 120 конечной точки до перенаправления пакета по определенному сетевому маршруту. Перестановка может записываться и сохраняться в соответствующих компонентах. В дополнительных вариантах осуществления, конечная точка 108 может перенаправлять сообщение непосредственно в граничные узлы 114 без прохождения через сетевые узлы 112. В еще одних дополнительных вариантах осуществления, граничные узлы EN1-2, EN2-3 и сетевой узел 112' могут выполнять соответствующие функции перенаправления без удаления верхней секции идентификатора 120 конечной точки, например, посредством идентификации того, какая секция идентификатора 120 конечной точки соответствует конкретному домену и ассоциированным граничным узлам 114.
[0047] В другом примере, конечная точка 108 в домене D2-1 второго уровня также может передавать пакет в конечную точку 108' в идентичном домене аналогичным образом. Например, конечная точка 108 в домене D2-1 второго уровня может формировать пакет с идентификатором 120 конечной точки и рабочие данные 124. Идентификатор 120 конечной точки может включать в себя только одну секцию (например, четвертая секция 122d) наличие значения (например, 22), который соответствует в конечную точку 108'. Конечная точка 108 затем передает пакет с идентификатором 120 конечной точки и рабочие данные в 124 в сетевой узел 112. Сетевой узел 112 сравнивает значение в верхней секции идентификатора 120 конечной точки (т.е. в четвертой секции 122d) с записями в таблице перенаправления, удаляет верхнюю секцию идентификатора 120 конечной точки и перенаправляет пакет в конечную точку 108' по определенному тракту перенаправления.
[0048] Фиг. 4 является блок-схемой, показывающей примерные программные компоненты контроллера 110 на фиг. 3 в соответствии с вариантами осуществления настоящей технологии. На фиг. 4 и на других чертежах в дальнейшем в этом документе, отдельные программные компоненты, модули и процедуры могут представлять собой компьютерную программу, процедуру или процесс, написанный в качестве исходного кода на C, C++, C sharp, Java и/или других подходящих языках программирования. Компьютерная программа, процедура или процесс могут быть компилированы в объектный или машинный код и представлены для выполнения посредством процессора персонального компьютера, сетевого сервера, переносного компьютера, смартфона и/или других подходящих вычислительных устройств. Различные реализации исходного и/или объектного кода и ассоциированные данные могут сохраняться в компьютерном запоминающем устройстве, которое включает в себя постоянное запоминающее устройство, оперативное запоминающее устройство, носители хранения данных на магнитных дисках, оптические носители хранения данных, устройства флэш-памяти и/или другие подходящие носители хранения данных.
[0049] В конкретных вариантах осуществления, контроллер может включать в себя или функционально соединяться с базой данных или сетевым устройством хранения данных, содержащим записи состояния сети одного или более доменов иерархии. Записи состояния сети могут включать данные, связанные с идентификацией сетевых узлов, соединением сетевых узлов и/или конечных точек, текущим рабочим состоянием сетевых узлов и/или конечных точек (например, активная/неактивная линия связи и т.д.), выделением полосы пропускания в домене и/или другие подходящие сетевые данные. Как пояснено выше, посредством сегментации функций плоскости управления и/или функций плоскости перенаправления, мониторинг состояния сети каждого домена может упрощаться по сравнению с традиционными технологиями.
[0050] Как показано на фиг. 4, контроллер 110 может включать в себя компонент 130 вычисления маршрутов, компонент 132 выделения идентификаторов конечных точек, сервер 134 идентификаторов конечных точек, диспетчер 136 идентификаторов конечных точек и необязательный компонент 131 организации трафика, функционально соединенные между собой. Даже если конкретные компоненты контроллера 110 показаны на фиг 4, в других вариантах осуществления, контроллер 110 также может включать в себя один или более компонентов ввода-вывода и/или другие подходящие типы компонентов.
[0051] Компонент 130 вычисления маршрутов может быть сконфигурирован с возможностью вычислять сетевые маршруты в конкретном домене на основе ввода доменной конфигурации 140. Доменная конфигурация 140 может включать в себя информацию конечных точек, сетевых узлов, граничных узлов в конкретном домене, а также в одном или более доменов верхнего уровня в иерархии. Доменная конфигурация 140 может передаваться в контроллер 110 автоматически с использованием протокола сетевой связи, вводиться вручную оператором или другими подходящими способами. Компонент 130 вычисления маршрутов может реализовываться с различными технологиями вычисления маршрутов. Например, в одном варианте осуществления, сетевые маршруты могут вычисляться на основе кратчайшего маршрута от одной конечной точки в другую. В других вариантах осуществления, маршруты могут вычисляться на основе многотрактовой маршрутизации в зависимости от затрат, в которой группа трактов в эквивалентном классе перенаправления может быть указана с помощью одной записи (или нескольких записей). В дополнительных вариантах осуществления, маршруты могут вычисляться в сочетании с протоколами распределенной маршрутизации и/или другими подходящими технологиями.
[0052] Необязательный компонент 131 организации трафика может быть сконфигурирован с возможностью вычислять дополнительные маршруты в домене на основе технологий организации трафика. В конкретных вариантах осуществления, компонент 131 организации трафика может вычислять дополнительные маршруты в домене на основе характера сетевого трафика, измерений или моделирования трафика, топологии домена и/или других подходящих критериев. В других вариантах осуществления, контроллер 110 также может включать в себя компонент выделения полосы пропускания (не показан), который принимает запросы на полосу пропускания сети из исходной конечной точки в назначение и предоставляет запрос в компонент 131 организации трафика, чтобы определять тракты выделения и перенаправления, которые удовлетворяют запросам. В дополнительных вариантах осуществления, компонент 131 организации трафика может опускаться.
[0053] Компонент 132 выделения идентификаторов конечных точек может быть сконфигурирован с возможностью вычислять и выделять значения идентификаторов конечных точек каждой конечной точке в домене на основе ввода доменной конфигурации 140. В конкретных вариантах осуществления, значения идентификаторов конечных точек могут отдельно включать в себя множество секций в стеке. В других вариантах осуществления, значения идентификаторов конечных точек также могут включать в себя другую подходящую схему данных. Компонент 132 выделения идентификаторов конечных точек также может быть сконфигурирован с возможностью ассоциировать конкретное значение идентификаторов конечных точек с сетевым маршрутом, вычисленным посредством компонента 130 вычисления маршрутов и/или необязательного компонента 131 организации трафика.
[0054] Диспетчер 136 идентификаторов конечных точек может быть сконфигурирован с возможностью конфигурировать таблицы 137 перенаправления в сетевом узле(ах) 112 (и/или граничных узлах 114) в домене. Хотя не показано на фиг. 4, диспетчер 136 идентификаторов конечных точек и сетевые узлы 112 также могут включать в себя подходящие интерфейсы (например, интерфейс прикладного программирования (API)), чтобы упрощать связь. В конкретных вариантах осуществления, записи в таблицах 137 перенаправления могут формироваться статически. В связи с этим, записи в таблице 137 перенаправления могут вычисляться один раз. В других вариантах осуществления, записи в таблице 137 перенаправления могут обновляться периодически, непрерывно или другими подходящими способами.
[0055] Сервер 134 идентификации конечных точек может быть сконфигурирован с возможностью предоставлять значения идентификаторов конечных точек 120 при запросе посредством конечной точки 108. Значения идентификаторов конечных точек 120 могут использоваться посредством граничных узлов 114 (фиг. 1A), чтобы определять тракт перенаправления для отдельных пакетов, проходящих через граничные узлы 114. Например, в конкретных вариантах осуществления, инициирующая конечная точка 108 может выполнять запрос на сервер 134 идентификации конечных точек на предмет значения идентификатора 120 конечной точки, ассоциированного с целевой конечной точкой 108, через подходящий интерфейс (например, API). В ответ, сервер 134 идентификации конечных точек предоставляет запрашиваемое значение в инициирующую конечную точку 108. Запрашиваемое значение соответствует одной из записей в таблице 137 перенаправления в сетевом узле 112. Инициирующая конечная точка 108 затем может добавлять либо иным образом модифицировать сообщение или пакет с принимаемым значением идентификатора конечной точки, ассоциированного с целевой конечной точкой 108, и передавать сообщение в сетевой узел 112 для перенаправления.
[0056] Фиг. 5A является блок-схемой, иллюстрирующей примерный идентификатор 120 конечной точки, имеющий секции 122a-122d, размещаемые в соответствии с вариантами осуществления настоящей технологии. Как показано на фиг. 5A, идентификатор 120 конечной точки включает четыре секции 122a-122d в идентификаторе 120 конечной точки, отдельно идентифицированные как секции ID0, ID1, ID2 и ID3 и размещаемые согласно иерархии компьютерной сети. Например, в проиллюстрированном варианте осуществления, каждая из секций ID0, ID1, ID2 и ID3 может быть сконфигурирована с возможностью содержать значение, которое соответствует базовому домену D0 (фиг. 1A), домену первого уровня D1 (фиг. 1A), домену второго уровня D2 (фиг. 1A) и конечной точке 108, соответственно, в компьютерной сети 100, показанной на фиг. 1A. В других вариантах осуществления, по меньшей мере, одна из секций ID0, ID1, ID2 и ID3 может соответствовать различным и/или дополнительным доменам. В дополнительных вариантах осуществления, идентификатор 120 конечной точки может включать в себя два, три, пять или любое другое подходящее число секций. В еще одних дополнительных вариантах осуществления, идентификатор 120 конечной точки также может размещаться в очереди, списке, наборе или других подходящих структурах данных. В еще одних других вариантах осуществления, секции ID0, ID1, ID2 и ID3 могут соответствовать физическому местоположению, ассоциированному с конечной точкой в компьютерной сети, как подробнее описано ниже со ссылкой на фиг. 5B.
[0057] Фиг. 5B является блок-схемой, иллюстрирующей другой примерный идентификатор 120 конечной точки, имеющий секции 122a-122d в соответствии с вариантами осуществления настоящей технологии. Как показано на фиг. 5B, секции ID0, ID1, ID2 и ID3 могут соответствовать физическому местоположению, ассоциированному с конечной точкой. Например, секции ID0, ID1, ID2 и ID3, соответственно, могут соответствовать идентификатору 162 центра обработки и хранения данных, идентификатору 164 здания, идентификатору 166 помещения и идентификатору 168 сервера для сетевого сервера. Сетевой сервер, идентифицированный посредством идентификатора сервера, может физически находиться в помещении, идентифицированном посредством идентификатора 166 помещения, которое расположено в здании, идентифицированном посредством идентификатора 164 здания для центра обработки и хранения данных, идентифицированного посредством идентификатора 162 центра обработки и хранения данных. В других примерах, одна из секций ID0, ID1, ID2 и ID3 также может соответствовать идентификатору ряда, идентифицирующему ряд, в котором расположен сетевой сервер, или идентификатору стойки, идентифицирующему ряд, в котором расположен сетевой сервер. В еще одних дополнительных примерах, секция ID3 также может соответствовать идентификатору виртуальной машины, который идентифицирует виртуальную машину на сетевом сервере, например, который идентифицируется посредством идентификатора 168 сервера. В еще одних других примерах, идентификатор 120 конечной точки может иметь другое подходящее число секций 122 и/или соответствующих идентификаторов физических местоположений.
[0058] Фиг. 6 является блок-схемой, иллюстрирующей пример одной из секций 122a-122d на фиг. 5 в соответствии с вариантами осуществления настоящей технологии. Как показано на фиг. 6, секция 122 может включать в себя необязательный идентификатор 152 организации трафика и идентификатор 154 назначения. Идентификатор 152 организации трафика может быть сконфигурирован с возможностью содержать значение, указывающее то, что секция 122 ассоциирована с маршрутом, вычисленным посредством необязательного компонента 131 организации трафика (фиг. 4). Идентификатор 154 назначения может быть сконфигурирован с возможностью содержать значение, соответствующее домену, физическому местоположению, группе физических местоположений, конкретному сетевому узлу, группе сетевых узлов, конечной точке или другим подходящим элементам. В дополнительных вариантах осуществления, идентификатор 152 трафика может опускаться.
[0059] Фиг. 7 является принципиальной схемой, иллюстрирующей один пример идентификатора конечной точки с использованием IP-адреса 200 в соответствии с вариантами осуществления настоящей технологии. Как показано в проиллюстрированном варианте осуществления на фиг. 7, идентификатор 120 конечной точки может включать в себя IP-адрес 200, имеющий четыре секции 202, каждая из которых имеет определенное число битов (восемь показаны в качестве иллюстрации). Каждая из секций 202 может представлять и соответствовать доменам D0, D1 и D2 или конечной точке 108 в компьютерной сети 100, показанной на фиг. 2. В других вариантах осуществления, исходный IP-адрес, не назначаемый так, как показано на фиг. 7, может обрабатываться таким образом, что он соответствует виртуальному IP-адресу, к примеру, виртуальному IP-адресу, показанному на фиг. 7. В дополнительных вариантах осуществления, IP-адрес 200 может включать в себя другие подходящие форматы, к примеру, согласно IPv6.
[0060] Фиг. 8 является блок-схемой последовательности операций способа, иллюстрирующей вариант осуществления процесса конфигурирования сегментированной компьютерной сети в соответствии с вариантами осуществления настоящей технологии. Как показано на фиг. 8, процесс 300 может включать в себя прием, в каждом домене, конфигурационных данных конкретного домена и одного или более доменов верхнего уровня в компьютерной сети, сегментированной иерархически, как показано на фиг. 1A, на этапе 302. Конфигурационные данные могут включать в себя число и идентификационные данные конечных точек в домене, а также возможности подключений конечных точек. Конфигурационные данные также могут включать в себя данные подключений к домену верхнего уровня, к примеру, идентификационные данные граничного узла для домена верхнего уровня.
[0061] Процесс 300 также может включать в себя формирование сетевых маршрутов на основе принимаемых конфигурационных данных на этапе 304. В конкретных вариантах осуществления, маршруты могут вычисляться между парами конечных точек в домене. В других вариантах осуществления, один или более маршрутов могут вычисляться таким образом, что они направлены в граничный узел в домене верхнего уровня для конечных точек не в домене. Вычисленные маршруты затем могут сохраняться с идентификаторами конечных точек в таблице перенаправления для домена на этапе 306.
[0062] Фиг. 9A является блок-схемой последовательности операций способа, иллюстрирующей вариант осуществления процесса 400 управления исходящей связью и фиг. 9B является блок-схемой последовательности операций способа, иллюстрирующей процесс 500 управления входящей связью в домене в соответствии с вариантами осуществления настоящей технологии. Как пояснено ниже, конкретный домен может управлять входящей и исходящей связью независимо от других доменов, т.е. без проблем относительно маршрутизации, перенаправления или выполнения других сетевых операций в других доменах. Как показано на фиг. 9A, процесс 400 может включать в себя прием, например, в сетевом узле 112 (фиг. 1A) или граничном узле 114 (фиг. 1A) в конкретном домене, исходящего сообщения в целевую конечную точку на этапе 402. Процесс 400 также включает в себя сравнение идентификатора конечной точки, ассоциированного с принимаемым сообщением, с записями в таблице перенаправления в сетевом узле 112 или граничном узле 114 на этапе 404. Если предназначенная конечная точка находится в идентичном домене, таблица перенаправления включает в себя запись, которая указывает сетевой маршрут для того, чтобы непосредственно перенаправлять сообщение в целевую конечную точку. Процесс 400 затем включает в себя перенаправление сообщения в целевую конечную точку согласно указанному сетевому маршруту. Если предназначенная конечная точка не находится в идентичном домене, таблица перенаправления включает в себя запись, которая указывает другой сетевой маршрут для перенаправления сообщения в домены верхнего уровня. Процесс 400 затем включает в себя перенаправление сообщения в домены верхнего уровня на этапе 408.
[0063] Фиг. 9B является блок-схемой последовательности операций способа, иллюстрирующей вариант осуществления процесса 500 независимого управления входящей связью в домене в соответствии с вариантами осуществления настоящей технологии. Как показано на фиг. 9B, процесс 500 включает в себя прием, например, в граничном узле 114 (фиг. 1A) домена, входящего сообщения на этапе 502. Процесс 500 также включает в себя сравнение значения идентификатора конечной точки, ассоциированного с сообщением, с записями таблицы перенаправления в граничном узле 114 на этапе 504. В одном варианте осуществления, значение в верхней секции идентификатора конечной точки сравнивается с записями в таблице перенаправления. В других вариантах осуществления, вместо этого могут использоваться дополнительные и/или другие секции идентификатора конечной точки. Если назначение находится в домене, таблица перенаправления включает в себя запись, которая указывает сетевой маршрут в конечную точку, и процесс 500 включает в себя перенаправление сообщения в конечную точку согласно сетевому маршруту на этапе 506. Если назначение не находится в домене, таблица перенаправления включает в себя запись, которая указывает другой сетевой маршрут в домен нижнего уровня, и процесс 500 включает в себя перенаправление сообщения в домен нижнего уровня на этапе 508. В конкретных вариантах осуществления, процесс 500 необязательно может включать в себя удаление верхней секции в идентификаторе конечной точки до перенаправления сообщения в домен нижнего уровня. В других вариантах осуществления, верхняя секция может переставляться, поддерживаться и/или иным образом модифицироваться. Домен нижнего уровня (и домен нижнего уровня относительно домена нижнего уровня, если таковые имеются) может выполнять операции, в общем, аналогичные процессу 500, до тех пор пока сообщение не будет перенаправлено в целевую конечную точку.
[0064] Даже если таблица перенаправления использована в качестве примерной технологии для определения сетевого маршрута на фиг. 9A и 9B, в других вариантах осуществления, сетевой маршрут может определяться на произвольно организующейся основе. Например, в одном варианте осуществления, в ответ на прием входящего или исходящего сообщения, может выполняться определение, чтобы определять то, находится или нет целевая конечная точка, ассоциированная с сообщением, в конкретном домене. В других вариантах осуществления, определение может выполняться на постоянной основе, периодической основе или другой подходящей основе.
[0065] Фиг. 10 является вычислительным устройством 600, подходящим для определенных компонентов компьютерной сети 100 на фиг. 1A 3. Например, вычислительное устройство 600 может быть подходящим для конечных точек 108 по фиг. 1A или контроллера 110 по фиг. 2 и 3. В очень простой конфигурации 602, вычислительное устройство 600 типично включает в себя один или более процессоров 604 и системное запоминающее устройство 606. Шина 608 запоминающего устройства может использоваться для обмена данными между процессором 604 и системным запоминающим устройством 606.
[0066] В зависимости от требуемой конфигурации, процессор 604 может иметь любой тип, включающий в себя, но не только, микропроцессор (μP), микроконтроллер (μC), процессор цифровых сигналов (DSP) или любую комбинацию вышеозначенного. Процессор 604 может включать в себя один или более уровней кэширования, к примеру, кэш 610 первого уровня, кэш 612 второго уровня, ядро 614 процессора и регистры 616. Ядро 614 процессора может включать в себя арифметико-логическое устройство (ALU), сопроцессор для операций с плавающей запятой (FPU), ядро обработки цифровых сигналов (DSP-ядро) или любую комбинацию вышеозначенного. Примерный контроллер 618 запоминающего устройства также может использоваться с процессором 604, или в некоторых реализациях контроллер 618 запоминающего устройства может быть внутренней частью процессора 604.
[0067] В зависимости от требуемой конфигурации, системное запоминающее устройство 606 может иметь любой тип, включающий в себя, но не только, энергозависимое запоминающее устройство (к примеру, RAM), энергонезависимое запоминающее устройство (к примеру, ROM, флэш-память и т.д.) или любую комбинацию вышеозначенного. Системное запоминающее устройство 606 может включать в себя операционную систему 620, одно или более приложений 622 и программные данные 624. Эта описанная базовая конфигурация 602 проиллюстрирована на фиг. 6 посредством этих компонентов в пределах внутренней пунктирной линии.
[0068] Вычислительное устройство 600 может иметь дополнительные признаки или функциональность и дополнительные интерфейсы, чтобы упрощать связь между базовой конфигурацией 602 и любыми другими устройствами и интерфейсами. Например, контроллер 630 шины/интерфейса может использоваться для того, чтобы упрощать связь между базовой конфигурацией 602 и одним или более устройств 632 хранения данных через интерфейсную шину 634 хранения данных. Устройства 632 хранения данных могут представлять собой съемные устройства 636 хранения данных, стационарные устройства 638 хранения данных или комбинацию вышеозначенного. Примеры съемных устройств хранения данных и стационарных устройств хранения данных включают в себя устройства на магнитных дисках, к примеру, накопители на гибких дисках и накопители на жестких дисках (HDD), накопители на оптических дисках, к примеру, накопители на компакт-дисках (CD) или накопители на универсальных цифровых дисках (DVD), полупроводниковые накопители (SSD) и накопители на ленте, помимо прочего. Примерный компьютерный носитель хранения данных может включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные.
[0069] Системное запоминающее устройство 606, съемные устройства 636 хранения данных и стационарные устройства 638 хранения данных являются примерами машиночитаемых носителей хранения данных. Машиночитаемые носители хранения данных включают в себя, но не только, RAM, ROM, EEPROM, флэш-память или другую технологию запоминающих устройств, CD-ROM, универсальные цифровые диски (DVD) или другое оптическое устройство хранения данных, магнитные кассеты, магнитную ленту, устройство хранения данных на магнитных дисках или другие магнитные устройства хранения данных либо любые другие носители, которые могут использоваться для того, чтобы сохранять требуемую информацию, и к которым может осуществляться доступ посредством вычислительного устройства 600. Любые такие машиночитаемые носители хранения данных могут быть частью вычислительного устройства 600. Термин "машиночитаемый носитель хранения данных" исключает распространяемые сигналы и среды связи.
[0070] Вычислительное устройство 600 также может включать в себя интерфейсную шину 640 для упрощения связи из различных интерфейсных устройств (например, устройств 642 вывода, периферийных интерфейсов 644 и устройств 646 связи) с базовой конфигурацией 602 через контроллер 630 шины/интерфейса. Примерные устройства 642 вывода включают в себя графический процессор 648 и аудиопроцессор 650, которые могут быть сконфигурированы с возможностью обмениваться данными с различными внешними устройствами, такими как дисплей или динамики, через один или более A/V-портов 652. Примерные периферийные интерфейсы 644 включают в себя контроллер 654 последовательного интерфейса или контроллер 656 параллельного интерфейса, который может быть сконфигурирован с возможностью обмениваться данными с внешними устройствами, такими как устройства ввода (например, клавиатура, мышь, перо, устройство речевого ввода, устройство сенсорного ввода и т.д.) или другие периферийные устройства (например, принтер, сканер и т.д.) через один или более портов 658 ввода-вывода. Примерное устройство 646 связи включает в себя сетевой контроллер 660, который может быть сконфигурирован с возможностью упрощать связь с одним или более других вычислительных устройств 662 по сетевой линии связи через один или более портов 664 связи.
[0071] Сетевая линия связи может быть одним примером сред связи. Среды связи типично могут быть осуществлены посредством машиночитаемых инструкций, структур данных, программных модулей или других данных в модулированном сигнале данных, таком как несущая или другой транспортный механизм, и могут включать в себя любые среды для доставки информации. "Модулированный сигнал данных" может представлять собой сигнал, который имеет одну или более характеристик, заданных или измененных таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среды связи могут включать в себя проводные среды, такие как проводная сеть или проводное соединение, и беспроводные среды, такие как акустические, радиочастотные (RF), микроволновые инфракрасные (IR) и другие беспроводные среды. Термин "машиночитаемые носители" при использовании в данном документе может включать в себя как носители хранения, так и среды связи.
[0072] Вычислительное устройство 600 может реализовываться как часть портативного (или мобильного) электронного устройства с миниатюрным форм-фактором, такого как сотовый телефон, персональное цифровое устройство (PDA), устройство персонального мультимедийного проигрывателя, беспроводное устройство-веб-часы, персональное устройство-гарнитуру, специализированное устройство или гибридное устройство, которые включают в себя любую из вышеуказанных функций. Вычислительное устройство 600 также может реализовываться как персональный компьютер, включающий в себя конфигурации как переносных компьютеров, так и непереносных компьютеров.
[0073] Выше описаны конкретные варианты осуществления технологии в целях иллюстрации. Тем не менее, различные модификации могут вноситься без отступления от вышеприведенного раскрытия сущности. Помимо этого, многие из элементов одного варианта осуществления могут комбинироваться с другими вариантами осуществления в дополнение или вместо элементов других вариантов осуществления. Следовательно, технология не ограничена ничем, кроме прилагаемой формулы изобретения.
Изобретение относится к различным технологиям для сегментации компьютерной сети. Технический результат - уменьшение затрат на аппаратные средства и функциональную сложность, даже когда общий размер компьютерных сетей увеличивается. Для этого функции плоскости управления (например, вычисление сетевых маршрутов) и/или функции плоскости перенаправления (например, маршрутизация, перенаправление, коммутация) могут быть сегментированы и выполнены отдельно на основе домена на основе (1) конфигурации сети конкретного домена (например, конечных точек и/или доменов нижнего уровня в конкретном домене); и (2) одного или более доменов верхнего уровня, соединенных с конкретным доменом в иерархии. Таким образом, конкретный домен может управлять различными сетевыми операциями домена без проблем относительно конечных точек или сетевых узлов в других доменах иерархии. 5 з.п. ф-лы, 13 ил., 2 табл.
1. Способ передачи пакетов в компьютерной сети, имеющей один или более сетевых узлов, соединяющих одну или более конечных точек, при этом способ содержит этапы, на которых:
- сегментируют компьютерную сеть на различные домены, соединенные между собой в иерархии, причем домены включают в себя определенное число конечных точек, отдельно идентифицированных посредством идентификатора конечной точки;
- принимают, в каждом из доменов, конфигурационные данные домена и одного или более доменов верхнего уровня в компьютерной сети, причем конфигурационные данные содержат число конечных точек и идентификационные данные конечных точек в домене и возможности подключений конечных точек;
- формируют тракты перенаправления на основе конфигурационных данных;
- сохраняют тракты перенаправления с идентификаторами конечных точек в таблице перенаправления для домена;
- принимают, в сетевом узле, пакет, идентифицированный с помощью идентификатора конечной точки для конечной точки в компьютерной сети, при этом идентификатор конечной точки включает в себя первую секцию, хранящую первое значение, и вторую секцию, хранящую второе значение, при этом первое и второе значения отдельно соответствуют, по меньшей мере, части физического местоположения конечной точки в компьютерной сети;
- определяют, по меньшей мере, часть тракта перенаправления, чтобы перенаправлять пакет в конечную точку на основе, по меньшей мере, одного из первого значения или второго значения идентификатора конечной точки;
- перенаправляют, из сетевого узла, пакет в конечную точку по определенной, по меньшей мере, части тракта перенаправления;
- при этом первая и вторая секции размещаются в стеке; и
- при этом определение, по меньшей мере, части тракта перенаправления включает в себя этап, на котором сравнивают, по меньшей мере, первое значение с записями в таблице перенаправления в запоминающем устройстве сетевого узла, причем таблица перенаправления имеет запись, соответствующую первому значению, причем запись указывает, по меньшей мере, часть тракта перенаправления в целевую конечную точку.
2. Способ по п. 1, в котором:
- первое значение идентифицирует, по меньшей мере, одно из центра обработки и хранения данных, здания в центре обработки и хранения данных, в котором расположена конечная точка, помещения в здании, ряда в помещении или стойки в ряду; и
- второе значение идентифицирует, по меньшей мере, одно из логического местоположения виртуальной машины или физического местоположения сервера, на котором хостится виртуальная машина.
3. Способ по п. 1 в котором первая и вторая секции размещаются в стеке.
4. Способ по п. 1, в котором перенаправление включает в себя этап, на котором перенаправляют, из сетевого узла, пакет в конечную точку по определенной, по меньшей мере, части тракта перенаправления без модификации первого значения в первой секции.
5. Способ по п. 1, дополнительно содержащий этап, на котором модифицируют, по меньшей мере, первое значение в первой секции стека в связи с перенаправлением, из сетевого узла, пакета в целевую конечную точку.
6. Способ по п. 1, дополнительно содержащий этап, на котором удаляют, по меньшей мере, первую секцию из стека в связи с перенаправлением, из сетевого узла, пакета в конечную точку по определенной, по меньшей мере, части тракта перенаправления.
US 20090303880 A1, 10.12.2009 | |||
ПЛАТФОРМА СОСТАВНЫХ ПРИЛОЖЕНИЙ НА БАЗЕ МОДЕЛИ | 2008 |
|
RU2502127C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБМЕНА МАРШРУТНОЙ ИНФОРМАЦИЕЙ И ДЛЯ УСТАНОВЛЕНИЯ СВЯЗИ ЧЕРЕЗ МНОЖЕСТВО СЕГМЕНТОВ СЕТИ | 2010 |
|
RU2507698C2 |
US 20130229951 A1, 05.09.2013 | |||
US 20130297802 A1, 07.11.2013. |
Авторы
Даты
2019-07-01—Публикация
2015-09-14—Подача