Система связи, узел, устройство управления, способ связи и программа

Иллюстрации

Показать все

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

Реферат

Область техники, к которой относится изобретение

(Описание связанной заявки)

Настоящее изобретение испрашивает приоритет по заявке на патент Японии 2010-123054 (поданной 28 мая 2010 г.), содержимое которой включено в настоящий документ во всей своей полноте посредством ссылки на данное описание.

Настоящее изобретение относится к системе связи, узлу, устройству управления, способу связи и программе, и, более конкретно, к системе связи, узлу, устройству управления, способу связи и программе для осуществления связи посредством перенаправления пакетов при помощи узлов, скомпонованных в сети.

Уровень техники

В последнее время предлагается технология, называемая OpenFlow, описанная в непатентной литературе 1 и 2. OpenFlow идентифицирует связь как сквозные потоки и выполняет управление трактом (передачи), восстановление после отказа, выравнивание нагрузки и оптимизацию на попоточной основе. Коммутатор OpenFlow, который функционирует в качестве узла перенаправления, имеет защищенный канал для связи с контроллером OpenFlow и работает в соответствии с потоковой таблицей, к которой добавляется информация, и содержимое которой переписывается, в соответствии с инструкцией от контроллера OpenFlow по мере необходимости. В потоковой таблице набор из следующих трех определяется для каждого потока: правило совпадения (FlowKey/ключ совпадения), с которым сопоставляется заголовок пакета, действие (Action), которое определяет содержимое обработки, и потоковая статистическая информация (Stats) (см. фиг. 30).

Фиг. 31 изображает пример имен действий и содержимого действий, определенных в непатентной литературе 2. OUTPUT представляет собой действие для вывода пакета на заданный порт (интерфейс). SET_VLAN_VID-SET_TP_DST представляют собой действия для модифицирования полей пакетного заголовка.

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

Список ссылок

Патентная литература

[Непатентная литература 1]

Nick McKeown и семь других авторов, “OpenFlow: Enabling Innovation in Campus Networks” [режим онлайн], [Поиск выполнен 26 февраля 2010 г.], Интернет <URL: http://www.openflowswitch.org//documents/openflow-wp-latest.pdf>

[Непатентная литература 2]

“OpenFlow Switch Specification” Version 1.0.0 (Wire Protocol 0x01) [Поиск выполнен 1 апреля 2010 г.], Интернет <URL: http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf>

Сущность изобретения

Техническая проблема

Раскрытие непатентной литературы, приведенной выше, включается в настоящий документ посредством ссылки на данное описание.

Следующий анализ дается настоящим изобретателем. Контроллер OpenFlow, который принимает вышеописанный запрос на определение тракта принятого пакета (см. s2 Packet-In (ввод пакета) на фиг. 33), определяет тракт перенаправления принятого пакета. Чтобы перенаправить принятый пакет и последующие пакеты, которые принадлежат одному потоку, на хост (В), потоковый элемент должен быть установлен во всех коммутаторах OpenFlow в тракте перенаправления (узел #1 и узел #2 на фиг. 33). Кроме того, основываясь на инструкции от сетевого администратора, контроллер OpenFlow должен иногда менять действие потокового элемента, который уже установлен, и в данном случае, должен изменить или удалить потоковый элемент.

Когда потоковый элемент, описанный выше, устанавливается, изменяется или удаляется при помощи протокола OpenFlow (см. “4.6 Flow Table Modification Messages” в непатентной литературе 2), задержка связи иногда генерируется между контроллером OpenFlow и коммутатором OpenFlow. Эта задержка, в свою очередь, вызывает задержку при установлении, изменении или удалении потокового элемента в некоторых из коммутаторов OpenFlow. В результате, в коммутаторе OpenFlow в тракте пакет сопоставляется с непредусмотренным потоковым элементом в потоковой таблице с проблемой, что непредусмотренное действие будет исполнено.

Фиг. 32 представляет собой схему, изображающую пример, в котором, когда коммутатор OpenFlow (узел #1) принимает пакет, который должен быть передан с хоста (А) на хост (В), и запрашивает контроллер на создание потокового элемента, вызывается задержка при установлении потокового элемента, который имеет ключ X совпадения, в ретранслирующем коммутаторе (узел #2). В примере на фиг. 32 узел #2 имеет потоковый элемент, имеющий ключ В совпадения, который конфликтует с ключом X совпадения потокового элемента, который должен быть установлен (в протоколе OpenFlow частичное совпадение с любым полем заголовка допускается в качестве ключа совпадения, и исключение конфликта между потоковыми элементами управляется в соответствии с порядком поиска потокового элемента). Поэтому, в узле #2 пакет, передаваемый с хоста (А), передается не на порт #2, на который пакет должен передаваться, но на порт #1, до того как будет завершено установление потокового элемента (ST8 на фиг. 32). Таким образом, когда используется протокол OpenFlow, непредусмотренный тракт перенаправления (исполнение действия) может легко вызываться вследствие задержки установления потокового элемента.

Один возможный способ для решения этой проблемы показан на фиг. 33. Т.е. контроллер (OpenFlow) передает потоковый элемент на узлы #1 и #2 (см. FlowMod(Add), указанный посредством s3 и s6 на фиг. 33) и одновременно передает запрос барьера (Barrier Request), определенный протоколом OpenFlow (см. “5.3.7 Barrier Message” в непатентной литературе 2 для запроса барьера; запрос/ответ барьера, указанный посредством s4 на фиг. 33). Когда принимается запрос барьера, узел завершает исполнение обработки, которая была принята перед тем, как был принят запрос барьера, и отвечает «Ответом барьера» (s5 на фиг. 33). Этот ответ позволяет контроллеру (OpenFlow) подтвердить, что потоковый элемент был правильно установлен. Проблема с этим способом заключается в том, что контроллер (OpenFlow) должен обмениваться запросом/ответом барьера со всеми узлами, в которых установлен потоковый элемент, таким образом увеличивая время, перед тем как пользовательский пакет может быть передан (s1(Пользовательский пакет)-s10(Пользовательский пакет) на фиг. 33).

Другим способом является использование запроса/ответа Stats вместо запроса/ответа барьера, описанного выше, для проверки, имеет ли каждый узел соответствующий элемент. Как и со способом, в котором используется запрос/ответ барьера, этот способ также требует обмена сообщениями во всеми узлами, в которых установлен потоковый элемент, для проверки, правильно ли установлен потоковый элемент, таким образом увеличивая время, перед тем как пользовательский пакет может быть передан (s1(Пользовательский пакет)-s10(Пользовательский пакет) на фиг. 33).

Кроме того, если некоторые потоковые элементы потеряны из-за отказа узла, после того как потоковые элементы установлены, как способ, в котором используется запрос/ответ барьера, так и способ, в котором используется запрос/ответ Stats, не могут предотвратить исполнение непредусмотренного действия.

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

Решение проблемы

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

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

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

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

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

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

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

Полезные эффекты изобретения

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

Краткое описание чертежей

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

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

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

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

Фиг. 5 представляет собой схему, изображающую информацию, удерживаемую в базе данных (DB) потоковых элементов устройства управления (контроллера), показанного на фиг. 4.

Фиг. 6 представляет собой схему, изображающую информацию, удерживаемую в DB информации верификации устройства управления (контроллера), показанного на фиг. 4.

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

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

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

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

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

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

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

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

Фиг. 15 представляет собой схему, изображающую информацию, удерживаемую в DB потоковых элементов устройства управления (контроллера) во втором примерном варианте осуществления настоящего изобретения.

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

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

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

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

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

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

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

Фиг. 23 представляет собой схему, изображающую информацию, удерживаемую в DB информации верификации устройства управления (контроллера) в третьем примерном варианте осуществления настоящего изобретения.

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

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

Фиг. 26 представляет собой схему, изображающую информацию, удерживаемую в DB информации верификации устройства управления (контроллера) в четвертом примерном варианте осуществления настоящего изобретения.

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

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

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

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

Фиг. 31 представляет собой схему, изображающую имена действий и содержимое действий, описанных в непатентной литературе 2.

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

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

Описание вариантов осуществления

Сначала нижеследующее описывает краткое содержание примерного варианта осуществления настоящего изобретения. Следует отметить, что ссылочные позиции чертежей, добавленные к этому краткому содержанию, являются примерными только для того, чтобы помочь понять, но без намерения ограничить настоящее изобретение режимом, показанным на фигурах. Как показано на фиг. 1, когда принимается пакет, узел 10 (см. узел #2 на фиг. 1) системы связи примерного варианта осуществления настоящего изобретения извлекает правило обработки, которое согласуется с принятым пакетом, используя правило совпадения (ключ совпадения), включенное в правило обработки, удерживаемое в самом устройстве (этап 1). Затем узел 10 (см. узел #2 на фиг. 1) проверяет, является ли идентификатор, ассоциированный с извлеченным правилом обработки, идентичным идентификатору, включенному в принятый пакет (этап 2). Хотя в вышеприведенном описании узел 10 проверяет, что идентификатор, ассоциированный с правилом обработки, идентичен идентификатору, включенному в принятый пакет, настоящее изобретение не ограничивается этим способом. Например, настоящее изобретение включает в себя случай, в котором узел 10 проверяет, что идентификатор, ассоциированный с правилом обработки, соответствует идентификатору, включенному в принятый пакет. Это применяется также к последующим этапам и примерным вариантам осуществления. Если подтверждается в результате проверки, что идентификатор, ассоциированный с правилом обработки, совпадает с идентификатором принятого пакета, узел 10 (см. узел #2 на фиг. 1) выполняет обработку в соответствии с правилом обработки (этап 3).

Вышеописанный идентификатор представляет собой информацию, генерируемую устройством 20 управления (контроллером) в ассоциации с правилом обработки. Идентификатор генерируется и присоединяется, так что могут идентифицироваться правила обработки, которые могут согласовываться с принятым пакетом. Поэтому, если правило обработки извлекается посредством поиска, используя правило совпадения (ключ совпадения), но если идентификатор не совпадает с идентификатором принятого пакета, не выполняется действие правила обработки. Идентификатор включается в пользовательский пакет различными способами, например, идентификатор добавляется к пользовательскому пакету так, как показано на фиг. 1 и фиг. 2, или внедряется в конкретную область пользовательского пакета (см. фиг. 19).

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

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

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

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

Ниже подробно описывается первый примерный вариант осуществления настоящего изобретения со ссылкой на чертежи. Фиг. 3 представляет собой схему, изображающую конфигурацию системы связи в первом примерном варианте осуществления настоящего изобретения. Как показано на фиг. 3, система связи содержит три узла 10, устройство 20 управления (контроллер) и хосты (А) и (В), которые выполняют связь друг с другом при помощи узлов 10. Хотя три узла 10, устройство 20 управления (контроллер) и два хоста (Хост(А)), Хост(В)) показаны в примере на фиг. 3, может использоваться любое количество узлов, устройств управления (контроллеров) и хостов.

Фиг. 4 представляет собой схему, изображающую подробную конфигурацию устройства 20 управления (контроллера). Как показано на фиг. 4, устройство 20 управления (контроллер) содержит базу 21 данных потоковых элементов (DB потоковых элементов), которая хранит правила обработки (потоковые элементы) и информацию верификации, связанную с правилами обработки; блок 22 управления топологией, который создает информацию сетевой топологии, основываясь на соотношении соединений узлов 10, собранных блоком 26 связи узла; блок 23 вычисления тракта/действия, который вычисляет тракт перенаправления пакета и действие, которое должно быть исполнено узлом 10 в тракте перенаправления, основываясь на информации сетевой топологии, созданной блоком 22 управления топологией; блок 24 управления потоковым элементом, который устанавливает ассоциацию между правилом обработки (потоковым элементом) и информацией верификации, которые вычисляются соответственно блоком 23 вычисления тракта/действия и блоком 28 генерирования информации верификации, регистрирует ассоциированное правило обработки (потоковый элемент) и информацию верификации в DB 21 потоковых элементов, обрабатывает запрос добавления правила обработки (потокового элемента), принятый от узла 10, и обновляет правило обработки (потоковый элемент) и информацию верификации; блок 25 обработки управляющего сообщения; блок 26 связи узла, который выполняет связь с узлом 10; и блок 28 генерирования информации верификации, который, в ответ на запрос от блока 24 управления потоковым элементом, генерирует информацию верификации, которая должны быть ассоциирована с правилом обработки, или извлекает информацию верификации из базы 27 данных информации верификации (DB информации верификации). Информация верификации ссылается на информацию, соответствующую идентификатору, используемому для верификации результата сравнения (совпадает или нет) между принятым пакетом и правилом обработки, основываясь на правиле совпадения.

Кроме того, блок 25 обработки управляющего сообщения содержит блок 251 анализа/обработки сообщения, который анализирует управляющее сообщение, принятое от узла 10, и выполняет необходимую обработку, и блок 252 генерирования сообщения, который генерирует сообщение, которое должно быть передано на узел 10.

Фиг. 5 представляет собой схему, схематически изображающую информацию, удерживаемую в DB 21 потоковых элементов (потоковый элемент и информация верификации). Например, элементы с первого по третий сверху на фиг. 5 указывают правила обработки (потоковые элементы), которые устанавливаются в узлах, DPID (идентификатор узла 10: идентификаторы тракта данных) которых равны 1-3, и информацию верификации, ассоциированную с правилами обработки (Элементы с четвертого по шестой сверху указывают подобное содержимое).

Когда принимается пакет, который совпадает с ключом «А» совпадения, узел, DPID которого равен 1 (например, узел #1 на фиг. 3), выполняет обработку, указанную первым элементом сверху. Т.е. узел добавляет заголовок, который включает в себя информацию «CA» верификации, к пакету и выводит пакет с девятого порта в соответствии с полем Действия (Действия). Аналогично, когда пакет, который совпадает с ключом «А» совпадения, принимается от узла, DPID которого равен 1 (например, узел #1 на фиг. 3), узел, DPID которого равен 2 (например, узел #2 на фиг. 3), выводит пакет с шестого порта. Когда пакет, который совпадает с ключом «А» совпадения, принимается от узла, DPID которого равен 2 (например, узел #2 на фиг. 3), узел, DPID которого равен 3 (например, узел #3 на фиг. 3), удаляет заголовок, который включает в себя информацию «CA» верификации, из пакета и выводит пакет с первого порта. В результате вышеприведенной обработки тракт перенаправления управляется таким образом, что информация «CA» верификации добавляется к пакету, который совпадает с ключом «A» совпадения, и пакет перенаправляется по заданному тракту, во время которого информация «CA» верификации используется для сопоставления. В фактической DB 21 потоковых элементов каждый из ключей «A», «B» и «X» совпадения, показанных на фиг. 5, состоит из правила (FlowKey; может использоваться специальный символ), с которым сравнивается заголовок принятого пакета, например, тот, который показан на фиг. 30.

Фиг. 6 представляет собой схему, схематически изображающую информацию (информацию верификации), удерживаемую в DB 27 информации верификации. Как показано на фиг. 6, DB 27 информации верификации хранит соответствие между ключами «A», «B», …, «X» совпадения и информацией «CA», «CB», … , «CX» верификации. Блок 28 генерирования информации верификации генерирует информацию верификации, соответствующую правилу обработки (потоковому элементу), в ответ на запрос от блока 24 управления потоковым элементом и регистрирует сгенерированную информацию верификации в DB 27 информации верификации. Такая информация верификации может генерироваться заданной функцией (хеш-функцией и т.д.), которая использует правило совпадения (ниже в данном документе называемое «ключом совпадения») или другую информацию в качестве аргумента (параметра) таким образом, что информация верификации является уникальной по меньшей мере среди многочисленных правил обработки, причем каждое соответствует многочисленным правилам совпадения, которое согласуется с принятым пакетом, т.е. таким образом, что одна и та же информация верификации не назначается по меньшей мере многочисленным правилам обработки. Статистически уникальная информация верификации также может генерироваться с использованием случайных чисел (Ниже подробно описывается пример). DB 27 информации верификации, обеспечиваемая для предотвращения дублирования информации верификации среди многочисленных правил обработки (потоковых элементов), которая может конфликтовать друг с другом, не всегда должна иметь формат, показанный на фиг. 6. Кроме того, DB 27 информации верификации может быть исключена посредством предотвращения дублирования информации верификации стохастически или статистически.

Следует отметить, что, если нет необходимости удерживать правило обработки (потоковый элемент), что устройство 20 управления (контроллер) инструктирует узел 10 на добавление или обновление, а также информацию верификации, ассоциированную с правилом обработки, может быть исключена DB 21 потоковых элементов. Аналогично, если нет необходимости удерживать информацию верификации, генерируемую в ассоциации с правилом обработки, может быть исключена DB 27 информации верификации. Кроме того, также возможна другая конфигурация, в которой DB 21 потоковых элементов и/или DB 27 информации верификации обеспечивается отдельно на внешнем сервере.

Устройство 20 управления (контроллер), описанное выше, может быть реализовано посредством добавления по меньшей мере следующих двух к контроллеру OpenFlow, описанному в непатентной литературе 1 и 2. Одним является блок 28 генерирования информации верификации, и другим – функция для установления правила обработки (потокового элемента) и информации верификации, ассоциированной с правилом обработки в узле 10.

Фиг. 7 представляет собой схему, изображающую подробную конфигурацию узла 10. Как показано на фиг. 7, узел 10 содержит блок 11 связи устройства управления, который выполняет связь с устройством 20 управления (контроллером), блок 12 управления потоковой таблицей, который управляет потоковой таблицей 13, пакетный буфер 14 и блок 15 обработки перенаправления. Следует отметить, что узел 10 не всегда должен содержать пакетный буфер 14.

Блок 15 обработки перенаправления содержит блок 153 табличного поиска и блок 154 исполнения действия. Блок 153 табличного поиска включает в себя блок 152 сопоставления информации верификации, который сравнивает информацию верификации, ассоциированную с правилом обработки (потоковым элементом), с информацией верификации, добавленной к принятому пакету, для определения, совпадают ли они. Блок 153 табличного поиска выполняет поиск в потоковой таблице 13 правила обработки (потокового элемента), которое имеет ключ совпадения, который согласуется с принятым пакетом, и информация верификации которого совпадает с информацией принятого пакета, и выводит содержимое (действие) обработки на блок 154 исполнения действия. Блок 154 исполнения действия исполняет содержимое (действие) обработки, выводимое из блока 153 табличного поиска.

Узел 10, описанный выше, может быть реализован посредством добавления блока 152 сопоставления информации верификации к коммутатору OpenFlow и посредством конфигурирования потоковой таблицы 13, так что информация верификации может удерживаться в ассоциации с правилом обработки (потоковым элементом). Блок 153 табличного поиска (потокового элемента), который включает в себя блок 152 сопоставления информации верификации, узла 10 может конфигурироваться программой, исполняемой компьютером, конфигурирующим узел 10.

Фиг. 8 представляет собой схему, схематически изображающую информацию (потоковый элемент и информацию верификации), удерживаемую в потоковой таблице 13 узла по фиг. 5 (узел #2 на фиг. 3), DPID которого равен 2. Как показано на фиг. 8, потоковая таблица 13 включает в себя потоковые элементы и информацию верификации, которые являются теми же, что и элементы в DB 21 потоковых элементов на фиг. 5 с соответствующим DPID. Для каждого из узлов на фиг. 5, DPID которого равен 1 или 3 (узлы #1 или #3), потоковая таблица 13 включает в себя потоковые элементы и информацию верификации, соответствующую каждому DPID аналогичным образом.

Фиг. 9 представляет собой схему, изображающую конфигурацию пакета с добавленной информацией верификации, созданного узлом 10, основываясь на действии («Установить заголовок», включающее в себя «CA»; см. действие (Действия) узла с DPID=1 на фиг. 5), которое устанавливается устройством 20 управления (контроллером). В примере на фиг. 9 пакет 32 с добавленной информацией верификации имеет конфигурацию, в которой дополнительный заголовок 33 с добавленной информацией верификации, который включает в себя информацию верификации, добавляется к началу пользовательского пакета 31.

Фиг. 10 представляет собой схему, изображающую пример конфигурации дополнительного заголовка 33 с добавленной информацией верификации. В примере на фиг. 10 дополнительный заголовок 33 с добавленной информацией верификации имеет конфигурацию, в которой информация верификации добавляется к адресу назначения управления доступом к среде передачи (DA MAC), адресу источника MAC (SA MAC), типу протокола более высокого уровня (типу среды) и общей длине заголовка (Общая длина). В примере на фиг. 10 значение (f(ключ совпадения, случайное число), вычисленное заданной функцией (хэш-функцией и т.д.) с ключом совпадения и случайным числом в качестве аргумента, используется в качестве информации верификации.

Далее, нижеследующее описывает работу устройства 20 управления (контроллера) и узла 10, описанного выше. Фиг. 11 представляет собой блок-схему последовательности операций, изображающую работу устройства 20 управления (контроллера). Как показано на фиг. 11, когда запрос (запрос на создание правила обработки; см. этап S111 на фиг. 12) принимается от узла 10 (этап S001; Packet-In), устройство 20 управления (контроллер) проверяет, включает ли в себя пакет запроса информацию верификации (этап S002). Если пакет запроса включает в себя информацию верификации (Да на этапе S002), правило обработки, соответствующее пакету, уже создано и, поэтому, устройство 20 управления (контроллер) извлекает правило обработки, соответствующее пакету, и информацию верификации, ассоциированную с правилом обработки, из DB 21 потоковых элементов (этап S012) и передает управление на этап S008.

С другой стороны, если пакет запроса не включает в себя информацию верификации (Нет на этапе S002), устройство 20 управления (контроллер) получает информацию сетевой топологии, составленную блоком 22 управления топологией, и вычисляет тракт перенаправления пакета (этап S003).

За исключением того, когда определяется из результата вычисления тракта перенаправления пакета, что пакет не может быть перенаправлен, так как тракт перенаправления не может быть создан, или так как отказал узел в тракте (Нет на этапе D004), устройство 20 управления (контроллер) вычисляет действие, соответствующее вычисленному тракту перенаправления (этап S005). Затем устройство 20 управления (контроллер) генерирует информацию верификации, которая ассоциир