ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к системе управления связью и, в частности, к системе управления связью, которая управляет коммутационным узлом.
УРОВЕНЬ ТЕХНИКИ
Традиционное сетевое оборудование является "черным ящиком", и гибкое управление, такое как распределение нагрузки и обработка отклонения, не может выполняться извне. Следовательно, когда масштаб сети становится большим, имеется проблема в том, что усовершенствование и распознавание поведения системы становится затруднительным, и проектирование и изменение конфигурации требует больших затрат.
В качестве технологии для решения такой проблемы рассматривается технология разделения функции передачи пакетов и функции управления маршрутизацией в сетевом оборудовании. Например, сетевое оборудование осуществляет управление функцией передачи пакетов, а блок управления за пределами сетевого оборудования выполняет руководство функцией управления маршрутизацией. Таким образом, управление становится простым, и может создаваться гибкая сеть.
Пояснение сети с CD-разделением
В качестве одной из сетей, в которых разделяются функции, предлагается сеть с CD-разделением (C: плоскость управления/D: плоскость данных), в которой узловой блок на стороне плоскости управления управляет узловым блоком на стороне плоскости данных.
В качестве примера сети с CD-разделением, известна OpenFlow-сеть с использованием технологии на основе открытых потоков (OpenFlow-технологии), в которой контроллер управляет коммутаторами таким образом, что они выполняют управление маршрутизацией в сети. Подробности OpenFlow-технологии описываются в непатентном документе 1. Следует отметить, что OpenFlow-сеть является только примером.
Пояснение OpenFlow-сети
В OpenFlow-сети работа OpenFlow-коммутаторов (OFS) управляется посредством управления таблицами потоков, связанными с управлением маршрутизацией OpenFlow-коммутаторами (OFS), которые являются эквивалентными узловым блокам, посредством OpenFlow-контроллера (OFC), который является эквивалентным блоку управления.
В дальнейшем в этом документе, для упрощения описания, OpenFlow-контроллер (OFC) упоминается как "контроллер", а OpenFlow-коммутатор (OFS) упоминается как "коммутатор".
Контроллер и коммутатор соединяются посредством канала управления (канала связи для управления), называемого "защищенным каналом", который является каналом, защищенным посредством выделенной линии и SSL (уровня защищенных сокетов). Контроллер и коммутатор передают и принимают OpenFlow-сообщения (OpenFlow-сообщения) в качестве управляющих сообщений, которые соответствуют OpenFlow-протоколу, через канал управления.
Коммутаторы в OpenFlow-сети размещаются в OpenFlow-сети и являются граничными коммутаторами и базовыми коммутаторами, которые управляются контроллером. Последовательность обработки пакета от приема пакета во входном граничном коммутаторе (коммутаторе входящего трафика) в OpenFlow-сети до передачи из выходного коммутатора (коммутатора исходящего трафика) называется потоком. В OpenFlow-сети связь распознается в качестве сквозного (E2E) потока, и управление маршрутизацией, восстановление сбоя, распределение нагрузки и оптимизация выполняются в блоке потоков.
Пакет может считываться в качестве кадра. Различие между пакетом и кадром заключается только в различии в блоке данных, обрабатываемом в протоколе (PDU: протокольный блок данных). Пакет представляет собой PDU для TCP/IP (протокола управления передачей/Интернет-протокол), и с другой стороны, кадр представляет собой PDU для Ethernet (зарегистрированный товарный знак).
Таблица потоков является набором записей потоков, каждая из которых задает условие (правило), чтобы указывать пакет, который должен быть обработан в качестве потока, статистические данные, которые показывают число раз, когда пакет соответствует правилу, и контент (действие) обработки, который должен быть выполнен для пакета.
Правило по записи потока задается на основе различных комбинаций части или всех данных уровней иерархии протоколов, которые содержатся в поле заголовка пакета и могут идентифицироваться. В качестве примера данных каждого уровня иерархии протоколов, приводятся адрес назначения, исходный адрес, порт назначения, исходный порт и т.д. Следует отметить, что предполагается, что вышеуказанный адрес содержит MAC-адрес (адрес на уровне управления доступом к среде) и IP-адрес (адрес Интернет-протокола). Кроме того, в дополнение к вышеуказанным данным, данные порта ввода (входного порта) являются применимыми для правила по записи потока. Кроме того, обычное выражение части (или всего) значения поля заголовка пакетов, которые должны быть обработаны в качестве потока, выражение с использованием подстановочного символа "*" этого и т.д. может задаваться для правила по записи потока.
Действие по записи потока показывает такую операцию, как операция "вывода в конкретном порту", операция "отбрасывания" и операция "перезаписи заголовка". Например, если идентификационные данные порта вывода (к примеру, номер порта вывода и т.д.) показаны в действии по записи потока, коммутатор выводит пакет в порт, соответствующий им. Если идентификационные данные порта вывода не показаны, коммутатор отбрасывает пакет. Альтернативно, если данные заголовка показаны в действии по записи потока, коммутатор перезаписывает заголовок пакета на основе данных заголовка.
Коммутатор выполняет действие по записи потока для группы пакетов (последовательности пакетов), соответствующих правилу записи потока. В частности, при приеме пакета, коммутатор выполняет поиск в записи потока, которая имеет правило, соответствующее данным заголовка принимаемого пакета из таблицы потоков. Когда запись потока, которая имеет правило, соответствующее данным заголовка принимаемого пакета, выявляется в качестве результата поиска, коммутатор выполняет операцию обновления статистических данных записи потока, и операцию, указываемую в качестве действия по записи потока, для принимаемого пакета. С другой стороны, когда запись потока, которая имеет правило, соответствующее данным заголовка принимаемого пакета, не выявляется в качестве результата поиска, коммутатор определяет то, что принимаемый пакет является первым пакетом. Коммутатор передает принимаемый пакет (или копию) в контроллер в OpenFlow-сети через канал управления. Кроме того, коммутатор запрашивает вычисление маршрута для пакета на основе исходного адреса, адреса назначения и т.д. принимаемого пакета. Коммутатор принимает сообщение задания записей потоков в качестве ответа и обновляет таблицу потоков.
Следует отметить, что запись по умолчанию, которая имеет правило, соответствующее данным заголовка всех пакетов с низким приоритетом, регистрируется в таблице потоков. Когда запись потока, совпадающая с принимаемым пакетом, не выявляется, принимаемый пакет совпадает с этой записью по умолчанию. Действием по записи по умолчанию является "передача данных запроса принимаемого пакета в контроллер".
Пояснение стандарта PCI express
Кроме того, в последние годы интерфейс "стандарта PCI express (PCIe)" широко используется вместо PCI-шины (шины взаимодействия периферийных компонентов). PCI-шина имеет тип параллельной передачи, и стандарт PCI express (PCIe) имеет последовательный тип передачи. Хотя нет физической совместимости между PCI-шиной и стандартом PCI express (PCIe), протокол связи и т.д. является общим для них. В маршруте (линии) передачи для минимальной конфигурации, которая используется в стандарте PCI express (PCIe), возможна дуплексная передача при 2,5 Гбит/с (Гигабит в секунду) при однонаправленной связи и 5,0 Гбит/с при двунаправленной связи.
Пояснение традиционной сетевой системы
Фиг. 1, фиг. 2, фиг. 3, фиг. 4 и фиг. 5 показывают конфигурацию традиционной сетевой системы. В частности, конфигурация системы является конфигурацией, в которой выполняется аппаратная обработка коммутации, и предоставляются расширенные сетевые услуги посредством сервера управления.
Конфигурация традиционной сетевой системы
Фиг. 1 показывает базовую конфигурацию традиционной сетевой системы. Традиционная сетевая система содержит коммутационный узел 1, терминалы 2 (2-i, i=1-T: T является числом терминалов) и сервер 3 управления.
Коммутационный узел 1 является эквивалентным коммутатору в OpenFlow-сети. Сервер 3 управления является эквивалентным контроллеру в OpenFlow-сети. Терминал 2 (2-i, i=1-T) и сервер 3 управления соединяются с коммутационным узлом 1.
Коммутационный узел 1 содержит CPU 10 (центральный процессор), запоминающее устройство 20, таблицу 30 передачи и механизм 40 перенаправления сетевого коммутатора.
CPU 10 соединяется с запоминающим устройством 20. Кроме того, CPU 10 и таблица 30 передачи соединяются с механизмом 40 перенаправления сетевого коммутатора.
В традиционной сетевой системе механизм 40 перенаправления сетевого коммутатора, который выполняет аппаратную обработку пакетов, предусмотрен в коммутационном узле 1. Механизм 40 перенаправления принимает пакеты, которые выводятся из терминала 2 (2-i, i=1-T), управляет назначением потока посредством использования таблицы 30 передачи, выполняет табличный поиск в случае приема пакетов и выполняет обработку коммутации пакетов между терминалами. Поскольку таблица 30 передачи позволяет выполнять высокоскоростную обработку, чтобы противостоять обработке коммутации между терминалами, но емкость запоминающего устройства 20 ограничена, таблица 30 передачи, которая управляет большим числом потоков, не может быть сконфигурирована.
Внутренняя конфигурация механизма перенаправления сетевого коммутатора
Фиг. 2 показывает внутреннюю конфигурацию механизма 40 перенаправления сетевого коммутатора.
Механизм 40 перенаправления сетевого коммутатора содержит конечную точку 41 PCI express (PCIe EP), интерфейсы 42 LAN (локальной вычислительной сети) (1G MAC), секцию 43 обработки передачи коммутатора, регистр 44 результатов табличного поиска, очередь 45 предназначенных для CPU пакетов, очередь 46 передаваемых из CPU пакетов, буфер 47 пакетов для совместного использования в коммутационной матрице и контроллер 48 DMA (прямого доступа к памяти).
Конечная точка 41 PCI express (PCIe EP) соединяется с CPU 10, очередью 45 предназначенных для CPU пакетов и очередью 46 передаваемых из CPU пакетов.
LAN-интерфейсы 42 (1G MAC) соединяются с терминалами 2 (2-i, i=1-T) и сервером 3 управления.
Секция 43 обработки передачи коммутатора соединяется с таблицей 30 передачи, LAN-интерфейсами 42 (1G MAC), регистром 44 результатов табличного поиска, очередью 46 передаваемых из CPU пакетов и буфером 47 пакетов для совместного использования в коммутационной матрице.
Секция 43 обработки передачи коммутатора содержит секцию 431 табличного поиска, секцию 432 анализа пакетов и секцию 433 коммутации.
Секция 431 табличного поиска выполняет поиск в таблице 30 передачи на основе ключа поиска.
Секция 432 анализа пакетов извлекает секцию заголовка пакета, формирует ключ поиска посредством использования дополнительных данных в секции заголовка и сообщает ключ поиска в секцию 431 табличного поиска.
Секция 433 коммутации передает пакет согласно действию с записью таблицы 30 передачи, совпадающей с ключом поиска.
Регистр 44 результатов табличного поиска соединяется с очередью 45 предназначенных для CPU пакетов.
Секция 431 табличного поиска в секции 43 обработки передачи коммутатора передает запрос на поиск (ключ поиска) в таблицу 30 передачи, чтобы выполнять табличный поиск. Запоминающее устройство 20 используется в качестве ячейки запоминающего устройства таблицы 30 передачи согласно характеристикам обработки секции 43 обработки передачи коммутатора. Поскольку запрашивается высокоскоростная обработка, емкость запоминающего устройства 20 снижается обратно пропорционально характеристикам обработки, и число таблиц передачи, которые могут управляться, ограничено.
Конфигурация таблицы передачи
Фиг. 3 показывает конфигурацию таблицы 30 передачи.
Таблица 30 передачи является эквивалентной таблице потоков в OpenFlow-сети. Таблица 30 передачи может управлять 64000 записей.
Следует отметить, что "MAC DA" показывает MAC-адрес назначения, "MAC SA" показывает исходный MAC-адрес, "IP DA" показывает IP-адрес назначения, и "IP SA" показывает исходный IP-адрес.
Конфигурация CPU
Фиг. 4 показывает схему конфигурации программного обеспечения, которое выполняется в CPU 10.
CPU 10 содержит корневой комплекс 11 шины PCI express (PCIe RC), драйвер 12 механизма перенаправления, секцию 13 задания расширенных сетевых услуг, секцию 14 запроса услуг, секцию 15 буферизации пакетов, секцию 16 приема пакетов и секцию 17 шифрования.
Драйвер 12 механизма перенаправления, секция 13 задания расширенных сетевых услуг, секция 14 запроса услуг, секция 15 буферизации пакетов, секция 16 приема пакетов и секция 17 шифрования реализуются посредством CPU 10, выполняющего программное обеспечение.
CPU 10 в традиционной сетевой системе соединяется с сервером 3 управления и используется только для того, чтобы предоставлять расширенные сетевые услуги.
Конфигурация сервера управления
Фиг. 5 показывает схему конфигурации сервера 3 управления.
Сервер 3 управления содержит секцию 31 приема и передачи пакетов, секцию 32 шифрования и секцию 33 обработки расширенных сетевых услуг.
Сервер 3 управления выполняет обработку расширенных сетевых услуг, к примеру, определение назначения для пакета с запросом, обработку изменения пакета или управление коммутационным узлом в ответ на запрос на обработку из коммутационного узла 1. Кроме того, сервер 3 управления выполняет передачу и прием пакетов посредством выполнения обработки шифрования для защищенной связи с коммутационным узлом 1.
Как упомянуто выше, поскольку аппаратный коммутационный узел выполняет обработку пакетов посредством использования запоминающего устройства 20, которое сохраняет одну высокоскоростную таблицу передачи, емкость запоминающего устройства 20 таблицы передачи ограничена, так что затруднительно конфигурировать таблицу передачи большого размера.
Кроме того, поскольку аппаратный механизм перенаправления содержит LSI (большую интегральную схему) для монопольного использования, имеется недостаток в том, что степень универсальности является низкой, затраты становятся высокими, и отсутствует степень свободы для изменения способа обработки.
Следует отметить, что в качестве технологий, связанных с настоящим изобретением, в патентном документе 1 (2007-195166A JP) раскрывается технология, в которой способ формирования и управления таблицей маршрутизации адреса PCI-шины базируется на встроенном DID, компьютерной программе и устройстве.
В этой связанной технологии вычислительная система распределения, которая включает в себя множество корневых узлов, PCI-адаптер и один или более PCI-коммутаторов, один из которых включает в себя конфигурационный диспетчер PCI (PCM), маршрутизирует пакет PCI-транзакции между хостом и адаптером через коммутатор.
В это время, когда таблица формируется в одном указанном коммутаторе, и конкретный хост соединяется с указанным коммутатором, идентификатор назначения, который имеет набор битов посредством управления PCM, подается в таблицу. Идентификатор назначения добавляется в качестве адреса к PCI-пакету, отправленному из конкретного хоста в один из адаптеров через указанный коммутатор. PCI-пакет, отправляемый через указанный коммутатор из одного из адаптеров посредством использования идентификатора назначения, определяется как предназначенный для конкретного хоста.
СПИСОК БИБЛИОГРАФИЧЕСКИХ ССЫЛОК
Патентный документ 1. JP 2007-195166A.
Непатентный документ 1. "OpenFlow Switch Specification, Version 1.0.0", 31 декабря 2009 года, Интернет (URL-адрес: http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf).
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В традиционной конфигурации коммутационного узла существует ограничение на размер таблицы передачи, соединенной с аппаратным механизмом перенаправления, и трудно конфигурировать коммутационный узел, который имеет большое число таблиц передачи. С другой стороны, когда конфигурируется программный коммутационный узел, возникает проблема низкой способности к обработке передачи в коммутационном узле, поскольку предусмотрен один CPU.
Цель настоящего изобретения заключается в том, чтобы предоставлять систему управления связью, в которой конфигурируется таблица потоков большого размера в программном коммутационном узле, выполняется высокоскоростная обработка коммутации пакетов, и внешний сервер управления соединяется с возможностью реализовывать обработку по протоколу предоставления услуг с широкими функциональными возможностями посредством использования совместимого с режимом нескольких маршрутов коммутатора и сетевого интерфейса (NW-интерфейса), которые предписываются посредством стандарта PCI express (PCIe).
Система управления связью согласно настоящему изобретению включает в себя коммутационный узел и сервер управления, сконфигурированный с возможностью задавать запись потока, задающую правило и действие для того, чтобы единообразно управлять пакетом, в таблице потоков коммутационного узла. Коммутационный узел включает в себя: функциональную секцию, которая сконфигурирована с возможностью соединять множество процессоров, имеющих запоминающие устройства большой емкости, и множество расширенных сетевых интерфейсов посредством совместимого с режимом нескольких маршрутов коммутатора PCI express, чтобы конфигурировать порт коммутатора, состоящий из множества расширенных сетевых интерфейсов; функциональную секцию, которая сконфигурирована с возможностью осуществлять обработку передачи для распределения нагрузки из множества расширенных сетевых интерфейсов во множество процессоров и выполнять высокоскоростную обработку пакетов через многопроцессорную обработку посредством использования множества процессоров; и функциональную секцию, которая конфигурирует таблицу потоков большого размера в программном коммутационном узле посредством использования пространства запоминающего устройства большой емкости множества процессоров.
Коммутационный узел согласно настоящему изобретению включает в себя множество расширенных сетевых интерфейсов, сконфигурированных с возможностью принимать пакеты; множество процессоров, имеющих запоминающие устройства большой емкости; и совместимый с режимом нескольких маршрутов коммутатор PCI express, сконфигурированный с возможностью соединять множество процессоров и множество расширенных сетевых интерфейсов. Каждый из множества расширенных сетевых интерфейсов включает в себя: LAN-интерфейс, сконфигурированный с возможностью осуществлять ввод и вывод пакетов; секцию передачи пакетов, сконфигурированную с возможностью осуществлять, по меньшей мере, одну обработку передачи из обработки передачи пакетов во множество процессоров, обработки передачи пакета между множеством процессоров и обработки передачи на сервер управления; множество PF-ресурсов, сконфигурированных с возможностью осуществлять передачу и прием пакетов на высокой скорости с множеством процессоров и DMA-передачи; и конечную точку PCI express, сконфигурированную с возможностью соединяться с коммутатором PCI express.
Способ управления связью согласно настоящему изобретению выполняется в коммутационном узле, который выполняет обработку принимаемого пакета на основе записи потока, которая задает правило и действие для того, чтобы единообразно управлять пакетами как потоком, и которая задается в его собственной таблице потоков из сервера управления. Способ управления связью включает в себя: соединение множества процессоров, имеющих запоминающие устройства большой емкости, и множества расширенных сетевых интерфейсов посредством совместимого с режимом нескольких маршрутов коммутатора PCI express, чтобы конфигурировать порт коммутатора, состоящий из множества расширенных сетевых интерфейсов; выполнение обработки передачи для распределения нагрузки во множество процессоров из множества расширенных сетевых интерфейсов и выполнение высокоскоростной обработки пакетов через многопроцессорную обработку посредством использования множества процессоров; и конфигурирование таблицы потоков большого размера в коммутационном узле, который является программным, посредством использования пространств запоминающего устройства большой емкости множества процессоров.
Программа согласно настоящему изобретению выполняется посредством коммутационного узла, в котором множество расширенных сетевых интерфейсов, которые принимают пакеты, и множество процессоров, имеющих запоминающие устройства большой емкости, соединяются через совместимый с режимом нескольких маршрутов коммутатор PCI express, и который выполняет обработку принимаемого пакета на основе записи потока, которая задает правило и действие для того, чтобы единообразно управлять пакетами как потоком, и которая задается в его собственной таблице потоков из сервера управления. Программа включает в себя: извлечение секции заголовка одного из пакетов, когда любой из множества расширенных сетевых интерфейсов принимает пакеты из терминала; выполнение хэш-обработки в блоке потоков посредством использования, по меньшей мере, одного из MAC-адреса, VLAN-адреса и IP-адреса, для данных извлеченной секции заголовка; определение одного из процессоров в качестве назначения распределения через хэш-обработку; передачу пакетов в очередь пакетов PF-ресурса, соответствующего процессору назначений распределения; и выполнение DMA-передачи пакетов в процессор назначений распределения на основе управления процессора назначений распределения.
Программа согласно настоящему изобретению является программой для того, чтобы инструктировать коммутационному узлу выполнять обработку вышеуказанного способа управления связью. Следует отметить, что программа согласно настоящему изобретению может быть сохранена в блоке хранения и на носителе хранения данных.
Таким образом, может быть реализован программный коммутационный узел, в котором можно выполнять высокоскоростную обработку коммутации в соответствии с таблицей передачи большого размера.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 является схемой, показывающей пример базовой конфигурации традиционной сетевой системы;
Фиг. 2 является схемой, показывающей внутреннюю конфигурацию механизма перенаправления сетевого коммутатора традиционной сетевой системы;
Фиг. 3 является схемой, показывающей пример конфигурации таблицы передачи в традиционной сетевой системе;
Фиг. 4 является схемой, показывающей пример конфигурации CPU в традиционной сетевой системе;
Фиг. 5 является схемой, показывающей пример конфигурации сервера управления в традиционной сетевой системе;
Фиг. 6 является схемой, показывающей пример базовой конфигурации системы управления связью согласно настоящему изобретению;
Фиг. 7 является схемой, показывающей пример конфигурации расширенного сетевого интерфейса (расширенного NW-интерфейса) на стороне терминала;
Фиг. 8 является блок-схемой последовательности операций способа, показывающей процедуру обработки передачи пакетов с CPU;
Фиг. 9 является схемой, показывающей пример конфигурации расширенного сетевого интерфейса (расширенного NW-интерфейса) на стороне сервера управления;
Фиг. 10 является блок-схемой последовательности операций способа, показывающей процедуру при процессе анализа назначений;
Фиг. 11 является схемой, показывающей пример конфигурации CPU в системе управления связью согласно настоящему изобретению;
Фиг. 12 является блок-схемой последовательности операций способа, показывающей процедуру обработки синхронизации таблиц передачи для нескольких CPU;
Фиг. 13 является схемой, показывающей пример конфигурации таблицы передачи в системе управления связью согласно настоящему изобретению;
Фиг. 14 является схемой, показывающей систему управления связью согласно первому примерному варианту осуществления настоящего изобретения; и
Фиг. 15 является схемой, показывающей систему управления связью согласно второму примерному варианту осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ПРИМЕРНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Краткий обзор настоящего изобретения
В коммутаторе PCI express с поддержкой нескольких маршрутов (PCIe: стандарт PCI Express), который предписывается в PCI-SIG (специальной группе по направлению развития стандарта PCI), множество CPU для того, чтобы выполнять высокоскоростную обработку пакетов, и множество расширенных сетевых интерфейсов (NW-интерфейсов: сетевых интерфейсов) соединяются между собой, чтобы вводить и выводить пакеты с тем, чтобы конфигурировать коммутационный узел, который выполняет программную обработку пакетов.
Чтобы выполнять высокоскоростную обработку пакетов, подаваемых из терминала, расширенный сетевой интерфейс (расширенный NW-интерфейс) имеет функцию передавать пакеты во множество CPU, которые соединяются с коммутатором PCI express (PCIe) с поддержкой нескольких маршрутов, и анализирует заголовок каждого из пакетов, чтобы определять один из CPU, который обрабатывает пакеты и распределяет пакеты во множество CPU.
Что касается передачи данных между множеством CPU и множеством расширенных сетевых интерфейсов (расширенных NW-интерфейсов), расширенные сетевые интерфейсы (расширенные NW-интерфейсы) содержат множество DMA-контроллеров, чтобы выполнять DMA-передачи во множество CPU на высокой скорости. Таким образом, расширенный сетевой интерфейс (расширенный NW-интерфейс) выполняет передачу данных во множество CPU посредством использования DMA-контроллеров без дополнительной нагрузки на каждый CPU.
Каждый CPU соединяется с запоминающим устройством большой емкости и конфигурирует таблицу передачи, имеющую большое число записей в запоминающем устройстве, чтобы определять назначения пакетов.
При приеме пакетов, подаваемых из расширенного сетевого интерфейса (расширенного NW-интерфейса), CPU анализирует кадр каждого пакета через программную обработку в CPU, выполняет поиск в таблице передачи в запоминающем устройстве и определяет обработку для пакета (порт вывода пакета, обработку перезаписи заголовка пакета и т.д.).
CPU выполняет определенную программную обработку после того, как определяется обработка для пакета, и передает пакеты в расширенный сетевой интерфейс (расширенный NW-интерфейс).
Когда обработка для пакета не определяется в качестве результата поиска в таблице передачи, CPU выдает запрос на обработку пакета на сервер управления, который соединяется с тыльной частью расширенного сетевого интерфейса (расширенного NW-интерфейса).
CPU принимает контент обработки пакета из сервера управления и регистрирует его в таблице передачи в качестве записи.
Кроме того, CPU регистрирует запись в таблице передачи, которая управляется посредством другого CPU. Таким образом, когда выполняется обработка синхронизации, возникновение проблемы предотвращается, даже если пакеты распределяются в некоторые CPU из расширенного сетевого интерфейса (расширенного NW-интерфейса).
Примерные варианты осуществления
Ниже описываются примерные варианты осуществления настоящего изобретения со ссылками на прилагаемые чертежи.
Настоящее изобретение относится к сети с CD-разделением. Здесь, в качестве примера описывается OpenFlow-сеть в качестве одной из сетей с CD-разделением. Тем не менее, фактически настоящее изобретение не ограничено OpenFlow-сетью.
Конфигурация системы управления связью
Фиг. 6 показывает базовую конфигурацию системы управления связью согласно настоящему изобретению. Система управления связью согласно настоящему изобретению содержит терминалы 2 (2-i, i=1-T: T является числом терминалов), сервер 3 управления и коммутационный узел 4.
Сервер 3 управления является эквивалентным контроллеру в OpenFlow-сети. Коммутационный узел 4 является эквивалентным коммутатору в OpenFlow-сети. Терминалы 2 (2-i, i=1-T) и сервер 3 управления соединяются с коммутационным узлом 4.
Сервер 3 управления выполняет управление передачей пакетов, подаваемых из сети по оптимальному маршруту, и взаимодействием с сервером 3 управления для коммутационного узла 4, с тем чтобы совершенствовать предоставление сетевых услуг. Следует отметить, что сервер 3 управления является идентичным серверу управления в традиционной сетевой системе. Иными словами, сервер 3 управления является таким, как показано на фиг. 5.
Коммутационный узел 4 содержит коммутатор 50 PCI express (PCIe) с поддержкой нескольких маршрутов, расширенные сетевые интерфейсы 60 (расширенные NW-интерфейсы) (60-x, x=1-M: M является необязательным), CPU 70 (70-y, y=1-N: N является необязательным) и запоминающие устройства 80 (80-y, y=1-N).
Коммутатор 50 PCI express (PCIe) с поддержкой нескольких маршрутов соединяется с расширенными сетевыми интерфейсами 60 (расширенными NW-интерфейсами) (60-x, x=1-M) и CPU 70 (70-y, y=1-N).
Коммутатор 50 PCI express (PCIe) с поддержкой нескольких маршрутов является коммутатором PCI express (PCIe) для поддержки нескольких маршрутов, который перенаправляет данные между множеством расширенных сетевых интерфейсов 60 (расширенных NW-интерфейсов) (60-x, x=1-M) и множеством CPU 70 (70-y, y=1-N).
Расширенные сетевые интерфейсы 60 (расширенные NW-интерфейсы) (60-x, x=1-M) соединяются с терминалами 2 (2-i, i=1-T) и сервером 3 управления.
В этом случае, расширенный сетевой интерфейс 60-1 (расширенный NW-интерфейс) соединяется с терминалом 2-1. Расширенный сетевой интерфейс 60-2 (расширенный NW-интерфейс) соединяется с терминалом 2-2. Расширенный сетевой интерфейс 60-3 (расширенный NW-интерфейс) соединяется с терминалом 2-3. Расширенный сетевой интерфейс 60-4 (расширенный NW-интерфейс) соединяется с сервером 3 управления.
Расширенные сетевые интерфейсы 60-1-60-3 (расширенные NW-интерфейсы) принимают пакеты, подаваемые из терминалов 2-1-2-3.
Например, когда пакет подается в LAN-интерфейс (1G MAC) из терминала 2-1, расширенный сетевой интерфейс 60-1 (расширенный NW-интерфейс) определяет то, в какой из множества CPU 70 (70-y, y=1-N) распределяются пакеты, и выполняет передачу пакетов в CPU 70 (70-y, y=1-N) через коммутатор 50 PCI express (PCIe) с поддержкой нескольких маршрутов.
CPU 70 (70-y, y=1-N) соединяются с запоминающими устройствами 80 (80-y, y=1-N). Кроме того, CPU 70 (70-y, y=1-N) и таблицы 81 передачи (81-y, y=1-N) соединяются с механизмом 40 перенаправления сетевого коммутатора.
CPU 70 (70-y, y=1-N) и запоминающие устройства 80 (80-y, y=1-N) имеют соответствие "один-к-одному". Иными словами, CPU 70 (70-y, y=1-N) и запоминающее устройство 80 (80-y, y=1-N) присутствует в идентичном числе. Тем не менее, фактически множество CPU 70 (70-y, y=1-N) может совместно использовать идентичное запоминающее устройство 80 (80-y, y=1-N).
CPU 70 (70-y, y=1-N) выполняет обработку передачи пакетов.
Запоминающее устройство 80 (80-y, y=1-N) является запоминающим устройством большой емкости и сохраняет таблицу 81 передачи (81-z, z=1-N).
Таким образом, в коммутационном узле 4, коммутатор 50 PCI express (PCIe) с поддержкой нескольких маршрутов конфигурирует порты коммутатора множества расширенных сетевых интерфейсов 60 (расширенных NW-интерфейсов) (60-x, x=1-M) посредством соединения множества CPU 70 (70-y, y=1-N), которые имеют запоминающие устройства 80 большой емкости (80-y, y=1-N), и множества расширенных сетевых интерфейсов 60 (расширенных NW-интерфейсов) (60-x, x=1-M).
Кроме того, посредством разрешения обработки передачи для распределения нагрузки во множество возможных CPU 70 (70-y, y=1-N) из множества расширенных сетевых интерфейсов 60 (расширенных NW-интерфейсов) (60-x, x=1-M), реализуется высокоскоростная обработка пакетов через многопроцессорную обработку с использованием множества CPU 70 (70-y, y=1-N), и реализуется таблица потоков большого размера с использованием запоминающих устройств большой емкости CPU.
Таким образом, коммутационный узел 4 является программным коммутационным узлом, но может реализовывать высокоскоростной коммутационный узел, имеющий таблицу потоков большого размера.
Пояснение примером аппаратных средств
Ниже описывается пример конкретных аппаратных средств для того, чтобы реализовывать систему управления связью согласно настоящему изобретению.
В качестве примеров терминала 2 (2-i, i=1-T) и сервера 3 управления, предполагаются компьютеры, к примеру, PC (персональный компьютер), прибор, тонкий клиентский терминал/сервер, рабочая станция, мэйнфрейм и суперкомпьютер. Кроме того, в качестве другого примера терминала 2 (2-i, i=1-T), приводятся IP-телефон, мобильный телефон, смартфон, смартбук, автомобильная навигационная система, переносная игровая машина, игровая машина для домашнего применения, переносной музыкальный проигрыватель, портативный терминал, сумка для гаджетов (электронных устройств), интерактивный телевизор, цифровой тюнер, цифровое записывающее устройство, информационный бытовой прибор, устройство для OA (автоматизации работы офиса), терминал для покупок в электронном магазине и многофункциональный копировальный аппарат, система цифровых информационных табло (электронная вывеска) и т.д. Следует отметить, что терминал 2 (2-i, i=1-T) и сервер 3 управления могут представлять собой ретрансляционное оборудование и периферийное устройство.
В качестве примера коммутационного узла 4, приводятся сетевой коммутатор, маршрутизатор, прокси-сервер, шлюз, брандмауэр, модуль балансировки нагрузки (устройство распределения нагрузки), система управления полосой пропускания (формирователь пакетов), оборудование для управления и контроля состояния безопасности (SCADA: диспетчерское управление и сбор данных), шлюзовой контроллер, базовая станция, точка доступа (AP), спутник связи (CS), компьютер, имеющий множество портов связи, и т.д.
Терминал 2 (2-i, i=1-T), сервер 3 управления и коммутационный узел 4 могут представлять собой плату расширения, установленную на компьютере, и виртуальную машину (VM), созданную на физической машине. Кроме того, терминал 2 (2-i, i=1-T), сервер 3 управления и коммутационный узел 4 могут быть установлены на движущихся объектах, таких как автомобиль, корабль и самолет.
В качестве примера расширенного сетевого интерфейса 60 (расширенного NW-интерфейса) (60-x, x=1-M), приводятся полупроводниковая интегральная схема, такая как печатная плата (материнская плата и плата ввода-вывода), соответствующая LAN и т.д., сетевой адаптер, такой как NIC (сетевая интерфейсная плата), аналогичные платы расширения и т.д. В этом случае предполагается, что расширенный сетевой интерфейс 60 (расширенный NW-интерфейс) (60-x, x=1-M) нагружается с помощью сетевого процессора, чтобы выполнять обработку на высокой скорости в аппаратных средствах.
CPU 70 (70-Y, Y=1-N) является только примером процессора (процессора). CPU 70 (70-Y, Y=1-N) может быть сетевым процессором (NP), микропроцессором (микропроцессором), микроконтроллером, полупроводниковой интегральной схемой (LSI: большой интегральной схемой), имеющей функцию для монопольного использования, и т.д.
В качестве примера запоминающего устройства 80 (80-y, y=1-N), приводятся полупроводниковое запоминающее устройство, такое как RAM (оперативное запоминающее устройство), ROM (постоянное запоминающее устройство), EEPROM (электрически стираемое программируемое постоянное запоминающее устройство) и флэш-память, внешнее устройство хранения данных, такое как HDD (жесткий диск) и SSD (полупроводниковый накопитель), съемный диск, такой как DVD (универсальный цифровой диск), носители хранения данных, такие как карта памяти в формате SD (карта памяти в формате Secure Digital), и т.д.
Тем не менее, фактически настоящее изобретение не ограничено этими примерами.
Конфигурация расширенного сетевого интерфейса (сторона терминала)
Фиг. 7 показывает конфигурацию расширенных сетевых интерфейсов 60-1-60-3 (расширенных NW-интерфейсов), которые соединяются с терминалами 2-1-2-3.
Каждый из расширенных сетевых интерфейсов 60-1-60-3 (расширенных NW-интерфейсов) содержит конечную точку 61 PCI express (PCIe EP) с поддержкой нескольких маршрутов, LAN-интерфейс 62 (1G MAC), секцию 63 распределения в CPU и PF-ресурсы 64 (64-y, y=1-N).
Конечная точка 61 PCI express (PCIe EP) с поддержкой нескольких маршрутов соединяется с коммутатором 50 PCI express (PCIe) с поддержкой нескольких маршрутов.
LAN-интерфейс 62 (1G MAC) вводит и выводит пакеты в и из любого из терминалов 2-1-2-3. LAN-интерфейс (1G MAC) является LAN-интерфейсом, который соответствует передаче данных 1 Гбит/с. Следует отметить, что "1G" является только примером.
Секция 63 распределения в CPU выполняет обработку распределения пакетов во множество CPU 70 (70-y, y=1-N).
PF-ресурсы 64 (64-y, y=1-N) выполняют передачу и прием управляющих сообщений и пакетов на высокой скорости через DMA-передачу с множеством CPU 70 (70-y, y=1-N). В этом случае, PF1-ресурс 64-1, PF2-ресурс 64-2 и PF3-ресурс 64-3 показаны как пример PF-ресурсов 64 (64-y, y=1-N).
Конфигурация секции распределения в CPU
Секция 63 распределения в CPU содержит секцию 631 распределения пакетов, буфер 632 передачи пакетов, буфер 633 приема пакетов и секцию 634 передачи пакетов.
Секция 631 распределения пакетов извлекает секцию заголовка каждого из пакетов и данных в секции заголовка и выполняет хэш-обработку в блоке потоков посредством использования MAC-адреса, VLAN-адреса, IP-адреса и т.д. данных секции заголовка.
Буфер 632 передачи пакетов передает пакет в любой из PF-ресурсов 64 (64-y, y=1-N), который может передавать пакеты в CPU 70 (70-y, y=1-N) определенного назначения распределения, чтобы передавать пакеты в CPU 70 (70-y, y=1-N) назначения распределения.
Буфер 633 приема пакетов принимает пакеты, передаваемые из CPU 70 (70-y, y=1-N) через PF-ресурсы 64 (64-y, y=1-N), и передает их в секцию 634 передачи пакетов.
Секция 634 передачи пакетов передает пакет, принятый из буфера 633 приема пакетов, в терминал 2 (2-i, i=1-T).
Конфигурация PF-ресурса
Каждый из PF-ресурсов 64 (64-y, y=1-N) содержит DMA-контроллер 641, очередь 642 предназначенных для CPU пакетов и очередь 643 передаваемых из CPU пакетов.
DMA-контроллер 641 управляет DMA-передачей между каждым из PF-ресурсов 64 (64-y, y=1-N) и одним из CPU 70 (70-y, y=1-N).
Очередь 642 предназначенных для CPU пакетов сохраняет пакеты, которые должны быть переданы в CPU 70 (70-y, y=1-N).
Очередь 643 передаваемых из CPU пакетов сохраняет пакет, передаваемый из CPU 70 (70-y, y=1-N).
Обработка передачи пакетов с помощью CPU
Фиг. 8 показывает блок-схему последовательности операций способа, чтобы показывать процедуру, когда пакет передается из терминала 2 (2-i, i=1-T) и затем обрабатывается в и передается из CPU 70 (70-y, y=1-N).
(1) Этап S101
Когда пакеты подаются в расширенные сетевые интерфейсы 60 (расширенные NW-интерфейсы) (60-x, x=1-M) из терминала 2 (2-i, i=1-T), LAN-интерфейс 62 (1G MAC) принимает пакет и передает пакет в секцию 631 распределения пакетов секции 63 распределения в CPU.
(2) Этап S102
При приеме пакетов, секция 631 распределения пакетов извлекает секцию заголовка каждого пакета.
(3) Этап S103
Секция 631 обработки распределения пакетов выполняет хэш-обработку в блоке потоков посредством использования MAC-адреса, VLAN-адреса, IP-адреса и т.д. и данных из данных извлеченной секции заголовка пакета.
В этом случае, секция 631 обработки распределения пакетов выполняет хэш-обработку, чтобы определять то, какой из множества CPU 70 (70-y, y=1-N) выполняет обработку потока.
(4) Этап S104
Секция 631 обработки распределения пакетов определяет CPU 70 (70-y, y=1-N) в качестве назначения распределения на основе результата хэш-обработки.
(5) Этап S105
Секция 631 обработки распределения пакетов передает пакеты в буфер 632 передачи пакетов, чтобы передавать пакет в CPU 70 в качестве назначения распределения.
Буфер 632 передачи пакетов передает пакеты в любую из очередей 642 предназначенных для CPU пакетов PF-ресурсов 64, чтобы передавать пакеты в CPU 70, определенный в качестве назначения распределения.
В этом примере, буфер 632 передачи пакетов передает пакет в PF1-ресурс 64-1 с тем, чтобы передавать в CPU 70-1.
Когда пакеты, передаваемые из буфера 632 передачи пакетов, сохраняются в очереди 642-1 предназначенных для CPU пакетов PF1-ресурса 64-1, CPU 70-1 управляет DMA-контроллером 641-1 PF1-ресурса 64-1 через коммутатор 50 PCI express (PCIe) с поддержкой нескольких маршрутов. CPU 70-1 принимает пакеты, накопленные в очереди 642-1 предназначенных для CPU пакетов, на высокой скорости без дополнительной нагрузки на CPU 70-1.
В этом случае, CPU 70-1 управляет DMA-контроллером 641-1 PF1-ресурса 64-1 через корневой комплекс 71 шины PCI express (PCIe RC), коммутатор 50 PCI express (PCIe) с поддержкой нескольких маршрутов и шину PCI express (PCIe), содержащую конечную точку 61 PCI express (PCIe EP) с поддержкой нескольких маршрутов.
Конфигурация расширенного сетевого интерфейса (сторона сервера управления)
Фиг. 9 показывает конфигурацию расширенного сетевого интерфейса 60-4 (расширенного NW-интерфейса), который соединяется с сервером 3 управления.
Расширенный сетевой интерфейс 60-4 (расширенный NW-интерфейс) содержит конечную точку 61 PCI express (PCIe EP) с поддержкой нескольких маршрутов, LAN-интерфейс 62 (1G MAC), ресурсы 64 PF (файла подкачки) (64-y, y=1-N) и секцию 65 обработки передачи пакетов.
Каждый из расширенных сетевых интерфейсов 60-1-60-3 (расширенных NW-интерфейсов) содержит секцию 63 распределения в CPU, но расширенный сетевой интерфейс 60-4 (расширенный NW-интерфейс) содержит секцию 65 обработки передачи пакетов вместо него. Фактически, расширенный сетевой интерфейс может включать в себя секцию, в которой интегрируются функция секции 63 распределения в CPU и функция секции 65 обработки передачи пакетов.
Конечная точка 61 PCI express (PCIe EP) с поддержкой нескольких маршрутов соединяется с коммутатором 50 PCI express (PCIe) с поддержкой нескольких маршрутов.
LAN-интерфейса 62 (1G MAC) вводит и выводит пакет на/из серверов 3 управления.
PF-ресурсы 64 (64-y, y=1-N) выполняют передачу и прием управляющих сообщений и пакетов на высокой скорости через DMA-передачу с множеством CPU 70 (70-y, y=1-N). В этом случае, PF1-ресурс 64-1, PF2-ресурс 64-2 и PF3-ресурс 64-3 показаны в качестве примера PF-ресурсов 64 (64-y, y=1-N).
Секция 65 обработки передачи пакетов выполняет обработку передачи пакетов между каждым из множества CPU 70 (70-y, y=1-N) и сервером 3 управления.
Конфигурация секции обработки передачи пакетов
Секция 65 обработки передачи пакетов содержит секцию 651 анализа назначений, буфер 652 передачи пакетов, буфер 653 приема пакетов и секцию 654 передачи пакетов.
Секция 651 анализа назначений извлекает секцию заголовка пакета, подтверждает MAC-адрес назначения из данных секции заголовка и проверяет то, является он или нет MAC-адресом, используемым посредством CPU 70 (70-y, y=1-N) в коммутационном узле 4. Секция 651 анализа назначений изменяет назначения пакетов согласно результату проверки.
Буфер 652 передачи пакетов передает пакеты в любой из PF-ресурсов 64 (64-y, y=1-N), который может передавать пакеты в CPU 70 (70-y, y=1-N) в качестве определенных распределений, чтобы передавать пакеты в CPU 70 (70-y, y=1-N) в качестве назначений распределения.
Буфер 653 приема пакетов принимает пакеты, передаваемые из CPU 70 (70-y, y=1-N) через PF-ресурс 64 (64-y, y=1-N), и передает их в секцию 654 передачи пакетов.
Секция 654 передачи пакетов передает пакеты, принятые из буфера 653 приема пакетов, в терминал 2 (2-i, i=1-T).
Обработка анализа назначений
Фиг. 10 показывает блок-схему последовательности операций способа, показывающую процедуру обработки анализа назначений.
(1) Этап S201
Когда пакеты подаются в расширенный сетевой интерфейс 60 (расширенный NW-интерфейс) (60-x, x=1-M) из терминала 2 (2-i, i=1-T), LAN-интерфейс 62 (1G MAC) принимает пакеты и передает пакеты в секцию 631 распределения пакетов секции 63 распределения пакетов.
(2) Этап S202
При приеме пакетов, секция 651 анализа назначений извлекает секцию заголовка каждого пакета и проверяет MAC-адрес назначения пакета.
(3) Этап S203
Секция 651 анализа назначений проверяет то, является или нет MAC-адрес назначения MAC-адресом, используемым посредством какого-либо из CPU 70 (70-y, y=1-N) в коммутационном узле 4.
(4) Этап S204
Секция 651 анализа назначений выводит пакеты в буфер 652 передачи пакетов посредством реверсирования передачи без вывода пакетов наружу, когда MAC-адрес назначения является MAC-адресом, используемым посредством CPU 70 (70-y, y=1-N).
(5) Этап S205
Секция 651 анализа назначений выводит пакеты в секцию 654 передачи пакетов, когда MAC-адрес назначения не является MAC-адресом, используемым посредством какого-либо из CPU 70 (70-y, y=1-N). Секция 654 передачи пакетов передает пакет на сервер 3 управления через LAN-интерфейс 62-4 (1G MAC).
Взаимосвязь между расширенным сетевым интерфейсом и CPU
Расширенный сетевой интерфейс 60 (расширенный NW-интерфейс) (60-x, x=1-M) является совместимым с режимом нескольких маршрутов, и при приеме пакетов, передаваемых из терминала 2 (2-i, i=1-T), расширенный сетевой интерфейс 60 (расширенный NW-интерфейс) (60-x, x=1-M) ускоряет обработку посредством обработки распределения нагрузки для программной обработки пакетов и мультиплексирование обработки пакетов в каждом из CPU 70 (70-y, y=1-N).
Расширенный сетевой интерфейс 60 (расширенный NW-интерфейс) (60-x, x=1-M) определяет обработку распределения пакетов в каждый из CPU 70 (70-y, y=1-N) посредством использования хэш-функции и т.д.
Расширенный сетевой интерфейс 60 (расширенный NW-интерфейс) (60-x, x=1-M) распределяет и передает пакет в каждый из CPU 70 (70-y, y=1-N) через коммутатор 50 PCI express (PCIe) с поддержкой нескольких маршрутов на высокой скорости, чтобы минимизировать нагрузку CPU 70 (70-y, y=1-N) посредством использования DMA-контроллера 641.
Каждый из CPU 70 (70-y, y=1-N) анализирует принимаемый пакет через программную обработку и выполняет поиск в таблице 81 передачи (81-z, z=1-N), которая сохраняется в запоминающем устройстве 80 большой емкости (80-y, y=1-N), предоставляемой для каждого CPU 70 (70-y, y=1-N), чтобы определять порт вывода назначения проведения.
Таблица 81 передачи (81-z, z=1-N) управляет назначениями большого числа потоков.
После определения порта вывода каждый из CPU 70 (70-y, y=1-N) управляет DMA-контроллером 641 расширенного сетевого интерфейса 60 (расширенного NW-интерфейса) (60-x, x=1-M) в качестве назначения вывода и передает пакет через коммутатор 50 PCI express (PCIe) с поддержкой нескольких маршрутов на высокой скорости, чтобы минимизировать нагрузку на CPU.
Кроме того, каждый из CPU 70 (70-y, y=1-N) передает пакеты на сервер 3 управления через расширенный сетевой интерфейс 60-4 (расширенный NW-интерфейс), когда порт вывода не определяется в качестве результата поиска в таблице 81 передачи (81-z, z=1-N), и выдает запрос на назначение вывода.
Каждый из CPU 70 (70-y, y=1-N) сохраняет данные назначения потока в таблице 81 передачи (81-z, z=1-N), когда назначение определяется в качестве результата запроса.
В этом случае, каждый из CPU 70 (70-y, y=1-N) выполняет обработку синхронизации таким образом, что таблицы 81 передачи (81-z, z=1-N), управляемые посредством запоминающих устройств 80 (80-y, y=1-N), имеют идентичные данные, так что может осуществляться распределение нагрузки при обработке поиска.
Следовательно, программная обработка коммутации не выполняется посредством одного CPU, имеющего ограничение по характеристикам обработки, в отличие от традиционной сетевой системы, и аппаратная обработка коммутации, в которой ограничен размер таблицы 81 передачи (81-z, z=1-N), не выполняется. Таким образом, может быть реализован программный коммутационный узел 4, в котором можно выполнять высокоскоростную коммутацию в таблице 81 передачи большого размера (81-z, z=1-N).
Кроме того, коммутационный узел 4 может быть сконфигурирован в виде CPU, запоминающего устройства, коммутатора PCI express (PCIe) и сетевого интерфейса, которые имеют универсальность, так что они используются в общем компьютере, являются дешевыми и высокоэффективными, и в силу этого предоставляется преимущество по предпочтительности в аспекте затрат и в том, что имеются высокие степени свободы для изменения вследствие программной основы.
Конфигурация CPU
Фиг. 11 является схемой, показывающей программную конфигурацию, которая выполняется посредством CPU 70 (70-y, y=1-N).
Каждый из CPU 70 (70-y, y=1-N) содержит корневой комплекс 71 шины PCI express (PCIe RC), драйвер 72 сетевого интерфейса, секцию 73 анализа пакетов, секцию 74 табличного поиска, секцию 75 буферизации пакетов, секцию 76 запроса услуг, секция 77 шифрования, секцию 78 задания расширенных сетевых услуг и секцию 79 синхронизации таблиц передачи для нескольких CPU.
Корневой комплекс 71 шины PCI express (PCIe RC) соединяется с коммутатором 50 PCI express (PCIe) с поддержкой нескольких маршрутов.
Драйвер 72 сетевого интерфейса, секция 73 анализа пакетов, секция 74 табличного поиска, секция 75 буферизации пакетов, секция 76 запроса услуг, секция 77 шифрования, секция 78 задания расширенных сетевых услуг и секция 79 синхронизации таблиц передачи для нескольких CPU реализуются посредством каждого CPU 70 (70-y, y=1-N), выполняющего программное обеспечение.
Драйвер 72 сетевого интерфейса управляет расширенными сетевыми интерфейсами 60 (расширенными NW-интерфейсами) (60-x, x=1-M).
Секция 73 анализа пакетов выполняет анализ пакетов, подаваемых из расширенных сетевых интерфейсов 60 (расширенных NW-интерфейсов) (60-x, x=1-M).
Секция 74 табличного поиска выполняет поиск в таблице 81 передачи (81-z, z=1-N), чтобы определять способ передачи пакета.
Что касается обработки коммутации и пакета, обработка которого еще не определена, секция 75 буферизации пакетов сохраняет пакеты до тех пор, пока не будет определено то, должна или нет запрашиваться обработка пакета на сервере 3 управления.
Секция 76 запроса услуг запрашивает обработку пакета на сервере 3 управления.
Секция 77 шифрования выполняет зашифрованную связь с сервером 3 управления.
Секция 78 задания расширенных сетевых услуг задает таблицу 81 передачи (81-z, z=1-N) согласно инструкции из сервера 3 управления и выполняет обработку расширенных сетевых услуг.
Секция 79 синхронизации таблиц передачи для нескольких CPU передает инструкцию из сервера 3 управления в другой CPU 70 (70-y, y=1-N) и выполняет синхронизацию таблицы 81 передачи (81-z, z=1-N).
Обработка синхронизации таблиц передачи для нескольких CPU
Фиг. 12 показывает блок-схему последовательности операций способа, показывающую обработку синхронизации таблиц передачи для нескольких CPU.
(1) Этап S301
Секция 76 запроса услуг запрашивает способ обработки предоставления услуг (контент обработки) на сервере 3 управления. В этом случае, секция 76 запроса услуг отправляет пакеты, связанные с запросом на способ обработки предоставления услуг, в секцию 77 шифрования. Секция 77 шифрования шифрует пакеты, связанные с запросом на способ обработки предоставления услуг, чтобы отправлять в драйвер 72 сетевого интерфейса. Драйвер 72 сетевого интерфейса отправляет зашифрованные пакеты в коммутатор 50 PCI express (PCIe) с поддержкой нескольких маршрутов через корневой комплекс 71 шины PCI express (PCIe RC). Коммутатор 50 PCI express (PCIe) с поддержкой нескольких маршрутов передает зашифрованные пакеты на сервер 3 управления.
(2) Этап S302
Сервер 3 управления определяет способ обработки предоставления услуг. Здесь, секция 31 приема и передачи пакетов сервера 3 управления принимает зашифрованные пакеты, чтобы отправлять в секцию 32 шифрования. Секция 32 шифрования расшифровывает зашифрованные пакеты и отправляет пакеты, связанные с запросом на способ обработки предоставления услуг, в секцию 33 обработки расширенных сетевых услуг. Секция 33 обработки расширенных сетевых услуг определяет способ обработки предоставления услуг на основе пакетов, связанных с запросом на способ обработки предоставления услуг.
(3) Этап S303
Сервер 3 управления выполняет обработку добавления записи в таблицу 81 передачи (81-z, z=1-N) согласно определенному способу обработки предоставления услуг. В этом случае, сервер 3 управления передает запрос на добавление записи, который основан на способе обработки предоставления услуг, в секцию 76 запроса услуг в потоке, противоположном направлению потока на вышеуказанном этапе S301. Секция 76 запроса услуг сообщает запрос на добавление записи в секцию 78 задания расширенных сетевых услуг.
(4) Этап S304
Секция 78 задания расширенных сетевых услуг задает таблицу 81 передачи (81-z, z=1-N) в собственном CPU согласно запросу на добавление записи. В этом случае, секция 78 задания расширенных сетевых услуг задает таблицу 81 передачи (81-z, z=1-N), сохраненную в запоминающем устройстве 80 большой емкости (80-y, y=1-N), которое предоставляется для собственного CPU, согласно запросу на добавление записи.
(5) Этап S305
Секция 78 задания расширенных сетевых услуг сообщает контент таблицы 81 передачи (81-z, z=1-N) в собственном CPU в секцию 79 синхронизации таблиц передачи для нескольких CPU. Секция 79 синхронизации таблиц передачи для нескольких CPU запрашивает запись таблицы передачи в другой CPU на основе задания таблицы передачи в собственном CPU. В этом случае, секция 78 задания расширенных сетевых услуг сообщает контент таблицы 81 передачи (81-z, z=1-N) в собственном CPU в секцию 79 синхронизации таблиц передачи для нескольких CPU. Чтобы синхронизировать таблицу 81 передачи (81-z, z=1-N) в другом CPU с таблицей 81 передачи (81-z, z=1-N) в собственном CPU, секция 79 синхронизации таблиц передачи для нескольких CPU сообщает все записи таблицы 81 передачи (81-z, z=1-N) в собственном CPU в другой CPU и запрашивает запись в таблицу 81 передачи (81-z, z=1-N) в другом CPU.
(6) Этап S306
Секция 79 синхронизации таблиц передачи для нескольких CPU ожидает приема ответа с завершением записи из другого CPU и завершает обработку при приеме ответа с завершением записи из другого CPU.
Конфигурация таблицы передачи
Фиг. 13 показывает конфигурацию таблицы 81 передачи (81-z, z=1-N).
Таблица 81 передачи (81-z, z=1-N) может управлять большим числом потоков. В этом случае, таблица 81 передачи (81-z, z=1-N) управляет 6400000 записей.
Следует отметить, что "MAC DA" показывает MAC-адрес назначения, "MAC SA" показывает исходный MAC-адрес, "IP DA" показывает IP-адрес назначения, и "IP SA" показывает исходный IP-адрес.
Программная обработка пакетов в CPU
Ниже описывается процедура программной обработки пакетов в CPU 70 (70-y, y=1-N).
В CPU 70 (70-y, y=1-N), драйвер 72 сетевого интерфейса, который управляет расширенным сетевым интерфейсом 60 (расширенным NW-интерфейсом) (60-x, x=1-M) управляет DMA-контроллером 641 через корневой комплекс 71 шины PCI express (PCIe RC) и выполняет передачу и прием данных между CPU 70 (70-y, y=1-N) и расширенным сетевым интерфейсом 60 (расширенным NW-интерфейсом) (60-x, x=1-M).
Драйвер 72 сетевого интерфейса принимает пакет из расширенного сетевого интерфейса 60 (расширенного NW-интерфейса) (60-x, x=1-M) через корневой комплекс 71 шины PCI express (PCIe RC) и затем передает его в секцию 73 анализа пакетов для операции коммутации.
Секция 73 анализа пакетов извлекает данные заголовка пакета и т.д., анализирует извлеченные данные заголовка, формирует ключ поиска посредством использования данных заголовка и передает его в секцию 74 табличного поиска.
Секция 74 табличного поиска выполняет поиск в таблице 81 передачи (81-z, z=1-N), сохраненной в запоминающем устройстве 80 большой емкости (80-y, y=1-N), посредством использования ключа поиска, чтобы определять способ обработки для пакета.
Когда существуют совпадающие записи в качестве результата поиска в таблице 81 передачи (81-z, z=1-N), секция 74 табличного поиска определяет порт вывода назначения пакета и способ обработки, такой как обработки перезаписи заголовка, на основе действия по записи.
После этого, секция 74 табличного поиска передает пакет в секцию 75 буферизации пакетов.
После этого, когда способ обработки определен, секция 75 буферизации пакетов выполняет обработку пакета и выполняет операцию вывода пакета в порт вывода назначения для операции коммутации. Секция 75 буферизации пакетов передает пакет в драйвер 72 сетевого интерфейса, чтобы выводить пакет в порт вывода назначения согласно определенному способу обработки.
Драйвер 72 сетевого интерфейса управляет DMA-контроллером 641 через корневой комплекс 71 шины PCI express (PCIe RC) и выводит пакет в очередь 643 передаваемых из CPU пакетов расширенного сетевого интерфейса 60 (расширенного NW-интерфейса) (60-x, x=1-M) в качестве порта вывода назначения.
Кроме того, драйвер 72 сетевого интерфейса управляет DMA-контроллером 641 и сохраняет пакет, передаваемый в очередь 643 передаваемых из CPU пакетов, в буфере 633 приема пакетов.
Секция 634 передачи пакетов считывает пакет, сохраненный в буфере 633 приема пакетов, чтобы передавать в терминал 2 (2-i, i=1-T) назначения вывода через LAN-интерфейс 62 (1G MAC).
Кроме того, когда отсутствуют совпадающие записи в качестве результата поиска в таблице 81 передачи (81-z, z=1-N), секция 74 табличного поиска запрашивает способ обработки пакета на сервере 3 управления и определяет способ обработки.
В таком случае, секция 76 запроса услуг шифрует пакетные данные посредством использования секции 77 шифрования и затем передает в драйвер 72 сетевого интерфейса.
Драйвер 72 сетевого интерфейса управляет DMA-контроллером 641 расширенного сетевого интерфейса 60-4 (расширенного NW-интерфейса) через корневой комплекс 71 шины PCI express (PCIe RC) и передает зашифрованные пакетные данные в очередь 643 передаваемых из CPU пакетов расширенного сетевого интерфейса 60-4 (расширенного NW-интерфейса).
Драйвер 72 сетевого интерфейса управляет DMA-контроллером 641 и передает пакет, передаваемый в очередь 643 передаваемых из CPU пакетов (зашифрованные пакетные данные), в буфер 653 приема пакетов секции 65 обработки передачи пакетов.
После этого, драйвер 72 сетевого интерфейса управляет DMA-контроллером 641 и передает пакет, передаваемый в буфер 653 приема пакетов (зашифрованные пакетные данные), в секцию 651 анализа назначений.
При приеме пакета (зашифрованных пакетных данных), секция 651 анализа назначений подтверждает MAC-адрес назначения пакета и проверяет то, является он или нет MAC-адресом, используемым посредством CPU 70 (70-y, y=1-N) в коммутационном узле 4.
Когда он является MAC-адресом, используемым посредством CPU 70 (70-y, y=1-N), секция 651 анализа назначений реверсирует передачу пакета без вывода пакета наружу и выводит пакет (зашифрованные пакетные данные) в буфер 652 передачи пакетов.
Когда он отличается от используемого MAC-адреса, к примеру, пакет, предназначенный для сервера 3 управления, секция 651 анализа назначений отправляет в секцию 654 передачи пакетов и передает пакет (зашифрованные пакетные данные) на сервер 3 управления через LAN-интерфейс 62-4 (1G MAC).
Секция 31 приема и передачи пакетов сервера 3 управления принимает передаваемый пакет (зашифрованные пакетные данные) и затем передает его в секцию 32 шифрования.
Секция 32 шифрования расшифровывает зашифрованные пакетные данные, передает пакетные данные в секцию 33 обработки расширенных сетевых услуг и определяет способ обработки для пакета.
После того, как способ обработки определяется, секция 32 шифрования шифрует пакет данных способа обработки и отправляет в секцию 31 приема и передачи пакетов. Секция 31 приема и передачи пакетов передает пакет в расширенный сетевой интерфейс 60-4 (расширенный NW-интерфейс) и отвечает с зашифрованным пакетом в коммутационный узел 4.
LAN-интерфейс 62-4 (1G MAC) расширенного сетевого интерфейса 60-4 (расширенного NW-интерфейса) в коммутационном узле 4 принимает пакет с ответом и сохраняет пакет с ответом в буфере 652 передачи пакетов.
Драйвер 72 сетевого интерфейса CPU 70 (70-y, y=1-N) в коммутационном узле 4 управляет DMA-контроллером 641 и принимает и отправляет пакет с ответом, сохраненный в буфере 652 передачи пакетов, в секцию 77 шифрования. Секция 77 шифрования расшифровывает и передает пакет с ответом в секцию 76 запроса услуг.
Когда способ обработки определяется на основе пакета с ответом из сервера 3 управления, секция 76 запроса услуг сообщает контент обработки в секцию 78 задания расширенных сетевых услуг.
Секция 78 задания расширенных сетевых услуг выполняет обработку перезаписи заголовка пакета, передает пакет в инструктированный порт вывода пакета и выполняет операцию коммутации пакетов.
Кроме того, секция 78 задания расширенных сетевых услуг записывает способ обработки пакетов, полученный из сервера 3 управления, в таблице 81 передачи (81-z, z=1-N) запоминающего устройства 80, предоставляемого в собственном CPU, так что есть возможность определять способ обработки в таблице 81 передачи (81-z, z=1-N) из следующего пакета.
Кроме того, секция 78 задания расширенных сетевых услуг запрашивает обработку синхронизации в секцию 79 синхронизации таблиц передачи для нескольких CPU, так что аналогичная обработка может быть выполнена во множестве CPU 70 (70-y, y=1-N).
Секция 79 синхронизации таблиц передачи для нескольких CPU обновляет данные таблицы 81 передачи (81-z, z=1-N) в другом CPU 70 (70-y, y=1-N) на основе данных таблицы 81 передачи (81-z, z=1-N) в собственном CPU 70 (70-y, y=1-N) согласно запросу обработки синхронизации и выполняет обработку синхронизации таблиц 81 передачи (81-z, z=1-N) во множестве CPU.
Особенности в этом примерном варианте осуществления
Как описано выше, посредством использования коммутатора PCI express (PCIe) с поддержкой нескольких маршрутов может выполняться обработка распределения пакетов в каждый CPU.
Кроме того, программная высокоскоростная обработка при операции коммутации с использованием множества CPU может быть реализована посредством использования расширенного сетевого интерфейса (расширенного NW-интерфейса).
Кроме того, поскольку запоминающее устройство большой емкости может быть установлено, CPU может создавать таблицу передачи большого размера и конфигурацию высокоскоростного программного коммутационного узла, которая может управлять большим числом потоков.
В настоящем изобретении, используется множество CPU 70 (70-y, y=1-N), которые предписываются в PCI-SIG, множество блоков ввода-вывода и стандартный совместимый с режимом нескольких маршрутов коммутатор PCI express (PCIe), соединяемый с ними.
Кроме того, в настоящем изобретении, пакет анализируется с помощью сетевого процессора, и используется расширенная сетевая интерфейсная (расширенная NW-интерфейсная) плата, соответствующая поддержке нескольких маршрутов, которая может распределять обработку в CPU.
Кроме того, в настоящем изобретении, универсальные CPU и запоминающее устройство используются для того, чтобы выполнять обработку пакетов.
В настоящем изобретении, посредством выполнения синхронизации таблицы передачи между CPU и обработки пакетов посредством множества CPU, высокоскоростная обработка пакетов может быть реализована независимо от программной системы.
Кроме того, в настоящем изобретении, высокоскоростная передача и прием пакета выполняется между расширенным сетевым интерфейсом (расширенным NW-интерфейсом) и CPU и множеством CPU, посредством использования DMA-контроллера посредством коммутатора PCI express (PCIe).
Таким образом, высокоскоростной программный коммутационный узел, имеющий таблицу передачи большого размера, может быть сконфигурирован.
Кроме того, поскольку аппаратные компоненты, которые конфигурируют коммутационный узел, являются стандартными компонентами, затраты на устройство могут быть сокращены, и коммутационный узел может быть реализован с возможностью иметь масштабируемость по производительности за счет увеличения числа CPU и иметь высокую гибкость за счет конфигурирования программной системы.
Настоящее изобретение может применяться к сетевому устройству, которое должно управлять большим числом потоков, к примеру, 10000000 потоков, к сетевому устройству, которому требуется высокоскоростная и сложная обработка пакетов, и к сетевому устройству с широкими функциональными возможностями, которое использует множество серверов.
Настоящее изобретение может применяться к конфигурации, в которой внешний сервер управления не используется, так что может быть реализован коммутационный узел с широкими функциональными возможностями.
Первый примерный вариант осуществления
Фиг. 14 показывает пример конфигурации коммутационного узла согласно первому примерному варианту осуществления.
Система управления связью согласно настоящему примерному варианту осуществления содержит терминалы 2 (2-i, i=1-T), сервер 3 управления и коммутационный узел 5.
Терминалы 2 (2-i, i=1-T) и сервер 3 управления являются идентичными терминалам и серверу, описанным ранее.
Коммутационный узел 5 включает в себя LAN-коммутатор 100, CPU и запоминающее устройство 110 (110-y, y=1-N), коммутатор PCI express (PCIe) и интерфейс 120 виртуализации сети (интерфейс NW-виртуализации) (120-y, y=1-N), конечную точку PCI express (PCIe EP) с поддержкой одного маршрута и расширенный сетевой интерфейс 130 (расширенный NW-интерфейс) (130-x, x=1-(M+1)) и коммутатор PCI express (PCIe) с поддержкой нескольких маршрутов и интерфейс 140 виртуализации сети (интерфейс NW-виртуализации) (140-x, x=1-(M+1)).
LAN-коммутатор 100 является Ethernet-коммутатором (коммутатором Ethernet (зарегистрированный товарный знак)) и соединяет коммутатор PCI express (PCIe), интерфейс 120 виртуализации сети (интерфейс NW-виртуализации) (120-y, y=1-N) и конечную точку PCI express (PCIe EP) с поддержкой одного маршрута и расширенный сетевой интерфейс 130 (расширенный NW-интерфейс) (130-x, x=1-(M+1)).
CPU и запоминающее устройство 110 (110-y, y=1-N) является эквивалентным комбинации CPU 70 (70-y, y=1-N) и запоминающего устройства 80 (80-y, y=1-N).
Коммутатор PCI express (PCIe) и интерфейс 120 виртуализации сети (интерфейс NW-виртуализации) (120-y, y=1-N) является эквивалентным комбинации коммутатора PCI express (PCIe) и интерфейса виртуализации сети (интерфейса NW-виртуализации). Коммутатор PCI express (PCIe) и интерфейс 120 представления сети (интерфейс NW-виртуализации) (120-y, y=1-N) соединяет LAN-коммутатор 100 и CPU и запоминающее устройство 110 (110-y, y=1-N).
Конечная точка PCI express (PCIe EP) с поддержкой одного маршрута и расширенный сетевой интерфейс 130 (расширенный NW-интерфейс) (130-x, x=1-(M+1)) является эквивалентной комбинации конечной точки PCI express (PCIe EP) с поддержкой одного маршрута и расширенного сетевого интерфейса 60 (расширенного NW-интерфейса) (60-x, x=1-M). Конечная точка PCI express (PCIe EP) с поддержкой одного маршрута и расширенный сетевой интерфейс 130 (расширенный NW-интерфейс) (130-x, x=1-(M+1)) соединяет терминал 2 (2-i, i=1-T), коммутатор PCI express (PCIe) с поддержкой нескольких маршрутов и интерфейс 140 виртуализации сети (интерфейс NW-виртуализации) (140-x, x=1-(M+1)).
Коммутатор PCI express (PCIe) с поддержкой нескольких маршрутов и интерфейс 140 виртуализации сети (интерфейс NW-виртуализации) (140-x, x=1-(M+1)) являются эквивалентными комбинации коммутатора 50 PCI express (PCIe) с поддержкой нескольких маршрутов и интерфейса виртуализации сети (интерфейса NW-виртуализации). Коммутатор PCI express (PCIe) с поддержкой нескольких маршрутов и интерфейс 140 представления сети (интерфейс NW-виртуализации) (140-x, x=1-(M+1)) соединяют LAN-коммутатор 100, конечную точку PCI express (PCIe EP) с поддержкой одного маршрута и расширенный сетевой интерфейс 130 (расширенный NW-интерфейс) (130-x, x=1-(M+1)).
В настоящем изобретении, по мере того как увеличивается число CPU, может ожидаться повышение способности к обработке в отношении пропускной способности коммутатора.
При наличии одного, соответствующего коммутатору PCI express (PCIe) с поддержкой нескольких маршрутов по правилу PCI-SIG, он доступен аналогичным образом. Коммутатор с поддержкой нескольких маршрутов конфигурируется посредством использования LAN-коммутатора. Расширенный сетевой интерфейс (расширенный NW-интерфейс) с поддержкой одного маршрута виртуализируется для того, чтобы обеспечивать доступность множества CPU. Таким образом, настоящее изобретение может применяться к конфигурации системы, которая является эквивалентной конфигурации нескольких маршрутов.
В этом случае, поскольку коммутатор конфигурируется в LAN, конфигурируется очень крупный виртуальный коммутатор. CPU и большое число серверов, имеющих запоминающие устройства и сетевой интерфейс, соединяются с ним, так что может быть сконфигурирован коммутационный узел, который является очень крупным по своим масштабам и имеет широкие функциональные возможности.
Второй примерный вариант осуществления
Кроме того, фиг. 15 показывает пример конфигурации коммутационного узла согласно второму примерному варианту осуществления.
Фиг. 15 является конфигурацией, в которой часть CPU 70 (70-y, y=1-N) по фиг. 14 изменяется на GPU (графический процессор), в котором устанавливается большое число процессоров.
При использовании GPU обработка пакетов может быть выполнена посредством GPU вместо CPU, поскольку может ожидаться ускорение обработки пакетов, и можно подключаться к PCI express (PCIe).
Тем не менее, поскольку GPU является блоком ввода-вывода, один из CPU должен быть подключен в качестве ведущего CPU.
Система управления связью согласно настоящему примерному варианту осуществления содержит терминалы 2 (2-i, i=1-T), сервер 3 управления и коммутационный узел 6.
Терминалы 2 (2-i, i=1-T) и сервер 3 управления являются идентичными терминалам и серверу, описанным ранее.
Коммутационный узел 6 включает в себя LAN-коммутатор 100, CPU и запоминающее устройство 110, коммутатор PCI express (PCIe) и интерфейс 120 виртуализации сети (интерфейс NW-виртуализации) (120-y, y=1-N), конечную точку PCI express (PCIe EP) с поддержкой одного маршрута и расширенный сетевой интерфейс 130 (расширенный NW-интерфейс) (130-x, x=1-(M+1)), коммутатор PCI express (PCIe) с поддержкой нескольких маршрутов и интерфейс 140 виртуализации сети (интерфейс NW-виртуализации) (140-x, x=1(M+1)), GPU и запоминающее устройство 150 (150-y, y=1-N) и коммутатор PCI Express и интерфейс 120 виртуализации сети (интерфейс NW-виртуализации) (120-y, y=1-N).
LAN-коммутатор 100, CPU и запоминающее устройство 110, коммутатор PCI express (PCIe) и интерфейс 120 представления сети (интерфейс NW-виртуализации) (120-y, y=1-N), конечная точка PCI express (PCIe EP) с поддержкой одного маршрута и расширенный сетевой интерфейс 130 (расширенный NW-интерфейс) (130-x, x=1-(M+1)) и коммутатор PCI express (PCIe) с поддержкой нескольких маршрутов и интерфейс 140 виртуализации сети (интерфейс NW-виртуализации) (140-x, x=1-(M+1)) являются идентичными этим элементам в первом примерном варианте осуществления, показанном на фиг. 14.
GPU и запоминающее устройство 150 (150-y, y=1-N) является эквивалентным комбинации GPU и запоминающего устройства 150 (150-y, y=1-N).
Коммутатор PCI Express и интерфейс 120 виртуализации сети (интерфейс NW-виртуализации) (120-y, y=1-N) является эквивалентным комбинации коммутатора PCI Express и интерфейса виртуализации сети (интерфейса NW-виртуализации). Коммутатор PCI Express и интерфейс 120 виртуализации сети (интерфейс NW-виртуализации) (120-y, y=1-N) соединяет LAN-коммутатор 100 и GPU и запоминающее устройство 150 (150-y, y=1-N).
СУЩНОСТЬ
Настоящее изобретение относится к узлу, который может использовать коммутатор PCI express (PCIe) с поддержкой нескольких маршрутов, предписанный в PCI-SIG, может управлять большим числом таблиц передачи и может реализовывать обработку передачи пакетов с широкими функциональными возможностями в программном сетевом коммутационном узле.
Настоящее изобретение может конфигурировать таблицу потоков большого размера, может выполнять высокоскоростную обработку коммутации пакетов, соединяется с внешним сервером управления и может реализовывать протокольную обработку с широкими функциональными возможностями посредством использования совместимого с режимом нескольких маршрутов коммутатора и сетевого интерфейса, которые предписываются в стандарте PCI express (PCIe) в программном коммутационном узле.
Коммутационный узел согласно настоящему изобретению создан на программной основе посредством использования коммутатора PCI express (PCIe) с поддержкой нескольких маршрутов, множества CPU и множества сетевых интерфейсных плат.
Коммутационный узел согласно настоящему изобретению выполняет распределение обработки в CPU в сетевом интерфейсе, чтобы выполнять распределение нагрузки пакетов, и выполняет распределение нагрузки при обработке для множества CPU посредством использования коммутатора PCI express (PCIe) с поддержкой нескольких маршрутов.
Коммутационный узел согласно настоящему изобретению выполняет синхронизацию таблиц передачи между множеством CPU через коммутатор PCI express (PCIe) с поддержкой нескольких маршрутов на высокой скорости посредством использования расширенной интерфейсной платы, с помощью которой можно выполнять поток задач.
КОММЕНТАРИИ
Как описано выше, подробно пояснены примерные варианты осуществления настоящего изобретения. Тем не менее, фактически настоящее изобретение не ограничено вышеуказанными примерными вариантами осуществления. Модификация в диапазоне, который не отклоняется от объема настоящего изобретения, содержится в настоящем изобретении.
Следует отметить, что данная заявка испрашивает приоритет по заявке на патент Японии номер JP 2011-063441. Ее раскрытие сущности содержится в данном документе по ссылке.
название | год | авторы | номер документа |
---|---|---|---|
СЕТЕВАЯ СИСТЕМА И СПОСОБ ПОЛУЧЕНИЯ ДАННЫХ ТЕГА VLAN | 2012 |
|
RU2589340C2 |
СИСТЕМА УПРАВЛЕНИЯ СВЯЗЬЮ И СПОСОБ УПРАВЛЕНИЯ СВЯЗЬЮ | 2011 |
|
RU2523917C2 |
СИСТЕМА УПРАВЛЕНИЯ МАРШРУТОМ СВЯЗИ И СПОСОБ УПРАВЛЕНИЯ МАРШРУТОМ СВЯЗИ | 2012 |
|
RU2562760C2 |
СЕТЕВАЯ СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ ТРАФИКОМ СВЯЗИ | 2011 |
|
RU2576480C2 |
СЕТЕВАЯ СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ СЕТЬЮ | 2011 |
|
RU2562438C2 |
КОММУТАЦИОННАЯ СИСТЕМА, СИСТЕМА УПРАВЛЕНИЯ КОММУТАЦИЕЙ И НОСИТЕЛЬ ДАННЫХ | 2011 |
|
RU2595918C2 |
БЛОК СВЯЗИ, СИСТЕМА СВЯЗИ, СПОСОБ СВЯЗИ И НОСИТЕЛЬ ЗАПИСИ | 2011 |
|
RU2554543C2 |
СИСТЕМА СВЯЗИ, АППАРАТУРА СВЯЗИ И СПОСОБ УПРАВЛЕНИЯ СВЯЗЬЮ | 2014 |
|
RU2637471C2 |
КЛАСТЕРНАЯ СИСТЕМА С ПРЯМОЙ КОММУТАЦИЕЙ КАНАЛОВ | 2011 |
|
RU2461055C1 |
Высокопроизводительная вычислительная платформа на базе процессоров с разнородной архитектурой | 2016 |
|
RU2635896C1 |
Изобретение относится к системам управления связью. Технический результат заключается в повышении скорости передачи данных. Система содержит: коммутационный узел, сконфигурированный с возможностью осуществлять обработку каждого из принимаемых пакетов на основе записи потока, задающей правило и действие для того, чтобы единообразно управлять пакетами; и сервер управления, сконфигурированный с возможностью задавать запись потока в таблице потоков коммутационного узла, при этом коммутационный узел содержит: средство для соединения множества процессоров; средство для выполнения обработки передачи для распределения нагрузки из множества расширенных сетевых интерфейсов во множество процессоров и выполнения высокоскоростной обработки пакетов через многопроцессорную обработку посредством использования множества процессоров; и средство для конфигурирования таблицы потоков большого размера в коммутационном узле. 4 н. и 6 з.п. ф-лы, 15 ил.
1. Система управления связью, содержащая:
- коммутационный узел, сконфигурированный с возможностью осуществлять обработку каждого из принимаемых пакетов на основе записи потока, задающей правило и действие для того, чтобы единообразно управлять пакетами; и
- сервер управления, сконфигурированный с возможностью задавать запись потока в таблице потоков коммутационного узла,
- при этом коммутационный узел содержит:
- средство для соединения множества процессоров, имеющих запоминающие устройства большой емкости, и множества расширенных сетевых интерфейсов посредством совместимого с режимом нескольких маршрутов коммутатора PCI express, чтобы конфигурировать порты коммутатора, состоящие из множества расширенных сетевых интерфейсов;
- средство для выполнения обработки передачи для распределения нагрузки из множества расширенных сетевых интерфейсов во множество процессоров и выполнения высокоскоростной обработки пакетов через многопроцессорную обработку посредством использования множества процессоров; и
- средство для конфигурирования таблицы потоков большого размера в коммутационном узле, который является программным, посредством использования пространства запоминающего устройства большой емкости множества процессоров.
2. Система управления связью по п. 1, в которой коммутационный узел дополнительно содержит:
- средство для приема пакетов посредством любого из множества расширенных сетевых интерфейсов;
- средство для определения обработки распределения для множества процессоров посредством использования хэш-функции в одном из множества расширенных сетевых интерфейсов, который принимает пакеты, и выполнения высокоскоростной обработки посредством обработки распределения нагрузки для программной обработки пакетов и многопроцессорной обработки для обработки пакетов во множестве процессоров; и
- средство для распределения пакетов во множество процессоров посредством использования DMA-контроллера расширенного сетевого интерфейса через коммутатор PCI express, и
- при этом каждый из множества процессоров содержит:
- средство для анализа принимаемого пакета с помощью программной обработки;
- средство для выполнения табличного поиска в таблице потоков, которая конфигурируется посредством использования запоминающего устройства большой емкости, предоставляемого для его собственного процессора, и управления назначениями большого числа потоков, чтобы определять порт вывода назначения;
- средство для управления DMA-контроллером одного из множества расширенных сетевых интерфейсов, который является назначением вывода после определения порта вывода назначения, и передачи пакетов через коммутатор PCI express;
- средство для передачи пакетов на сервер управления через расширенный сетевой интерфейс коммутационного узла, когда порт вывода назначения не определяется в качестве результата табличного поиска в таблице потоков и выдает запрос на назначение вывода;
- средство для сохранения данных назначения соответствующего потока в таблице потоков, когда порт вывода назначения определяется в качестве результата запроса; и
- средство для выполнения обработки синхронизации таблиц потоков между множеством процессоров, так что таблицы потоков, управляемые посредством множества процессоров, сохраняют идентичные данные, чтобы давать возможность распределения нагрузки при обработке поиска.
3. Коммутационный узел, содержащий:
- множество расширенных сетевых интерфейсов, сконфигурированных с возможностью принимать пакеты;
- множество процессоров, имеющих запоминающие устройства большой емкости; и
- совместимый с режимом нескольких маршрутов коммутатор PCI express, сконфигурированный с возможностью соединять множество процессоров и множество расширенных сетевых интерфейсов,
- при этом каждый из множества расширенных сетевых интерфейсов содержит:
- LAN-интерфейс, сконфигурированный с возможностью осуществлять ввод и вывод пакетов;
- секцию передачи пакетов, сконфигурированную с возможностью осуществлять, по меньшей мере, одну обработку передачи из обработки передачи пакетов во множество процессоров, обработки передачи пакета между множеством процессоров и обработки передачи на сервер управления;
- множество PF-ресурсов, сконфигурированных с возможностью осуществлять передачу и прием пакетов на высокой скорости с множеством процессоров посредством DMA-передачи; и
- конечную точку PCI express, соединенную с коммутатором PCI express.
4. Коммутационный узел по п. 3, в котором каждый из множества процессоров содержит:
- драйвер сетевого интерфейса, соединенный с коммутатором PCI express через корневой комплекс шины PCI express, чтобы управлять одним из множества расширенных сетевых интерфейсов;
- секцию анализа пакетов, сконфигурированную с возможностью осуществлять обработку анализа пакетов, подаваемых из расширенного сетевого интерфейса;
- секцию табличного поиска, сконфигурированную с возможностью осуществлять поиск в таблице потоков, чтобы определять обработку передачи пакетов на основе результата анализа пакетов;
- секцию буферизации пакетов, сконфигурированную с возможностью запрашивать обработку коммутации и обработку неопределенных пакетов на сервер управления и сохранять пакет до тех пор, пока способ обработки не будет определен;
- секцию запроса услуг, сконфигурированную с возможностью запрашивать контент обработки пакетов на сервере управления;
- секцию шифрования, сконфигурированную с возможностью осуществлять зашифрованную связь с сервером управления;
- секцию задания расширенных сетевых услуг, сконфигурированную с возможностью задавать таблицу потоков в ответ на инструкцию из сервера управления и выполнять обработку расширенных сетевых услуг; и
- секцию синхронизации многопроцессорных таблиц передачи, сконфигурированную с возможностью передавать инструкцию из сервера управления в другие процессоры и выполнять обработку синхронизации таблиц потоков между множеством процессоров.
5. Коммутационный узел по п. 3, в котором секция передачи пакетов дополнительно содержит:
- средство для проверки того, является или нет MAC-адрес назначения каждого из пакетов MAC-адресом, используемым посредством любого из процессоров в коммутационном узле, при приеме пакетов;
- средство для передачи, когда MAC-адрес назначения является MAC-адресом, используемым посредством любого из процессоров в коммутационном узле, пакетов в PF-ресурс посредством реверсирования передачи без вывода пакета наружу; и
- средство для передачи, когда MAC-адрес назначения не представляет собой MAC-адреса, используемые посредством процессоров, пакетов на сервер управления через LAN-интерфейс, и запроса контента обработки пакетов на сервере управления и передачи пакета с ответом из сервера управления в PF-ресурс.
6. Способ управления связью в коммутационном узле, который выполняет обработку принимаемого пакета на основе записи потока, которая задает правило и действие для того, чтобы единообразно управлять пакетами как потоком, и которая задается в его собственной таблице потоков из сервера управления, причем способ управления связью содержит этапы, на которых:
- соединяют множество процессоров, имеющих запоминающие устройства большой емкости, и множество расширенных сетевых интерфейсов посредством совместимого с режимом нескольких маршрутов коммутатора PCI express, чтобы конфигурировать порты коммутатора, состоящие из множества расширенных сетевых интерфейсов;
- выполняют обработку передачи для распределения нагрузки во множество процессоров из множества расширенных сетевых интерфейсов и выполняют высокоскоростную обработку пакетов через многопроцессорную обработку посредством использования множества процессоров; и
- конфигурируют таблицу потоков большого размера в коммутационном узле, который является программным, посредством использования пространств запоминающего устройства большой емкости множества процессоров.
7. Способ управления связью по п. 6, дополнительно содержащий этапы, на которых:
- принимают пакет посредством любого из множества расширенных сетевых интерфейсов;
- определяют обработку распределения для множества процессоров посредством использования хэш-функции в расширенном сетевом интерфейсе, который принял пакет, и ускоряют обработку через многопроцессорную обработку для обработки пакетов и обработку распределения нагрузки для программной обработки пакетов в процессорах;
- распределяют пакеты во множество процессоров посредством использования DMA-контроллеров расширенных сетевых интерфейсов через коммутатор PCI express;
- в каждом из множества процессоров:
- анализируют принимаемые пакеты в программной обработке;
- выполняют табличный поиск в таблице потоков, которая управляет назначениями большого числа потоков и которую конфигурируют посредством использования запоминающих устройств большой емкости, предоставляемых в процессорах, чтобы определять порт вывода назначения;
- передают пакеты через коммутатор PCI express посредством управления DMA-контроллером расширенного сетевого интерфейса в качестве назначения вывода, после определения порта вывода назначения;
- запрашивают назначение вывода посредством передачи пакетов на сервер управления через расширенный сетевой интерфейс коммутационного узла, когда порт вывода назначения не определен в качестве результата табличного поиска в таблице потоков;
- сохраняют данные назначения потока в таблице потоков, когда порт вывода назначения определен в качестве результата запроса; и
- выполняют обработку синхронизации таблицы потоков между множеством процессоров и сохраняют идентичные данные в таблицах потоков, управляемых посредством множества процессоров, чтобы достигать распределения нагрузки при обработке поиска.
8. Носитель записи, который хранит программу, выполняемую посредством коммутационного узла, в котором множество расширенных сетевых интерфейсов, которые принимают пакеты, и множество процессоров, имеющих запоминающие устройства большой емкости, соединяются через совместимый с режимом нескольких маршрутов коммутатор PCI express, и который выполняет обработку принимаемого пакета на основе записи потока, которая задает правило и действие для того, чтобы единообразно управлять пакетами как потоком, и которая задается в его собственной таблице потоков из сервера управления.
- при этом программа содержит:
- извлечение секции заголовка одного из пакетов, когда любой из множества расширенных сетевых интерфейсов принимает пакеты из терминала;
- выполнение хэш-обработки в блоке потоков посредством использования, по меньшей мере, одного из MAC-адреса, VLAN-адреса и IP-адреса, для данных извлеченной секции заголовка;
- определение одного из процессоров в качестве назначения распределения через хэш-обработку;
- передачу пакетов в очередь пакетов PF-ресурса, соответствующего процессору назначений распределения; и
- выполнение DMA-передачи пакетов в процессор назначений распределения на основе управления процессором назначений распределения.
9. Носитель записи по п. 8, в котором программа содержит:
- проверку того, является или нет MAC-адрес назначения каждого из пакетов идентичным какому-либо из MAC-адресов, используемых посредством процессоров в коммутационном узле, при приеме пакетов;
- передачу пакетов в PF-ресурс посредством реверсирования передачи без вывода пакетов наружу, когда MAC-адрес назначения является MAC-адресом, используемым посредством любого из процессоров в коммутационном узле; и
- передачу пакетов на сервер управления, когда MAC-адрес назначения не является ни одним из MAC-адресов, используемых посредством процессоров в коммутационном узле, и запрос контента обработки пакетов на сервере управления, чтобы передавать пакет с ответом из сервера управления в PF-ресурс.
10. Носитель записи по п. 9, в котором программа содержит:
- задание таблицы потоков, сохраненной в запоминающем устройстве большой емкости, предоставленном для собственного CPU, в ответ на запрос на добавление записи, который основан на способе обработки предоставления услуг, который определяется посредством сервера управления; и
- запись таблицы потоков в другой CPU на основе задания таблицы потоков и выполнения обработки синхронизации таблиц потоков между множеством процессоров.
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Способ приготовления лака | 1924 |
|
SU2011A1 |
Авторы
Даты
2016-05-20—Публикация
2012-03-21—Подача