Сетевая система и способ получения данных тега vlan
Иллюстрации
Показать всеНастоящее изобретение относится к сетевой системе и, в частности, к способу получения данных тега VLAN в сети стандарта OpenFlow. Техническим результатом является повышение гибкости управления за счет предоставления способа получения данных VLAN-тегов в сети OpenFlow. Это достигается за счет того, что коммутаторы выполнены с возможностью осуществления связи через сеть с контроллером, сконфигурированным виртуально обрабатывать множество VLAN посредством сопоставления данных внутреннего тега VLAN, заданных для каждого из пакетов, проходящих через сеть, и описательные данные потока, показывающие информационную запись потока, соответствующую пакету, перемещающимся в упомянутой сети. 5 н. и 5 з.п. ф-лы, 3 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к сетевой системе и, в частности, к способу получения данных тега 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.
[Непатентная литература 1] "Спецификация переключения открытых потоков, версия "1.0.0", [интерактивно] (31 декабря, 2009г.) (найдено 24 марта, 2011г.), в сети Интернет(URL:http://openflow-spec-vl.0.0.pdf).
[Непатентная литература 2] "Туннелирование 802.lq (Q-in-Q)" [интерактивно] (найдено 24 марта, 2011г.), в сети Интернет //www.infraexpert.com/study/vlan2.3.htm).
Сущность изобретения
Задачей настоящего изобретения является предоставление способа получения данных 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-i, i=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
В дальнейшем пакеты {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).
Коммутатор 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), может быть
перезаписано с "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.
Во-первых, проверяется функция QinQ граничного коммутатора сети поставщика услуг связи. В этом случае, когда пакет проходит по пути "NW А → поставщик услуг связи → NW В", граничный коммутатор (на стороне NW А) сети поставщика услуг связи задает тег расширения для пакета во время переноса пакета по "NW A → поставщик услуг связи" с помощью использования функции QinQ.
Каждый коммутатор (базовый коммутатор и так далее) в сети поставщика услуг связи идентифицирует трафик с исполь