ШЛЮЗ ПРЯМЫХ МЕЖСОЕДИНЕНИЙ
DIRECT INTERCONNECTION GATEWAY

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к трафику I/O (Ввода-Вывода) в компьютерной сети. В частности, настоящее изобретение относится к выделенному устройству, которое осуществляет мостовое соединение, коммутацию или маршрутизацию данных между традиционными сетями и сетями прямых межсоединений.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
[0002] Компьютерные сети позволяют множеству узлов осуществлять маршрутизацию или иной обмен данными друг с другом. В результате этого компьютерные сети способны поддерживать огромное количество приложений и услуг, таких как совместное использование серверов хранения, доступ к Интернету, использование электронной почты и т.д.
[0003] Сами узлы часто можно делить на три типа исходя из специализированных задач, которые они выполняют: вычислительные узлы, такие как серверы, содержащие центральные процессоры (CPU), которые выполняют вычисления (но которые, как правило, имеют незначительное локальное дисковое пространство или не имеют его совсем); узлы ввода-вывода, которые содержат вторичное хранилище системы и предоставляют услуги параллельной файловой системы; и шлюзовые узлы, которые обеспечивают возможность соединения с внешними серверами данных и системами хранения большой емкости. Некоторые узлы могут даже выполнять более чем одну функцию, например, регулирование функций и ввода-вывода, и шлюза.
[0004] Ввод-вывод для параллельных и распределенных систем, тем не менее, стал серьезной проблемой и для пользователей, и для разработчиков компьютерных систем. В этой связи несмотря на то, что быстродействие CPU увеличиваются в геометрической прогрессии почти каждый год, быстродействие устройств ввода-вывода, к сожалению, увеличивается более медленным темпом часто из-за того, что они могут быть более ограниченными быстродействием механических компонентов. Производительность ввода-вывода - мера трафика данных ввода-вывода между узлами - при этом часто является ограничивающим фактором производительности сети. Действительно, несоответствие в быстродействии между CPU и вводом-выводом усиливается в параллельных и распределенных компьютерных системах, делая ввод-вывод сдерживающим фактором, который может значительно ограничивать масштабируемость. Это особенно верно в том случае, когда сеть связана с коммерческими применениями, предполагающими, например, комплексное представление информации и научное моделирование, каждое из которых имеет широкие требования к вводу-выводу.
[0005] Сети прямых межсоединений, такие как раскрываемые в публикации патентной заявки PCT № WO 2015/027320 A1 (в которой описывается новая торическая топология или топология поразрядных межсоединений более высокого порядка для соединения сетевых узлов сетчатым образом в параллельных компьютерных системах), как правило, ограничивают трафик узлами, которые являются частью прямых межсоединений. Несмотря на то, что новая система и архитектура, раскрываемая в публикации патентной заявки PCT № WO 2015/027320 A1, особенно предпочтительна и практична для развертывания в центрах хранения и обработки данных (дата-центрах) и облачных дата-центрах, большая часть эксплуатируемых дата-центров в настоящее время до сих пор основана, к сожалению, на традиционной наследуемой трехуровневой архитектуре, архитектуре утолщенного дерева или ориентированной на использование сервера архитектуре DCell, наряду с некоторыми другими. С помощью дата-центров, основанных на этих архитектурах, к сожалению, либо нежелательно, либо невозможно осуществлять их прямое межсоединение, и они вследствие этого не могут использовать преимущества такой сетевой топологии. В некоторых архитектурах прямых межсоединений предшествующего уровня техники предлагалась система, в которой каждый узел или поднабор узлов (т.е., шлюзовые узлы) имеет возможность двойного соединения и с прямым межсоединением, и с традиционной сетью, но такие узлы усложняют управление и загрузку ресурсов устройства, поскольку они осуществляют мостовое соединение или маршрутизацию между двумя сетями.
[0006] Таким образом, было бы желательно создать шлюз прямых межсоединений, который выполнен с возможностью обеспечения связи устройств прямых межсоединений и устройств непрямых межсоединений. Более того, было бы предпочтительно создать шлюз, который помог бы преодолеть некоторые из недостатков, описанных выше для трафика ввода-вывода.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0007] В одном аспекте в настоящем изобретении предлагается выделенное устройство, а именно, шлюзовое устройство, которое выполнено с возможностью мостового соединения, коммутации или маршрутизации между традиционными сетями и сетями прямых межсоединений.
[0008] Еще в одном аспекте в настоящем изобретении предлагается легко управляемое шлюзовое устройство, которое может управляться системами управления сетью.
[0009] Еще в одном аспекте в настоящем изобретении предлагается шлюзовое устройство, которое предусматривает возможность координации MAC-таблиц и реакций ARP, широковещательной рассылки, многоадресной рассылки и свободной рассылки между множеством портов прямых межсоединений.
[00010] В одном варианте осуществления в настоящем изобретении предлагается выделенное сетевое шлюзовое устройство, которое выполнено с возможностью мостового соединения, коммутации или маршрутизации сетевого трафика между традиционными сетями и сетями прямых межсоединений, содержащее: первый набор одного или более традиционных сетевых портов с отдельным каналом на порт, причем такие порты соединены с коммутаторами или устройствами, которые образуют традиционную сеть; и второй набор одного или более портов прямых межсоединений с двумя или более каналами на порт, причем такие порты соединены с сетью прямых межсоединений. Традиционные сетевые порты могут содержать один или более из соединителей (коннекторов) SFP+, QSFP и QSFP+ и могут быть соединены с портами коммутатора или маршрутизатора в традиционной сети, в то время как порты прямых межсоединений могут содержать один или более из соединителей MXC, MTP и MTO и могут быть соединены с пассивной патч-панелью/концентратором, используемым при реализации сети прямых межсоединений. В альтернативном варианте каждый из портов прямых межсоединений может быть соединен своей собственной выделенной специализированной микросхемой (ASIC) прямых межсоединений, либо каждый из них может быть соединен с одной или более совместно используемыми специализированными микросхемами (ASIC). Функция мостового соединения, коммутации или маршрутизации может выполняться с помощью ASIC сетевого коммутатора или с помощью ASIC сетевого контроллера. ASIC могут быть выполнены с возможностью действия в качестве узла прямых межсоединений с локально предназначенным/предоставляемым трафиком, отправляемым по интерфейсной линии традиционной сети. Кроме того, в других вариантах осуществления порты прямых межсоединений могут заменять устройство в сети прямых межсоединений, и они могут даже быть соединены с множеством сетей прямых межсоединений.
[00011] Еще в одном варианте осуществления в настоящем изобретении предлагается выделенное сетевое шлюзовое устройство, которое выполнено с возможностью мостового соединения, коммутации или маршрутизации сетевого трафика между традиционными сетями и сетями прямых межсоединений, в котором упомянутое устройство содержит два порта, а именно, первый порт, являющийся портом прямых межсоединений, который выполнен с возможностью соединения с сетью прямых межсоединений, и второй порт, являющийся стандартным сетевым портом, который выполнен с возможностью соединения с коммутаторами или устройствами, которые образуют традиционную сеть. Первый порт может содержать один из соединителя MXC, MTP или MTO и может быть соединен с пассивной патч-панелью/концентратором, используемым при реализации сети прямых межсоединений. Второй порт может содержать один из соединителя SFP+, QSFP или QSFP+ и может быть соединен с портами коммутатора или маршрутизатора в традиционной сети.
[00012] Еще в одном варианте осуществления в настоящем изобретении предлагается выделенное сетевое шлюзовое устройство, которое выполнено с возможностью мостового соединения или маршрутизации сетевого трафика между традиционной сетью и сетью прямых межсоединений, содержащее: первый набор традиционных сетевых портов с отдельным каналом на порт, причем такие порты соединены с оконечными устройствами, которое образуют первую традиционную сеть; и второй набор портов прямых межсоединений с двумя или более каналами на порт, причем такие порты соединены с сетью прямых межсоединений, в котором упомянутая сеть прямых межсоединений действует как магистраль, которая обеспечивает маршрутизацию сетевого трафика от выделенного сетевого шлюзового устройства к другому выделенному сетевому шлюзовому устройству, причем упомянутое другое выделенное сетевое шлюзовое устройство содержит: первый набор традиционных сетевых портов с отдельным каналом на порт, причем такие порты соединены с оконечными устройствами, которое образуют вторую традиционную сеть; и второй набор портов прямых межсоединений с двумя или более каналами на порт, причем такие порты соединены с сетью прямых межсоединений.
[00013] Еще в одном варианте осуществления в настоящем изобретении предлагается выделенное сетевое шлюзовое устройство, которое выполнено с возможностью мостового соединения, коммутации или маршрутизации сетевого трафика между традиционной сетью и сетями прямых межсоединений, содержащее: первый набор одного или более традиционных сетевых портов с отдельным каналом на порт, причем такие порты соединены с коммутаторами или устройствами, которые образуют традиционную сеть; второй набор одного или более портов прямых межсоединений с одним или более каналами на порт, причем такие порты соединены с сетью прямых межсоединений; и множество портов прямых межсоединений, которые логически связаны, чтобы действовать как единый узел прямых межсоединений.
[00014] Еще в одном варианте осуществления в настоящем изобретении предлагается компьютеризированный способ мостового соединения, коммутации или маршрутизации сетевого трафика между традиционной сетью и сетью прямых межсоединений, включающий в себя этапы: соединения выделенного шлюзового устройства с традиционной сетью и сетью прямых межсоединений, причем упомянутое выделенное шлюзовое устройство действует как один или более узлов в сети прямых межсоединений; и переадресации сетевого трафика посредством шлюзового устройства между традиционной сетью и сетью прямых межсоединений на основе заголовков или содержимого сетевого трафика.
[00015] Еще в одном варианте осуществления в настоящем изобретении предлагается компьютеризированный способ координации того, какое шлюзовое устройство должно обеспечивать доступ к ресурсу, расположенному в традиционной сети, когда упомянутый ресурс доступен для более чем одного шлюзового устройства, включающий в себя этапы: (i) приема трафика ARP, широковещательной рассылки, многоадресной рассылки или свободной рассылки в порте прямых межсоединений, при котором упомянутый трафик запрашивает доступ к ресурсу, расположенному в традиционной сети, и при котором упомянутый порт прямых межсоединений связан через один или более транзитных участков (переходов) с более чем одним шлюзовыми устройствами, каждое из которых выполнено с возможностью обеспечения доступа к ресурсу; (ii) вычисления оптимального порта шлюзового устройства из более чем одного шлюзового устройства, который должен обеспечивать доступ к ресурсу; (iii) создания связки между трафиком, узлом прямых межсоединений и вычисленным оптимальным портом шлюзового устройства; и (iv) передачи связки с каждым из указанных более чем одного шлюзового устройства, чтобы вычисленный оптимальный порт шлюзового устройства гарантированно обеспечивал доступ к ресурсу. Этап вычисления оптимального порта шлюзового устройства, который должен обеспечивать доступ к ресурсу, может включать в себя установление того, какой из указанных более одного портов шлюзового устройства является ближайшим к порту прямых межсоединений, или может включать в себя использование алгоритма достижения консенсуса, чтобы гарантировать согласованность трафика. Этап передачи связки может регулироваться выделенной или совместно используемой шиной координации.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[00016] Вариант осуществления изобретения описывается далее в качестве примера со ссылкой на прилагаемые чертежи, на которых:
[00017] Фиг. 1 представляет собой общий вид шлюзового устройства в соответствии с одним вариантом осуществления настоящего изобретения.
[00018] Фиг. 2 представляет собой вид шлюзового устройства в соответствии с одним вариантом осуществления настоящего изобретения, содержащего ASIC традиционного сетевого коммутатора с некоторыми портами, соединенными с соединителями традиционной сети, и другими портами, соединенными со своей собственной ASIC выделенного прямых межсоединений.
[00019] Фиг. 2b представляет собой вид шлюзового устройства в соответствии с одним вариантом осуществления настоящего изобретения (относящегося к изображенному на фиг. 2), в котором каждая ASIC прямых межсоединений может быть соединена с более чем одним портом прямых межсоединений и может быть соединена с более чем одним портом ASIC традиционного сетевого коммутатора.
[00020] Фиг. 2c представляет собой вид шлюзового устройства в соответствии с одним вариантом осуществления настоящего изобретения, содержащего отдельный коммутатор и ASIC прямых межсоединений которая сочетает в себе функции ASIC традиционного сетевого коммутатора и одной или более ASIC прямых межсоединений.
[00021] Фиг. 2d представляет собой вид шлюзового устройства в соответствии с одним вариантом осуществления настоящего изобретения, содержащего плату главного интерфейса, включающую в себя традиционный сетевой порт и порт прямых межсоединений.
[00022] Фиг. 2e представляет собой вид шлюзового устройства в соответствии с одним вариантом осуществления настоящего изобретения, содержащего плату главного интерфейса, где функции ASIC прямых межсоединений и ASIC традиционного сетевого контроллера объединены в единую отдельную ASIC прямых межсоединений и традиционного сетевого контроллера.
[00023] Фиг. 2f представляет собой вид шлюзового устройства в соответствии с одним вариантом осуществления настоящего изобретения, в котором порты прямых межсоединений содержат один или более каналов на порт и объединены в группы шлюзовым устройством, в результате чего каждая группа логически связана шлюзовым устройством, чтобы действовать как единый узел в сети прямых межсоединений.
[00024] Фиг. 3 представляет собой вид шлюзового устройства в соответствии с одним вариантом осуществления настоящего изобретения, в котором порты прямых межсоединений соединены с пассивной патч-панелью/концентратором.
[00025] Фиг. 4 представляет собой вид шлюзового устройства в соответствии с одним вариантом осуществления настоящего изобретения, в котором порт прямых межсоединений заменяет сервер в топологии прямых межсоединений.
[00026] На фиг. 4b изображен вариант осуществления, показанный на фиг. 4, в котором каналы портов прямых межсоединений соединены с различными узлами.
[00027] Фиг. 5 представляет собой вид одного варианта осуществления настоящего изобретения, в котором порты прямых межсоединений на шлюзе связаны с различными прямыми межсоединениями, чтобы обеспечивать мостовое соединение, коммутацию или маршрутизацию между множеством прямых межсоединений.
[00028] Фиг. 6 представляет собой вид одного варианта осуществления настоящего изобретения, в котором все или большая часть узлов в прямом межсоединении состоят из шлюзовых портов и в котором все или большая часть других устройств соединяются напрямую с одним или более шлюзами.
[00029] На фиг. 7 приведен пример того, как минимизировать среднее расстояние (в переходах) от каждого устройства в прямом межсоединении до ближайшего шлюзового порта.
[00030] На фиг. 8 приведен пример того, как шлюз может координировать, какой порт прямых межсоединений должен реагировать на запрос ARP, принимаемый в более чем одном порте в одном и том же прямом межсоединении.
[00031] На фиг. 8b приведен пример варианта осуществления механизма координации (согласно фиг. 8), в котором функция координации распределена по всем ASIC прямых межсоединений, при этом каждая ASIC прямых межсоединений соединена с шиной координации, используемой для передачи информации о координации и решений.
[00032] На фиг. 9 приведен один вариант осуществления логического дерева, объясняющего, как при соединении более чем одного шлюза с одним и тем же тором шлюзы могут координировать свое знание о топологии тора и реакцию на трафик ARP, широковещательной рассылки, многоадресной рассылки и свободной рассылки.
[00033] На фиг. 10 приведен пример того, как промежуточный шлюзовой узел может обрабатывать пакет вместо маршрутизации пакета на другой шлюзовой узел.
[00034] Фиг. 11 и 12 описывают действие предпочтительного варианта осуществления ASIC прямых межсоединений.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[00035] В настоящем изобретении предлагается выделенное устройство, а именно шлюзовое устройство, которое выполнено с возможностью мостового соединения, коммутации или маршрутизации между традиционными сетями и сетями прямых межсоединений. Благодаря использованию такого выделенного устройства ресурсы на узлах прямых межсоединений не обязательно должны нагружаться мостовым соединением, коммутацией или маршрутизацией между прямым межсоединением и традиционной сетью, вследствие чего минимизируется влияние на производительность ввода-вывода. Кроме того, в отличие от использования шлюзовых узлов на предшествующем уровне техники, настоящее шлюзовое устройство является легко управляемым устройством, которое может управляться системами управления сетью. Более того, шлюзовое устройство настоящего изобретения обеспечивает координацию MAC-таблиц и реакций ARP, широковещательной рассылки, многоадресной рассылки и свободной рассылки между множеством портов прямых межсоединений.
[00036] На фиг. 1 изображен общий вид шлюзового устройства 50 в соответствии с одним вариантом осуществления настоящего изобретения, содержащего два набора портов. Первый набор портов (в данном примере - самые левые двенадцать портов) представляет собой стандартные, традиционные сетевые порты 100 с отдельным каналом на порт (например, соединители SFP+, QSFP, QSFP+), которые соединены с существующими коммутаторами и/или устройствами, образующими традиционную сеть. В топологии Клоза (многокаскадной сети с коммутацией каналов), например, эти порты 100, вероятнее всего, соединены со стволовыми или суперстволовыми портами. Второй набор портов (самые правые двенадцать портов) представляют собой порты 102 прямых межсоединений с большим числом каналов (два или более) на порт (например, с соединителями MXC/MTP/MTO). Если, например, пассивная патч-панель/концентратор 60, аналогичным раскрытому в публикации патентной заявки PCT № WO 2015/027320 A1, используется для поддержки топологии прямых межсоединений, то порты 102 прямых межсоединений соединены с пассивной патч-панелью/концентратором 60 (см. фиг. 3). Шлюзовое устройство 50 может быть выполнено в форме монтируемого в стойку устройства на одном стойко-месте (RU) или даже на 1/2 стойко-места (или по желанию иначе) для эффективной экономии пространства стойки. На фиг. 2 изображен вариант осуществления, выполненный из специализированной микросхемы (ASIC) 106 традиционного сетевого коммутатора, в котором в первом наборе традиционных сетевых портов 100 каждый порт соединен с традиционными сетевыми соединителями и в котором во втором наборе портов 102 прямых межсоединений каждый порт соединен своей собственной выделенной ASIC 104 прямых межсоединений. Каждая из этих выделенных ASIC 104 прямых межсоединений предпочтительно выполнена с возможностью действия в качестве узла прямых межсоединений с локально предназначенным/предоставляемым трафиком, отправляемым по традиционной сетевой интерфейсной линии (например, Ethernet при 100 Гбит/с). Соединения между портами ASIC 106 коммутатора и ASIC 104 прямых межсоединений могут быть реализованы с использованием любого стандартного межсоединения компонентов, такого как 100GBase-KR4, 100GBase-KP4, 40GBase-KR4, 25GBase-KR, 10GBase-KR или любого другого аналогичного стандарта.
[00037] ASIC 106 традиционного сетевого коммутатора включает в себя стандартные функциональные возможности переадресации сетевого трафика, включая получение информации об устройствах, достижимых через свои порты, отправку принимаемого трафика через соответствующий исходящий порт, сетевую фильтрацию, проверку трафика и другие функциональные возможности, обычно имеющиеся у сетевых коммутаторов, маршрутизаторов и мостов на уровне 2, уровне 3 и уровне 4 и выше. Решения о переадресации могут основываться на одном или более факторах, включая, в частности, адреса отправителя и получателя на уровне 2 (MAC), порт отправителя, адреса отправителя и получателя на уровне 3 (IPv4, IPv6 и т.д.), порты отправителя и получателя на уровне 4, а также заголовки и полезные нагрузки данных на уровне 5 и выше.
[00038] Сетевой трафик, принимаемый от прямого межсоединения в ASIC 104 прямых межсоединений, которая имеет конечного получателя, достижимого через стандартные порты ASIC 106 коммутатора, отправляется от ASIC 104 прямых межсоединений к ASIC 106 коммутатора, где стандартные функциональные возможности переадресации трафика ASIC 106 коммутатора передают трафик через соответствующий стандартный порт.
[00039] Аналогичным образом, сетевой трафик, принимаемый ASIC 106 коммутатора от стандартного порта, которая имеет конечного получателя, достижимого через ASIC 104 прямых межсоединений, переадресуется ASIC 106 коммутатора в ASIC 104 прямых межсоединений.
[00040] Еще в одном варианте осуществления (не показан) и применительно к каждому возможному варианту осуществления должно быть понятно, что ASIC 106 коммутатора (и все аналогичные ASIC, рассматриваемые в данном документе) может быть заменена программируемой логической интегральной схемой (FPGA), универсальным процессором, сетевым процессором или любым другим устройством, выполненным с возможностью осуществления переадресации сетевого трафика.
[00041] Еще в одном варианте осуществления (не показан) и применительно к каждому возможному варианту осуществления должно быть понятно, что ASIC 104 прямых межсоединений (и все аналогичные ASIC, рассматриваемые в данном документе) может быть заменена программируемой логической интегральной схемой (FPGA), универсальным процессором, сетевым процессором или любым другим устройством, выполненным с возможностью действия в качестве узла в сети прямых межсоединений.
[00042] На фиг. 2b изображен еще один вариант осуществления, в котором каждая ASIC 104 прямых межсоединений может быть соединена с одним или более портами 102 прямых межсоединений и может быть соединена с одним или более портами ASIC 106 традиционного сетевого коммутатора.
[00043] На фиг. 2c изображен еще один вариант осуществления, в котором единая ASIC 105 коммутатора и прямых межсоединений сочетает в себе функции ASIC 106 традиционного сетевого коммутатора и одной или более ASIC 104 прямых межсоединений. Как и в предыдущем случае, должно быть понятно, что единая ASIC 105 коммутатора и прямых межсоединений (и все аналогичные ASIC, рассматриваемые в данном документе) может быть заменена программируемой логической интегральной схемой (FPGA), универсальным процессором, сетевым процессором или любым другим устройством, выполненным с возможностью осуществления переадресации сетевого трафика и/или действующим в качестве узла в сети прямых межсоединений.
[00044] На фиг. 2d изображен еще один вариант осуществления шлюзового устройства в форме платы 110 главного интерфейса, содержащей традиционный сетевой порт и порт прямых межсоединений. Плата 110 главного интерфейса выполнена с возможностью соединения с главным устройством посредством шины связи, такой как PCIe, Gen-Z или CCIX. Главное устройство может представлять собой сервер, компьютер, жесткий диск, твердотельный накопитель, шкаф с накопителями или любое другое устройство, выполненное с возможностью отправки и приема данных. Традиционный сетевой порт соединен с ASIC 108 стандартного сетевого контроллера (или, аналогичным образом, с программируемой логической интегральной схемой (FPGA), универсальным процессором, сетевым процессором или любым другим устройством, выполненным с возможностью осуществления переадресации сетевого трафика, и т.д.), а порт прямых межсоединений соединен с ASIC 104 прямых межсоединений. ASIC 104 прямых межсоединений также соединена с ASIC 108 сетевого контроллера. В этом виде ASIC 108 сетевого контроллера выполнена с возможностью коммутации трафика между традиционной сетью и сетью прямых межсоединений без вмешательства со стороны главного компьютера.
[00045] На фиг. 2e изображен вариант осуществления еще одной платы 111 главного интерфейса, в которой функции ASIC 104 прямых межсоединений и ASIC 108 сетевого управления объединены в единую ASIC 107 прямых межсоединений и традиционного сетевого контроллера. Как и в предыдущем случае, должно быть понятно, что единая ASIC 107 прямых межсоединений и традиционного сетевого контроллера (и все аналогичные ASIC, рассматриваемые в данном документе) может быть заменена программируемой логической интегральной схемой (FPGA), универсальным процессором, сетевым процессором или любым другим устройством, выполненным с возможностью осуществления переадресации сетевого трафика и/или действующим в качестве узла в сети прямых межсоединений.
[00046] На фиг. 2f изображен еще один вариант осуществления, в котором порты 102 прямых межсоединений содержат один или более каналов на порт и объединены в группы 55 шлюзовым устройством 50. Каждая группа 55 логически связана шлюзовым устройством 50, чтобы действовать как единый узел в сети прямых межсоединений.
[00047] Как показано на фиг. 4, каждый из портов 102 прямых межсоединений и групп 55 заменяет устройства в топологии прямых межсоединений.
[00048] Еще в одном варианте осуществления, если в прямом межсоединении не используется пассивная патч-панель/концентратор 60, то отдельные каналы каждого шлюзового порта (т.е., порты 102 прямых межсоединений) могут быть соединены с устройствами, которые являются частью прямых межсоединений. В этой связи, на фиг. 4b изображен вариант осуществления, в котором каналы одного из портов 102 прямых межсоединений по отдельности соединены с соседними узлами в сети прямых межсоединений. На фиг. 4b прямое межсоединение принимает форму двумерного тора, при этом 4 канала, которые включают в себя порт 102 прямых межсоединений, имеют номера 1, 2, 3 и 4. Чтобы образовать двумерный тор, канал 1 соединяется с устройством A, канал 2 соединяется с устройством B, канал 3 соединяется с устройством C, а канал 4 соединяется с устройством D. Аналогичным образом, для других топологий каждый канал порта 102 прямых межсоединений должен быть соединен с соответствующим соседним устройством, требуемым этой топологией.
[00049] Еще в одном варианте осуществления, как показано на фиг. 5, шлюзовое устройство 50 также может использоваться для мостового соединения, коммутации или маршрутизации между множеством прямых межсоединений. В этом случае порты 102 прямых межсоединений на шлюзовом устройстве 50 делятся между различными прямыми межсоединениями (изображенными на фиг. 5 как A и B). Все устройства в прямом межсоединении A при этом достижимы с прямого межсоединения A через шлюзовое устройство 50, и наоборот. В приведенном примере трафик от устройства в Прямом Межсоединении A, предназначенный для устройства в Прямом Межсоединении B, сначала проходит через Прямое Межсоединение A на порт 102 прямых межсоединений, показанный как A4 на шлюзовом устройстве 50. Шлюзовое устройство 50 после этого переадресует этот трафик через порт 102 прямых межсоединений, показанный как B2, где он затем переадресуется через Прямое Межсоединение B на узел получателя.
[00050] Еще в одном варианте осуществления настоящего изобретения шлюзы могут использоваться в качестве коммутаторов доступа, при этом прямое межсоединение образует магистраль (см. фиг. 6). В этом случае все или большая часть узлов в прямом межсоединении состоит из шлюзовых портов, а все или большая часть остальных устройств соединены непосредственно с традиционными сетевыми портами 100 шлюзового устройства 50. В примере, приведенном на фиг. 6, трафик от группы A Устройств, предназначенный для группы B Устройств, сначала переадресуется на шлюзовое устройство 50A. Функция переадресации шлюза 50A идентифицирует, что устройство получателя достижимо через прямое межсоединение, и переадресует трафик через один из портов 102 прямых межсоединений шлюзового устройства 50A. Прямое межсоединение затем переадресует трафик на один из портов прямых межсоединений шлюзового устройства 50B. Функция переадресации шлюза 50B идентифицирует, что устройство получателя достижимо через один из стандартных сетевых портов и переадресует трафик соответствующим образом.
[00051] Чтобы максимизировать эффективность трафика ввод-вывод, на фиг. 7 приведен пример того, как при развертывании отдельного прямого межсоединения порты 102 прямых межсоединений могут выбираться для минимизации среднего расстояния (числа переходов) от каждого шлюзового устройства 50 в прямом межсоединении до ближайшего шлюзового порта. В 2-мерном торе 4Ч4, узлы которого имеют номера согласно фиг. 7, использование шлюза, действующего в качестве узлов 1, 6, 11 и 16, должно минимизировать расстояние до других узлов в прямом межсоединении. Однако специалисту в данной области техники также должно быть ясно, что если поднабор узлов чаще всего генерирует большее количество вводов-выводов, чем среднее, то развертывание шлюзовых узлов может быть смещено ближе к этим узлам с большим количеством вводов-выводов. Известно множество алгоритмов, которые могут использоваться для установления оптимального местоположения этих узлов ввода-вывода (см., например, Bae, M., Bose, B.: “Resource Placement in Torus-Based Networks” («Размещение ресурсов в торических сетях») в: Proc. IEEE International Parallel Processing Symposium, стр. 327-331. IEEE Компьютер Society Press, Los Alamitos (1996); Dillow, David A. с соавт.: “I/O Congestion Avoidance via Routing and Object Placement” («Предотвращение заторов ввода-вывода посредством маршрутизации и размещения объектов») United States: N. p., 2011. Print. Proceedings of the Cray User Group conference (CUG 2011), Fairbanks, AK, USA; Almohammad, B., Bose, B.: “Resource Placements in 2D Tori” («Размещение ресурсов в 2-мерных торах») в: Proc. IPPS 1998 Proceedings of the 12th International Parallel Processing Symposium on International Parallel Processing Symposium, стр. 431. IEEE Computer Society, Washington, DC (1998); Dillow, David A. с соавт.: “Enhancing I/O Throughput via Efficient Routing and Placement for Large-scale Parallel File Systems” («Повышение пропускной способности ввода-вывода посредством эффективной маршрутизации и размещения для крупномасштабных параллельных файловых систем») в: Conference Proceedings of the IEEE International Performance, Computing, and Communications Conference (IPCCC), 2011 IEEE 30th International; Ezell, M. с соавт.: “I/O Router Placement and Fine-Grained Routing on Titan to Support Spider II” («Размещение маршрутизатора ввода-вывода и мелкомодульная маршрутизация на Titan для поддержки Spider II») в: Proceedings of the Cray User Group Conference (CUG), May 2014; и Babatunde, A. с соавт.: “I/O Node Placement for Performance and Reliability in Torus Networks” (“Размещение узлов ввода-вывода для производительности и надежности в торических сетях”), Department of Computer Science, Texas A&M University, Jan 2006).
[00052] В предпочтительном варианте осуществления порты 102 прямых межсоединений действуют как стандартные порты прямых межсоединений и автономно переадресовывать трафик, остающийся в прямом межсоединении (т.е. переадресуют различные FLIT). Они также повторно объединяют различные FLIT в сетевые пакеты для трафика, предназначенного для устройств, не находящихся в прямом межсоединении (см. в публикации патентной заявки PCT № WO 2015/120539 A1 оптимальный способ маршрутизации пакетов в распределенной сети прямых межсоединений). Шлюзовое устройство 50 должно предпочтительно также иметь возможность передавать/принимать сетевые пакеты к каждому из традиционных сетевых портов 100 и портов 102 прямых межсоединений и от них, а также уметь интерпретировать и переадресовывать этот трафик на основе уровня 2, 3 или согласно вышеизложенному.
[00053] В предпочтительном варианте осуществления раскрываются стандартные северные интерфейсы управления сетью (например, CLI, OpenFlow, SNMP, REST и т.д.), позволяющие системе управления сеть управлять шлюзовым устройством 50.
[00054] В одном варианте осуществления, когда множество шлюзовых портов соединены с одним и тем же прямым межсоединением, все пакеты из того или иного потока должны предпочтительно исходить на одном и том же шлюзовом порте, чтобы обеспечивать надлежащую доставку пакетов.
[00055] Шлюзовое устройство 50 предпочтительно должно быть выполнено с возможностью агрегирования таблиц переадресации MAC между портами 102 прямых межсоединений, соединенными с одним и тем же прямым межсоединением (т.е. когда порт прямых межсоединений узнает о кортеже адреса/идентификатора узла VLAN/MAC, этот кортеж должен предпочтительно использоваться совместно с другими портами 102 прямых межсоединений, соединенными с одним и тем же прямым межсоединением).
[00056] В предпочтительном варианте осуществления, когда запрос ARP принимается в одном или более из портов 102 прямых межсоединений, соединенными с одним и тем же прямым межсоединением, решение о том, какой порт прямых межсоединений должен отвечать, должно координироваться шлюзом 50 для обеспечения передачи только одной реакции (см., например, на фиг. 8). Это может осуществляться, например, путем выбора порта прямых межсоединений, ближайшего к отправителю запроса ARP - первого порта прямых межсоединений для приема ARP - по схеме циклического выбора, посредством хеширования некоторой части запроса ARP (IP-адреса, MAC отправителя и т.д.) или с помощью иного алгоритма, известного специалистам в данной области техники. На фиг. 8b изображен один вариант осуществления данного механизма координации, в котором функция координации распределена по различным ASIC 104 прямых межсоединений, при этом каждая ASIC 104 прямых межсоединений соединена с шиной 112 координации, используемой для передачи информации о координации и решений. Еще в одном варианте осуществления эта функция координации может быть централизована в выделенной ASIC координации, при этом каждая ASIC 104 прямых межсоединений соединена с ASIC координации посредством выделенной или совместно используемой шины 112 координации.
[00057] Когда более чем один шлюз соединен с одним и тем же тором, шлюзовые устройства 50 должны предпочтительно координировать свое знание топологии тора и отвечать на запрос ARP аналогично примеру с отдельным шлюзом, рассмотренному выше (см. на фиг. 9 логическое дерево относительно такой координации). В одном варианте осуществления шлюзы могут обнаруживать друг друга через протокол широковещательной рассылки. Еще в одном варианте осуществления шлюзы могут быть выполнены с возможностью знания местоположения остальных шлюзов. Еще в одном варианте осуществления алгоритм достижения консенсуса, такой как Raft, может использоваться для обеспечения координации шлюзов и согласованности связей «трафик - шлюз/порт» (см., например, Ongaro, D., Ousterhout, J.: “In Search of an Understandable Consensus Algorithm (Extended Version)” («В поиске понятного алгоритма достижения консенсуса (расширенная версия)») в: 2014 USENIX Annual Technical Conference, June 19, 2014, Philadelphia, PA.; Woos, D. с соавт.: “Planning for Change in a Formal Verification of the Raft Consensus Protocol” («Планирование изменения формальной верификации протокола консенсуса Raft») в: Certified Programs and Proofs (CPP), Jan. 2016).
[00058] Как правило, всякий раз, когда узлу тора необходимо связаться с ресурсом, который достижим через один или более шлюзовых устройств 50, шлюз (шлюзы) должен предпочтительно координировать, какой шлюзовой порт выбирается для обеспечения доступа к этому ресурсу, аналогично примеру с ARP, описанному выше. К подобным примерам относятся трафик свободной рассылки, широковещательной рассылки и многоадресной рассылки, протоколы обнаружения сервисов и узлов и обнаружение соседей IPv6.
[00059] В качестве еще одного соображения важно отметить, что во многих случаях в прямом межсоединении используется неминимальная маршрутизация. Поскольку шлюз (шлюзы) в прямом межсоединении имеет шлюзовые порты во множестве местоположений в данной топологии, трафик, предназначенный для одного шлюзового порта, может проходить через один из остальных шлюзовых портов в первую очередь. Поэтому было бы предпочтительно, чтобы эффективность увеличивалась благодаря тому, что имеется отдельный, первый шлюзовой порт, обрабатывающий трафик, а не позволять трафику проходить через более удаленный шлюзовой порт. Пример этого приведен на фиг. 10, где узел 5 отправляет трафик в узел 1, но из-за неминимальной маршрутизации пакет проходит через узел 6. В одном варианте осуществления для повышения эффективности шлюз с портом, расположенным в узле 6, идентифицирует, что пакет предназначен для другого шлюзового порта, и обрабатывает пакет так, как если бы он был предназначен для узла 6, вместо переадресации его через прямое межсоединение посредством узла 2.
[00060] Как отмечено выше, ASIC 104 Прямого Межсоединения обеспечивает возможность соединения между ASIC 106 коммутатора и прямым межсоединением. Чтобы специалист в данной области техники гарантированно мог создавать и эксплуатировать сетевое шлюзовое устройство настоящего изобретения, на фиг. 11 и 12 описывается действие предпочтительного варианта осуществления ASIC 104 Прямого Межсоединения. При необходимости это действие также применимо с любыми модификациям к другим ASIC в пределах объема данного изобретения, включая ASIC 105, 107 и 108 в зависимости от конкретного случая.
[00061] Как известно из уровня техники, ASIC 106 коммутатора передает и принимает Ethernet-кадры. Фиг. 11 описывает, как Ethernet-кадр 200, генерируемый ASIC 106 коммутатора, обрабатывается ASIC 104 Прямого Межсоединения. База 201 Данных MAC-адресов содержит список MAC-адресов Ethernet и узлы прямых межсоединений, связанные с каждым MAC-адресом Ethernet. Изучается Ethernet-кадр 200, принимаемый от ASIC 106 коммутатора, и MAC-адреса Отправителя и Получателя извлекаются из его заголовка. Эти MAC-Адреса используются в качестве указателей на Базу 201 Данных MAC-Адресов. MAC-адрес отправителя Ethernet-Кадра 301 объединяется с номером текущего узла для создания или обновления связи между этим номером узла и MAC-адресом отправителя в Базе 201 Данных MAC-Адресов.
[00062] Если MAC-адрес Получателя Ethernet-Кадра 200 находится в Базе 201 Данных MAC-Адресов, то Номер 202 Узла, связанный с этим MAC-Адресом, извлекается из Базы 201 Данных MAC-Адресов. Номер 202 Узла используется затем в качестве указателя на Базу 206 Данных Маршрута Отправителя, и маршрут 203 отправителя, связанный с Номером 202 Узла, извлекается из Базы 206 Данных Маршрута Отправителя. Как известно из уровня техники, базы данных маршрутов отправителя содержат список сетевых получателей и один или более путей через сеть для достижения каждого получателя. База данных маршрутов отправителя может быть заполнена вручную или может основываться на хорошо известных автоматизированных алгоритмах обнаружения топологии и вычисления маршрута. Ethernet-кадр 200 после этого преобразуется в различные FLIT 204. FLIT является специализированным типом кадра, используемым при прямых межсоединениях, и может быть либо фиксированного, либо переменного размера. В предпочтительном варианте осуществления различные FLIT имеют фиксированный размер. Еще в одном варианте осуществления различные FLIT имеют переменный размер в границах между минимальным и максимальным размером. Еще в одном варианте осуществления различные FLIT имеют такой размер, что Ethernet-кадр 200 в точности вписывается в полезную нагрузку FLIT.
[00063] Если Ethernet-кадр 200 больше, чем полезная нагрузка отдельного FLIT, создается множество различных FLIT 204. Если Ethernet-кадр 200 вписывается в полезную нагрузку отдельного FLIT, то создается отдельный FLIT. Затем Маршрут 203 Отправителя вставляется в заголовок первого из различных FLIT 204 вместе с номером узла текущего узла. Затем различные FLIT 204 передаются из Исходящего Порта 205, задаваемого в Маршруте 203 Отправителя.
[00064] Если MAC-адрес Получателя Ethernet-кадра 200 не находится в Базе 201 Данных MAC-Адресов или если MAC-Адрес Получателя Ethernet-кадра 200 указывает, что это Ethernet пакет широковещательной рассылки, то Ethernet-кадр 200 преобразуется в различные FLIT 204 как в случае, описанном выше, хотя маршрут отправителя не включается. Как только созданы различные FLIT 204, устанавливается флаг в заголовке первого FLIT, чтобы указывать, что эти различные FLIT должны рассылаться с каждого узла в прямом межсоединении. Значение времени жизни (TTL) также устанавливается в заголовке первого FLIT. TTL определяет максимальное число раз, которое широковещательные рассылки FLIT могут направляться через прямое межсоединение. В одном варианте осуществления Ethernet-кадры свободной рассылки и многоадресной рассылки обрабатываются так, как если бы они являлись кадрами широковещательной рассылки, как указано выше.
[00065] Фиг. 12 описывает, как различные FLIT 204 обрабатываются ASIC 104 Прямого Межсоединения в предпочтительном варианте осуществления ASIC 104 Прямого Межсоединения. Различные FLIT 204 из Прямого Межсоединения 301 принимаются ASIC 104 Прямого Межсоединения, при этом изучается заголовок первого из этих FLIT, чтобы проверить, установлен ли флаг широковещательной рассылки. Если флаг широковещательной рассылки не установлен, Маршрут 203 Отправителя извлекается из первого FLIT, и определяется, указывает ли маршрут отправителя, что текущий узел является узлом получателя для различных FLIT 204. Еще в одном варианте осуществления различные FLIT содержат номер узла получателя, и именно номер узла используется, чтобы определить, является ли текущий узел узлом получателя для различных FLIT 204. Если текущий узел является узлом получателя для различных FLIT 204, различные FLIT 204 объединяются для формирования Ethernet-кадра 301. MAC-адрес отправителя Ethernet-кадра 301 объединяется с номером узла в заголовке первого FLIT для создания или обновления связи между упомянутым номером узла и MAC-адресом отправителя в Базе 201 Данных MAC-Адресов. Ethernet-кадр 301 после этого передается на ASIC 106 коммутатора.
[00066] Если установлено, что это не узел получателя, маршрут отправителя используется для определения исходящего порта 302 для различных FLIT 204. Различные FLIT 204 после этого передаются из исходящего порта 302.
[00067] Если флаг широковещательной рассылки установлен в заголовке первого FLIT, различные FLIT 204 объединяются для образования Ethernet-кадра 301. MAC-адрес отправителя Ethernet-кадра 301 объединяется с номером узла в заголовке первого FLIT для создания или обновления связи между упомянутым номером узла и MAC-адресом отправителя в База 301 данных MAC-Адресов. Ethernet-кадр 301 передается на ASIC 106 коммутатора.
[00068] TTL в заголовке первого FLIT после этого уменьшается на единицу. Если TTL теперь равно нулю, то различные FLIT 204 отбрасываются. Если TTL больше нуля, различные FLIT 204 передаются из всех исходящих портов, за исключением входящего порта, из которого изначально принимались различные FLIT 204.
[00069] В других вариантах осуществления ASIC 104 Прямого Межсоединения маршрутизация отправителя может не использоваться. В одном варианте осуществления MAC-адрес получателя Ethernet-кадра 200 используется каждым узлом для выполнения локального поиска маршрутов следующего перехода. Еще в одном варианте осуществления информация об узле получателя в заголовке FLIT используется каждым узлом для выполнения локального поиска маршрутов следующего перехода.
[00070] Специалистам в данной области техники очевидно, что могут быть разработаны другие варианты осуществления Прямого Межсоединения 104 и ASIC 106 коммутатора, работающие с протоколами, отличными от Ethernet. В одном варианте осуществления эти элементы могут быть выполнены с возможностью работы с Gen-Z. В этом случае предполагается, что Прямое Межсоединение 104 принимает пакеты Core64 Gen-Z вместо Ethernet-кадров. Вместо MAC-адресов Ethernet используются GCID (Идентификаторы Глобальных Компонентов) Gen-Z, связанные с номерами узлов прямых межсоединений.
[00071] Несмотря на то, что описаны конкретные варианты осуществления изобретения, специалистам в данной области техники должно быть понятно, что возможны различные изменения этих вариантов осуществления в пределах объема прилагаемой формулы изобретения.