СЕТЕВАЯ СИСТЕМА И СПОСОБ ПОЛУЧЕНИЯ ДАННЫХ ТЕГА VLAN
NETWORK SYSTEM AND METHOD OF ACQUIRING VLAN TAG DATA

Область техники, к которой относится изобретение
Настоящее изобретение относится к сетевой системе и, в частности, к способу получения данных тега VLAN в сети стандарта OpenFlow.
Предшествующий уровень техники
Оборудование традиционной сети является черным ящиком, поскольку невозможно осуществлять гибкое управление, например, распределение нагрузки и простое управление извне. Следовательно, когда масштаб сети становится большим, становится сложно проверять обнаружение и улучшение работы системы, и для изменения схемы и структуры необходима большая величина затрат.
В качестве методики для решения подобной проблемы рассматривается методика, в которой функция пакетной передачи и функция управления маршрутом сетевого оборудования разделены. Например, сетевое оборудование осуществляет функцию пакетной передачи, а блок управления, который отделен от сетевого оборудования, осуществляет функцию управления маршрутом, так чтобы осуществлять более легкий контроль и создать более гибкую сеть.
(Пояснение к сети с типом разделения CD)
В качестве примера сетей, в которых функции упомянутые разделены, предлагается сеть с типом разделения CD (C: плоскость управления/D: плоскость данных), в которой блок узла на стороне плоскости данных управляется блоком управления на стороне плоскости управления.
В качестве примера сети с типом разделения CD приведена сеть OpenFlow (OF-NW), использующая методику OpenFlow, в которой контроллер управляет коммутаторами для осуществления управления маршрутами сети. Подробности методики OpenFlow описаны в непатентной литературе 1. Следует отметить, что сеть OpenFlow (OF-NW) является лишь примером.
(Пояснение к сети стандарта OpenFlow (OF-NW))
В сети OpenFlow (OF-NW) контроллер OpenFlow (OFC), который равноценен блоку управления, управляет работой коммутаторов OpenFlow (OFS) посредством осуществления операций над таблицами потоков для управления маршрутами коммутаторов OpenFlow (OFS), которые равноценны блокам узлов.
В материалах настоящей заявки для определенного упрощения контроллер OpenFlow (OFC) упоминается как "контроллер" и коммутатор OpenFlow (OFS) упоминается как "коммутатор".
Контроллер и коммутатор соединены с помощью канала управления (канал связи для управления), называемый "безопасный канал", который является каналом связи, защищенным посредством выделенной линии и SSL (протокола защищенных сокетов). Контроллер и коммутатор передают и принимают OpenFlow-сообщение как управляющее сообщение, которое соответствует (основано на) протоколу OpenFlow, по каналу управления.
Коммутаторы в сети OpenFlow (OF-NW) расположены в сети OpenFlow (OF-NW) как граничные коммутаторы либо базовые коммутаторы под управлением контроллера. Поток пакетов от приема пакетов в граничном коммутаторе (входном коммутаторе) на стороне входа в сети OpenFlow (OF-NW) до передачи с граничного коммутатора (выходного коммутатора) выходной стороны называется потоком. В сети OpenFlow (OF-NW) осуществление связи фиксируется как поток из конца в конец (E2E), и управление маршрутом, восстановление после ошибок, распределение нагрузки и оптимизация осуществляются в единицах потоков.
Пакет может считываться как кадр. Разницей между пакетом и кадром является лишь разница в блоке данных, обрабатываемом в протоколе (PDU). Пакет является PDU "TCP/IP" (протокол управления передачей/Интернет-протокол). С другой стороны, кадр является PDU "сети Ethernet (зарегистрированный товарный знак)".
Таблица потоков является набором информационных записей потоков, каждая из которых определяет условие определения (правило) для назначения пакетов в качестве потока, статистические данные касаемо числа раз, которое пакеты соответствовали правилу, и содержание обработки (действие), которую необходимо осуществить в отношении пакетов.
Правило информационной записи потока задано на основе комбинаций данных в различных иерархических уровнях протоколов, которые содержатся в поле заголовка пакета и являются идентифицируемыми. В качестве примера данных из различных иерархических уровней протоколов приведены адрес назначения, исходный адрес, порт назначения, исходный порт и так далее. Следует отметить, что вышеуказанный адрес содержит MAC-адрес (адрес уровня управления доступом к среде передачи) и IP-адрес (адрес Интернет-протокола). Кроме того, данные порта ввода (входной порт) могут использоваться для правила информационной записи потока в дополнение к вышеуказанным данным. Кроме того, может быть установлено обычное выражение части либо всего значения поля заголовка каждого из пакетов в качестве потока, в качестве правила информационной записи потока, либо его выражения, используя специальный символ "*".
Действие информационной записи потока показывает такую операцию как "вывод в определенный порт", "не учитывать" и "перезаписать заголовок". Например, коммутатор выводит пакет в определенный порт, если данные идентификации (номер выходного порта и так далее) выходного порта заданы в действии информационной записи потока, и коммутатор не учитывает пакет, если данные идентификации выходного порта не показаны. Либо коммутатор перезаписывает заголовок пакета на основе данных пакета, если данные пакета не показаны в действии информационной записи потока.
Коммутатор осуществляет действие информационной записи потока для группы пакетов (потока пакетов), которая соответствует правилу информационной записи потока. Конкретно, когда принимают пакет, коммутатор ищет таблицу потоков для информационной записи потока, которая имеет правило, согласующееся с данными заголовка принятого пакета. Когда соответствие информационной записи потока определено в результате поиска, выполняются операция обновления статистических данных информационной записи потока и операция, заданная как действие информационной записи потока для принятого пакета. С другой стороны, когда соответствие информационной записи потока не найдено как результат поиска, определяется, что принятый пакет является первым пакетом. Коммутатор передает принятый пакет (либо его копию) в контроллер в сети OpenFlow (OF-NW) через канал управления, запрашивает расчет маршрута для принятого пакета на основе исходного адреса и адрес назначения и так далее для принятого пакета. Коммутатор принимает сообщения для установления информационной записи потока в качестве ответа и обновляет таблицу потоков.
Следует отметить, что в таблице потоков регистрируется информационная запись по умолчанию, которая имеет правило, согласующееся с данными заголовка всех пакетов с низким приоритетом. Информационная запись потока, согласующаяся с принятым пакетом, согласуется с остальными. Когда такая запись не найдена, принятый пакет сопоставляется с этой записью по умолчанию. Действие информационной записи по умолчанию является "передачей запроса о принятом пакете в контроллер".
Таким образом, в сети OpenFlow (OF-NW) контроллер управляет таблицей потоков коммутатора, и коммутатор осуществляет обработку передачи потока в соответствии с таблицей потоков.
(VLAN существующей сети OpenFlow)
VLAN (виртуальная локальная сеть) может быть создана в сети OpenFlow (OF-NW).
Это называется VLAN-тегированием (тегированием), когда идентификационный номер (VLAN-ID), который соответствует группе VLAN-, которой принадлежит пакет, задается (задается тег VLAN) для пакета (кадра MAC и так далее), который перемещается через сеть, в виде заголовка тега.
К какой группе VLAN принадлежит пакет, может быть определено путем обращения к этим данным тега VLAN (VLAN-ID), даже если сеть скомпонована из множества коммутаторов.
Следует отметить, что методика идентификации трафика с помощью добавления тега VLAN, который является характерным для пользователя, для пакета от пользователя, называется тегом VLAN. С другой стороны, считается, что она использует тег VLAN в пользовательской базе, и методика двойного задания тега используется только в сети поставщика услуг связи и называется VLAN с тегами расширения. В качестве одной из функций, которые реализуют VLAN с тегами расширения, в непатентной литературе 2 раскрыта "функция QinQ" (туннелирование по IEEE802.1q).
"Функция QinQ" является функцией идентификации пакета пользователя в заранее определенной сети. Например, когда функция QinQ установлена в граничный коммутатор, граничный коммутатор задает тег расширения для пакета, перемещающегося в сеть, с помощью функции QinQ.
Следует отметить, что когда тег VLAN дважды добавляется в пакет, первый тег из заголовка пакета называется "данные внешнего тега", и второй тег называется "данные внутреннего тега".
Роль/цель использования данных внутреннего тега и данных внешнего тега является той же самой, как и тега VLAN.
В данном документе предполагается, что тег расширения, который задан оборудованием (граничным коммутатором и так далее), которое осуществляет функцию QinQ на входной стороне сети OpenFlow (OF-NW), является "данными внешнего тега", а исходный тег VLAN до тега расширения, который задан для пакета, является "данными внутреннего тега".
В настоящей ситуации коммутатор может распознавать лишь данные внешнего тега в качестве первого тега из заголовка пакета. Следовательно, коммутатор не может идентифицировать данные внутреннего тега пакета, который перемещается через сеть OpenFlow (OF-NW).
Следовательно, в сети OpenFlow (OF-NW), где есть только одна VLAN, не может обрабатываться множество VLAN.
Следует отметить, что в качестве методики предшествующего уровня техники патентная литература 1 (JP 2009-177281A) и патентная литература 2 (JP 2009-177282A) раскрывают сетевую систему, в которой при передаче пакета в сеть, в которой предусмотрено множество VLAN, пакет передается с использованием двойных тегов.
Кроме того, методика протокола туннелирования VLAN раскрыта в патентной литературе 3 (JP 2009-201142A). В этой методике пакет туннелируется через путь с коммутацией по меткам (LSP) согласно протоколу MPLS (многопротокольная коммутация по меткам). Во втором узле переключения с конца LSP значение текущей метки замещается на значение метки, зарезервированное для пакета, переданного из порта, связанного с VLAN. Узел переключения вывода в LSP принимает пакет с зарезервированным значением метки, распознает, что данные VLAN встроены в пакет, и извлекает адрес назначения для передачи пакета в конечную точку назначения.
Перечень ссылок
[Патентная литература 1] JP 2009-177281A.
[Патентная литература 2] JP 2009-177282A. [Патентная литература 3] JP 2009-201142A.
http://openflow-spec-vl.0.0.pdf
[Непатентная литература 1] "Спецификация переключения открытых потоков, версия "1.0.0", [интерактивно] (31 декабря, 2009г.) (найдено 24 марта, 2011г.), в сети Интернет(URL:).
www.infraexpert.com/study/vlan2.3.htm
[Непатентная литература 2] "Туннелирование 802.lq (Q-in-Q)" [интерактивно] (найдено 24 марта, 2011г.), в сети Интернет //).
Сущность изобретения
Задачей  настоящего  изобретения  является  предоставление способа получения данных VLAN-тегов в сети OpenFlow.
Сетевая система в соответствии с настоящим изобретением включает в себя контроллер и коммутаторы, каждый из которых выполнен с возможностью осуществлять с контроллером связь через сеть, при этом контроллер сконфигурирован задавать информационную запись потока, определяющую правило и действие для единообразного управления пакетами в качестве потока, в таблице потоков каждого из упомянутых коммутаторов, причем контроллер дополнительно сконфигурирован сопоставлять (связывать) и сохранять данные VLAN-тега, заданные для каждого из пакетов, проходящих по упомянутой сети, и описательные (cookie) данные потока, которые показывают информационную запись потока, соответствующую пакету, и виртуально обрабатывать множество VLAN.
Контроллер  в  соответствии  с  настоящим  изобретением содержит:  средство для задания информационной записи потока,
определяющей правило и действие для единообразного управления пакетами в качестве потока, в таблице потоков коммутатора; и средство для сопоставления и сохранения данных VLAN-тега, заданных для каждого из пакетов, проходящих по сети, и описательных данных потока, которые показывают информационную запись потока, соответствующую пакету, который перемещается по упомянутой сети, и для виртуальной обработки множества VLAN.
Согласно предпочтительному варианту осуществления контроллер дополнительно содержит: средство для задания описательных данных потока, которые однозначно определяют информационную запись потока, в дополнение к правилу и действию в упомянутой информационной записи потока; средство для сопоставления и сохранения идентификационных данных (VLAN ID) , которые однозначно определяют каждую из упомянутого множества VLAN за пределами упомянутой сети, в качестве данных VLAN-тега, и описательных данных потока; и средство для задания упомянутой информационной записи потока путем использования описательных данных потока и обновления действия информационной записи потока.
Согласно предпочтительному варианту осуществления контроллер дополнительно содержит средство для выполнения ToS (тип службы) в качестве одного из средств управления приоритетом в отношении поступающего потока и для обновления действия, так чтобы совместно изменять значение ToS пакета, при задании информационной записи потока путем использования описательных данных  потока  и  обновления  действия  информационной  записи
Коммутатор в соответствии с настоящим изобретением содержит: средство для задания информационной записи потока, определяющей правило и действие для единообразного управления пакетами в качестве потока, в таблице потоков упомянутого коммутатора под управлением контроллера; средство для задания данных VLAN-тега, назначенных для пакета, проходящего по сети, в качестве данных внутреннего тега, которые показывают идентификационные данные (VLAN ID) VLAN, используемой за пределами упомянутой сети, когда упомянутый коммутатор находится на входе упомянутой сети и неизвестный пакет поступает в упомянутый коммутатор; средство для задания пакета с двойным тегом путем добавления данных внешнего тега для однозначного указания VLAN, используемой в упомянутой сети, в каждом пакете с помощью функции QinQ; средство для вывода пакетов из заранее определенного выходного порта на основе информационной записи потока, заданной из контроллера; и средство для удаления данных внешнего тега из пакета с помощью функции QinQ, когда упомянутый коммутатор находится на выходе упомянутой сети.
Способ получения данных VLAN-тегов согласно настоящему изобретению, который выполняется компьютером, включает в себя этапы, на которых: задают информационную запись потока, определяющую правило и действие для единообразного управления пакетами в качестве потока, в таблице потоков каждого из коммутаторов; сопоставляют и сохраняют данные VLAN-тега, назначенные для каждого из пакетов, проходящих по сети, и описательные данные потока, показывающие информационную запись потока,   соответствующую  пакету,   который  перемещается  по
упомянутой сети, и виртуально обрабатывают множество VLAN.
Программа в соответствии с настоящим изобретением является программой для предписания компьютеру выполнять вышеупомянутый способ получения данных тегов VLAN. Следует отметить, что программа согласно настоящему изобретению может сохраняться в запоминающем устройстве и носителе данных.
Множество VLAN может обрабатываться в сети OpenFlow, где есть только одна VLAN.
Краткое описание чертежей
Фиг. 1 является схемой, которая показывает пример основной конфигурации сетевой системы согласно настоящему изобретению;
Фиг. 2 является схемой, которая показывает конфигурацию сети OpenFlow, использующей сетевую систему согласно настоящему изобретению; и
Фиг. 3 является логической блок-схемой последовательности операций, показывающей пример операций по обработке в случае поступления пакета по настоящему изобретению.
Описание примерных вариантов осуществления
[Примерные варианты осуществления]
В дальнейшем описаны примерные варианты осуществления настоящего изобретения со ссылкой на прилагаемые чертежи.
Настоящее изобретение имеет дело с сетью с типом разделения CD. В этом случае описывается сеть OpenFlow, которая является одной из сетей с типом разделения CD, используя ее в качестве примера. Тем не менее, фактически, настоящее изобретение не ограничено сетью OpenFlow.
(Системная конфигурация)
Как показано на фиг. 1, в сетевой системе согласно настоящему изобретению предусмотрен контроллер 10 и коммутаторы 20 (20-i, i=1 по n: n является количеством коммутаторов).
Контроллер 10 вычисляет маршрут передачи пакета при обнаружении коммутатора 20 (20-i, i=1 по n) на основе данных топологии, показывающих состояние соединения сети, и регистрирует информационную запись потока в таблице потоков коммутатора, связанного с маршрутом.
Контроллер 10 соединен с каждым из коммутаторов 20 (20-i, i=1 по n) с помощью безопасного канала 50 по линии управления в качестве пути передачи управляющего сообщения. Следовательно, безопасные каналы 50 существуют для упомянутого количества коммутаторов 20 (20-i, i=1 по n).
Каждый из коммутаторов 20 (20-i, i=1 по n) передает принятый пакет на основе информационной записи потока, зарегистрированной в его собственной таблице потоков.
(Подробности контроллера)
Для контроллера 10 предусмотрена база 11 данных OpenFlow и секция 12 управления OpenFlow.
База 11 данных OpenFlow содержит описательные (cookie) данные 111 потока и данные 112 внутреннего тега.
Описательные (cookie) данные 111 потока являются данными идентификации для однозначной идентификации информационной записи потока.
Данные 112 внутреннего тега являются тегом VLAN (VLAN-ID) до задания его пакету.
То  есть  данные  112  внутреннего  тега  являются данными
идентификации для однозначной идентификации каждой из множества VLAN, которые используются вне сети OpenFlow (OF-NW).
В этом случае база 11 данных OpenFlow сохраняет данные, полученные с помощью сопоставления описательных (cookie) данных 111 потока и данных 112 внутренних тегов.
,
Секция 12 управления OpenFlow осуществляет управление базой 11 данных OpenFlow и контроль над коммутаторами 20 (20-ii=l по n) на основе данных о регистрации базы 11 данных OpenFlow, Секция 12 управления OpenFlow управляет коммутатором 20 (20-i, i=l по n) по безопасному каналу 50, используемому для контроллера 10, чтобы управлять коммутатором 20 (20-i, i=l по n) во время согласования протокола OpenFlow.
(Подробности коммутатора)
Каждый из коммутаторов 20 (20-i, i=l по n) оснащен входным портом 21, выходным портом 22, таблицей 23 потоков и секцией 24 управления передачей.
Входной порт 21 является интерфейсом (I/F) для ввода/вывода пакетов и портом связи для приема (ввода) пакета. Входных портов 21 может быть множество.
Выходной порт 22 является интерфейсом (I/F) для ввода/вывода пакетов и портом связи для передачи (вывода) пакета. Выходных портов 22 может быть множество.
Таблица 23 потоков является таблицей, в которой регистрируется информационная запись потоков с помощью контроллера 10.
Каждая информационная запись потока содержит описательные (cookie) данные 231 потока, состояние 232 (правило) определения
потока и действие 233.
Описательные данные 231 потока являются данными идентификации для однозначной идентификации информационной записи потока. Описательные данные 231 потока соответствуют описательным данным 111 потока.
Состояние 232 (правило) определения потока является правилом информационной записи потока и является данными идентификации для однозначной идентификации потока. Например, состояние 232 (правило) определения потока задает комбинацию из значений поля заголовка пакета. В этом случае состояние 232 (правило) определения потока задает значение "Dst MAC" (МАС-адрес назначения) и значение "VLAN ID" для значений поля заголовка пакета для однозначной идентификации потока.
Действие 233 является действие информационной записи потока и является данными о содержании обработки для пакета, соответствующего состоянию 232 (правилу) определения потока. В этом случае действие 233 задает вывод в порт для заранее определенного коммутатора, когда принимаемый пакет соответствует состоянию 232 (правилу) определения потока. Следует отметить, что действие 233 задает вывод для выходного порта, соответствующего коммутатору пункта назначения.
Секция 24 управления передачей обрабатывает пакет согласно данным регистрации (информационной записи потока) таблицы 23 потоков. Например, секция 24 управления передачей выводит пакет, который поступил во входной порт 21, в выходной порт 22, соответствующий заранее определенному пункту назначения, согласно информационной записи потока таблицы 23 потоков. Либо
секция 24 управления передачей передает пакет в контроллер 10. Либо секция 24 управления передачей отбрасывает пакет.
Кроме того, секция 24 управления передачей передает и принимает управляющее сообщение по безопасному каналу 50 с помощью секций 12 управления OpenFlow потоком контроллера 10. Секция 24 управления передачей изменяет информационную запись потока таблицы 23 потоков согласно управляющему сообщению из секции 12 управления OpenFlow контроллера 10 (т.е. осуществляет регистрацию, обновление, удаление и т.д.).
(Схема конфигурации сети открытого потока)
Фиг. 2 является схемой, которая показывает конфигурацию сети OpenFlow (OF-NW), использующей сетевую систему согласно настоящему изобретению.
Сеть OpenFlow (OF-NW) имеет только одну "VLAN=1" и содержит контроллер 10 и коммутаторы 20 (20-i, I=1 по 3).
В этом случае коммутатор 20-1 является "коммутатором 1", коммутатор 20-2 является "коммутатором 2" и коммутатор 20-3 является "коммутатором 3".
Функция QinQ установлена в порту, который соединен с оборудованием вне сети OpenFlow (OF-NW), из входных портов 21 и выходных портов 22, которые являются интерфейсами (I/F) для ввода/вывода пакетов коммутатора 1 (коммутатор 20-1), коммутатора 2 (коммутатора 20-2) и коммутатор 3 (коммутатора 20-3) .
Предполагается, что последующие сопоставления осуществлены в базе 11 данных OpenFlow контроллера 10.
Контроллер 10:
{описатель (cookie) потока = 1001, внутренний тег = 10}
{описатель потока = 1002, внутренний тег = 20}
Кроме того, предполагается, что последующие информационные записи потоков зарегистрированы в таблицах 23 потоков коммутатора 1 (коммутатора 20-1), коммутатора 2 (коммутатора 20-2) и коммутатора 3 (коммутатора 20-3).
Коммутатор 1 (коммутатор 20-1):
{описатель потока = 1001, правило = "Dst МАС=АА" и "VLAN ID=1", действие = "вывести в порт для коммутатора 2 (коммутатора 20-2)"}, и
{описатель потока = 1002, правило = "Dst МАС=ВВ" и "VLAN ID=1", действие = "вывести в порт для коммутатора 2 (коммутатора 20-2}"} .
Коммутатор 2 (коммутатор 20-2):
{описатель потока = 1001, правило = "Dst МАС=АА" и "VLAN ID=1", действие = "вывести в порт для коммутатора 3 (коммутатора 20-3) "} .
{описатель потока = 1002, правило = "Dst MAC = ВВ" и "VLAN ID=1", действие = "вывести в порт для коммутатора 3 (коммутатора 20-3)"}.
Коммутатор 3 (коммутатор 20-3):
{описатель потока = 1001, правило = "Dst MAC=AA" и "VLAN ID=1", действие = "вывести в порт для оборудования вне сети OpenFlow (OF-NW)"}, и
{описатель потока = 1002, правило = "Dst MAC=BB" и "VLAN ID=1", действие = "вывести в порт для оборудования вне сети OpenFlow (OF-NW)"}.
(1) Packet-IN (сообщение о входящем пакете)
При приеме неизвестного пакета коммутатор 1 (коммутатор 20-1) передает Packet-IN (сообщение о входящем пакете) в контроллер 10 для уведомления о данных заголовка этого пакета для запроса вычисления маршрута. Кроме того, коммутатор 1 (коммутатор 20-1) временно сохраняет данные этого пакета в буфере. В этом случае предполагается, что данные заголовка пакета равны {Dst МАС=СС, тег = 30}. Кроме того, предполагается, что идентификационные данные (ID буфера) буфера, в котором сохраняются данные пакета, равны {ID буфера = 001}.
(2) FlowMod-ADD  (сообщение  об  изменении  информационной записи потока)
Контроллер 10 передает FlowMod-ADD (сообщение об изменении информационной записи потока) в каждый коммутатор по маршруту, полученному в качестве результата вычисления маршрута, и регистрирует информационную запись потока. В этом случае предполагается, что правило информационной записи потока является общим для коммутаторов на маршруте, (правило = "Dst МАС=СС" и "VLAN ID=1"). Кроме того, предполагается, что действие информационной записи потока равно (действие = "вывести в порт для коммутатора 2 (коммутатора 20-2)") для коммутатора I (коммутатора 20-1) (действие = "вывести в порт для коммутатора 3 (коммутатора 20-3)") для коммутатора 2 (коммутатора 20-2) и (действие = "вывести в порт для оборудования вне сети OpenFlow (OF-NW)") для коммутатора 3 (коммутатор 20-3).
(3) Packet-OUT (сообщение об исходящем пакете)
Контроллер 10 передает Packet-OUT (сообщение об исходящем
пакете) в коммутатор (коммутатор 20-1), имея переданное Packet-IN (сообщение о входящем пакете) и инструктирует его вывести данные пакета, сохраненные в буфере {ID буфера = 001}, в порт для коммутатора 2 (коммутатор 20-2) .
(Обработка в случае поступления пакета)
Фиг. 3 показывает операцию по обработке в случае поступления пакета согласно настоящему изобретению.
(1) Этап S101
Во-первых, предполагается, что неизвестный пакет поступает в коммутатор 1 (коммутатор 20-1). То есть коммутатор 1 (коммутатор 20-1) принимает неизвестный пакет, который поступает во входной порт 21.
Неизвестный пакет:
{Dst МАС=СС, тег = 30, данные}
(2) Этап S102
Коммутатор 1 (коммутатор 20-1) добавляет данные внешнего тега "внешний тег = 1" в пакет, используя функцию QinQ, когда неизвестный пакет поступает во входной порт 21. Таким образом, пакет становится пакетом с двойным тегом.
Пакет с двойным тегом:
{Dst МАС=СС, внешний тег = 1, внутренний тег = 30, данные}
Эти данные внешнего тега "внешний тег = 1" эквивалентны тегу VLAN (VLAN-ID) той VLAN, которая создана в качестве единственной в сети OpenFlow (OF-NW).
(3) Этап S101
Коммутатор 1 (коммутатор 20-1) формирует ключ поиска на основе значения поля заголовка пакета и определяет, зарегистрирована  ли  или  нет  информационная  запись  потока,
соответствующая этому пакету (существует ли либо не существует соответствующая информационная запись потока), с помощью поиска в таблице 23 потоков на предмет информационной записи потока с использованием ключа поиска. В этот момент любая соответствующая информационная запись потока еще не зарегистрирована, так как пакет является неизвестным пакетом. Следовательно, коммутатор 1 (коммутатор 20-1) получает результат поиска, что соответствующая информационная запись потока не существует.
(4) Этап S101
Когда соответствующая информационная запись потока не существует ("нет" на этапе S103), коммутатор 1 (коммутатор 20-1) передает "Packet-IN" в контроллер 10 по безопасному каналу 50 для запроса данных маршрута. "Packet-IN" является сообщением для уведомления о данных (данных заголовка и так далее) неизвестного пакета, принятого коммутатором, в контроллер.
"Packet-IN":
{Dst МАС=СС, внутренний тег = 30}
Следует отметить, что коммутатор 1 (коммутатор 20-1) сохраняет пакет (пакет с двойным тегом в этой точке) в буфере.
ID буфера коммутатора 1 (коммутатор 20-1):
{ID буфера = 001}
В настоящем примерном варианте осуществления контроллер 10 формирует данные для описателей потока информационной записи потока. В этом случае контроллер 10 формирует "описатель потока = 1003" в качестве новых описательных данных потока и назначает "описатель потока = 1003" информационной записи потока.
(5) Этап S105
При приеме "Packet-IN" контроллер 10 определяет соответствующие данные маршрута и формирует информационную запись потока, для которой недавно назначено "значение описателя потока =1003". Контроллер 10 передает "FlowMod-ADD" в каждый из коммутатора 1 (коммутатора 20-1), коммутатора 2 (коммутатора 20-2) и коммутатора 3 (коммутатора 20-3) на маршруте, так чтобы зарегистрировать информационную запись потока. "FlowMod-ADD" является управляющим сообщением, которое инструктирует о регистрации (добавлении) информационной записи потока.
В этом случае контроллер 10 формирует "описатель потока = 1003" в качестве новых описательных данных потока и назначает "описатель  потока =  1003"  для информационной записи потока, сформированной недавно на основе данных маршрута. Контроллер 10 передает  "FlowMod-ADD"  для  регистрации  информационной  записи потока, для которой назначено "значение описателя потока =-1003", в коммутатор 1 (коммутатор 20-1), коммутатор 2 (коммутатор 20-2) и коммутатор 3 (коммутатор 20-3).
(6) Этап S106
Каждый из коммутатора 1 (коммутатора 20-1), коммутатора 2
(коммутатора  20-2)   и  коммутатора  3   (коммутатора  20-3)
регистрирует нижеследующую новую информационную запись потока в
своей  собственной  таблице  23  потоков  согласно  инструкции
"FlowMod-ADD".
Коммутатор 1 (коммутатор 20-1):
{описатель потока = 1003, правило = "Dst MAC=CC" и "VLAN ID=1", действие = "вывести в порт для коммутатора 2 (коммутатор
20-2}"}.
Коммутатор 2 (коммутатор 20-2):
{описатель потока = 1003, правило = "Dst MAC=CC" и "VLAN ID=1", действие = "вывести в порт для коммутатора 3 (коммутатор 20-3)"}.
Коммутатор 3 (коммутатор 20-3}:
{описатель потока = 1003, правило = "Dst MAC=CC" и "VLAN ID=1", действие = "вывести в порт для оборудования вне сети OpenFlow (OF-NW)"}.
(7) Этап S107
Кроме того, в этот момент контроллер 10 осуществляет сопоставление описательных данных 111 потока и данных 112 внутреннего тега и сохраняет последующее новое сопоставление (привязку) в базе 11 данных OpenFlow.
Контроллер 10:
{описатель потока = 1003, внутренний тег = 30}
(8) Этап S108
Далее, контроллер 10 передает "Packet-OUT" в коммутатор 1 (коммутатор 20-1), который передал "Packet-IN". "Packet-OUT" является управляющим сообщением, которое инструктирует о выводе пакета (начало передачи).
"Packet-OUT":
{Действие = "вывести в порт для коммутатора 2 (коммутатор 20-2)"}.
(9) Этап S109
При приеме "Packet-OUT" от контроллера 10 коммутатор 1 (коммутатор 20-1) выводит пакет, сохраненный в буфере {ID буфера
= 001} коммутатора 1 (коммутатора 20-1) в порт для коммутатора 2 (коммутатора 20-2) в ответ на действие (Action) "Packet-OUT".
В данном документе коммутатор 1 (коммутатор 20-1) может добавлять ID буфера к "Packet-IN" и уведомлять об этом в контроллер 10. Контроллер 10 может добавлять ID буфера к "Packet-OUT" и передавать его в коммутатор 1 (коммутатор 20-1).
Следует отметить, что когда информационная запись потока, соответствующая проводимому пакету, уже зарегистрирована ("Да" на этапе S103), коммутатор 1 (коммутатор 20-1) выводит этот пакет в порт для коммутатора 2 (коммутатор 20-2) согласно информационной записи потока, когда пакет поступает.
(10) Этап S110
Коммутатор 2 (коммутатор 20-2) принимает пакет, переданный коммутатором 1 (коммутатор 20-1), и осуществляет поиск по таблице 23 потоков для определения того, зарегистрирована ли или нет соответствующая информационная запись потока.
Так как информационная запись потока, соответствующая пакету, зарегистрирована в таблице 23 потоков на этот раз, коммутатор 2 (коммутатор 20-2) выводит пакет в порт для коммутатора 3 (коммутатор 20-3) согласно действию (Action) информационной записи потока.
(11) Этап S111
Аналогично, коммутатор 3 (коммутатор 20-3) выводит пакет в порт для оборудования вне сети OpenFlow (OF-NW) согласно действию (Action) информационной записи потока, которая зарегистрирована в этот раз.
В этот момент  коммутатор 3  (коммутатор 20-3)  устраняет
(удаляет) только данные внешнего тега "внешний тег = 1", используя функцию QinQ коммутатора, и осуществляет вывод вовне сети OpenFlow (OF-NW).
Выходной пакет из сети OpenFlow (OF-NW):
{Dst МАС=СС, тег = 30, данные} (12) Этап S112
<mo>→</mo>
<mo>→</mo>
В дальнейшем пакеты {Dst MAC=CC, тег = 30}, которые поступают в коммутатор 1 (коммутатор 20-1), передаются по "коммутатор 1 (коммутатор 20-1)
коммутатор 2 (коммутатор 20-2)
коммутатор 3 (коммутатор 20-3)" согласно информационной записи потока, которая зарегистрирована в таблице 23 потоков каждого коммутатора на этот раз.
(Поток изменения значения ToS)
Далее описан процесс обработки, в котором ToS (тип службы) в качестве одного из элементов управления приоритета, выполняется в отношении потока, который переходит в сеть OpenFlow (OF-NW), и значения ToS пакетов (изменение значения ToS) изменяются совместно.
Предполагается, что в этом случае значения ToS пакетов, имеющих {Dst МАС=АА, VLAN ID=10} в качестве поля заголовка, совместно изменяются на "ToS=5" с "ToS=3".
Например, контроллер 10 использует 3-битовое поле (значения 0-7), которое находится в поле ToS поля заголовка пакета, в качестве значения ToS и осуществляет управление приоритетом пакета.
Контроллер 10 сохраняет "описатель потока = 1001", которому соответствует "внутренний тег = 10", в базе 11 данных OpenFlow.
Следовательно, контроллер 10 может задавать информационную запись потока, имеющую "внутренний тег = 10", с помощью назначения "описатель потока = 1001" в таблице 23 потоков коммутатора 20 (20-i, i=l по n) и может изменить действие (Action) информационной записи потока.
Контроллер 10 передает "FlowMod-Modify", которое задает нижеследующее действие перезаписи для информационной записи потока "описатель потока = 1001", в коммутатор 2 (коммутатор 20-2) . "FlowMod-Modify" представляет собой управляющее сообщение, которое инструктирует изменение (обновление) записи потока.
"FlowMod-Modify":
{описатель потока = 1001, действие = "перезаписать значение ToS в 5 и вывести в порт для коммутатора 3 (коммутатора 20-3)"}.
Коммутатор 2 (коммутатор 20-2) перезаписывает действие информационной записи потока в таблице 23 потоков согласно "FlowMod-Modify". To есть информационная запись потока, зарегистрированная в таблице 23 потоков коммутатора 2 (коммутатор 20-2), перезаписывается следующим образом.
Коммутатор 2 (коммутатор 20-2):
{описатель потока = 1001, правило = "Dst MAC = АА" и "VLAN ID=1", действие = "перезаписать значение ToS в 5 и вывести в порт для коммутатора 3 (коммутатора 20-3)"}.
Коммутатор 1 (коммутатор 20-1) добавляет "тег = 1", используя функцию QinQ, когда пакет {Dst МАС=АА, VLAN=10} поступает во входной порт 21,
Коммутатор 1 (коммутатор 20-1) осуществляет поиск по таблице   23   потоков   и,   в   соответствии   с   совпадением
информационной записи потока, перемещает пакет в порт для коммутатора 2 (коммутатор 20-2).
<mo>→</mo>
Коммутатор 2 (коммутатор 20-2) перезаписывает значение ToS пакета с "ToS=3" в "ToS=5" согласно действию информационной записи потока, зарегистрированной в таблице 23 потоков в этот момент, т.е. ("ToS=3"
"ToS=5")и выводит в порт для коммутатора 3 (коммутатор 20-3) .
Коммутатор 3 (коммутатор 20-3) передает пакет за пределы сети OpenFlow (OF-NW) согласно действию информационной записи потока, зарегистрированной в таблице 23 потоков в этот момент, и устраняет (удаляет) "внешний тег = 1" с помощью использования функции QinQ для его вывода.
Следовательно, значение ToS пакета, имеющего "внутренний тег = 10", который проходит по сети OpenFlow (OF-NW), может быть
<mo>→</mo>
перезаписано с "ToS=3" в "ToS = 5" ( "ToS=3 "
"ToS=5" ) .
(Характеристика этого примерного варианта осуществления)
В настоящем изобретении коммутатор передает неизвестный пакет в контроллер 10 как "Packet-IN", и контроллер 10 осуществляет сопоставление данных внутреннего тега и описательных данных потока, которые показывают информационную запись потока, соответствующую пакету, который перемещается по сети OpenFlow (OF-NW).
Таким образом, данные внутреннего тега (внутренний тег) могут быть идентифицированы в сети OpenFlow (OF-NW). Кроме того, множество VLAN может быть обработано в сети OpenFlow (OF-NW) , где есть только одна VLAN.
Например,   предполагается,   что   есть   три   сети  -
пользовательская сеть A (NW А), пользовательская сеть В (NW В) и сеть поставщика услуг связи. Описывается случай идентификации пакета пользователя в сети поставщика услуг связи с помощью использования функции QinQ.
<mo>→</mo>
<mo>→</mo>
<mo>→</mo>
Во-первых, проверяется функция QinQ граничного коммутатора сети поставщика услуг связи. В этом случае, когда пакет проходит по пути "NW А
поставщик услуг связи
NW В", граничный коммутатор (на стороне NW А) сети поставщика услуг связи задает тег расширения для пакета во время переноса пакета по "NW A
поставщик услуг связи" с помощью использования функции QinQ.
Каждый коммутатор (базовый коммутатор и так далее) в сети поставщика услуг связи идентифицирует трафик с использованием этого тега расширения.
<mo>→</mo>
Когда пакет передается по "поставщик услуг связи
NW В", граничный коммутатор (сторона NW В) сети поставщика услуг связи удаляет этот тег расширения из пакета.
Нет проблем, даже если тег VLAN, использованный в пользовательской сети, перекрывается, так как тег расширения используется в сети поставщика услуг связи.
Следует отметить, что когда тег VLAN дважды добавляется в пакет, первый тег из заголовка пакета упоминается как "данные внешнего тега", а второй тег упоминается как "данные внутреннего тега".
Роль/цель использования поля данных внутреннего тега и данных внешнего тега является той же самой, как и тега VLAN. Тем не менее,  данные внутреннего тега используются только среди
пользовательских сетей. Таким же образом, данные внешнего тега используются только в сети поставщика услуг связи.
Роль/использование  тега  VLAN  применяются  для  связывания множества VLAN, заданных для коммутатора.
Например, предполагается, что VLAN1 и VLAN2 установлены для коммутатора В и VLAN1 и VLAN2 установлены для коммутатора А. Необходимо предоставить два LAN-кабеля для VLAN1 и VLAN2 между коммутатором А и коммутатором В для связи между VLAN1 коммутатора А и VLAN1 коммутатора В и связи между VLAN2 коммутатора А и VLAN2 коммутатора В. Используя тег VLAN, достаточно одного LAN-кабеля между коммутатором А и коммутатором В. Путем задания тега 1 VLAN либо тега 2 VLAN пакету, который перемещается между коммутатором А и коммутатором В, можно идентифицировать, принадлежит ли пакет к VLAN1 либо VLAN2.
(Пример аппаратного обеспечения)
Ниже описан пример конкретного аппаратного обеспечения для реализации сетевой системы согласно настоящему изобретению.
В качестве примера контроллера 10, приведены компьютеры, такие как ПК (персональный компьютер), прикладное устройство, сервер для работы с тонкими клиентами, рабочая станция, универсальная вычислительная машина, суперкомпьютер. Следует отметить, что контроллер 10 может быть ретрансляционным оборудованием либо периферийным оборудованием.
В качестве примера коммутатора 20 приведены сетевой коммутатор, маршрутизатор, прокси-сервер, шлюз, брандмауэр, распределитель нагрузки (устройство распределения нагрузки), устройство управления каналом (устройство формирования пакетов),
оборудование  для  отслеживания  и  управления  безопасностью (дистанционное  управление  и  сбор данных,  SCADA),  контроллер шлюза, базовая станция, точка доступа (АР), спутник связи (CS) либо компьютер, у которого имеется множество портов связи, и так далее.
Контроллер 10 и коммутатор 20 могут быть платами расширения, установленными в компьютере, либо виртуальная машина создается на физической машине. Кроме того, контроллер 10 и коммутатор 20 могут быть установлены в передвижных корпусах, например транспортном средстве, судне либо летальном аппарате.
Хотя и не показано, каждый из контроллера 10 и коммутатора 20 скомпонованы из процессора, который выполняет заранее определенную обработку на основе программы, запоминающего устройства, которое хранит эту программу и различные типы данных, и интерфейса, который используется для связи с помощью сети.
В качестве  примера  вышеупомянутого процессора  приведены центральный   процессор    (CPU),    сетевой   процессор    (NP) , микропроцессор, микроконтроллер и полупроводниковая интегральная схема (LSI: большая интегральная схема), которая имеет функцию исключительного использования.
В качестве примера вышеупомянутого запоминающего устройства приведены полупроводниковое запоминающее устройство, например, оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), электрически стираемое и программируемое постоянное запоминающее устройство (EEPROM) и флэш-память, вспомогательное запоминающее устройство, например
накопитель на жестком диске  (HDD)  и твердотельный накопитель(SSD), съемный диск, например, цифровой универсальный диск (DVD) и носитель данных, такой как SD-карта (карта памяти Secure Digital), и так далее. Кроме того, запоминающее устройство может быть буфером, регистром и так далее. Либо запоминающее устройство может быть устройством хранения данных, используя DAS(накопитель с прямым подключением), FC-SAN (оптоволоконный канал сетевая система хранения данных),  NAS  (сетевое устройство хранения данных), IP-SAN (IP - сетевая система хранения данных) и так далее.
Следует отметить, что вышеупомянутый процессор и вышеупомянутое запоминающее устройство могут быть объединены. Например, в последние годы разрабатывается микрокомпьютер на одной микросхеме. Следовательно, возможным является представление о том, что в микрокомпьютере на одной микросхеме, которая установлена в электронное оборудование, предусмотрены вышеупомянутый процессор и вышеупомянутое запоминающее устройство.
В качестве примера вышеупомянутого интерфейса,  приведены плата, соответствующая сетевой связи (материнская плата и плата ввода/вывода), и кристалл полупроводниковой интегральной схемы, сетевой адаптер и аналогичная карта расширения, например NIC(карта сетевого интерфейса), устройство связи, например, антенна и порт связи, например, соединительный вход (коннектор).
Кроме  того,  в  качестве  примера  сети,  приведены  сеть Интернет,   LAN   (локальная   сеть),   беспроводная  LAN,   WAN(глобальная сеть), опорная сеть, линия кабельного телевидения,
фиксированная телефонная сеть, мобильная телефонная сеть, WiMAX (IEEE 802.16a), 3G (3-е поколение), выделенная линия (арендованный канал), IrDA (Ассоциация по инфракрасной технологии передачи данных), Bluetooth (зарегистрированная торговая марка), канал с последовательной передачей, шина данных и так далее.
Следует отметить, что внутренний компонент каждого из контроллера 10 и коммутатора 20 может быть модулем, компонентом, устройством с исключительным использованием, либо соответствующими программами запуска (вызова).
Тем не менее, настоящее изобретение не ограничено этими примерами.
(Сущность изобретения)
Как упомянуто выше, в настоящем изобретении контроллер сопоставляет данные внутреннего тега, назначенные пакетам, перемещающимся через сеть OpenFlow (0F-NW) , и описательные данные потока, которые показывают информационную запись потока, соответствующую пакетам, которые перемещаются через сеть OpenFlow, и сохраняет данные.
Путем задания описательных данных потока может быть обработано множество VLAN в сети, где есть только одна VLAN (например, в сети OpenFlow, где есть только одна VLAN).
Конкретно, поток, входящий в сеть OpenFlow, передается от коммутатора в контроллер. Контроллер выявляет данные "VLAN ID" во входе в сеть OpenFlow и сопоставляет этот "VLAN ID" и описательные данные потока, которые показывают информационную запись потока,  соответствующую пакету в сети OpenFlow.  Таким
образом, контроллер может обрабатывать множество VLAN.
Кроме того, контроллер может управлять данными внутреннего тега во входе сети OpenFlow и потоком, перемещающимся по сети OpenFlow, чтобы связать их. Таким образом, контроллер может виртуально обрабатывать множество VLAN (многочисленные VLAN), безотносительно использования только одной VLAN в сети OpenFlow.
<Дополнение>
Часть либо все из вышеупомянутых примерных вариантов осуществления могут быть упомянуты в последующих дополнительных аспектах. Тем не менее, фактически, настоящее изобретение не ограничено последующими конкретными примерами.
(Дополнительный аспект 1)
Контроллер включает в себя: средство для задания информационной записи потока, задающей правило и действие для единообразного управления пакетами в качестве потока, в таблице потоков коммутатора; средство для виртуальной обработки множества VLAN (виртуальных локальных сетей) с помощью сопоставления данных тегов, заданных для пакетов, которые перемещаются через сеть, и описательных данных потока, которые показывают информационную запись потока, соответствующую пакетам, которые перемещаются через сеть, чтобы сохранить их.
(Дополнительный аспект 2)
Контроллер согласно дополнительному спектру 1, дополнительно содержащий средство для задания в информационной записи потока описательных данных потока, которые однозначно определяют информационную запись потока, в дополнение к правилу и действию; средство для сопоставления и сохранения идентификационных данных
(VLAN ID) , которые однозначно определяют каждую из множества VLAN за пределами сети в качестве данных тега, и описательных данных потока; и средство для задания информационной записи потока путем использования описательных данных потока и обновления действия информационной записи потока.
(Дополнительный аспект 3)
Контроллер согласно дополнительному аспекту 2, дополнительно включающий в себя:  средство для выполнения ToS
(типа службы) в качестве одного из элементов управления приоритетом в отношении проводимого потока и обновления действия, так чтобы совместно изменять значения ToS пакетов, при задании информационной записи потока путем использования описательных данных потока и обновления действия информационной записи потока.
(Дополнительный аспект 4)
Коммутатор включает в себя: средство для установки в таблице потоков упомянутого коммутатора информационной записи потока, задающей правило и действие для единообразного управления пакетами в качестве потока согласно управлению от контроллера; и
блок   для   виртуального   соответствия  множеству  VLAN
(виртуальных локальных сетей) на основе информационной записи потока согласно сопоставлению данных тега, заданных для пакетов, которые перемещаются через сеть, и описательных данных потока, которые показывают информационную запись потока, соответствующую пакетам, которые перемещаются через упомянутую сеть, в упомянутом контроллере.
(Дополнительный аспект 5}
Коммутатор согласно дополнительному аспекту 4, дополнительно включающий в себя: средство для задания данных тега, назначенных пакетам, которые перемещаются через сеть, в качестве данных внутреннего тега, которые показывают идентификационные данные (VLAN ID) VLAN, используемые за пределами упомянутой сети, когда упомянутый коммутатор обеспечен на входе и поступает неизвестный пакет;
блок для добавления данных внешнего тега, которые однозначно определяют VLAN, которая используется для пакетов, в упомянутом сетевом пакете с двойным тегом, с помощью функции QinQ (туннелирование IEEE802.lq);
блок для вывода пакета в заранее определенный пункт назначения согласно записи пакета, заданной упомянутым контроллером; и
блок для удаления данных внешнего тега из пакета, используя функцию QinQ в случае выхода.
<3амечания>
Вышеупомянутые примерные варианты осуществления настоящего изобретения описаны подробно. Тем не менее, фактически, настоящее изобретение не ограничено вышеупомянутыми примерными вариантами осуществления, и они содержатся в настоящем изобретении, даже если существует изменение в объеме, который не отклоняется от точки зрения настоящего изобретения.
Следует отметить, что по настоящей заявке испрашивается конвенционный приоритет на основе патентной заявки № 2011-072153 (JP). Ее раскрытие включено в материалы данной заявки по ссылке.