СИСТЕМА СНИЖЕНИЯ НАГРУЗКИ И СПОСОБ СНИЖЕНИЯ НАГРУЗКИ
LOAD REDUCTION SYSTEM AND METHOD OF REDUCING LOAD

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к системе снижения нагрузки и, более конкретно, относится к системе снижения нагрузки на контроллер в сети с разделением уровней CD.
УРОВЕНЬ ТЕХНИКИ
Способ управления коммутатором, терминалом и т.п. (уровень передачи данных) со стороны внешнего контроллера (уровень управления) называется архитектурой с разделением уровней CD (C: уровень управления/D: уровень передачи данных). Конфигурация сети с вышеупомянутой архитектурой с разделением уровней CD называется сетью с разделением уровней CD.
В качестве примера сети с разделением уровней CD приводится сеть OpenFlow, которая использует технологию OpenFlow (открытый поток) для реализации управления построением маршрутов сети посредством управления коммутаторами со стороны контроллера. Следует отметить, что сеть OpenFlow является всего лишь одним примером.
СЕТЬ OPENFLOW
В сети OpenFlow серия информационных передач, которая определяется посредством комбинаций MAC-адреса, IP-адреса, номера порта и т.п., обозначается в качестве «потока». Процессы управления построением маршрутов, исправления неполадок (нарушений), распределения нагрузки и оптимизации реализовываются в блоке обработки потоков.
В сети OpenFlow контроллер, такой как контроллер OFC (контроллер OpenFlow), управляет логикой работы коммутатора посредством оперирования с таблицей потоков коммутатора, такого как коммутатор OFS (коммутатор OpenFlow).
Контроллер и коммутатор соединяются посредством безопасного (защищенного) канала для управления коммутатором, реализуемого посредством контроллера с использованием управляющего сообщения на основе протокола OpenFlow. Контроллер и коммутатор передают и принимают сообщения OpenFlow через безопасный канал в соответствии с протоколом OpenFlow (открытый поток).
Коммутаторы в сети OpenFlow конфигурируют сеть OpenFlow и представляют собой пограничные коммутаторы и центральные коммутаторы, которые находятся под управлением контроллера. Следует отметить, что пограничный коммутатор является коммутатором, который располагается на границе между сетью OpenFlow и сетью, отличной от сети OpenFlow. При этом центральный коммутатор является коммутатором, который используется для ретрансляции пакета в сети OpenFlow. В сети OpenFlow контроллер может оперировать с таблицей потоков коммутатора в процессе построения маршрутов, а также управлять потоком с момента приема (входа) пакета на стороне ввода пограничного коммутатора (точка входа) до момента передачи (выхода) пакета на стороне вывода пограничного коммутатора (точка выхода).
Пакет может упоминаться как кадр. Различие между пакетом и кадром является всего лишь различием в блоке данных, обрабатываемых в протоколе (PDU: Блок данных протокола). Пакет является PDU протокола «TCP/IP» (протокола управления передачей/межсетевого протокола). В то же время, кадр является PDU «Ethernet» (зарегистрированный знак).
Таблица потоков является таблицей, в которой ввод (запись) потока регистрируется для задания предварительно определенного действия, которое выполняется применительно к пакету и удовлетворяет предварительно определенному условию (правилу) соответствия.
Правило ввода потока задается на основе комбинации одного и более из адреса получателя, адреса источника, порта получателя и порта источника, которые включены в область заголовка пакета в каждой иерархии протоколов, при этом они могут различаться. Следует отметить, что вышеупомянутый адрес должен включать в себя МАС-адрес (адрес управления доступом к среде) и IP-адрес (адрес межсетевого протокола). Кроме того, в дополнение к вышеупомянутому, данные входного порта могут быть использованы в качестве правила ввода потока.
Действие ввода потока указывает операцию «вывода на конкретный порт», «отказа» или «перезаписи заголовка». Например, в случае, когда действие ввода потока указывает идентификационные данные порта вывода (номер порта вывода и т.д.), коммутатор выводит пакет на соответствующий им порт, а в случае, когда идентификационные данные порта вывода не указаны, пакет отбрасывается. Кроме того, в случае, когда действие ввода потока указывает данные заголовка, заголовок пакета перезаписывается на основе данных заголовка.
Коммутатор в сети OpenFlow выполняет действие ввода потока для группы пакетов (последовательности пакетов), которая удовлетворяет правилу ввода потока.
Подробная информация о технологии OpenFlow описывается в непатентной литературе 1.
В сети OpenFlow, в которой настройка потока не выполняется заблаговременно, для каждого из неизвестных пакетов (первичных пакетов), которые принимаются посредством коммутатора в первую очередь, копия (зеркальный пакет) принятого пакета передается как сообщение запроса (входной пакет) ввода потока от коммутатора к контроллеру до тех пор, пока ввод потока не будет зарегистрирован в таблице потоков.
Однако в случае, когда пакеты одного потока, для которого ввод (запись) потока не зарегистрирован в таблице потоков, непрерывно принимаются посредством коммутатора, количество сообщений запроса (входного пакета) ввода потока к контроллеру увеличивается, вследствие чего повышается нагрузка на контроллер.
При наложении нагрузки на контроллер, который управляет сетью OpenFlow, возникает проблема стабилизации сети. Поэтому требуется снижение нагрузки на управление.
ПЕРЕЧЕНЬ ССЫЛОЧНОЙ ЛИТЕРАТУРЫ
Непатентная литература 1: «Описание коммутатора OpenFlow, издание 1.0.0» [выложена в сеть 31 декабря 2009 года], [поиск производился 8 сентября 2011 года], ссылка в сети Интернет: <http://www.openflowswitch.org/documents/opeflow-spec-v1.0.0.pdf>
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Первая проблема заключается в том, что в сети OpenFlow, в случае непрерывного приема посредством коммутатора пакетов одного потока, для которого ввод потока не зарегистрирован в таблице потоков, когда эффективность функционирования контроллера является низкой, сообщение запроса (входной пакет) ввода потока многократно передается со стороны коммутатора на сторону контроллера, вследствие чего повышается нагрузка на контроллер.
Вторая проблема заключается в том, что сеть OpenFlow конфигурируется так, что коммутатор не может передавать пакеты, когда ввод потока не зарегистрирован в таблице потоков.
Задачей настоящего изобретения является обеспечение технологии, которая снижает нагрузку на контроллер для повышения эффективности всей сети OpenFlow посредством передачи пакета предварительно определенному получателю без передачи сообщения запроса (входного пакета) ввода потока контроллеру при приеме пакетов (незарегистрированных пакетов), ввод потока которых не зарегистрирован в таблице потоков, для разрешения вышеупомянутых проблем.
Система снижения нагрузки, в соответствии с настоящим изобретением, включает в себя: коммутатор, сконфигурированный с возможностью реализации обработки принимаемого пакета на основе ввода потока, задающего правило и действие для единообразного управления пакетами в качестве потока; и контроллер, сконфигурированный с возможностью задания ввода потока для коммутатора. После приема определенного пакета коммутатор выполняет запрос ввода потока, соответствующего принятому определенному пакету, к контроллеру, если ввод потока, соответствующий принятому определенному пакету, не задан, размещает принятый определенный пакет в стеке и управляет передачей одного из пакетов, который имеет данные заголовка, аналогичные данным заголовка размещенного в стеке пакета, посредством использования размещенного в стеке пакета, до тех пор, пока ввод потока, соответствующий принятому пакету, не будет зарегистрирован.
Коммутатор, в соответствии с настоящим изобретением, включает в себя: средство для приема от контроллера ввода потока, который задает правило и действие для единообразного управления пакетами в качестве потока; средство для выполнения запроса у контроллера, после приема пакета, ввода потока, соответствующего принятому пакету, в случае, если ввод потока, соответствующий принятому пакету, не был зарегистрирован; средство для размещения принятого пакета в стеке и средство для управления передачей пакета, который имеет данные заголовка, аналогичные данным заголовка размещенного в стеке пакета, посредством использования размещенного в стеке пакета, до регистрации ввода потока, соответствующего принятому пакету.
Способ снижения нагрузки, в соответствии с настоящим изобретением, включает в себя этапы: приема регистрации контроллером ввода потока, который задает правило и действие для единообразного управления пакетами в качестве потока; выполнения запроса у контроллера, после приема пакета, ввода потока, соответствующего принятому пакету, в случае, если ввод потока, соответствующий принятому пакету, не был зарегистрирован; размещения принятого пакета в стеке и управления передачей пакета, который имеет данные заголовка, аналогичные данным заголовка размещенного в стеке пакета, посредством использования размещенного в стеке пакета, до тех пор, пока ввод потока, соответствующий принятому пакету, не будет зарегистрирован.
Носитель записи согласно настоящему изобретению сохраняет программу для побуждения коммутатора к выполнению: приема посредством контроллера регистрации ввода потока, который задает правило и действие для единообразного управления пакетами в качестве потока; выполнения запроса у контроллера, после приема пакета, ввода потока, соответствующего принятому пакету, если ввод потока, соответствующий принятому пакету, не был зарегистрирован; размещения принятого пакета в стеке и управления передачей пакета, который имеет данные заголовка, аналогичные данным заголовка размещенного в стеке пакета, посредством использования размещенного в стеке пакета, до тех пор, пока ввод потока, соответствующий принятому пакету, не будет зарегистрирован.
Настоящее изобретение может снизить нагрузку на контроллер (OFC), а также может выполнить передачу незарегистрированного пакет, ввод потока которого не зарегистрирован на таблице потоков.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 изображает блок-схему, иллюстрирующую пример конфигурации системы снижения нагрузки, в соответствии с настоящим изобретением;
Фиг. 2 представляет собой первую диаграмму, иллюстрирующую систему снижения нагрузки, в соответствии с настоящим изобретением;
Фиг. 3 представляет собой вторую диаграмму, иллюстрирующую систему снижения нагрузки, в соответствии с настоящим изобретением;
Фиг. 4 представляет собой третью диаграмму, иллюстрирующую систему снижения нагрузки, в соответствии с настоящим изобретением;
Фиг. 5 представляет собой четвертую диаграмму, иллюстрирующую систему снижения нагрузки, в соответствии с настоящим изобретением;
Фиг. 6 представляет собой пятую диаграмму, описывающую систему снижения нагрузки, в соответствии с настоящим изобретением; и
Фиг. 7 представляет собой блок-схему последовательности операций, иллюстрирующую работу системы снижения нагрузки, в соответствии с настоящим изобретением.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Настоящее изобретение нацелено на сеть с разделением уровней CD. В данном случае, в качестве примера, сеть OpenFlow описывается в качестве одной из сетей с разделением уровней CD. Однако, фактически, настоящее изобретение не ограничивается сетью OpenFlow.
БАЗОВАЯ КОНФИГУРАЦИЯ
Далее, со ссылкой на приложенные чертежи, будет описан пример конфигурации настоящего изобретения.
Как изображено на Фиг. 1, система снижения нагрузки, в соответствии с настоящим изобретением, включает в себя коммутатор 20 и контроллер 30.
На чертежах коммутатор обозначается посредством «OFS», а контроллер обозначается посредством «OFC».
Коммутатор 20 является коммутационным узлом в сети OpenFlow. Коммутатор 20 передает принятый пакет, в соответствии с описателем потока, зарегистрированным в его собственной таблице потоков.
Контроллер 30 является серверным устройством, которое реализовывает управление построением маршрутов коммутатора 20 в сети OpenFlow. Контроллер 30 соединяется с коммутатором 20 через безопасный канал. Контроллер 30 регистрирует ввод потока в таблице потоков коммутатора 20.
После приема пакета коммутатор 20 запрашивает контроллер 30 на предмет получения ввода потока, соответствующего принятому пакету, в случае, если ввод потока, соответствующий принятому пакету, не зарегистрирован в таблице потоков, размещает (временно сохраняет, резервирует или собирает) принятый пакет в стеке и использует размещенный в стеке пакет для управления передачей пакета, который имеет данные заголовка, аналогичные данным заголовка размещенного в стеке пакета, до регистрации ввода потока, соответствующего принятому пакету. В данном случае, поскольку коммутатор 20 не может определить получателя передачи следующего этапа до регистрации ввода потока, коммутатор 20 передает пакет на все соединенные соседние коммутаторы, независимо от адресных данных пакета. То есть пакет передается в качестве псевдошироковещательного пакета. Однако адресные данные самого пакета не требуют изменения.
ПЕРВЫЙ ИЛЛЮСТРАТИВНЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Далее, со ссылкой на приложенные чертежи, будет описан первый иллюстративный вариант осуществления настоящего изобретения.
КОНФИГУРАЦИЯ СИСТЕМЫ
Далее, со ссылкой на Фиг. 2-6, будет описан пример конфигурации системы снижения нагрузки, в соответствии с настоящим изобретением.
Система снижения нагрузки, в соответствии с настоящим изобретением, включает в себя терминалы 10 (10-i, i=1-n: n является произвольным числом), коммутаторы 20 (20-j, j=1-m: m является произвольным числом) и контроллер 30.
На Фиг. 2 коммутатор обозначается посредством «OFS», а контроллер обозначается посредством «OFC».
Каждый из терминалов 10 (10-i, i=1-n) является терминалом, который может быть соединен с коммутаторами 20 (20-j, j=1-m). Следует отметить, что каждый из терминалов 10 (10-i, i=1-n) может являться коммутатором (коммутационным узлом) (который не соответствует OpenFlow) вне сети OpenFlow.
Каждый из коммутаторов 20 (20-j, j=1-m) является коммутационным узлом в сети OpenFlow. Каждый из коммутаторов 20 (20-j, j=1-m) передает принятый пакет, в соответствии с описателем потока, зарегистрированным в его собственной таблице потоков. Следует отметить, что после приема ввода потока незарегистрированного пакета каждый из коммутаторов 20 (20-j, j=1-m) передает на контроллер 30 копию принятого пакета (зеркальный пакет) в качестве (инкапсулированного) сообщения запроса.
Контроллер 30 является серверным блоком, который реализовывает управление построением маршрутов для каждого из коммутаторов 20 (20-j, j=1-m) в сети OpenFlow. Контроллер 30 соединяется через безопасный канал с каждым из коммутаторов 20 (20-j, j=1-m). В случае обнаружения каждого из коммутаторов 20 (20-j, j=1-m), контроллер 30 вычисляет маршрут передачи пакета на основе топологических данных, которые указывают состояние соединения с сетью, и регистрирует ввод потока в таблице потоков каждого из коммутаторов (OFS), расположенных на маршруте. Следует отметить, что контроллер 30 может содержать таблицу потоков, которая служит в качестве основной таблицы, которую имеет каждый из коммутаторов 20 (20-j, j=1-m). Например, после приема сообщения запроса (входного пакета) ввода потока контроллер 30 изначально регистрирует запись в основной таблице (таблице потоков), поддерживаемой самим контроллером 30, и передает на коммутатор (OFS) управляющее сообщение в качестве источника запроса для регистрации той же записи в таблице потоков (или в таблице, соответствующей таблице потоков), поддерживаемой коммутатором (OFS).
В данном случае терминал 10-1 является терминалом-источником передачи (терминал A), который передает пакет. Терминал 10-2 является терминалом-получателем (терминал B), который принимает пакет. Коммутатор 20-1 является пограничным коммутатором входной стороны (OFS1). Коммутатор 20-2 является пограничным коммутатором выходной стороны (OFS2). Коммутатор 20-3 является центральным коммутатором (OFS3). Контроллер 30 является контроллером (OFC), предназначенным для реализации управления построением маршрутов между коммутаторами (OFS). Предполагается, что контроллер 30 содержит таблицу потоков каждого из коммутатора 20-1, коммутатора 20-2 и коммутатора 20-3.
Однако, фактически, настоящее изобретение не ограничивается приведенными примерами.
ИЛЛЮСТРАТИВНЫЙ ПРИМЕР АППАРАТНЫХ СРЕДСТВ
В качестве примера терминала 10 (10-i, i=1-n) приводится персональный компьютер (PC), портативный компьютер, тонкий терминальный клиент, рабочая станция, мобильный телефон, смартфон, смартбук, автомобильная навигационная система, переносная игровая машина, домашняя игровая машина, портативный музыкальный проигрыватель, наладонный терминал, устройство (электронное устройство), интерактивное телевидение, цифровой тюнер, цифровое записывающее устройство, информационная бытовая техника, устройства OA (офисной автоматизации) и т.п. Терминал 10 (10-i, i=1-n) может быть установлен в мобильный объект, такой как транспортное средство, судно и самолет.
В качестве примера коммутатора 20 (20-j, j=1-m) приводится сетевой коммутатор, маршрутизатор, прокси-сервер, шлюз, система защиты доступа, распределитель нагрузки (устройство распределения нагрузки), устройство управления полосой (формирователь пакетов), устройство управления и контроля безопасности (SCADA: система диспетчерского управления и сбора данных), посредник, базовая станция, точка доступа, спутник связи (CS) или вычислительная машина, имеющая множество коммуникационных портов и т.п. Кроме того, коммутатор 20 (20-j, j=1-m) может являться виртуальным коммутатором, созданным на физической машине.
В качестве примера контроллера 30 приводится персональный компьютер (PC), электрическое устройство, рабочая станция, универсальная вычислительная машина и вычислительная машина, такая как суперкомпьютер. Следует отметить, что контроллер 30 может являться платой расширения, установленной в вычислительной машине, или виртуальной машиной (VM), созданной на физической машине.
Хотя не показано на чертеже, каждый из терминалов 10 (10-i, i=1-n), коммутаторов 20 (20-j, j=1-m) и контроллера 30 сконфигурирован из процессора, который находится под управлением соответствующей программы и выполняет предварительно определенный процесс; памяти, предназначенной для сохранения программы и различных данных; и интерфейса, который используется для взаимодействия с сетью.
В качестве примера вышеупомянутого процессора приводится центральный процессор (CPU), сетевой процессор (NP), микропроцессор, микроконтроллер или полупроводниковая интегральная схема (1С), имеющая специализированную функцию, и т.п.
В качестве примера вышеупомянутой памяти приводится память RAM (оперативная память), память ROM (постоянная память), память EEPROM (электрически стираемая программируемая постоянная память), полупроводниковое устройство хранения данных, такое как флэш-память, вспомогательное устройство хранения данных, такое как жесткий диск (HDD) и диск SSD (твердотельный диск), или сменный диск, такой как диск DVD (универсальный цифровой диск), или среда хранения, такая как карта памяти SD (карта памяти формата Secure Digital). Также может использоваться регистр. Может использоваться устройство хранения данных, которое использует систему DAS (систему хранения с прямым подключением), сеть FC-SAN (сеть хранения данных на базе технологии Fiber Channel), система NAS (сетевая система хранения данных), сеть IP-SAN (сеть хранения данных на базе протокола IP).
Следует отметить, что упомянутый процессор и упомянутая память могут быть интегрированы в один блок. Например, на протяжении последних лет развивается однокристальная структура микрокомпьютеров. Поэтому может быть рассмотрен пример, в котором однокристальный микрокомпьютер, установленный в электронном устройстве, содержит процессор и память.
В качестве примера упомянутого интерфейса приводится подложка (материнская плата или плата ввода/вывода), которая соответствует сетевым средствам связи, полупроводниковая интегральная схема, такая как кристалл, сетевой адаптер, такой как карта NIC (сетевая интерфейсная карта), подобная карта расширения, устройство связи, такое как антенна, и коммуникационный порт, такой как порт связи (соединительный разъем).
Кроме того, в качестве примера сети приводится сеть Интернет, сеть LAN (локальная вычислительная сеть), беспроводная сеть LAN, сеть WAN (глобальная вычислительная сеть), опорная сеть, линия кабельного телевидения (CATV), фиксированная телефонная сеть, мобильная телефонная сеть, сеть WiMAX (IEEE 802.16a), сеть 3G (третьего поколения), арендованная линия, стандарт IrDA (ассоциация передачи данных в инфракрасном диапазоне), стандарт Bluetooth (зарегистрированный знак), линия последовательной связи, шина передачи данных и т.п.
Следует отметить, что компоненты каждого из коммутаторов 20 (20-j, j=1-m) и контроллера 30 могут являться модулем, компонентом, специализированным устройством или программой для их запуска (обращения к ним).
Однако, фактически, настоящее изобретение не ограничивается перечисленными примерами.
ПРИМЕР
Далее будет описан пример системы снижения нагрузки, в соответствии с настоящим изобретением.
Сначала, как изображено на Фиг. 2, коммутатор 20-1 (OFS1) принимает первый пакет (пакет A) от терминала 10-1 (терминала A). Коммутатор 20-1 (OFS1) осуществляет поиск таблицы потоков. Затем, в случае отсутствия соответствующего ввода (записи) потока (в случае «неудачного поиска»), для выполнения регистрации первого пакета (пакета A) в таблице потоков, коммутатор 20-1 (OFS1) передает на контроллер 30 (OFC) сообщение запроса (входной пакет) ввода потока посредством передачи копии (зеркального пакета) первого пакета (пакета A) и размещает (временно сохраняет, резервирует и собирает) первый пакет (пакет A) в стеке в коммутаторе 20-1 (OFS1). После приема от коммутатора 20-1 (OFS1) (инкапсулированного) сообщения запроса ввода потока, контроллер 30 (OFC) регистрирует описатель первого пакета (пакета A) в таблице потоков для коммутатора 20-1 (OFS1).
Затем, как изображено на Фиг. 3, после приема второго пакета (пакета B), поскольку регистрация записи первого пакета (пакета A) занимает некоторое время (в состоянии ожидания регистрации записи), коммутатор 20-1 (OFS1) сравнивает второй пакет (пакет B) с размещенным в стеке первым пакетом (пакетом A). Например, соответствующие данные заголовка второго пакета (пакета B) и первого пакета (пакета A) сравниваются частично или полностью для проверки того, принадлежат ли оба пакета одному потоку.
Как изображено на Фиг. 4, если первый пакет (пакет A) и второй пакет (пакет B) являются пакетами, принадлежащими одному потоку, то коммутатор 20-1 (OFS1) осуществляет широковещательную передачу первого пакета (пакета A) на все порты, каждый из которых имеет идентификатор виртуальной сети LAN (VLAN ID), аналогичный идентификатору порта приема второго пакета (пакета B), и передает первый пакет (пакет A) на коммутатор 20-2 (OFS2) и коммутатор 20-3 (OFS3). Кроме того, коммутатор 20-1 (OFS1) снова размещает второй пакет (пакет B) в стеке до тех пор, пока не будет принят пакет, принадлежащий этому потоку. Более того, коммутатор 20-1 (ОFS1) генерирует таблицу широковещательной передачи для коммутатора 20-1 (OFS1). На данном этапе, когда коммутатор 20-1 (OFS1) принимает первый пакет (пакет A), коммутатор 20-1 (ОFS1) сохраняет в таблице широковещательной передачи данные потока первого пакета (пакета A), идентификатор виртуальной сети LAN (VLAN ID) и данные порта (данные «порта приема»). Таблица широковещательной передачи является таблицей, которая сохраняет данные для осуществления широковещательной передачи пакетов. Таблица широковещательной передачи может являться одним типом таблицы потоков. Данные потока являются данными, которые задают правило и действие для пакета. Следует отметить, что если заданное действие относится к осуществлению широковещательной передачи, то элемент, который будет задан в дальнейшем, может являться исключительно правилом.
Более того, как изображено на Фиг. 5, коммутатор 20-2 (OFS2) принимает первый пакет (пакет A), который был передан при помощи широковещательной передачи от коммутатора 20-1 (OFS1). Если ввод потока для передаваемого при помощи широковещательной передачи первого пакета (пакета A) не зарегистрирован в таблице потоков, то коммутатор 20-2 (OFS2) осуществляет широковещательную передачу передаваемого первого пакета (пакета A) на все порты, которые имеют идентификатор виртуальной сети LAN (VLAN ID), аналогичный идентификатору порта приема первого пакета (пакета A), для передачи первого пакета (пакета A) на коммутатор 20-3 (OFS3) и терминал 10-2 (терминал B). Более того, коммутатор 20-2 (OFS2) генерирует таблицу широковещательной передачи для коммутатора 20-2 (OFS2). На данном этапе коммутатор 20-2 (OFS2) сохраняет данные потока первого пакета (пакета A), идентификатор виртуальной сети LAN (VLAN ID) и данные порта ввода данных потока в таблице широковещательной передачи.
Как изображено на Фиг. 6, подобно вышеупомянутому коммутатору 20-2 (OFS2), коммутатор 20-3 (OFS3) осуществляет широковещательную передачу на все порты, которые имеют идентификатор виртуальной сети LAN (VLAN ID), аналогичный идентификатору порта приема первого пакета (пакета A). В данном случае коммутатор 20-3 (ОFS3) передает первый пакет (пакет A) на коммутатор 20-2 (OFS2). На данном этапе, поскольку запись уже сгенерирована в таблице широковещательной передачи для коммутатора 20-2 (OFS2) (см. Фиг. 5) для получения идентификатора виртуальной сети LAN (VLAN ID) и данных потока первого пакета (пакета A), хотя данные порта приема являются различными, коммутатор 20-2 (OFS2) распознает, что первый пакет (пакет A) был принят повторно (определяет повторный прием первого пакета (пакета A), и отбрасывает повторно принятый первый пакет (пакет A). Следовательно, предотвращается возникновение многократного повтора широковещательной передачи пакета.
Следует отметить, что фактически коммутатор 20-2 (ОFS2) и коммутатор 20-3 (OFS3) могут выполнять процесс, подобный процессу коммутатора 20-1 (OFS1). То есть коммутатор 20-2 (OFS2) и коммутатор 20-3 (0FS3) могут быть спроектированы подобно коммутатору 20-1 (OFS1), изображенному на Фиг. 2, чтобы после приема первого пакета (пакета A) коммутатор 20-1 (OFS1) выполнял поиск таблицы потоков и передавал на контроллер 30 (OFC) сообщение запроса (входной пакет) ввода потока для нахождения первого пакета (пакета A) в таблице потоков в случае отсутствия соответствующего ввода потока (в случае «неудачного поиска»).
ПРИНЦИП РАБОТЫ СИСТЕМЫ СНИЖЕНИЯ НАГРУЗКИ
Далее, со ссылкой на Фиг. 7, будет описан принцип работы системы снижения нагрузки, в соответствии с настоящим изобретением.
(1) ЭТАП S101
Коммутатор 20-1 (OFS1) принимает пакет.
(2) ЭТАП S102
Коммутатор 20-1 (OFS1) проверяет, зарегистрирован ли в таблице потоков ввод потока, соответствующий принятому пакету.
(3) ЭТАП S103
Если соответствующий ввод потока уже зарегистрирован, то коммутатор 20-1 (OFS1) выполняет процесс обработки OpenFlow применительно к принятому пакету, в соответствии с информационным содержанием ввода потока.
(4) ЭТАП S104
Если соответствующий ввод потока до сих пор не был зарегистрирован, то коммутатор 20-1 (OFS1) проверяет, был ли размещен в стеке пакет потока, аналогичного потоку принятого пакета. То есть коммутатор 20-1 (OFS1) проверяет, находится ли пакет потока, аналогичного потоку принятого пакета, в состоянии ожидания регистрации записи.
(5) ЭТАП S105
Если пакет потока, аналогичного потоку принятого пакета, размещен в стеке, то коммутатор 20-1 (OFS1) осуществляет широковещательную передачу размещенного в стеке пакета на порты, имеющие идентификатор виртуальной сети LAN (VLAN ID), аналогичный идентификатору принятого пакета. Кроме того, коммутатор 20-1 (OFS1) размещает вновь принятый пакет в стеке вместо ранее размещенного пакета.
(6) ЭТАП S106
Если пакет потока, аналогичного потоку принятого пакета, не был размещен в стеке, то коммутатор 20-1 (OFS1) проверяет, является ли принятый пакет пакетом, переданным при помощи широковещательной передачи. Например, в случае, когда в стеке размещается пакет потока, отличающегося от потока принятого пакета, или в случае, когда пакет не размещается в стеке вовсе, коммутатор 20-1 (OFS1) проверяет, является ли принятый пакет пакетом, переданным при помощи широковещательной передачи.
(7) ЭТАП S107
Если принятый пакет не является пакетом, переданным при помощи широковещательной передачи, то коммутатор 20-1 (OFS1) передает на контроллер 30 копию (зеркальный пакет) принятого пакета в качестве сообщения запроса (входного пакета) ввода потока. Кроме того, коммутатор 20-1 (OFS1) размещает принятый пакет в стеке.
(8) ЭТАП S108
Если принятый пакет является пакетом, переданным при помощи широковещательной передачи, то коммутатор 20-1 (OFS1) проверяет, был ли зарегистрирован в таблице широковещательной передачи пакет потока, аналогичного потоку принятого пакета.
(9) ЭТАП S109
Если пакет потока, аналогичного потоку принятого пакета, не был зарегистрирован в таблице широковещательной передачи, то коммутатор 20-1 (OFS1) осуществляет широковещательную передачу принятого пакета, чтобы пакет, переданный при помощи широковещательной передачи, был зарегистрирован в таблице широковещательной передачи.
(10) ЭТАП S110
Если пакет потока, аналогичного потоку принятого пакета, был зарегистрирован в таблице широковещательной передачи, то коммутатор 20-1 (OFS1) проверяет, отличается ли порт приема пакета, зарегистрированного в таблице широковещательной передачи, от порта приема принятого пакета.
(11) ЭТАП S111
Коммутатор 20-1 (OFS1) отбрасывает принятый пакет, если порт приема пакета, зарегистрированного в таблице широковещательной передачи, отличается от порта приема принятого пакета.
(12) ЭТАП S112
Коммутатор 20-1 (ОFS1) осуществляет широковещательную передачу принятого пакета, если порт приема пакета, зарегистрированного в таблице широковещательной передачи, является идентичным порту приема принятого пакета.
Как было упомянуто выше, в сети OpenFlow, когда коммутатор (OFS) непрерывно принимает пакеты одного потока, записи которого не зарегистрированы в таблице потоков, и когда эффективность функционирования контроллера (OFC) является низкой, это приводит к повторению передачи сообщения запроса (входного пакета) ввода потока от коммутатора (OFS) к контроллеру (OFC).
В настоящем изобретении, когда коммутатор (OFS) непрерывно принимает пакеты одного потока, передача сообщения запроса (входного пакета) ввода потока выполняется исключительно применительно к первому пакету. Вследствие чего, нагрузка на контроллер (OFC) может быть снижена.
Кроме того, коммутатор (OFS) осуществляет широковещательную передачу даже того пакета, ввод потока которого не зарегистрирован в таблице потоков. Следовательно, он может быть передан до выполнения регистрации ввода потока.
ВТОРОЙ ИЛЛЮСТРАТИВНЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Далее будет описан второй иллюстративный вариант осуществления настоящего изобретения.
В первом иллюстративном варианте осуществления настоящего изобретения, когда коммутатор (OFS) передает на контроллер (OFC) сообщение запроса (входной пакет) ввода потока, коммутатор (OFS) копирует принятый пакет, генерирует зеркальный пакет и передает этот зеркальный пакет на контроллер (OFC).
Во втором иллюстративном варианте осуществления настоящего изобретения, когда коммутатор (OFS) передает на контроллер (OFC) сообщение запроса (входной пакет) ввода потока, коммутатору (OFS) может сам передать принятый пакет в его исходном состоянии на контроллер (OFC). При этом контроллер (OFC) выполняет процесс передачи (возврата) того же пакета, что и пакет, использованный для передачи с коммутатора (OFS) сообщения запроса (входного пакета) ввода потока. Таким образом реализуется подобный процесс.
То есть в данном иллюстративном варианте осуществления коммутатор (OFS) передает не копию (зеркальный пакет) принятого пакета, а сам принятый пакет в качестве сообщения запроса (входного пакета) ввода потока.
ТРЕТИЙ ИЛЛЮСТРАТИВНЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Далее будет описан третий иллюстративный вариант осуществления настоящего изобретения.
В первом иллюстративном варианте осуществления настоящего изобретения, в состоянии ожидания регистрации записи посредством контроллера (OFC), коммутатор (OFS) осуществляет широковещательную передачу принятого пакета, генерирует таблицу (таблицу широковещательной передачи) для пакета, передаваемого при помощи широковещательной передачи, и регистрирует принятый пакет в таблице для определения того, был этот пакет принят ранее, и тем самым предотвращает зациклирование широковещательно передаваемого пакета.
В третьем иллюстративном варианте осуществления настоящего изобретения зацикливание широковещательно передаваемого пакета может быть предотвращено даже на порту, на котором действует функция OpenFlow (OpenFlow разрешено), посредством способа применения протокола основного дерева (STP) к широковещательно передаваемому пакету.
То есть в данном иллюстративном варианте осуществления предотвращается зацикливание широковещательно передаваемого пакета без генерирования какой-либо таблицы широковещательной передачи.
ВЗАИМОСВЯЗЬ МЕЖДУ ИЛЛЮСТРАТИВНЫМИ ВАРИАНТАМИ ОСУЩЕСТВЛЕНИЯ
Следует отметить, что вышеупомянутые иллюстративные варианты осуществления могут быть реализованы посредством объединения.
ОТЛИЧИТЕЛЬНЫЙ ПРИЗНАК НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ
В настоящем изобретении контроллер характеризуется функцией прокси-сервера, в которой, когда для выполнения настройки потока требуется большое количество времени, контроллер осуществляет широковещательную передачу потока, принятого от коммутатора, и, в случае повторного приема пакета одного потока, контроллер отбрасывает повторно передаваемый поток.
Более того, коммутатор характеризуется тем, что при первом приеме потока, запись которого не зарегистрирована в таблице потоков, коммутатор передает поток на контроллер, и, в случае повторного приема пакета того же самого потока, коммутатор повторно не передает поток на контроллер и широковещательно передает на него идентификатор виртуальной сети LAN (VLAN ID).
В результате, настоящее изобретение нацелено на стабилизацию системы сети OpenFlow посредством уменьшения количества сообщений запроса (входного пакета) ввода потока к контроллеру и снижения нагрузки на контроллер в отношении потока, настройка которого не была завершена.
В настоящем изобретении контроллер имеет функцию прокси-сервера, а также имеет функцию широковещательной передачи, в процессе реализации которой МАС-адрес источника и МАС-адрес получателя потока, в котором сообщение для регистрации ввода потока «выходной пакет» не подготовлено, хотя зеркальный пакет сообщения запроса (входной пакет) ввода потока уже принят, сравниваются с МАС-адресом источника и МАС-адресом получателя вновь принятого потока, и зеркальный пакет сообщения запроса (входной пакет) ввода потока может отбрасываться.
Кроме того, коммутатор также имеет функцию передачи на контроллер пакета в качестве сообщения запроса (входного пакета) ввода потока, когда соответствующая запись не зарегистрирована в таблице потоков. В случае приема пакета потока, аналогичного потоку запрошенного пакета, до приема сообщения для регистрации ввода потока «выходной пакет» от контроллера, после передачи сообщения запроса «входной пакет» ввода потока на контроллер, коммутатор может осуществить широковещательную передачу на порт, имеющий идентификатор VLAN, аналогичный идентификатору порта приема для запрошенного пакета. Кроме того, коммутатор также имеет функцию, которая в случае приема пакета, передаваемого при помощи широковещательной передачи, может сохранить передаваемый пакет в таблице потоков в сочетании порта приема и потока.
ДОПОЛНИТЕЛЬНОЕ ПРИМЕЧАНИЕ
Часть или все из упомянутых иллюстративных вариантов осуществления могут быть описаны так, как изложено в последующих дополнительных примечаниях. Однако, фактически, настоящее изобретение не ограничивается примерами нижеприведенного описания.
ДОПОЛНИТЕЛЬНОЕ ПРИМЕЧАНИЕ 1
Система снижения нагрузки включает в себя:
коммутатор; и
контроллер, сконфигурированный с возможностью регистрации ввода потока, который задает правило и действие для единообразного управления пакетами в качестве потока в таблице потоков коммутатора,
причем, после приема определенного одного из пакетов, коммутатор запрашивает у контроллера ввод потока, соответствующий принятому определенному пакету, если ввод потока, соответствующий принятому определенному пакету, не зарегистрирован в таблице потоков, после чего коммутатор размещает принятый определенный пакет в стеке и использует размещенный в стеке пакет для управления передачей одного из пакетов, который имеет данные заголовка, аналогичные данным заголовка размещенного в стеке пакета, до регистрации ввода потока, соответствующего принятому определенному пакету.
ДОПОЛНИТЕЛЬНОЕ ПРИМЕЧАНИЕ 2
Система снижения нагрузки, в соответствии с дополнительным примечанием 1, в которой в случае приема пакета до регистрации ввода потока, соответствующего принятому определенному пакету, коммутатор проверяет, был ли размещен в стеке пакет, имеющий данные заголовка, аналогичные данным заголовка принятого пакета, и если пакет, имеющий данные заголовка, аналогичные данным заголовка принятого пакета, был размещен в стеке, то коммутатор осуществляет широковещательную передачу размещенного в стеке пакета, при этом размещает в стеке вновь принятый пакет.
ДОПОЛНИТЕЛЬНОЕ ПРИМЕЧАНИЕ 3
Система снижения нагрузки, в соответствии с дополнительным примечанием 2, в которой, если пакет, имеющий данные заголовка, аналогичные данным заголовка принятого пакета, не был размещен в стеке, коммутатор проверяет, действительно ли принятый пакет является пакетом, переданным при помощи широковещательной передачи, и если принятый пакет не является пакетом, переданным при помощи широковещательной передачи, то коммутатор запрашивает у контроллера ввод потока, соответствующий принятому пакету, и размещает принятый пакет в стеке, а если принятый пакет является пакетом, переданным при помощи широковещательной передачи, коммутатор проверяет, был ли зарегистрирован в таблице широковещательной передачи пакет, имеющий данные заголовка, аналогичные данным заголовка принятого пакета, и если пакет, имеющий данные заголовка, аналогичные данным заголовка принятого пакета, не был зарегистрирован в таблице широковещательной передачи, то коммутатор регистрирует принятый пакет в таблице широковещательной передачи и осуществляет широковещательную передачу принятого пакета.
ДОПОЛНИТЕЛЬНОЕ ПРИМЕЧАНИЕ 4
Система снижения нагрузки, в соответствии с дополнительным примечанием 3, в которой, если пакет, имеющий данные заголовка, аналогичные данным заголовка принятого пакета, уже зарегистрирован в таблице широковещательной передачи, коммутатор проверяет, отличается ли порт приема принятого пакета от порта приема пакета, зарегистрированного в таблице широковещательной передачи, и если порты приема отличаются друг от друга, то коммутатор отбрасывает принятый пакет, а если порты приема являются идентичными, то коммутатор осуществляет широковещательную передачу принятого пакета.
ДОПОЛНИТЕЛЬНОЕ ПРИМЕЧАНИЕ 5
Система снижения нагрузки, в соответствии с любым из дополнительных примечаний 1-4, в которой коммутатор передает на сторону контроллера зеркальный пакет, полученный посредством копирования принятого пакета, и запрашивает ввод потока, соответствующий принятому пакету.
ДОПОЛНИТЕЛЬНОЕ ПРИМЕЧАНИЕ 6
Система снижения нагрузки, в соответствии с любым из дополнительных примечаний 1-4, в которой коммутатор сам передает принятый пакет на сторону контроллера, запрашивает ввод потока, соответствующий принятому пакету, а затем принимает пакет от контроллера.
ЗАМЕЧАНИЕ
Выше были подробно описаны иллюстративные варианты осуществления настоящего изобретения. Однако, фактически, настоящее изобретение не ограничивается вышеупомянутыми иллюстративными вариантами осуществления. Возможны любые модификации без отклонения от объема настоящего изобретения.
Следует отметить, что настоящая заявка испрашивает приоритет в соответствии с патентной заявкой Японии № JP2011-220784, раскрытие которой включено в настоящий документ посредством ссылки.