СПОСОБ УПРАВЛЕНИЯ ТАБЛИЦЕЙ ПОТОКА И СООТВЕСТВУЮЩИЕ УСТРОЙСТВО И СИСТЕМА

1. Способ управления таблицей потока, содержащий этапы, на которых:
генерируют, с помощью программно-определенного сетевого контроллера, первую запись таблицы потока, при этом первый набор полей в первой записи таблицы потока переносит индекс фактического значения в первом наборе полей, причем первый набор полей включает в себя N полей, где N - положительное целое число; и
передают, с помощью программно-определенного сетевого контроллера, сообщение протокола OpenFlow в коммутатор OpenFlow, причем сообщение протокола OpenFlow переносит первую запись таблицы потока.
2. Способ по п. 1, в котором индекс представляет собой идентификатор записи таблицы потока для записи таблицы потока, хранящейся в коммутаторе OpenFlow.
3. Способ по п. 1, в котором каждое поле во втором наборе полей в первой записи таблицы потока переносит множество фактических значений, причем второй набор полей включает в себя М полей, где М - положительное целое число.
4. Способ по п. 1, в котором
перед этапом генерирования первой записи таблицы потока способ дополнительно содержит этапы, на которых: принимают, с помощью программно-определенного сетевого контроллера, первый пакет или заголовок первого пакета от коммутатора, и определяют, в соответствии с заданной политикой обработки, набор инструкций маршрутизации, используемый для обработки первого пакета, при этом поле инструкций первой записи таблицы потока переносит набор инструкций маршрутизации или индекс набора инструкций маршрутизации.
5. Способ управления таблицей потока, содержащий этапы, на которых:
принимают, с помощью коммутатора OpenFlow, сообщение протокола OpenFlow, причем сообщение протокола OpenFlow переносит первую запись таблицы потока, первый набор полей в первой записи таблицы потока переносит индекс фактического значения в первом наборе полей, первый набор полей включает в себя N полей, где N - положительное целое число;
получают, с помощью коммутатора OpenFlow, фактическое значение в первом наборе полей на основе индекса фактического значения в первом наборе полей; и
заменяют, с помощью коммутатора OpenFlow, на фактическое значение в первом наборе полей индекс фактического значения в первом наборе полей, переносимый в первом наборе полей в первой записи таблицы потока.
6. Способ по п. 5, в котором индекс представляет собой идентификатор записи таблицы потока для записи таблицы потока, хранящейся в коммутаторе, при этом на этапе получения фактического значения в первом наборе полей на основе индекса в первом наборе полей: получают, на основе идентификатора записи таблицы потока, фактическое значение, заполненное в третьем наборе полей, который находится в записи таблицы потока, представленной идентификатором записи таблицы потока, и который имеет тот же тип протокола, что и первый набор полей, при этом поля, которые находятся в третьем наборе полей и в первом наборе полей и которые имеют одинаковый тип протокола, имеют одинаковое фактическое значение.
7. Способ по п. 5, дополнительно содержащий этап, на котором: передают, с помощью коммутатора OpenFlow, сохраненную первую запись таблицы потока или идентификатор первой записи таблицы потока в программно-определенный сетевой контроллер.
8. Способ по п. 5, в котором
перед этапом приема, с помощью коммутатора OpenFlow, первой записи таблицы потока:
передают, с помощью коммутатора OpenFlow, первый пакет или заголовок первого пакета в программно-определенный сетевой контроллер, при этом
поле инструкций первой записи таблицы потока переносит набор инструкций маршрутизации, используемый для обработки первого пакета, или индекс набора инструкций маршрутизации; и
обрабатывают, с помощью коммутатора OpenFlow, первый пакет на основе набора инструкций маршрутизации.
9. Способ релейной передачи таблицы потока, содержащий этапы, на которых:
принимают, с помощью устройства виртуального уровня, первое сообщение протокола OpenFlow от первого программно-определенного сетевого контроллера, причем первое сообщение протокола OpenFlow переносит первую запись таблицы потока, и первое поле в первой записи таблицы потока переносит индекс фактического значения в первом поле;
принимают, с помощью устройства виртуального уровня, второе сообщение протокола OpenFlow от второго программно-определенного сетевого контроллера, причем второе сообщение протокола OpenFlow переносит вторую запись таблицы потока, и четвертое поле во второй записи таблицы потока переносит индекс фактического значения в четвертом поле;
комбинируют, с помощью устройства виртуального уровня, первую запись таблицы потока и вторую запись таблицы потока в третью запись таблицы потока; и
передают, с помощью устройства виртуального уровня, третье сообщение протокола OpenFlow, переносящее третью запись таблицы потока, в коммутатор OpenFlow.
10. Программно-определенный сетевой контроллер, содержащий:
модуль генерирования, выполненный с возможностью генерировать первую запись таблицы потока, при этом первый набор полей в первой записи таблицы потока переносит индекс фактического значения в первом наборе полей, причем первый набор полей включает в себя N полей, где N - положительное целое число; и
модуль передачи, выполненный с возможностью передачи сообщения протокола OpenFlow в коммутатор OpenFlow, причем сообщение протокола OpenFlow переносит первую запись таблицы потока.
11. Программно-определенный сетевой контроллер по п. 10, в котором индекс представляет собой идентификатор записи таблицы потока для записи таблицы потока, хранящейся в коммутаторе OpenFlow.
12. Программно-определенный сетевой контроллер по п. 10, в котором каждое поле во втором наборе полей в первой записи таблицы потока переносит множество фактических значений, причем второй набор полей включает в себя М полей, где М - положительное целое число.
13. Программно-определенный сетевой контроллер по п. 10, дополнительно содержащий:
модуль приема, выполненный с возможностью, перед генерированием модулем генерирования первой записи таблицы потока, принимать первый пакет или заголовок первого пакета от коммутатора, и определять, в соответствии с заданной политикой обработки, набор инструкций маршрутизации, используемый для обработки первого пакета, причем поле инструкций первой записи таблицы потока переносит набор инструкций маршрутизации или индекс набора инструкций маршрутизации.
14. Коммутатор OpenFlow, содержащий:
модуль приема, выполненный с возможностью приема сообщения протокола OpenFlow, причем сообщение протокола OpenFlow переносит первую запись таблицы потока, первый набор полей в первой записи таблицы потока переносит индекс фактического значения в первом наборе полей, первый набор полей включает в себя N полей, где N - положительное целое число;
модуль получения, выполненный с возможностью получения фактического значения в первом наборе полей на основе индекса фактического значения в первом наборе полей; и
модуль замены, выполненный с возможностью замены на фактическое значение первого набора полей, полученного модулем получения, индекса фактического значения в первом наборе полей, переносимого в первом наборе полей в первой записи таблицы потока.
15. Коммутатор OpenFlow по п. 14, в котором индекс представляет собой идентификатор записи таблицы потока для записи таблицы потока, хранящейся в коммутаторе OpenFlow, при этом
модуль получения, в частности, выполнен с возможностью получения, на основе идентификатора записи таблицы потока, фактического значения, заполненного в третьем наборе полей, находящемся в записи таблицы потока, представленной идентификатором записи таблицы потока, и имеющем тот же тип протокола, что и первый набор полей, причем поля, находящиеся в третьем наборе полей и в первом наборе полей и имеющие одинаковый тип протокола, имеют одинаковое фактическое значение.
16. Коммутатор OpenFlow по п. 14, дополнительно содержащий: первый модуль передачи, выполненный с возможностью передачи сохраненной первой записи таблицы потока или идентификатора первой записи таблицы потока в программно-определенный сетевой контроллер.
17. Коммутатор OpenFlow по п. 14, дополнительно содержащий:
второй модуль передачи, выполненный с возможностью, перед приемом первой записи таблицы потока, передавать первый пакет или заголовок первого пакета в программно-определенный сетевой контроллер, при этом поле инструкций первой записи таблицы потока переносит набор инструкций маршрутизации, используемый для обработки первого пакета, или индекс набора инструкций маршрутизации; и
модуль обработки пакета, выполненный с возможностью обработки первого пакета на основе набора инструкций маршрутизации.
18. Устройство виртуального уровня, содержащее:
модуль приема, выполненный с возможностью приема первого сообщения протокола OpenFlow от первого программно-определенного сетевого контроллера, причем первое сообщение протокола OpenFlow переносит первую запись таблицы потока, и первое поле в первой записи таблицы потока переносит индекс фактического значения в первом поле; и приема второго сообщения OpenFlow протокола OpenFlow от второго программно-определенного сетевого контроллера, причем второе сообщение протокола OpenFlow переносит вторую запись таблицы потока, и четвертое поле во второй записи таблицы потока переносит индекс фактического значения в четвертом поле;
модуль комбинирования, выполненный с возможностью комбинирования первой записи таблицы потока и второй записи таблицы потока в третью запись таблицы потока; и
модуль передачи, выполненный с возможностью передачи третьего сообщения протокола OpenFlow, переносящего третью запись таблицы потока, в коммутатор OpenFlow.