УЗЕЛ СВЯЗИ, СПОСОБ ОБРАБОТКИ ПАКЕТОВ И ПРОГРАММА Российский патент 2016 года по МПК H04L12/717 

Описание патента на изобретение RU2595888C2

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

[0001]

(Ссылка на родственную заявку)

Настоящая заявка имеет приоритет заявки на патент Японии 2012-062221 (поданной 19 марта 2012 года), содержимое которой полностью включено в данное описание посредством ссылки.

Изобретение относится к узлу связи, способу обработки пакетов и программе и более конкретно к узлу связи, который приводится в действие на основе информации управления, устанавливаемой из контроллера, способу обработки пакетов и программе.

УРОВЕНЬ ТЕХНИКИ

[0002]

В последнее время была предложена методика, известная как OpenFlow (открытый поток) (см. патентную литературу (PTL) 1 и непатентную литературу (NPL) 1 и 2). OpenFlow фиксирует связь в качестве сквозного потока и выполняет управление трактом, балансировкой нагрузки и оптимизацией нагрузки на попоточной основе. Коммутатор OpenFlow, функционирующий в качестве ретрансляционного оборудования, включает в себя защищенный канал для связи с контроллером OpenFlow, разработанным для функционирования в качестве контроллера, и приводится в действие в соответствии с таблицей(ами) потоков, управляемой касаемо добавления или перезаписи из контроллера OpenFlow. В таблицах потоков задается на каждый поток правило(а) соответствия или поле(я) заголовка, с которыми проверяется соответствие заголовка пакета, информация статистики по потокам или Счетчик(и) (Counter) и команда(ы), в которой обозначено содержимое обработки, применяемое к пакетам, соответствующим правилу(ам) соответствия или полю(ям) заголовка (см. «4.1 Таблица потоков» («4.1 Flow Table») и последующее в непатентной литературе 2).

[0003]

Например, после приема пакета коммутатор OpenFlow осуществляет поиск записи, имеющей правило(а) соответствия, соответствующее информации заголовка принятого пакета, в таблице потоков. Если в результате извлечения найдена запись, соответствующая принятому пакету, то коммутатор OpenFlow обновляет информацию статистики потоков (Счетчиков) в то же самое время, когда он выполняет совместно с принятым пакетом содержимое обработки, обозначенное в поле действия рассматриваемой записи, такое как, например, передача пакета из заданного порта, лавинная рассылка или отбрасывание. Наоборот, если не найдено никакой записи, соответствующей принятому пакету посредством вышеупомянутого поиска, то коммутатор OpenFlow пересылает принятый пакет по защищенному каналу в контроллер OpenFlow, чтобы запросить его определить тракт для принятого пакета на основе источника и получателя передачи принятого пакета. Коммутатор OpenFlow принимает запись потока, которая предоставит возможность определить тракт для пакета для обновления его таблицы потоков. Таким образом коммутатор OpenFlow пересылает пакет с использованием записи, хранящейся в таблице потоков, в качестве правила обработки.

[0004]

В документе «4.1.1 Конвейерная обработка» («4.1.1 Pipeline Processing») непатентной литературы 2, упоминаемом ниже в качестве «конвейерной обработки», делается упоминание о том, что коммутатор OpenFlow должен поддерживать обработку многоэтапного поиска с использованием множества таблиц потоков. Согласно непатентной литературе 2 обработка, состоящая из (1) поиска, среди записей в i-й таблице (i = 0 до n), соответствующей принятому пакету, причем такая запись имеет самый высокий приоритет, (2) обновления команды (команд) записи (изменение пакета, обновление поля соответствия или обновление набора действий (см. «4.7 Набор действий» непатентной литературы 2) и обновление метаданных) и (3) отправки данных соответствия и набора действий в следующую таблицу, многократно выполняется в конвейерной обработке. Наконец, осуществляется исполнение содержимого набора действий (см. фиг. 2 непатентной литературы 2).

[0005]

PTL 1:

Международная публикация No. WO 2008/095010

[0006]

NPL 1:

Ник Маккиоун и другие: «OpenFlow: Внедрение инноваций в университетских сетях» (Nick McKeown and seven others: «OpenFlow: Enabling Innovation in Campus Networks»), [найдено в сети Интеренет], [найдено 14 февраля 2012], Интернет <URL:

http://www.openflow.org/documents/openflow-wp-latest.pdf>.

NPL 2:

«Спецификация коммутатора OpenFlow», Реализованная версия 1.1.0 (Проводной Протокол 0x02) («OpenFlow Switch Specification,» Version 1.1.0 Implemented (Wire Protocol 0x02)), [найдено в сети Интеренет], [найдено 14 февраля 2012], Интернет <URL:

http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf>.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0007]

Посредством изобретения делается следующий анализ. С использованием вышеупомянутой конвейерной обработки оказывается возможным выполнение множества различных операций обработки по каждому принятому пакету посредством, например, прямого вывода принятого пакета неизменным, изменения (посредством переписывания) заголовка принятого пакета, повторного поиска таблицы потоков и выполнения другой операции(й) обработки.

[0008]

Однако в конвейерной обработке в непатентной литературе 2, если таблица, в которой следует осуществить поиск, должна быть сменена, то таблица потоков, в которой теперь следует осуществлять поиск, должна быть таблицей потоков, идентификатор таблицы которой больше идентификатора таблицы той таблицы потоков, на которую в настоящее осуществляется ссылка, как изложено в параграфе «Перейти к таблице» («Goto-Table») документа «4.6 Команды» («4.6 Instructions») (см. фиг. 5). Таким образом, если к одиночному принятому пакету необходимо применить различные операции, то количество таблиц потоков, которые должен вмещать в себя каждый коммутатор OpenFlow, нежелательно увеличивается.

[0009]

Поэтому задача изобретения состоит в предоставлении узла связи, функционирующего в соответствии с информацией управления, устанавливаемой или конфигурируемой из контроллера, представленного вышеупомянутым OpenFlow, узла связи, способа обработки пакетов и программы обработки пакетов, согласно которым могут применяться различные операции с использованием меньшего количества таблиц потоков.

[0010]

Согласно первому аспекту изобретения предложен узел связи, содержащий: одну или более таблицу (таблиц) потоков, которая хранит элемент(ы) информации управления, установленный контроллером; и блок обработки пакетов, который осуществляет поиск элемента информации управления, имеющий условие соответствия, соответствующее принятому пакету, в упомянутой одной или более таблице(ах) потоков и обрабатывает принятый пакет в соответствии с элементом информации управления. В случае, когда в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету, добавлена команда для предварительно установленных циклов, блок обработки пакетов выполняет предварительно установленное количество раз поиск другого элемента информации управления в упомянутой одной или более таблице(ах) потоков и исполнение найденного элемента информации управления.

[0011]

Согласно второму аспекту изобретения предложена система связи, содержащая узел связи и контроллер. Узел связи содержит: множество таблиц потоков, которые хранят элемент(ы) информации управления; и блок обработки пакетов, который выбирает множество таблиц потоков в предварительно установленном порядке, осуществляет поиск элемента информации управления, имеющего условие соответствия, соответствующее принятому пакету, и обрабатывает принятый пакет в соответствии с элементом информации управления. В случае, когда в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету, добавлена команда для предварительно установленных циклов, узел связи выполняет предварительно установленное количество раз поиск другого элемента информации управления в упомянутом множестве таблиц потоков и исполнение найденного элемента информации управления. Контроллер устанавливает в упомянутом множестве таблиц потоков узла связи множество элемента(ов) информации управления, включающего в себя элемент информации управления, к которому добавлена команда для предварительно установленных циклов.

[0012]

Согласно третьему аспекту изобретения предложен способ обработки пакетов узлом связи, который содержит одну или более таблицу(ы) потоков, которая хранит элемент(ы) информации управления, установленный контроллером, и блок обработки пакетов, который осуществляет поиск элемента информации управления, имеющего условие соответствия, соответствующее принятому пакету, в упомянутой одной или более таблице(ах) потоков и обрабатывает принятый пакет в соответствии с элементом информации управления. Способ обработки пакетов содержит этапы, на которых: проверяют, добавлена ли команда для предварительно установленных циклов в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету; и выполняют предварительно установленное количество раз поиск другого элемента информации управления в упомянутой одной или более таблице(ах) потоков и исполнение найденного элемента информации управления в случае, когда в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету, добавлена команда для предварительно установленных циклов. Настоящий способ связан с конкретной машиной в виде узла связи, приводящегося в действие информацией управления, конфигурируемой из контроллера.

[0013]

Согласно четвертому аспекту изобретения предложена программа, предписывающая компьютеру, установленному на панели узла связи, который содержит одну или более таблицу(ы) потоков, которая хранит элемент(ы) информации управления, установленный контроллером, и блок обработки пакетов, который осуществляет поиск элемента информации управления, имеющий условие соответствия, соответствующее принятому пакету, в упомянутой одной или более таблице(ах) потоков и обрабатывает принятый пакет в соответствии с элементом информации управления, исполнять: проверку, добавлена ли команда для предварительно установленных циклов в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету; и выполнение предварительно установленное количество раз поиска другого элемента информации управления в упомянутой одной или более таблице(ах) потоков и исполнения найденного элемента информации управления в случае, когда в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету, добавлена команда для предварительно установленных циклов. Следует заметить, что настоящая программа может быть записана на считываемом компьютером, то есть постоянном, носителе записей. То есть изобретение может быть реализовано в качестве компьютерного программного продукта.

[0014]

Согласно изобретению узел связи, приводящийся в действие в соответствии с информацией управления, конфигурируемой из контроллера, может быть изготовлен для выполнения различных операций обработки несмотря на использование меньшего количества таблиц потоков.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0015]

Фиг. 1 является блок-схемой, изображающей конфигурацию первого примерного варианта осуществления изобретения.

Фиг. 2 является блок-схемой, изображающей конфигурацию коммутатора OpenFlow согласно первому примерному варианту осуществления изобретения.

Фиг. 3 является схематическим видом, изображающим записи потоков, сконфигурированные в коммутаторе OpenFlow согласно первому примерному варианту осуществления изобретения, а также содержимое обработки для них.

Фиг. 4 является блок-схемой последовательности операций, изображающей процесс обработки во время приема пакета в коммутаторе OpenFlow согласно первому примерному варианту осуществления изобретения.

Фиг. 5 является схематическим видом для изображения обработки поиска в таблицах потоков в коммутаторе OpenFlow согласно непатентной литературе 1 и 2.

ПРЕДПОЧТИТЕЛЬНЫЕ ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ

[0016]

Следует отметить, что символы для ссылки на чертежи, добавленные в последующее описание, приводятся лишь для оказания помощи в понимании и не предназначены ограничивать изобретение до изображенных вариантов осуществления.

[0017]

В одном варианте осуществления изобретения узел 10A связи включает в себя одну или более таблицу(ы) 21 потоков, которая хранит элемент(ы) информации управления, установленный из контроллера 30A, и блок 11 обработки пакетов, как показано на фиг. 1. Блок обработки пакетов осуществляет поиск элемента информации управления, имеющего условие соответствия, соответствующее принятому пакету, в упомянутой одной или более таблице(ах) потоков и обрабатывает пакет в соответствии с элементом информации управления.

[0018]

Более подробно, если команда для предварительно установленных циклов добавлена в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету, то узел 10A связи выполняет предварительно установленное количество раз поиск другого элемента информации управления в таблице(ах) 21 потоков и исполнение найденного элемента информации управления. Например, после приема пакета, соответствующего записи потока в самом верхнем поле таблицы 21 потоков на фиг. 1, узел 10A связи исполнят содержимое обработки записи потока, осуществляет поиск другого элемента информации управления и исполняет найденную таким образом информацию управления. По такому принципу может осуществляться поиск записи (записей) потока в нижнем поле(ях) таблицы 21 потоков на фиг. 1 и исполняться соответствующее обработанное содержимое.

[0019]

Множество различных операций обработки может таким образом быть исполнено по меньшей мере в одной таблице потоков. Следует заметить, что количество раз, которое осуществляется поиск другого элемента(ов) информации управления и исполняется найденный таким образом элемент(ы) информации управления (количество раз цикла), может быть предварительно определено с самого начала или альтернативно задано параметром в команде для предварительно установленных циклов.

[0020]

(Первый примерный вариант осуществления)

Теперь со ссылкой на чертежи будет подробно объяснен первый примерный вариант осуществления изобретения. На фиг. 2 показана конфигурация коммутатора OpenFlow, упоминаемого также далее в качестве OFS, согласно первому примерному варианту осуществления изобретения. На фиг. 2 изображен вариант выполнения, составленный из блока 11 обработки пакетов, блока 12 обработки сообщения управления, множества (N+1) таблиц с 20 по 2N потоков, интерфейс 13 вывода и интерфейса LB кольцевой проверки.

[0021]

Множество идентификаторов таблиц с 0 по N, используемых для указания порядка поиска, назначено таблицам с 20 по 2N потоков.

[0022]

После приема пакета блок 11 обработки пакетов выбирает таблицы с 20 по 2N потоков в порядке их идентификаторов таблиц, чтобы осуществлять поиск записи потока, имеющей условие соответствия, соответствующее принятому пакету. Если в результате поиска в некоторой одной из таблиц потоков, исключая таблицу 2N потоков, никакая запись потока, имеющая условие соответствия, соответствующее принятому пакету, не была найдена, то блок 11 обработки пакетов выбирает таблицу(ы) потоков, имеющую последовательно следующий больший идентификатор(ы) таблицы, для поиска записи (записей) потока, имеющей условие(я) соответствия, соответствующее принятому пакету. Если в результате поиска в последней таблице 2N потоков никакая запись потока, имеющая условие соответствия, соответствующее принятому пакету, не была найдена, то блок 11 обработки пакетов выполняет предварительно установленную операцию обработки (действие без соответствия). Предварительно установленное действие без соответствия может быть действием отбрасывания принятого пакета (Отбрасывание), уведомления о приеме пакета в контроллер 30 OpenFlow через блок 12 обработки сообщения управления (Packet-In (Входящий Пакет)) и т.д.

[0023]

Наоборот, если в результате поиска в таблицах с 21 по 2N потоков такая запись потока, имеющая условие соответствия, соответствующее принятому пакету, оказалась найденной, то блок 11 обработки пакетов обрабатывает принятый пакет в соответствии с содержимым поля команды записи потока. Дополнительно, если действие Goto-Table (Перейти-к-Таблице) добавлено в содержимое обработки поля команды, то блок 11 обработки пакетов выбирает таблицу потоков, заданную в действии Goto-Table (Перейти-к-Таблице) для продолжения поиска записи (записей) потока, имеющей условие соответствия, соответствующее принятому пакету.

[0024]

Блок 12 обработки сообщения управления принимает операции по установке, изменению или удалению записи (записей) потока таблиц с 21 по 2N потоков из контроллера 30 OpenFlow, причем контроллер OpenFlow эквивалентен вышеупомянутому контроллеру 30A. Блок 12 обработки сообщения управления также отправляет уведомление о приеме пакета (Packet-In (Входящий пакет)) в контроллер 30 OpenFlow в ответ на запрос от блока 11 обработки пакетов. Такая связь между OFS 10 и контроллером 30 OpenFlow может быть выполнена с использованием Протокола OpenFlow согласно непатентной литературе 2.

[0025]

Интерфейс 13 вывода составляют, например, физические порты, соединенные с другими OFS 10 или терминалами. Например, если содержимое поля команды записи потока должно переслать пакет (Output (Вывод)), то пакет пересылается из интерфейса 13 вывода. Несмотря на то, что в примерном варианте осуществления на фиг. 2 изображен один интерфейс 13 вывода, может быть предоставлено множество интерфейсов 13 вывода.

[0026]

Интерфейс LB кольцевой проверки является интерфейсом, используемым в качестве получателя пересылки в случае, когда действие Goto-Table (Перейти-к-Таблице) добавлено в содержимое обработки поля команды, и таблица потоков, заданная действием Goto-Table (Перейти-к-Таблице), является таблицей потоков с идентификатором таблицы, равным 0. Когда пакет выводится со стороны вывода интерфейса LB кольцевой проверки, блок 11 обработки пакетов начинает поиск в таблице 20 потоков по тому же самому принципу, что и в случае, когда пакет принимается.

[0027]

Следует отметить, что различные части (средства обработки) OFS 10, изображенные на фиг. 2, могут быть реализованы посредством компьютерной программы, которая предоставляет возможность компьютеру, составляющему OFS 10, выполнять вышеупомянутые операции обработки с использованием аппаратного обеспечения компьютера.

[0028]

На фиг. 3 изображена таблица, изображающая множество записей потоков, сконфигурированных в таблице потоков, и соответствующее содержимое обработки. В примерном варианте осуществления на фиг. 3, если принят пакет, который принадлежит потоку A и поле метаданных которого имеет значение 0, то успешное нахождение записи потока происходит в записи потока «Flow A & Meta = 0» («Поток A и метаданные = 0»). Следует заметить, что в отношении потока A связь между конкретными узлами фиксируется в качестве потока и задается сочетание адреса источника передачи и адреса узла получателя передачи в заголовке пакета. В отношении поля метаданных может быть сделана ссылка на непатентную литературу 2, «4.3 Поля Соответствия» («4.3 Match Fields») и Таблицу 3 «Метаданные» («Metadata»). В вышеупомянутом случае выполняется обработка вывода принятого пакета в интерфейсе 13 вывода (Output Port #A (Порт #A Вывода)). Так как действие Goto-Table (Перейти-к-Таблице), которое задает таблицу потоков с идентификатором таблицы, равным 0 (Table ID = 0), (Goto-Table #0 (Перейти-к-Таблице #0)) добавлено в данную запись потока, то совершается возвращение к таблице потоков, имеющей идентификатор таблицы, равный 0 (Table ID = 0), для того чтобы повторно осуществить поиск записи потока, соответствующей принятому пакету. В это время блок 11 обработки пакетов осуществляет приращение значения поля метаданных принятого пакета на один.

[0029]

В следующем или втором поиске в таблице потоков осуществляется поиск записи потока, соответствующей пакету, который принадлежит потоку A, и поле метаданных которого имеет значение 1. В результате происходит успешное нахождение записи потока в записи потока «Flow A & Meta = 1» («Поток A и Метаданные = 1»). В данном случае VLAN ID (идентификатор виртуальной локальной сети) принятого пакета изменяется посредством перезаписи, и пакет выводится из интерфейса 13 вывода (Output port #B (Порт #B вывода)). Так как Goto-Table #0 (Перейти-к-Таблице #0) добавляется в качестве действия Goto- Table (Перейти-к-Таблице), то совершается возвращение к таблице потоков, имеющей идентификатор таблицы, равный 0 (Table ID = 0), для того чтобы повторно осуществлять поиск записи потока, соответствующей принятому пакету. В данном случае блок 11 обработки пакетов снова осуществляет приращение значения поля метаданных принятого пакета на один.

[0030]

Если в результате второго поиска в таблице происходит успешное нахождение в таблице потоков, то обработка выполняется в соответствии с содержимым поля команды в записи потока, которая оказалась таким образом успешно найдена. Данная обработка может быть пронумерована посредством пересылки пакета, изменения заголовка (посредством перезаписи) и, если потребуется, поиска в заданной таблице потоков.

[0031]

Теперь подробно со ссылкой на чертежи будет объяснено действие примерного варианта осуществления объекта изобретения. На фиг. 4 изображена блок-схема последовательности операций, изображающая процесс обработки в коммутаторе OpenFlow первого примерного варианта осуществления изобретения.

[0032]

На фиг. 4 OFS 10 выбирает после приема пакета таблицу потоков, имеющую наименьшее значение идентификатора таблицы, и осуществляет поиск записи потока, имеющей условие соответствия, соответствующее принятому пакету (этапы с S001 по S003).

[0033]

Если в результате вышеупомянутого поиска никакая запись потока, соответствующая принятому пакету, не была найдена (Нет на этапе S003), то OFS 10 осуществляет приращение переменной i на один и переходит к поиску в таблице потоков со следующим идентификатором таблицы (этап S004 и Да на этапе S005). Если после поиска во всех таблицах потоков никакая запись потока, соответствующая принятому пакету, не найдена (Нет на этапе S005), то OFS 10 исполняет предварительно установленное действие без соответствия (этап S006).

[0034]

С другой стороны, если запись потока, соответствующая принятому пакету, найдена на этапе S003 (Да на этапе S003), то OFS 10 переходит к следующим операциям обработки.

[0035]

Сначала OFS 10 выполняет операции обработки в соответствии с действием поля команды записи потока, которая удовлетворила успешному нахождению в операции поиска на этапе S003 (этап S007; см. «4.6 Команды» («4.6 Instructions») непатентной литературы 2).

[0036]

Обработка принятого пакета OFS 10 подходит к концу в случае, когда нет никакого действия Goto-Table (Перейти-к-Таблице) среди действий поля команды (Нет на этапе S008).

[0037]

Если наоборот есть действие Goto-Table (Перейти-к-Таблице) среди действий в поле команды (Да на этапе S008), то OFS 10 осуществляет проверку, чтобы убедиться, является ли или нет идентификатор таблицы, заданной в действии Goto-Table (Перейти-к-Таблице), нулем (этапы S009 и S010). В случае, когда идентификатор таблицы, заданный действием Goto-Table (Перейти-к-Таблице), является нулем, то есть, если добавлена команда для циклов, то OFS 10 осуществляет приращение значения поля метаданных принятого пакета (количество раз операций обходов) на один (этап S011) и передает результат в интерфейс кольцевой проверки (этап S012 в терминал LB).

[0038]

Если наоборот значение идентификатора таблицы в действии Goto-Table (Перейти-к-Таблице), проверенное на этапе S010, не является нулем, то OFS 10 осуществляет проверку, чтобы убедиться, является ли или нет значение поля метаданных принятого пакета (количество раз обходов) предварительно установленным значением m пороговой величины (этап S013). Если значение поля метаданных (количество раз обходов) является предварительно установленным значением m пороговой величины (Да на этапе S013), то обработка принятого пакета подходит к концу. Следует заметить, что предварительно установленное значение m пороговой величины может быть значением, определенным с самого начала, или может быть задано вспомогательным параметром вышеупомянутого действия Goto-Table (Перейти-к-Таблице).

[0039]

Если на этапе S013 значение поля метаданных (количество раз обходов) меньше предварительно установленного значения m пороговой величины (Нет на этапе S013), то OFS 10 выбирает таблицу потоков с идентификатором таблицы, заданным действием Goto-Table (Перейти-к-Таблице), и продолжает поиск записи потока, имеющей условия соответствия, соответствующие принятому пакету.

[0040]

В примерном варианте осуществления объекта изобретения повторяющиеся операции поиска могут проводиться для одной и той же таблицы потоков, как описано выше. Таким образом можно проводить различные операции с использованием меньшего количества таблиц потоков. Кроме того, в примерном варианте осуществления объекта изобретения, в котором количество раз обходов записано в поле метаданных принятого пакета, количеством операций поиска можно управлять. Кроме того, записанное таким образом количество раз обходов также используется в качестве условия соответствия. Таким образом можно не только избежать повторного выполнения одной и той же записи потока, но также и переключать содержимое обработки, применяемое к пакету, в зависимости от количества раз операций поиска.

[0041]

Не следует рассматривать описанный выше примерный вариант осуществления изобретения в качестве накладывающего ограничения на изобретение, так что дополнительные изменения, замены и настройки могут быть произведены внутри объема без отступления от основной технической концепции изобретения. Например, несмотря на то, что в описанном выше примерном варианте осуществления предполагается, что должен использоваться вариант выполнения на основе OpenFlow из непатентной литературы 1 и 2, изобретение может также применяться к системам связи с конфигурацией централизованного управления, имеющим сопоставимые структуры.

[0042]

Также в описанном выше примерном варианте осуществления предполагается, что цикловая операция должна производиться в случае, когда значение идентификатора таблицы, заданного в действии Goto-Table (Перейти-к-Таблице), является нулем. Однако также возможно выполнять схожую обработку даже в таком случае, когда значение идентификатора таблицы, заданного в действии Goto-Table (Перейти-к-Таблице), отличается от нуля.

[0043]

В описанном выше примерном варианте осуществления также предполагается, что количество раз обходов обозначено в поле метаданных принятого пакета для того, чтобы управлять количеством раз операций поиска в таблицах потоков. Однако также возможно управлять количеством раз операций поиска (количеством раз цикловых операций) внутри блока 11 обработки пакетов. В таком случае может осуществляться приращение количества раз операций поиска во время сопоставления с необязательной записью (записями) потока. В таком случае содержимое обработки, применяемое к пакету, может быть изменено в зависимости от количества раз операций поиска, таким же образом, как и в вышеупомянутом первом примерном варианте осуществления.

[0044]

В вышеупомянутом примерном варианте осуществления не только информация потока, но также и поле метаданных принятого пакета, используется в качестве условия соответствия. Однако также можно добавлять информацию о порте, соответствующую вышеупомянутому интерфейсу кольцевой проверки (In-port (Порт Ввода)) в условие(я) соответствия.

[0045]

Кроме того, в описанном выше примерном варианте осуществления предполагается, что OFS непатентной литературы 2 используется в качестве типичного для узлов связи. Однако можно использовать оборудование, отличающееся от OFS, в качестве узла связи при условии, что такое другое используемое оборудование имеет функцию поиска в одной или более таблицах потоков записи (записей) потока, соответствующей принятому пакету или пакету из сохраненного приложения(й), и обработки найденной таким образом записи (записей) потока. Примеры такого другого оборудования включают в себя терминалы мобильных телефонов, смартфоны, терминалы планшетов, персональные компьютеры, игровое оборудование или мобильные маршрутизаторы при условии, что они имеют функцию коммутации для отправки/приема пакетов в или от сохраненного приложения(й).

[0046]

Раскрытия в вышеупомянутой патентной и непатентной литературе должны быть включены в данный документ посредством ссылки. Конкретный примерный вариант осуществления или Пример могут изменяться или перенастраиваться в пределах объема всего раскрытия изобретения, включая формулу изобретения, на основе фундаментальной технической концепции изобретения. Кроме того, множество сочетаний или выбор элементов, раскрытых в данном документе (элементы в формуле изобретения, примерном варианте осуществления, Примере и чертежах), может быть сделано в пределах концепции формулы изобретения. То есть следует понимать, что изобретение может включать в себя разнообразное количество изменений или исправлений, которые могут появиться у специалистов в уровне техники в соответствии со всеми раскрытиями, включая формулу изобретения и чертежи, а также технической концепцией изобретения.

СПИСОК ССЫЛОЧНЫХ ПОЗИЦИЙ

[0047]

10 коммутатор OpenFlow (OFS)

10A узел связи

11 блок обработки пакетов

12 блок обработки сообщения управления

13 интерфейс вывода

с 20 по 2N таблица потоков

30 контроллер OpenFlow

30A контроллер

LB интерфейс кольцевой проверки

Похожие патенты RU2595888C2

название год авторы номер документа
УЗЕЛ СВЯЗИ, СИСТЕМА СВЯЗИ, УСТРОЙСТВО УПРАВЛЕНИЯ, СПОСОБ ПЕРЕСЫЛКИ ПАКЕТА И ПРОГРАММА 2013
  • Такасима Масанори
  • Отаке Такахиро
  • Судзуки Йодзи
  • Касе Томохиро
  • Ивасита Наоюки
RU2581558C1
КОММУТАЦИОННОЕ УСТРОЙСТВО, СПОСОБ И ПРОГРАММА УПРАВЛЕНИЯ НАСТРОЙКОЙ VLAN 2013
  • Нагакура Сохей
  • Судзуки Йодзи
RU2604995C1
УСТРОЙСТВО УПРАВЛЕНИЯ, СИСТЕМА СВЯЗИ, СПОСОБ УПРАВЛЕНИЯ УЗЛОМ И ПРОГРАММА 2013
  • Оикава Сейдзи
  • Такасима Масанори
RU2586019C2
КОММУТИРУЮЩЕЕ УСТРОЙСТВО, КОНТРОЛЛЕР, СПОСОБ КОНФИГУРИРОВАНИЯ КОММУТИРУЮЩЕГО УСТРОЙСТВА И СПОСОБ И СИСТЕМА ДЛЯ ОБРАБОТКИ ПАКЕТА 2013
  • Тань Шиюн
RU2628476C1
СИСТЕМА СВЯЗИ, УСТРОЙСТВО УПРАВЛЕНИЯ, УСТРОЙСТВО СВЯЗИ, СПОСОБ РЕТРАНСЛЯЦИИ ИНФОРМАЦИИ И ПРОГРАММА 2013
  • Йосида Хирокадзу
  • Такасима Масанори
RU2577194C1
УЗЕЛ СВЯЗИ, СИСТЕМА СВЯЗИ, СПОСОБ ОБРАБОТКИ ПАКЕТОВ И ПРОГРАММА 2014
  • Торигое, Кейсуке
  • Судзуки, Йодзи
  • Такасима, Масанори
RU2641232C2
ПРИВОДИМОЕ В ДЕЙСТВИЕ КОНТРОЛЛЕРОМ ОАМ ДЛЯ OPENFLOW 2012
  • Йоха Давид
  • Керн Андраш
RU2608879C2
СИСТЕМА СНИЖЕНИЯ НАГРУЗКИ И СПОСОБ СНИЖЕНИЯ НАГРУЗКИ 2012
  • Торигое Кейсуке
RU2587677C2
СЕТЕВАЯ СИСТЕМА, СПОСОБ, УСТРОЙСТВО И ПРОГРАММА 2013
  • Мидзукоси Ясухиро
  • Фудзинами Макото
  • Ямада Йосиюки
RU2616169C2
СИСТЕМА СВЯЗИ, УЗЕЛ, УСТРОЙСТВО УПРАВЛЕНИЯ, СПОСОБ СВЯЗИ И ПРОГРАММА 2011
  • Тиба Ясунобу
RU2556457C2

Иллюстрации к изобретению RU 2 595 888 C2

Реферат патента 2016 года УЗЕЛ СВЯЗИ, СПОСОБ ОБРАБОТКИ ПАКЕТОВ И ПРОГРАММА

Изобретение относится к области обработки пакетов в системе связи. Техническим результатом является уменьшение количества таблиц потоков при обеспечении возможности выполнения множества различных операций обработки по каждому принятому пакету. Узел связи содержит: одну или более таблицу (таблиц) потоков, которая хранит элемент(ы) информации управления, устанавливаемый контроллером; и блок обработки пакетов, который осуществляет поиск элемента информации управления, имеющего условие соответствия, соответствующее принятому пакету, в упомянутой одной или более таблице(ах) потоков, и обрабатывает принятый пакет в соответствии с элементом информации управления, причем в случае, когда в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету, добавлена команда для предварительно установленных циклов, блок обработки пакетов выполняет предварительно установленное количество раз поиск другого элемента информации управления в упомянутой одной или более таблице(ах) потоков и исполнение найденного элемента информации управления. 3 н. и 6 з.п. ф-лы, 5 ил.

Формула изобретения RU 2 595 888 C2

1. Узел связи, содержащий:
одну или более таблицу (таблиц) потоков, которая хранит элемент(ы) информации управления, устанавливаемый контроллером; и
блок обработки пакетов, который осуществляет поиск элемента информации управления, имеющего условие соответствия, соответствующее принятому пакету, в упомянутой одной или более таблице(ах) потоков, и обрабатывает принятый пакет в соответствии с элементом информации управления, причем
в случае, когда в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету, добавлена команда для предварительно установленных циклов, блок обработки пакетов выполняет предварительно установленное количество раз поиск другого элемента информации управления в упомянутой одной или более таблице(ах) потоков и исполнение найденного элемента информации управления.

2. Узел связи по п. 1, при этом
узел связи содержит множество таблиц потоков, имеющих предварительно установленный порядок поиска;
в случае, когда в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету, добавлена команда для предварительно установленных циклов, блок обработки пакетов выполняет предварительно установленное количество раз обходной поиск другого элемента информации управления в соответствии с предварительно установленным порядком поиска с таблицей потоков, указанной в упомянутой команде для циклов в качестве начальной точки.

3. Узел связи по п. 1 или 2, в котором
количество раз поиска другого элемента информации управления и исполнение найденного элемента информации управления или количество раз обходного поиска задано параметром в команде для предварительно установленных циклов.

4. Узел связи по п. 1 или 2, в котором
блок обработки пакетов вставляет количество раз исполнения поиска в упомянутой одной или более таблице (таблицах) потоков в поле метаинформации принятого пакета для управления количеством раз поиска другого элемента информации управления или количеством раз обходного поиска.

5. Узел связи по п. 4, в котором
поле метаинформации принятого пакета, в которое вставлено количество раз исполнения поиска в упомянутой одной или более таблице (таблицах) потоков, используется в качестве условия соответствия.

6. Узел связи по любому из пп. 1, 2 и 5, в котором
блок обработки пакетов пересылает принятый пакет в предварительно установленный интерфейс кольцевой проверки и принимает перенаправленный пакет от интерфейса кольцевой проверки для многократного выполнения поиска другого элемента информации управления.

7. Узел связи по п. 6, в котором
в качестве условия соответствия устанавливается то, является ли или нет рассматриваемый пакет пакетом, принятым из порта, выделенного в качестве интерфейса кольцевой проверки.

8. Система связи, содержащая:
узел связи; и
контроллер, при этом
узел связи содержит:
множество таблиц потоков, которые хранят элемент(ы) информации управления; и
блок обработки пакетов, который выбирает упомянутое множество таблиц потоков в предварительно установленном порядке, осуществляет поиск элемента информации управления, имеющего условие соответствия, соответствующее принятому пакету, и обрабатывает принятый пакет в соответствии с элементом информации управления; и
в случае, когда в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету, добавлена команда для предварительно установленных циклов, узел связи выполняет предварительно установленное количество раз поиск другого элемента информации управления в упомянутом множестве таблиц потоков и исполнение найденного элемента информации управления, и
контроллер устанавливает в упомянутом множестве таблиц потоков узла связи множество элемента(ов) информации управления, включающее в себя элемент информации управления, к которому добавлена команда для предварительно установленных циклов.

9. Способ обработки пакетов, содержащий этапы, на которых:
посредством узла связи, который содержит одну или более таблицу (таблиц) потоков, которая хранит элемент(ы) информации управления, устанавливаемый контроллером, и блок обработки пакетов, который осуществляет поиск элемента информации управления, имеющего условие соответствия, соответствующее принятому пакету, в упомянутой одной или более таблице(ах) потоков и обрабатывает принятый пакет в соответствии с элементом информации управления,
проверяют, добавлена ли команда для предварительно установленных циклов в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету; и
выполняют предварительно установленное количество раз поиск другого элемента информации управления в упомянутой одной или более таблице(ах) потоков и исполнение найденного элемента информации управления в случае, когда в элемент информации управления, имеющий условие соответствия, соответствующее принятому пакету, добавлена команда для предварительно установленных циклов.

Документы, цитированные в отчете о поиске Патент 2016 года RU2595888C2

US 6215765 B1, 10.04.2001
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем 1924
  • Волынский С.В.
SU2012A1
JP 2011055370 A, 17.03.2011
ОБРАБОТКА ПАКЕТОВ, ПЕРЕДАВАЕМЫХ ПО СЕТЯМ ПЕРЕДАЧИ ДАННЫХ 2005
  • Айлан Амир
RU2364040C2
ДИНАМИЧЕСКАЯ МАРШРУТИЗАЦИЯ НА ОСНОВЕ ФАЙЛОВ В СИСТЕМЕ ШИРОКОПОЛОСНОЙ СВЯЗИ 2003
  • Сундаррадж Аккамапет П.
  • Пикеринг Джеймс Р.
  • Моэ Дуглас
  • Перинчери Мелвин Пол
RU2316124C2

RU 2 595 888 C2

Авторы

Суемицу Марико

Даты

2016-08-27Публикация

2013-03-18Подача