RU2595918C2 - Коммутационная система, система управления коммутацией и носитель данных - Google Patents

Коммутационная система, система управления коммутацией и носитель данных Download PDF

Info

Publication number
RU2595918C2
RU2595918C2 RU2013110063/08A RU2013110063A RU2595918C2 RU 2595918 C2 RU2595918 C2 RU 2595918C2 RU 2013110063/08 A RU2013110063/08 A RU 2013110063/08A RU 2013110063 A RU2013110063 A RU 2013110063A RU 2595918 C2 RU2595918 C2 RU 2595918C2
Authority
RU
Russia
Prior art keywords
openflow
tables
section
search
received packet
Prior art date
Application number
RU2013110063/08A
Other languages
English (en)
Other versions
RU2013110063A (ru
Inventor
Йодзи СУДЗУКИ
Масанори ТАКАСИМА
Кадзуси КУБОТА
Тецу ИДЗАВА
Масаси ХАЯСИ
Original Assignee
Нек Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Нек Корпорейшн filed Critical Нек Корпорейшн
Publication of RU2013110063A publication Critical patent/RU2013110063A/ru
Application granted granted Critical
Publication of RU2595918C2 publication Critical patent/RU2595918C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении возможности управления большим объемом потоков в сети. Коммутационная система содержит функциональную секцию OpenFlow, которая конфигурирует OpenFlow-таблицу посредством логического комбинирования множества таблиц, каждая из которых задает обработку для предварительно определенного принимаемого пакета, на основе условия и содержимого обработки, которые задаются в каждой таблице, и которая обращается к OpenFlow-таблице, чтобы определять содержимое обработки для принимаемого пакета; и функциональную секцию операций, которая выполняет обработку для принимаемого пакета на основе определенного содержимого обработки; причем функциональная секция OpenFlow содержит функциональную секцию поиска в L2-/L3-/других таблицах; функциональную секцию поиска в ТСАМ (троичном ассоциативном запоминающем устройстве); и решающую секцию по OpenFlow-обработке, которая задает приоритеты ТСАМ, L2-таблицы, L3-таблицы и другой таблицы, принимает результаты поиска из функциональной секции поиска в L2-/L3-/других таблицах и функциональной секции поиска в ТСАМ, определяет элемент, который должен быть приспособлен, на основе приоритетов, и определяет содержимое обработки для принимаемого пакета. 3 н. и 4 з.п. ф-лы, 15 ил.

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к коммутационной системе и, в частности, к коммутационной системе, в которой каждый коммутатор имеет множество таблиц.
УРОВЕНЬ ТЕХНИКИ
Чтобы управлять трактом связи в сетевой системе, недавно разработан способ управления трактом, приспосабливающий OpenFlow-технологию в качестве протокола управления для оборудования связи. Сеть, тракт которой управляется согласно OpenFlow-технологии, упоминается как OpenFlow-сеть.
В OpenFlow-сети контроллер, такой как OFC (OpenFlow-контроллер), обслуживает каждую OpenFlow-таблицу коммутатора, такого как OFS (OpenFlow-коммутатор), чтобы управлять режимами работы коммутаторов. Контроллер подключается к коммутатору через защищенный канал (Secure Channel), чтобы управлять коммутатором посредством использования управляющего сообщения, соответствующего OpenFlow-протоколу.
Коммутатор в OpenFlow-сети является граничным коммутатором или базовым коммутатором, который составляет OpenFlow-сеть и находится под управлением контроллера. Последовательность типов обработки пакета от приема пакета в граничном коммутаторе на входной стороне в OpenFlow-сети до передачи пакета в граничном коммутаторе на выходной стороне в OpenFlow-сети упоминается как поток.
OpenFlow-таблица является таблицей, в которой регистрируется элемент потока, который задает предварительно определенное содержимое (операцию) обработки, которая должна быть выполнена для пакета (передаваемых данных), соответствующего предварительно определенному условию (правилу) совпадения.
Правило из элемента потока задается согласно различным комбинациям части или всего из адреса назначения, исходного адреса, порта назначения и исходного порта, которые включаются в поле заголовка каждого уровня иерархии протоколов в пакете и могут отличаться. Вышеупомянутые адреса включают в себя MAC-адрес (адрес уровня управления доступом к среде) и IP-адрес (адрес Интернет-протокола). Помимо этого, информация относительно входного порта также может быть использована в качестве правила элемента потока.
Операция элемента потока указывает такое действие, как "вывод в конкретный порт", "отбрасывание" и "перезапись заголовка". Например, когда идентификационная информация порта вывода (например, номер порта вывода) представляется в операции элемента потока, коммутатор выводит пакет в порт, а когда идентификационная информация порта вывода не представляется, коммутатор отбрасывает пакет. Альтернативно, когда информация заголовка представляется в операции элемента потока, коммутатор перезаписывает заголовок пакета на основе информации заголовка.
Коммутатор в OpenFlow-сети выполняет операцию элемента потока для группы пакетов (последовательности пакетов), которая соответствует правилу из элемента потока.
Сведения в отношении OpenFlow-коммутатора описываются в непатентных документах 1 и 2.
OpenFlow-таблица большого размера требуется для того, чтобы управлять большим объемом потоков в сети. В настоящих условиях, TCAM (троичное ассоциативное запоминающее устройство), используемое для OpenFlow-таблицы, не обладает большим размером, и, следовательно, не обеспечивается необходимое и достаточное значение размера. Дополнительно, трудно увеличивать размер непосредственно каждой таблицы (главным образом, TCAM) коммутатора, используемого в OpenFlow-таблице.
В качестве одного из способов решения вышеупомянутой проблемы может быть использовано внешнее TCAM, но это затратно. Кроме того, в оборудовании для высокоскоростной передачи, таком как 10-гигабитное многопортовое оборудование (сетевое оборудование, имеющее множество портов, которые могут соответствовать скорости передачи данных в 10 Гбит/с), внешнее TCAM не может использоваться. Сегодня отсутствуют внешние TCAM, допускающие работу, по меньшей мере, в 10-гигабитном коммутаторе.
СПИСОК БИБЛИОГРАФИЧЕСКИХ ССЫЛОК
Непатентный документ 1. The OpenFlow Switch Consortium" http://www.openflowswitch.org/.
Непатентный документ 2. OpenFlow Switch Specification Version 0.9.0 (Wire Protocol 0x98), 20 июля 2009 года.
Специалист по сопровождению: Brandon Heller (brandonh@stanford.edu)" <http://www.openflowswitch.org/documents/openflow-spec-v0.9.0.pdf>
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Задача настоящего изобретения заключается в том, чтобы реализовывать увеличение числа элементов OpenFlow-таблицы посредством использования таблиц в коммутаторе в качестве существующих ресурсов.
Коммутационная система по настоящему изобретению включает в себя: функциональную секцию OpenFlow, которая конфигурирует OpenFlow-таблицу посредством логического комбинирования множества таблиц, каждая из которых задает обработку для предварительно определенного принимаемого пакета, на основе условия и содержимого обработки, которые задаются в каждой таблице, и которая обращается к OpenFlow-таблице для того, чтобы определять содержимое обработки для принимаемого пакета; и функциональную секцию операций, которая выполняет обработку для принимаемого пакета на основе определенного содержимого обработки.
Способ управления коммутатором по настоящему изобретению, который выполняется в OpenFlow-коммутаторе, при этом способ управления коммутатором включает в себя: конфигурирование OpenFlow-таблицы посредством логического комбинирования множества таблиц, каждая из которых задает обработку для принимаемого пакета, на основе условия и содержимого обработки, заданных в каждой таблице; обращение к OpenFlow-таблице, чтобы определять содержимое обработки для принимаемого пакета; и выполнение обработки принимаемого пакета на основе определенного содержимого обработки.
Программа согласно настоящему изобретению является программой, чтобы инструктировать компьютеру, используемому в качестве коммутатора, выполнять обработку в вышеупомянутом способе управления коммутатором. Следует отметить, что программа согласно настоящему изобретению может быть сохранена в блоке хранения и на носителе данных.
Настоящее изобретение дает возможность контроллеру использовать множество таблиц в коммутаторе в качестве одного большого размера для OpenFlow-таблицы.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 является концептуальной схемой, показывающей пример конфигурации коммутационной системы согласно настоящему изобретению;
Фиг. 2 является концептуальной схемой, показывающей сведения в отношении функциональной секции OpenFlow согласно первому примерному варианту осуществления настоящего изобретения;
Фиг. 3 является концептуальной схемой, показывающей сведения в отношении решающей секции по OpenFlow-операциям согласно первому примерному варианту осуществления настоящего изобретения;
Фиг. 4 является схемой, показывающей структуру управления OpenFlow-таблицами;
Фиг. 5 является схемой, показывающей подробности примера первого типа управления OpenFlow-таблицами;
Фиг. 6 является схемой, показывающей подробности примера второго типа управления OpenFlow-таблицами;
Фиг. 7A является схемой, показывающей первый пример работы коммутационной системы в случае прихода пакетов;
Фиг. 7B является схемой, показывающей первый пример работы коммутационной системы в случае прихода пакетов;
Фиг. 8A является схемой, показывающей второй пример работы коммутационной системы в случае прихода пакетов;
Фиг. 8B является схемой, показывающей второй пример работы коммутационной системы в случае прихода пакетов;
Фиг. 9 является схемой, показывающей конкретный пример первого типа управления OpenFlow-таблицами;
Фиг. 10 является схемой, показывающей конкретный пример второго способа управления OpenFlow-таблицами;
Фиг. 11 является концептуальной схемой, показывающей подробности примера 1 коммутационной системы согласно второму примерному варианту осуществления настоящего изобретения;
Фиг. 12 является концептуальной схемой, показывающей подробности примера 2 коммутационной системы согласно второму примерному варианту осуществления настоящего изобретения; и
Фиг. 13 является концептуальной схемой, показывающей подробности примера 3 коммутационной системы согласно второму примерному варианту осуществления настоящего изобретения.
ОПИСАНИЕ ПРИМЕРНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
ПЕРВЫЙ ПРИМЕРНЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Ниже описывается первый примерный вариант осуществления настоящего изобретения со ссылкой на прилагаемые чертежи.
СТРУКТУРА СИСТЕМЫ
Как показано на фиг. 1, коммутационная система согласно настоящему изобретению включает в себя контроллер 101 и коммутатор 102.
Контроллер 101 управляет коммутатором 102 согласно обработке, соответствующей OpenFlow-протоколу.
СТРУКТУРА КОММУТАТОРА
Коммутатор 102 включает в себя секцию 103 протокольного управления, порт 104 ввода, функциональную секцию 105 OpenFlow, унаследованную функциональную секцию 108, функциональную секцию 111 операций и порт 112 вывода.
Секция 103 протокольного управления выполняет протокольное управление между контроллером 101 и коммутатором 102, когда контроллер 101 осуществляет связь для управления коммутатором 102 согласно обработке, соответствующей OpenFlow-протоколу. Секция 103 протокольного управления не обязательно предоставляется в коммутаторе 102 и может предоставляться на ступени, предшествующей коммутатору 102.
Порт 104 ввода является интерфейсом ввода пакетов. Порт 104 ввода имеет допустимый OpenFlow-порт и недопустимый OpenFlow-порт. Допустимый OpenFlow-порт является портом ввода, соответствующим OpenFlow-протоколу, а недопустимый OpenFlow-порт является портом ввода, который не соответствует OpenFlow-протоколу.
Функциональная секция 105 OpenFlow выполняет обработку для пакета, введенного из допустимого OpenFlow-порта.
Функциональная секция 105 OpenFlow включает в себя секцию 106 управления OpenFlow-таблицами и решающую секцию 107 по OpenFlow-операциям.
Секция 106 управления OpenFlow-таблицами сохраняет OpenFlow-таблицу, используемую посредством коммутатора 102. Операция (операция OpenFlow-обработки) для пакета, соответствующего OpenFlow-протоколу, задается в OpenFlow-таблице.
Решающая секция 107 по OpenFlow-операциям определяет операцию OpenFlow-обработки на основе результата поиска секции 106 управления OpenFlow-таблицами.
Унаследованная функциональная секция 108 выполняет обработку для пакета, введенного из недопустимого OpenFlow-порта.
Унаследованная функциональная секция 108 включает в себя секцию 109 управления унаследованными таблицами и решающую секцию 110 по унаследованным операциям.
Секция 109 управления унаследованными таблицами является унаследованной таблицей, используемой посредством коммутатора 102. Секция 109 управления унаследованными таблицами задает операцию (операцию унаследованной обработки) для пакета (обычного пакета и т.п.), который не соответствует OpenFlow-протоколу.
Решающая секция 110 по унаследованным операциям определяет операцию унаследованной обработки на основе результата поиска секции 109 управления унаследованными таблицами. В унаследованной обработке используется обычная функция коммутации.
Функциональная секция 111 операций выполняет операцию, определенную в функциональной секции 105 OpenFlow или в унаследованной функциональной секции 108.
Порт 112 вывода является интерфейсом вывода пакетов.
ОТЛИЧИЯ МЕЖДУ OPENFLOW-ОБРАБОТКОЙ И УНАСЛЕДОВАННОЙ ОБРАБОТКОЙ
В OpenFlow-обработке тракт передачи пакетов управляется через внешний контроллер. Контроллер выбирает оптимальный тракт во всей сети. Напротив, в унаследованной обработке, к примеру, в обычном коммутаторе и маршрутизаторе, тракт управляется посредством автономного распределения. Обычный коммутатор и маршрутизатор определяет состояние сети из информации относительно своего окружения, чтобы выбирать оптимальный тракт.
В OpenFlow-обработке пакет может быть идентифицирован на основе комбинации до 12 типов информации. С другой стороны, в унаследованной обработке, число типов информации, используемой для того, чтобы идентифицировать пакет, является небольшим, к примеру, MAC-адрес назначения в случае L2-сети и IP-адрес назначения в случае L3-сети. По этой причине, трудно выполнять точное управление потоками. Например, в унаследованной обработке, поток с идентичным IP-адресом назначения, но с различным номером исходного TCP-порта определяется в качестве другого потока, и выбирается другой тракт.
ОБЩАЯ РАБОТА КОММУТАЦИОННОЙ СИСТЕМЫ
Ниже описывается общая работа коммутационной системы на фиг. 1.
ВВОД ПАКЕТА
Когда новый пакет проходит в коммутатор 102, коммутатор 102 принимает пакет на порту 104 ввода.
Коммутатор 102 проверяет то, является или нет порт 104 ввода, принимающий пакет, допустимым OpenFlow-портом. Например, коммутатор 102 проверяет то, является или нет порт 104 ввода допустимым OpenFlow-портом, посредством обращения к самому коммутатору 102 или к информации настроек (конфигурации) порта 104 ввода.
ПЕРЕХОД ОТ ВВОДА ПАКЕТОВ К OPENFLOW-ОБРАБОТКЕ
Когда порт ввода является допустимым OpenFlow-портом, коммутатор 102 передает пакет из порта 104 ввода в функциональную секцию 105 OpenFlow.
OPENFLOW-ОБРАБОТКА
Функциональная секция 105 OpenFlow выполняет обработку поиска на передаваемом пакете в секции 106 управления OpenFlow-таблицами, которая сохраняет множество таблиц коммутатора 102.
Затем, функциональная секция 105 OpenFlow определяет операцию по пакету на основе результата поиска и приоритета каждой таблицы в решающей секции 107 по OpenFlow-операциям. Приоритет может упоминаться как уровень приоритета.
ПЕРЕХОД ОТ OPENFLOW-ОБРАБОТКИ К ВЫПОЛНЕНИЮ ОПЕРАЦИИ
Когда определенная операция представляет собой "поступление пакета" (запрос на операцию по пакету в контроллер) (например, когда не существует элементов потока, и операция не может быть определена), функциональная секция 105 OpenFlow выдает запрос (например, на передачу пакета) в контроллер 101 через секцию 103 протокольного управления. Первоначально, операция по всем пакетам, за исключением пакетов, предназначенных для унаследованной обработки, может задаваться как "поступление пакета" без каких-либо условий. Функциональная секция 105 OpenFlow принимает "выдачу пакета" (результат по запросу на операцию из контроллера) в качестве ответа на запрос, определяет содержимое в качестве операции по пакету и регистрирует его в таблице, сохраненной посредством секции 106 управления OpenFlow-таблицами. В дальнейшем в этом документе, функциональная секция 105 OpenFlow определяет операцию для пакетов, которые подчиняются правилу, идентичному правилу для вышеупомянутого пакета в решающей секции 107 по OpenFlow-операциям.
Функциональная секция 105 OpenFlow передает пакет в функциональную секцию 111 операций на основе определенной операции. Иными словами, главный блок, который обрабатывает пакет, переходит от функциональной секции 105 OpenFlow к функциональной секции 111 операций.
ПЕРЕХОД ОТ OPENFLOW-ОБРАБОТКИ К УНАСЛЕДОВАННОЙ ОБРАБОТКЕ
Когда определенная операция представляет собой "обычную" (обработку пакета с использованием унаследованной функциональной секции 108), функциональная секция 105 OpenFlow передает пакет в унаследованную функциональную секцию 108. Иными словами, главный блок, который обрабатывает пакет, переходит от функциональной секции 105 OpenFlow к унаследованной функциональной секции 108.
ПЕРЕХОД ОТ ВВОДА ПАКЕТОВ К УНАСЛЕДОВАННОЙ ОБРАБОТКЕ
Когда порт 104 ввода является недопустимым OpenFlow-портом или, операция для пакета, определенная заранее (предварительно) в функциональной секции 105 OpenFlow, является "обычной", коммутатор 102 передает пакет из порта 104 ввода в унаследованную функциональную секцию 108. Иными словами, главный блок, который обрабатывает пакет, переходит от порта 104 ввода к унаследованной функциональной секции 108.
УНАСЛЕДОВАННАЯ ОБРАБОТКА
Унаследованная функциональная секция 108 выполняет обработку поиска для принимаемого пакета в секции 109 управления унаследованными таблицами, сконфигурированной из множества таблиц коммутатора 102.
ПЕРЕХОД ОТ УНАСЛЕДОВАННОЙ ОБРАБОТКИ К ВЫПОЛНЕНИЮ ОПЕРАЦИИ
Затем, унаследованная функциональная секция 108 определяет операцию по пакету на основе результата поиска и приоритета каждой таблицы в решающей секции 110 по унаследованным операциям. Иными словами, главный блок, который обрабатывает пакет, переходит от унаследованной функциональной секции 108 к функциональной секции 111 операций.
Унаследованная обработка в унаследованной функциональной секции 108 для решающей секции 110 по унаследованным операциям использует обычную функцию коммутации, и, следовательно, ее подробное описание опускается.
ВЫПОЛНЕНИЕ ОПЕРАЦИИ
Функциональная секция 111 операций выполняет операцию, определенную в функциональной секции 105 OpenFlow или унаследованной функциональной секции 108, для пакета.
В качестве примеров операции, определенной в функциональной секции 105 OpenFlow, можно привести перезапись информации заголовка, вывод пакета из указанного порта вывода и отбрасывание пакета. В качестве примеров операции, определенной в унаследованной функциональной секции 108, передачу пакета посредством маршрутизации и т.п. Тем не менее, настоящее изобретение не ограничено этими примерами.
В завершение, когда операция, которая должна быть выполнена, включает в себя "вывод пакета", функциональная секция 111 операций выводит пакет из надлежащего порта 112 вывода согласно содержимому операции.
УПРАВЛЕНИЕ OPENFLOW-ТАБЛИЦЕЙ ПОСРЕДСТВОМ КОНТРОЛЛЕРА
Контроллер 101 может управлять секцией 106 управления OpenFlow-таблицами коммутатора 102 через секцию 103 протокольного управления. Здесь, "управление секцией 106 управления OpenFlow-таблицами" означает регистрацию/изменение/удаление/пакетное удаление и т.п. элементов потоков в OpenFlow-таблице.
Каждая из таблиц коммутатора 102, которые сохраняются в секции 106 управления OpenFlow-таблицами для OpenFlow-таблицы, не обязательно соответствует всем операциям, заданным в OpenFlow-спецификации.
По этой причине, контроллер 101 должен управлять секцией 106 управления OpenFlow-таблицами с учетом функций, которые могут осуществляться посредством соответствующих таблиц, сохраненных посредством секции 106 управления OpenFlow-таблицами для OpenFlow-таблицы (операций, которые могут задаваться).
СВЕДЕНИЯ В ОТНОШЕНИИ ФУНКЦИОНАЛЬНОЙ СЕКЦИИ OPENFLOW
Фиг. 2 является схемой, показывающей сведения в отношении функциональной секции 105 OpenFlow по настоящему изобретению.
Функциональная секция 105 OpenFlow, секция 106 управления OpenFlow-таблицами, решающая секция 107 по OpenFlow-операциям и функциональная секция 111 операций имеют механизмы и функции, идентичные механизмам и функциям на фиг. 1.
Функциональная секция 105 OpenFlow включает в себя секцию 106 управления OpenFlow-таблицами и решающую секцию 107 по OpenFlow-операциям.
Секция 106 управления OpenFlow-таблицами включает в себя группу 113 таблиц и функциональную секцию 114 поиска.
Группа 113 таблиц является группой таблиц, составляющей OpenFlow-таблицу.
Функциональная секция 114 поиска выполняет поиск данных введенного пакета на основе группы 113 таблиц.
Функциональная секция 114 поиска включает в себя функциональную секцию 115 поиска в L2-/L3-/других таблицах (OF) и функциональную секцию 116 поиска в TCAM (OF).
"OF" является сокращением от "OpenFlow".
Функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) обращается к L2-таблице (OF), L3-таблице (OF) и другой таблице (OF) на предмет введенного пакета, чтобы выполнять поиск элемента. Таблица многоадресной маршрутизации показана в качестве примера другой таблицы (OF). Иными словами, функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) выполняет поиск в таблицах на предмет введенного пакета в единицах протоколов.
Функциональная секция 116 поиска в TCAM (OF) обращается к TCAM (OF) на предмет введенного пакета, чтобы выполнять поиск элемента. Иными словами, функциональная секция 116 поиска в TCAM (OF) выполняет поиск в TCAM на предмет введенного пакета.
РАБОТА ФУНКЦИОНАЛЬНОЙ СЕКЦИИ OPENFLOW
Ниже описывается работа функциональной секции 105 OpenFlow, показанной на фиг. 2.
Порт 104 ввода передает пакет, введенный из допустимого OpenFlow-порта, в функциональную секцию 105 OpenFlow.
Функциональная секция 105 OpenFlow выполняет обработку поиска для передаваемого пакета в секции 106 управления OpenFlow-таблицами, сконфигурированной из множества таблиц коммутатора 102.
В это время, функциональная секция 114 поиска секции 106 управления OpenFlow-таблицами выполняет обработку поиска на основе информации элементов, зарегистрированной в группе 113 таблиц, составляющей OpenFlow-таблицу.
В частности, в функциональной секции 114 поиска, функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) сначала выполняет обработку поиска, а затем функциональная секция 116 поиска в TCAM (OF) выполняет обработку поиска.
Функциональная секция 114 поиска передает результат поиска в решающую секцию 107 по OpenFlow-операциям.
Решающая секция 107 по OpenFlow-операциям определяет операцию по пакету на основе результата поиска и приоритета каждой таблицы.
ПРИМЕР АППАРАТНЫХ СРЕДСТВ
Ниже описываются конкретные примеры аппаратных средств для реализации коммутационной системы согласно настоящему изобретению.
В качестве примера контроллера 101, можно привести компьютер, такой как PC (персональный компьютер), рабочая станция, мэйнфрейм и суперкомпьютер. Контроллер 101 может быть платой расширения, установленной на компьютере, или виртуальной машиной (Virtual Machine (VM)), сконструированной на физической машине.
В качестве примера коммутатора 102, можно привести L3-коммутатор (коммутатор уровня 3), L4-коммутатор (коммутатор уровня 4), L7-коммутатор/коммутатор прикладного уровня (коммутатор уровня 7) или сетевой коммутатор (сетевой коммутатор), к примеру, многоуровневый коммутатор. Помимо этого, в качестве примера коммутатора 102, можно привести маршрутизатор (router), прокси-сервер (proxy), шлюз, брандмауэр, секция балансировки нагрузки (устройство распределения нагрузки), полосовой контроллер/контроллер монитора системы безопасности (шлюзовой контроллер), базовую станцию, точку доступа (AP), спутник связи (CS) и компьютер, имеющий множество портов связи.
Секция 103 протокольного управления, функциональная секция 105 OpenFlow, секция 106 управления OpenFlow-таблицами, решающая секция 107 по OpenFlow-операциям, унаследованная функциональная секция 108, секция 109 управления унаследованными таблицами, решающая секция 110 по унаследованным операциям и функциональная секция 111 операций реализуются посредством процессора, который работает на основе программы и выполняет предварительно определенную обработку, и запоминающего устройства, которое сохраняет программы и различные типы данных.
В качестве примера вышеуказанного процессора, можно привести CPU (центральный процессор), сетевой процессор (NP), микропроцессор, микроконтроллер или полупроводниковую интегральную схему (Integrated Circuit (IC)), имеющую выделенную функцию.
В качестве примера вышеупомянутого запоминающего устройства, можно привести RAM (оперативное запоминающее устройство), полупроводниковое устройство хранения данных, такое как ROM (постоянное запоминающее устройство), EEPROM (электрически стираемое программируемое постоянное запоминающее устройство) и флэш-память, вспомогательное устройство хранения данных, такое как HDD (жесткий диск) и SSD (твердотельлный накопитель), съемный диск, такой как DVD (универсальный цифровой диск), и носители данных (носители), такие как карта памяти в формате SD (карта памяти в формате Secure Digital). Могут приспосабливаться буфер и регистр. Альтернативно, могут приспосабливаться устройство хранения данных с использованием DAS (система хранения данных с прямым подключением), FC-SAN (сеть хранения данных по стандарту Fibre Channel), NAS (система хранения данных с подключением по сети), IP-SAN (сеть хранения данных по IP-протоколу) и т.п.
Процессор и запоминающее устройство могут быть интегрированы. Например, в последние годы, микрокомпьютер и т.п. интегрируются в один кристалл. Соответственно, однокристальный микрокомпьютер, установленный в электронном оборудовании, может содержать процессор и запоминающее устройство.
Альтернативно, каждый из секции 103 протокольного управления, функциональной секции 105 OpenFlow, секции 106 управления OpenFlow-таблицами, решающей секции 107 по OpenFlow-операциям, унаследованной функциональной секции 108, секции 109 управления унаследованными таблицами, решающей секции 110 по унаследованным операциям и функциональной секции 111 операций может быть платой расширения, установленной на компьютере, или виртуальной машиной (VM), сконструированной на физической машине.
В качестве примера порта 104 ввода и порта 112 вывода, можно привести полупроводниковую интегральную схему, такую как плата, соответствующая сетевой связи (материнская плата или плата ввода-вывода), сетевой адаптер, такой как NIC (сетевая интерфейсная плата) или аналогичные платы расширения, устройство связи, такое как антенна, и порт связи, такой как порт подключения (разъем).
Кроме того, в качестве примера сети, используемой посредством порта 104 ввода и порта 112 вывода, можно привести Интернет, LAN (локальную вычислительную сеть), беспроводную LAN, WAN (глобальную вычислительную сеть), магистральную сеть (магистральную линию), линию кабельного телевидения (CATV), стационарную телефонную сеть, мобильную телефонную сеть, сеть WiMax (IEEE 802.16a), сеть 3G (третьего поколения), арендованную линию связи, технологию IrDA (стандарт Ассоциации по передаче данных в инфракрасном диапазоне), технологию Bluetooth (зарегистрированная торговая марка), линию последовательной связи и шину данных.
Следует отметить, что каждый из секции 103 протокольного управления, функциональной секции 105 OpenFlow, секции 106 управления OpenFlow-таблицами, решающей секции 107 по OpenFlow-операциям, унаследованной функциональной секции 108, секции 109 управления унаследованными таблицами, решающей секции 110 по унаследованным операциям и функциональной секции 111 операций может быть модулем, компонентом или выделенным устройством либо их запускающей (вызывающей) программой.
Тем не менее, настоящее изобретение не ограничено этими примерами.
СВЕДЕНИЯ В ОТНОШЕНИИ РЕШАЮЩЕЙ СЕКЦИИ ПО OPENFLOW-ОПЕРАЦИЯМ
Фиг. 3 является схемой, показывающей подробности решающей секции 107 по OpenFlow-операциям настоящего изобретения.
Решающая секция 107 по OpenFlow-операциям и функциональная секция 116 поиска в TCAM (OF) имеют механизм и функции, идентичные механизму и функциям на фиг. 2.
Решающая секция 107 по OpenFlow-операциям реализуется в качестве части функциональной секции 116 поиска в TCAM (OF) посредством регулирования преобразования элементов TCAM (OF).
По этой причине, решающая секция 107 по OpenFlow-операциям и функциональная секция 116 поиска в TCAM (OF) фактически составляют один функциональный блок (поиск в TCAM (OF) и решающая секция по OpenFlow-операциям). Функциональный блок имеет межтабличный приоритет 117 и элемент 118 в TCAM (OF).
Межтабличный приоритет 117 указывает ожидаемый приоритет операций. Элемент 118 в TCAM (OF) указывает преобразование элементов в TCAM (OF), соответствующем приоритету.
Элемент 118 в TCAM (OF) включает в себя группу 119 элементов для поиска в TCAM (OF), элемент 120 для обращения к результатам поиска в L2-таблице (OF), элемент 121 для обращения к результатам поиска в L3-таблице (OF), элемент 122 для обращения к результатам поиска в другой таблице (OF) и элемент 123 для отсутствия совпадений.
Группа 119 элементов для поиска в TCAM (OF) является набором элементов для осуществления поиска в TCAM (OF) в функциональной секции 116 поиска в TCAM (OF). Элемент 120 для обращения к результатам поиска в L2-таблице (OF) является элементом для обращения к результатам поиска в L2-таблице (OF). Элемент 121 для обращения к результатам поиска в L3-таблице (OF) является элементом для обращения к результатам поиска в L3-таблице (OF). Элемент 122 для обращения к результатам поиска в другой таблице (OF) является элементом для обращения к результатам поиска в другой таблице (OF). Элемент 123 для отсутствия совпадений является элементом для трактовки пакета, который не совпадает ни с одним элементом, как "несовпадения". Иными словами, они представляют собой элементы, задающие вышеуказанные соответствующие операции.
РАБОТА РЕШАЮЩЕЙ СЕКЦИИ ПО OPENFLOW-ОПЕРАЦИЯМ
Ниже описывается работа решающей секции 107 по OpenFlow-операциям на фиг. 3.
В качестве порядка поиска в OpenFlow-таблице, в завершение функциональная секция 116 поиска в TCAM (OF) выполняет поиск. Следует отметить, что при поиске посредством функциональной секции 116 поиска в TCAM (OF), решающая секция 107 по OpenFlow-операциям может быть реализована посредством регулирования преобразования элементов TCAM (OF) в коммутаторе, который может обращаться к результатам поиска в L2-/L3-/других таблицах.
Например, ожидаемый приоритет операций для каждой таблицы в межтабличном приоритете 117 может трактоваться посредством преобразования для элемента 118 в TCAM (OF).
В случае примера, показанного на фиг. 3, приоритет 117 операций становится следующим: "полностью совместимые (эквивалентно TCAM (OF))", "совместимые с L2 (эквивалентно L2-таблице (OF))", "совместимые с L3 (эквивалентно L3-таблице (OF))", "совместимые с другими (эквивалентно другой таблице)" от наивысшего приоритета.
С использованием в качестве преобразования элементов в TCAM (OF), решающая секция 107 по OpenFlow-операциям может размещать "группу 119 элементов для реализации функции поиска в TCAM (OF)", "элемент 120 для обращения к результатам поиска в L2-таблице (OF)", "элемент 121 для обращения к результатам поиска в L3-таблице (OF)", "элемент 122 для обращения к результатам поиска в другой таблице (OF)" и "элемент 123 для отсутствия совпадений" в этом порядке от наибольшего приоритета поиска TCAM (OF).
ГРУППА ЭЛЕМЕНТОВ ДЛЯ ПОИСКА В TCAM (OF)
Группа 119 элементов для реализации функции поиска в TCAM (OF) является группой элементов для реализации функциональной секции 116 поиска в TCAM (OF) для функции поиска. Когда введенный пакет совпадает с какими-либо элементами группы 119 элементов для реализации функции поиска в TCAM (OF), решающая секция 107 по OpenFlow-операциям выбирает операцию элемента в качестве операции для пакета.
ЭЛЕМЕНТ ДЛЯ ОБРАЩЕНИЯ К РЕЗУЛЬТАТАМ ПОИСКА В L2-ТАБЛИЦЕ (OF)
Элемент 120 для обращения к результатам поиска в L2-таблице (OF) определяется как совпадающий на основе предыдущего результата поиска в L2-таблице (OF), когда элемент, соответствующий введенному пакету, существует в L2-таблице (OF).
Например, когда элемент, соответствующий введенному пакету, существует при поиске L2-таблицы (OF), задается флаг "X=1", и когда флаг "X=1" задан, элемент определяется как совпадающий в элементе 120 для обращения к результатам поиска в L2-таблице (OF) TCAM (OF).
Когда элемент 120 для обращения к результатам поиска в L2-таблице (OF) определяется как совпадающий, решающая секция 107 по OpenFlow-операциям выбирает операцию элемента L2-таблицы (OF) в качестве операции для пакета.
ЭЛЕМЕНТ ДЛЯ ОБРАЩЕНИЯ К РЕЗУЛЬТАТАМ ПОИСКА В L3-ТАБЛИЦЕ (OF)
Для элемента 121 для обращения к результатам поиска определяется, что этот элемент совпадает, на основе предыдущего результата поиска в L3-таблице (OF), когда элемент, соответствующий введенному пакету, существует в L3-таблице (OF).
Например, флаг "Y=1" задается, когда элемент, соответствующий введенному пакету, существует при поиске L3-таблицы (OF), и когда флаг "Y=1" задан, элемент определяется как совпадающий в элементе 121 для обращения к результатам поиска в L3-таблице (OF) для TCAM (OF).
Когда элемент 121 для обращения к результатам поиска в L3-таблице (OF) определяется как совпадающий, решающая секция 107 по OpenFlow-операциям выбирает операцию элемента L3-таблицы (OF) в качестве операции для пакета.
ЭЛЕМЕНТ ДЛЯ ОБРАЩЕНИЯ К РЕЗУЛЬТАТАМ ПОИСКА В ДРУГОЙ ТАБЛИЦЕ (OF)
Элемент 122 для обращения к результатам поиска определяется как совпадающий на основе предыдущего результата поиска в другой таблице (OF), когда элемент, соответствующий введенному пакету, существует в другой таблице (OF).
Например, когда элемент, соответствующий введенному пакету, существует при поиске другой таблицы (OF), задается флаг "Z=1", и когда флаг "Z=1" задан, элемент определяется как совпадающий в элементе 122 для обращения к результатам поиска в другой таблице (OF) TCAM (OF).
Когда элемент 122 для обращения к результатам поиска в другой таблице (OF) определяется как совпадающий, решающая секция 107 по OpenFlow-операциям выбирает операцию элемента другой таблицы (OF) в качестве операции для пакета.
ЭЛЕМЕНТ ДЛЯ ОТСУТСТВИЯ СОВПАДЕНИЙ
Элемент 123 для отсутствия совпадений является элементом, который определяется как совпадающий, когда введенный пакет не совпадает ни с одним элементом TCAM (OF).
Здесь, элемент 123 для отсутствия совпадений является элементом, с которым совпадает пакет, имеющий любой шаблон. Когда введенный пакет не совпадает ни с одним элементом TCAM (OF), а совпадает только с элементом 123 для отсутствия совпадений, решающая секция 107 по OpenFlow-операциям выбирает "поступление пакета" (запрос на операцию по пакету в контроллер) или "обычную" (обработку пакета с использованием унаследованной функциональной секции) в качестве операции для пакета согласно настройке OpenFlow.
Когда пользователь пытается изменять приоритет операций каждой таблицы, может быть изменен порядок элемента в TCAM (OF).
КРАТКИЕ СВЕДЕНИЯ ПО УПРАВЛЕНИЮ OPENFLOW-ТАБЛИЦЕЙ
Фиг. 4 является схематичным видом, показывающим управление OpenFlow-таблицами посредством контроллера согласно настоящему изобретению. Контроллер 101, коммутатор 102, секция 103 протокольного управления и группа 113 таблиц имеют механизм и функции, идентичные механизму и функциям на фиг. 1 и фиг. 2.
Коммутатор 102 включает в себя TCAM 124, L2-таблицу 125, L3-таблицу 126 и другую таблицу 127.
TCAM 124 включает в себя TCAM (OF) и (унаследованное) TCAM. L2-таблица 125 включает в себя L2-таблицу (OF) и (унаследованную) L2-таблицу. L3-таблица 126 включает в себя L3-таблицу (OF) и (унаследованную) L3-таблицу. Другая таблица 127 включает в себя другую таблицу (OF) и (унаследованную) другую таблицу.
TCAM (OF), L2-таблица (OF), L3-таблица (OF) и другая таблица (OF) составляют OpenFlow-таблицу.
(Унаследованное) TCAM, (унаследованная) L2-таблица, (унаследованная) L3-таблица и (унаследованная) другая таблица составляют унаследованную таблицу.
В общем, TCAM 124, L2-таблица 125, L3-таблица 126 и другая таблица 127 в коммутаторе 102 являются физической одной таблицей.
Коммутатор 102 согласно настоящему изобретению имеет функцию логического разделения одной физической таблицы (TCAM 124, L2-таблицы 125, L3-таблицы 126 и другой таблицы 127) на группу 113 таблиц, составляющую OpenFlow-таблицу, и группу 128 таблиц, составляющую унаследованную таблицу. Иными словами, коммутатор 102 разделяет и логически интегрирует одну физическую таблицу (TCAM 124, L2-таблицу 125, L3-таблицу 126 и другую таблицу 127) на основе условий и содержимого обработки, которые задаются для каждой таблицы, чтобы конструировать OpenFlow-таблицу (группу 113 таблиц) и унаследованную таблицу (группу 128 таблиц).
Группа 113 таблиц, составляющая OpenFlow-таблицу, включает в себя TCAM (OF), L2-таблицу (OF), L3-таблицу (OF) и другие таблицы (OF).
Группа 128 таблиц, составляющая унаследованную таблицу, включает в себя (унаследованное) TCAM, (унаследованную) L2-таблицу, (унаследованную) L3-таблицу и (унаследованную) другую таблицу.
КРАТКИЕ СВЕДЕНИЯ ПО УПРАВЛЕНИЮ OPENFLOW-ТАБЛИЦЕЙ
Ниже описываются краткие сведения по управлению OpenFlow-таблицами посредством контроллера на фиг. 4.
Контроллер 101 может управлять OpenFlow-таблицей коммутатора 102 через секцию 103 протокольного управления.
В общем, каждая из TCAM 124, L2-таблицы 125, L3-таблицы 126 и другой таблицы 127 в коммутаторе являются одной физической таблицей.
Коммутатор согласно настоящему изобретению имеет функцию отсечения и использования части табличного ресурса для OpenFlow и логического конструирования группы 113 таблиц, составляющей OpenFlow-таблицу, и группы 128 таблиц, составляющей унаследованную таблицу. Иными словами, коммутатор 102 конструирует логическую OpenFlow-таблицу (группу 113 таблиц) и унаследованную таблицу (группу 128 таблиц) на основе TCAM 124, L2-таблицы 125, L3-таблицы 126 и другой таблицы 127.
Таблицы, составляющие OpenFlow-таблицу, имеют различные осуществляемые OpenFlow-функции.
По этой причине, контроллер 101 должен выполнять управление OpenFlow-таблицами с учетом "1: Какая OpenFlow-функция может быть выполнена в каждой таблице?" и "2: Какой таблице, составляющей OpenFlow-таблицу, принадлежит элемент, который должен управляться?"
Ссылаясь, например, на "1", "контроллер имеет следующий механизм: функция, которая может осуществляться в каждой таблице, предварительно вводится (ввод), и возвращается ошибка, когда предпринимается другой тип управления", и "коммутатор имеет следующий механизм: ошибка возвращается для команды управления из контроллера, когда целевая таблица не имеет функции, соответствующей управлению".
Ссылаясь, например, на "2", "определенный диапазон приоритетов (0-64k) в OpenFlow-таблице назначается каждой таблице, и таблица, которая должна быть использована, определяется на основе диапазона приоритетов, когда контроллер осуществляет управление", или "идентификатор назначается каждой таблице, составляющей OpenFlow-таблицу, таблица, которая должна быть использована, определяется на основе идентификатора, когда контроллер осуществляет управление".
ПОДРОБНОСТИ УПРАВЛЕНИЯ OPENFLOW-ТАБЛИЦЕЙ (1)
Фиг. 5 является схемой, показывающей подробности примера первого способа управления OpenFlow-таблицами посредством контроллера согласно настоящему изобретению. Здесь описывается случай указания таблицы посредством использования диапазона приоритетов.
Контроллер 101, коммутатор 102, секция 106 управления OpenFlow-таблицами и группа 113 таблиц имеют механизм и функции, идентичные механизму и функциям на фиг. 1 и 2.
Секция 106 управления OpenFlow-таблицами функциональной секции 105 OpenFlow назначает диапазон приоритетов каждой таблице из группы 113 таблиц, составляющей OpenFlow-таблицу.
В случае указания таблицы на основе диапазона приоритетов не должны перекрываться диапазоны приоритетов таблиц. Сумма диапазонов приоритетов не должна превышать диапазон приоритетов, предписываемый в OpenFlow.
Контроллер 101 указывает таблицу на основе значения в диапазоне приоритетов, назначаемого каждой таблице.
Секция 106 управления OpenFlow-таблицами функциональной секции 105 OpenFlow определяет таблицу, которая должна быть использована, на основе значения в диапазоне приоритетов, который указывается посредством контроллера 101.
ПОДРОБНОСТИ УПРАВЛЕНИЯ OPENFLOW-ТАБЛИЦЕЙ (2)
Фиг. 6 является схемой, показывающей подробности примера второго способа управления OpenFlow-таблицами посредством контроллера согласно настоящему изобретению. Здесь описывается случай указания таблицы посредством использования идентификатора таблицы.
Контроллер 101, коммутатор 102, секция 106 управления OpenFlow-таблицами и группа 113 таблиц имеют механизм и функции, идентичные механизму и функциям на фиг. 1 и фиг. 2.
Секция 106 управления OpenFlow-таблицами функциональной секции 105 OpenFlow назначает идентификатор 129 таблицы каждой таблице из группы 113 таблиц, составляющей OpenFlow-таблицу.
В случае указания таблицы на основе идентификатора таблицы не должны перекрываться идентификаторы таблиц. С другой стороны, диапазоны приоритетов, заданные для таблиц, могут перекрываться. Это обусловлено тем, что каждая таблица идентифицируется согласно идентификатору 129 таблицы в качестве отдельной таблицы, и приоритет каждой таблицы определяется посредством решающей секции 107 по OpenFlow-операциям.
Контроллер 101 указывает таблицу согласно идентификатору 129 таблицы, назначаемому каждой таблице.
Секция 106 управления OpenFlow-таблицами функциональной секции 105 OpenFlow определяет таблицу, которая должна быть использована, на основе идентификатора 129 таблицы, указанного посредством контроллера 101.
ПРИМЕР (1) РАБОТЫ ДЛЯ ОБРАБОТКИ ПРИ ПОСТУПЛЕНИИ ПАКЕТА
Фиг. 7A и 7B показывают первый пример работы коммутационной системы при поступлении пакета согласно настоящему изобретению. Для упрощения, показан только функциональный блок, связанный с работой. Этапы S101-S107 показывают общую последовательность операций от поступления пакета.
(1) Этап S101
Контроллер 101 предварительно регистрирует элемент (1) TCAM (OF) {Условие совпадения: IP назначения=AA, Операция: игнорировать} в коммутаторе 102. Коммутатор 102 регистрирует элемент (1) TCAM (OF) в TCAM (OF) из группы 113 таблиц.
"Условие совпадения" задается на основе комбинации необязательной информации заголовка L1-L4. "Операция" задает операцию, к примеру, ретрансляция/отбрасывание/перезапись информации заголовка, для пакета, который удовлетворяет условию совпадения.
(2) Этап S102
Контроллер 101 предварительно регистрирует элемент (1) L3-таблицы (OF) {Условие совпадения: IP назначения=AA, Операция: вывод из порта 1} и элемент (2) L3-таблицы (OF) {Условие совпадения: IP назначения=BB, Операция: вывод из порта 2} в коммутаторе 102. Коммутатор 102 регистрирует элемент (1) L3-таблицы (OF) и элемент (2) L3-таблицы (OF) в L3-таблице (OF) из группы 113 таблиц.
(3) Этап S103
Когда пакет "IP назначения=AA" проходит в допустимый OpenFlow-порт при поступлении пакета, порт 104 ввода передает пакет в функциональную секцию 105 OpenFlow.
(4) Этап S104
Когда пакет "IP назначения=AA" проходит в допустимый OpenFlow-порт, функциональная секция 105 OpenFlow обрабатывает пакет.
(5) Этап S105
Во-первых, в функциональной секции 105 OpenFlow, функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) выполняет поиск поступающего пакета в L2-/L3-/другой таблице (OF). При этом поиске, пакет имеет совпадение для элемента (1) L3-таблицы (OF).
(6) Этап S106
Функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) сообщает результат поиска в решающую секцию 107 по OpenFlow-операциям. На фиг. 7B, решающая секция 107 по OpenFlow-операциям и функциональная секция 116 поиска в TCAM (OF) показаны как один функциональный блок (поиск в TCAM (OF) и решающая секция по OpenFlow-операциям).
(7) Этап S107
Функциональная секция 116 поиска в TCAM (OF) выполняет поиск поступающего пакета в TCAM (OF). При этом поиске пакет сначала совпадает с элементом (1) TCAM (OF). В это время, обработка поиска для TCAM (OF) завершается. Функциональная секция 116 поиска в TCAM (OF) сообщает результат поиска в решающую секцию 107 по OpenFlow-операциям.
(8) Этап S108
Решающая секция 107 по OpenFlow-операциям принимает результат поиска из каждого из функциональной секции 115 поиска в L2-/L3-/других таблицах (OF) и функциональной секции 116 поиска в TCAM (OF) и определяет операцию для поступающего пакета согласно межтабличному приоритету. Здесь, приоритет TCAM (OF) является наибольшим. По этой причине, решающая секция 107 по OpenFlow-операциям определяет операцию (игнорировать) элемента (1) TCAM (OF) в качестве операции для поступающего пакета и сообщает относительно определенной операции (игнорировать) в функциональную секцию 111 операций.
(9) Этап S109
Функциональная секция 111 операций выполняет операцию (игнорировать), определенную посредством решающей секции 107 по OpenFlow-операциям. Здесь, поскольку операция - это "игнорировать", функциональная секция 111 операций не выводит пакет. Функциональная секция 111 операций отбрасывает поступающий пакет и последующие пакеты, принадлежащие идентичному потоку.
ПРИМЕР (2) РАБОТЫ ДЛЯ ОБРАБОТКИ ПРИ ПОСТУПЛЕНИИ ПАКЕТА
Фиг. 8A и 8B показывают второй пример работы коммутационной системы при поступлении пакета согласно настоящему изобретению. Для упрощения, показаны только функциональные блоки, связанные с работой. Этапы S201-S210 показывают общую последовательность операций от поступления пакета.
(1) Этап S201
Контроллер 101 предварительно регистрирует элемент (1) TCAM (OF) {Условие совпадения: IP назначения=AA, Операция: игнорировать} в коммутаторе 102. Коммутатор 102 регистрирует элемент (1) TCAM (OF) в TCAM (OF) из группы 113 таблиц.
(2) Этап S202
Контроллер 101 предварительно регистрирует элемент (1) L3-таблицы (OF) {Условие совпадения: IP назначения=AA, Операция: вывод из порта 1} и элемент (2) L3-таблицы (OF) {Условие совпадения: IP назначения=BB, Операция: вывод из порта 2} в коммутаторе 102. Коммутатор 102 регистрирует элемент (1) L3-таблицы (OF) и элемент (2) L3-таблицы (OF) в L3-таблице (OF) из группы 113 таблиц.
(3) Этап S203
Когда пакет "IP назначения=BB" проходит в допустимый OpenFlow-порт при поступлении пакета, порт 104 ввода передает пакет в функциональную секцию 105 OpenFlow.
(4) Этап S204
Когда пакет "IP назначения=BB" проходит в допустимый OpenFlow-порт, функциональная секция 105 OpenFlow обрабатывает пакет.
(5) Этап S205
Во-первых, в функциональной секции 105 OpenFlow, функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) выполняет поиск пакета в L2-/L3-/другой таблице (OF). При этом поиске пакет совпадает с элементом (2) L3-таблицы (OF).
(6) Этап S206
Функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) сообщает в решающую секцию 107 по OpenFlow-операциям результат поиска. На фиг. 8B, решающая секция 107 по OpenFlow-операциям и функциональная секция 116 поиска в TCAM (OF) показаны как один функциональный блок (поиск в TCAM (OF) и решающая секция по OpenFlow-операциям).
(7) Этап S207
Функциональная секция 116 поиска в TCAM (OF) выполняет поиск поступающего пакета в TCAM (OF). Тем не менее, поскольку поступающий пакет является пакетом "IP назначения=BB", в TCAM (OF) не существует элемента относительно того, что пакет совпадает с каким-либо элементом. В это время, обработка поиска для TCAM (OF) завершается. Функциональная секция 116 поиска в TCAM (OF) сообщает результат поиска в решающую секцию 107 по OpenFlow-операциям. В это время, обработка поиска для TCAM (OF) завершается. Функциональная секция 116 поиска в TCAM (OF) сообщает результат поиска в решающую секцию 107 по OpenFlow-операциям.
(8) Этап S208
Решающая секция 107 по OpenFlow-операциям принимает результат поиска из каждого из функциональной секции 115 поиска в L2-/L3-/других таблицах (OF) и функциональной секции 116 поиска в TCAM (OF) и определяет операцию для поступающего пакета согласно межтабличному приоритету. Здесь, целевой элемент существует только в элементе (2) L3-таблицы (OF). Таким образом, решающая секция 107 по OpenFlow-операциям определяет операцию (вывод из порта 2) элемента (2) L3-таблицы (OF) в качестве операции для поступающего пакета и сообщает относительно определенной операции (вывод из порта 2) в функциональную секцию 111 операций.
(9) Этап S209
Функциональная секция 111 операций выполняет операцию (вывод из порта 2), определенную посредством решающей секции 107 по OpenFlow-операциям.
(10) Этап S210
Функциональная секция 111 операций выводит поступающий пакет и последующие пакеты, принадлежащие идентичному потоку, на порт 112 вывода, имеющий порт 2.
(11) Этап S211
Порт 112 вывода выводит пакеты, выведенные из функциональной секции 111 операций, на порт 2.
(12) Этап S212
Пакеты, выведенные из порта 2, проходят по сети и передаются на "IP назначения=BB".
На фиг. 8A и 8B, когда поступающий пакет совпадает с какими-либо элементами во множестве таблиц, функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) сообщает все совпадающие элементы в решающую секцию 107 по OpenFlow-операциям в качестве результата поиска. Когда поступающий пакет не совпадает ни с одним элементом в TCAM (OF) с наивысшим приоритетом, решающая секция 107 по OpenFlow-операциям приспосабливает совпадение с элементом в таблице с более высоким приоритетом из результатов поиска функциональной секции 115 поиска в L2-/L3-/других таблицах (OF).
На фиг. 8A и 8B, когда поступающий пакет совпадает с элементами во множестве таблиц, функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) может сообщать элемент, который совпадает в таблице с более высоким приоритетом из этих таблиц, в решающую секцию 107 по OpenFlow-операциям в качестве результата поиска согласно межтабличному приоритету 117.
ПРИМЕР (1) УПРАВЛЕНИЯ OPENFLOW-ТАБЛИЦАМИ
Фиг. 9 показывает пример первого способа управления OpenFlow-таблицами посредством контроллера в случае указания таблицы на основе диапазона приоритетов.
Регистрационная информация 132 является информацией из контроллера 101 в секцию 106 управления OpenFlow-таблицами коммутатора 102. Результат 133 регистрации представляет собой результат регистрации группы 113 таблиц, составляющей OpenFlow-таблицу.
Когда группа 113 таблиц, составляющая OpenFlow-таблицу, предполагается как одна таблица, коммутатор 102 управляет таблицей, ожидаемой согласно приоритету.
(1) Этап S301
Контроллер 101 регистрирует элемент {Приоритет: 50001, Условие совпадения: XXXX, Операция: YYYY} в коммутаторе 102.
(2) Этап S302
Когда элемент регистрируется из контроллера 101, коммутатор 102 выбирает L2-таблицу (OF) в качестве таблицы согласно приоритету относительно элемента и регистрирует элемент в L2-таблице (OF).
ПРИМЕР (2) УПРАВЛЕНИЯ OPENFLOW-ТАБЛИЦАМИ
Фиг. 10 показывает пример второго способа управления OpenFlow-таблицами посредством контроллера в случае указания таблицы на основе идентификатора таблицы.
Регистрационная информация 134 является регистрационной информацией из контроллера в OpenFlow-таблицы. Результат 135 регистрации представляет собой результат регистрации в группе таблиц, составляющей OpenFlow-таблицу.
Когда таблицы из группы таблиц, составляющей OpenFlow-таблицу, предполагаются в качестве различных OpenFlow-таблиц, коммутатор 102 управляет таблицей, ожидаемой согласно идентификатору таблицы.
(1) Этап S401
Контроллер 101 регистрирует элемент {Идентификатор таблицы: #2, Приоритет: 1, Условие совпадения: XXXX, Операция: YYYY} в коммутаторе 102.
(2) Этап S402
Когда элемент регистрируется из контроллера 101, коммутатор 102 выбирает L2-таблицу (OF) в качестве таблицы согласно идентификатору таблицы и регистрирует элемент в L2-таблице (OF).
ПРИЗНАКИ ПЕРВОГО ПРИМЕРНОГО ВАРИАНТА ОСУЩЕСТВЛЕНИЯ
В этом примерном варианте осуществления, решающая секция по OpenFlow-операциям может интегрировать ресурсы множества таблиц и сравнивать приоритеты таблиц друг с другом, чтобы разрешать операцию.
Соответственно, OpenFlow-таблица большого размера может конструироваться посредством использования ресурса множества таблиц коммутатора. В силу этого, коммутатор может управлять большим объемом потоков.
В этом примерном варианте осуществления, каждая таблица, составляющая OpenFlow-таблицу, может быть идентифицирована на основе "диапазона приоритетов" в случае использования OpenFlow-таблицы в качестве одной OpenFlow-таблицы большого размера или "идентификатора таблицы" в случае использования каждой таблицы из группы таблиц, составляющей OpenFlow-таблицу, в качестве множества различных OpenFlow-таблиц. Соответственно, OpenFlow-таблица, состоящая из множества таблиц коммутатора, может быть использована в качестве одной OpenFlow-таблицы большого размера или множества различных OpenFlow-таблиц. В силу этого, может гибко управляться OpenFlow-таблица, сконфигурированная из множества таблиц.
ВТОРОЙ ПРИМЕРНЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Второй примерный вариант осуществления настоящего изобретения описывается ниже со ссылкой на прилагаемые чертежи. Второй примерный вариант осуществления представляет собой примерный вариант осуществления решающей секции по OpenFlow-операциям, когда функциональная секция поиска в TCAM (OF) не включает в себя решающую секцию по OpenFlow-операциям.
ПРИМЕР 1
Фиг. 11 является схемой, показывающей сведения в отношении функциональной секции 105 OpenFlow, когда поиск выполняется посредством "функциональной секции 116 поиска в TCAM (OF)" и "функциональной секции 115 поиска в L2-/L3-/других таблицах (OF)" в этом порядке.
Функциональная секция 105 OpenFlow, секция 106 управления OpenFlow-таблицами, решающая секция 107 по OpenFlow-операциям, функциональная секция 111 операций, группа 113 таблиц, функциональная секция 114 поиска, функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) и функциональная секция 116 поиска в TCAM (OF) имеют механизм и функции, идентичные механизму и функциям на фиг. 2.
Ссылаясь на фиг. 11, описывается работа функциональной секции 105 OpenFlow, когда поиск выполняется посредством "функциональной секции 116 поиска в TCAM (OF)" и "функциональной секции 115 поиска в L2-/L3-/других таблицах (OF)" в этом порядке.
Фиг. 11 показывает случай, когда в функциональной секции 114 поиска секции 106 управления OpenFlow-таблицами, функциональная секция 116 поиска в TCAM (OF) в итоге не выполняет поиск.
На фиг. 11, поскольку поиск выполняется посредством "функциональной секции 116 поиска в TCAM (OF)" и "функциональной секции 115 поиска в L2-/L3-/других таблицах (OF)" в этом порядке, функциональная секция 116 поиска в TCAM (OF) не может включать в себя решающую секцию 107 по OpenFlow-операциям.
ПРИМЕР 2
Фиг. 12 является схемой, показывающей сведения в отношении функциональной секции 105 OpenFlow, когда функциональная секция 116 поиска в TCAM (OF) и функциональная секция 116 поиска в L2-/L3-/других таблицах (OF) выполняют поиск одновременно.
Функциональная секция 105 OpenFlow, секция 106 управления OpenFlow-таблицами, решающая секция 107 по OpenFlow-операциям, функциональная секция 111 операций, группа 113 таблиц, функциональная секция 114 поиска, функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) и функциональная секция 116 поиска в TCAM (OF) имеют механизм и функции, идентичные механизму и функциям на фиг. 2.
Ссылаясь на фиг. 12, описывается работа функциональной секции 105 OpenFlow, когда функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) и функциональная секция 116 поиска в TCAM (OF) выполняют поиск одновременно.
Фиг. 12 показывает случай, когда в функциональной секции 114 поиска секции 106 управления OpenFlow-таблицами, функциональная секция 116 поиска в TCAM (OF) в итоге не выполняет поиск.
Поскольку функциональная секция 115 поиска в L2-/L3-/других таблицах (OF) и функциональная секция 116 поиска в TCAM (OF) выполняют поиск одновременно, функциональная секция 116 поиска в TCAM (OF) не может включать в себя решающую секцию 107 по OpenFlow-операциям.
ПРИМЕР 3
Фиг. 13 показывает примерный вариант осуществления решающей секции 107 по OpenFlow-операциям, когда функциональная секция 116 поиска в TCAM (OF) не может включать в себя решающую секцию 107 по OpenFlow-операциям.
Решающая секция 107 по OpenFlow-операциям и функциональная секция 111 операций имеют механизм и функции, идентичные механизму и функциям на фиг. 2.
Решающая секция 107 по OpenFlow-операциям включает в себя секцию 130 приема результатов поиска (приемная секция для результатов поиска) и решающую секцию 131 по процессам (решающая секция по операциям).
Секция 130 приема результатов поиска (приемная секция для результатов поиска) принимает результат поиска для каждой таблицы. Решающая секция 131 по процессам (решающая секция по операциям) определяет OpenFlow-обработку на основе результата поиска для каждой таблицы.
Ссылаясь на фиг. 13, описывается работа решающей секции 107 по OpenFlow-операциям, когда функциональная секция 116 поиска в TCAM (OF) не может включать в себя решающую секцию 107 по OpenFlow-операциям.
Когда функциональная секция 116 поиска в TCAM (OF) не может включать в себя решающую секцию 107 по OpenFlow-операциям, решающая секция 107 по OpenFlow-операциям, как показано на фиг. 13, устанавливается в коммутаторе 102.
В решающей секции 107 по OpenFlow-операциям секция 130 приема результатов поиска (приемная секция для результатов поиска) принимает результат поиска для каждой таблицы. Решающая секция 131 по процессам (решающая секция по операциям) определяет операцию OpenFlow на основе результата поиска для каждой таблицы и предварительно заданного межтабличного приоритета и сообщает относительно определенной операции в функциональную секцию 111 операций.
ДРУГИЕ ПРИМЕРНЫЕ ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ
Хотя коммутатор 102 описывается как OpenFlow-коммутатор в каждом из вышеупомянутых примерных вариантов осуществления, OpenFlow-коммутатор является просто примером. Фактически, коммутатор не ограничивается OpenFlow-коммутатором, и настоящее изобретение также может применяться к любому коммутатору, имеющему механизм и функции, идентичные механизму и функциям OpenFlow-коммутатора.
ПРИЗНАКИ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к способу увеличения размера OpenFlow-таблицы посредством интеграции множества таблиц.
Согласно настоящему изобретению, в OpenFlow-таблице, состоящей из одной таблицы (главным образом, TCAM) коммутатора, увеличение числа элементов потоков в OpenFlow-таблице осуществляется посредством конструирования OpenFlow-таблицы из множества таблиц коммутатора.
В OpenFlow-технологии функция передачи и функция управления установлены в идентичном NW-оборудовании (маршрутизаторе/коммутаторе и т.п.) и отделены друг от друга, функция передачи по-прежнему остается в NW-оборудовании, а функция управления заменяется внешним контроллером. Контроллер удаленно обслуживает OpenFlow-таблицу в NW-оборудовании согласно OpenFlow-протоколу, чтобы управлять режимом работы NW-оборудования. OpenFlow-таблица состоит из группы элементов потоков, включающей в себя три типа информации: {Условие совпадения, операция, статистическая информация}. В OpenFlow-технологии условие совпадения задает поток, который должен управляться, и операция и статистическая информация могут быть обнаружены в единицах потоков.
Краткие сведения по {Условие совпадения, операция, статистическая информация} OpenFlow следующие.
УСЛОВИЕ СОВПАДЕНИЯ
"Входной порт (порт ввода)"/"Src MAC (исходный MAC-адрес)"/"Dst MAC (MAC-адрес назначения)"/"Ethertype (тип/поле)"/"Идентификатор VLAN (идентификационная информация виртуальной LAN)"/"Приоритет VLAN (виртуальный приоритет LAN)"/"Src IP (исходный IP-адрес)"/"Dst IP (IP-адрес назначения)"/"IP-протокол (номер IP-протокола)"/"IP ToS (первые 6 битов)"/"Src Port (номер исходного порта)"/"Dst Port (номер порта назначения)".
ОПЕРАЦИИ
"Перенаправить (вывод из физического порта)"/"Все (вывод из всех портов, кроме порта ввода)"/"Контроллер (вывод в контроллер)"/"Локальный (вывод в локальный стек устройства)"/"Таблица (вывод согласно содержимому в OpenFlow-таблице)"/"In_port (вывод из порта ввода)"/"Обычная (вывод с использованием содержимого в унаследованной таблице)"/"Лавинная маршрутизация (вывод из всех портов, кроме порта ввода, и блокировка порта на основе алгоритма связующего дерева)"/"Игнорировать (отбрасывание пакета)"/"Модифицировать поле (перезапись информации заголовка пакета)".
Например, в случае "Модифицировать поле" могут быть перезаписаны "Идентификатор VLAN", "Приоритет VLAN (приоритет)", "Src MAC", "Dst MAC", "Src IP", "Dst IP", "IP ToS", "Src Port" и "Dst Port".
СТАТИСТИЧЕСКАЯ ИНФОРМАЦИЯ
Различные типы статистической информации в единицах "таблицы", "потока", "физического порта" и "очереди (Queue)".
Согласно настоящему изобретению, увеличение числа элементов потоков в OpenFlow-таблице в качестве устройства может быть реализовано без увеличения размера непосредственно таблицы (главным образом, TCAM) коммутатора посредством образования OpenFlow-таблицы посредством использования множества таблиц коммутатора. Иными словами, множество таблиц в коммутаторе может быть использовано в качестве OpenFlow-таблицы большого размера со стороны контроллера.
В частности, интеграция в OpenFlow-таблицу осуществляется посредством поглощения отличия между функциями (условие совпадения/операция) каждой таблицы. Поскольку множество таблиц коммутатора имеют первоначальное применение (например, L2-ретрансляция в L2-таблице, L3-ретрансляция в L3-таблице), все ресурсы не используются, а отсекается и используется часть ресурсов.
Как описано выше, признаки настоящего изобретения заключаются в том, чтобы "поглощать отличие "условия совпадения/операции" множества таблиц и интегрировать таблицы в OpenFlow-таблицу", и "предоставлять конкретный способ определения операций".
Согласно настоящему изобретению, часть из множества табличных ресурсов коммутатора используется в качестве OpenFlow-таблицы.
Согласно настоящему изобретению, каждая таблица коммутатора трактуется как "функционально ограниченный табличный OpenFlow-ресурс" согласно осуществляемой функции (условие совпадения/операция).
Согласно настоящему изобретению, решающая секция по OpenFlow-операциям поглощает отличие между функциями (условие совпадения/операция) каждого табличного ресурса и интегрирует ресурсы в качестве табличного OpenFlow-ресурса.
Согласно настоящему изобретению, решающая секция по OpenFlow-операциям определяет операцию на основе приоритета (Priority) таблиц, включающих в себя TCAM.
В коммутаторе, в котором в итоге выполняется поиск в TCAM (OF), решающая секция по OpenFlow-операциям включается в функционально секции поиска в TCAM (OF).
Согласно настоящему изобретению, OpenFlow-таблица, сконфигурированная из множества таблиц, гибко управляется посредством контроллера.
Согласно настоящему изобретению, когда множество таблиц используются в качестве одной OpenFlow-таблицы, таблица идентифицируется на основе диапазона приоритетов.
Согласно настоящему изобретению, когда множество таблиц используются в качестве OpenFlow-таблицы, таблицы идентифицируются на основе идентификатора таблицы.
Хотя подробно описаны примерные варианты осуществления настоящего изобретения, настоящее изобретение не ограничено вышеуказанными примерными вариантами осуществления, и модификации, которые не отступают от предмета настоящего изобретения, попадают в пределы объема настоящего изобретения.
Эта заявка притязает на приоритет заявки на патент (Япония) номер JP 2010-200690. Ее раскрытие содержится в данном документе по ссылке.

Claims (7)

1. Коммутационная система, содержащая:
функциональную секцию OpenFlow, которая конфигурирует OpenFlow-таблицу посредством логического комбинирования множества таблиц, каждая из которых задает обработку для предварительно определенного принимаемого пакета, на основе условия и содержимого обработки, которые задаются в каждой таблице, и которая обращается к упомянутой OpenFlow-таблице, чтобы определять содержимое обработки для принимаемого пакета; и
функциональную секцию операций, которая выполняет обработку для упомянутого принимаемого пакета на основе определенного содержимого обработки; причем
упомянутая функциональная секция OpenFlow содержит:
функциональную секцию поиска в L2-/L3-/других таблицах, которая выполняет поиск в таблице L2, таблице L3 и другой таблице из упомянутого множества таблиц на основе принимаемого пакета, чтобы выводить элемент, соответствующий принимаемому пакету, в качестве результата поиска;
функциональную секцию поиска в ТСАМ (троичном ассоциативном запоминающем устройстве), которая выполняет поиск в ТСАМ из упомянутого множества таблиц на основе принимаемого пакета, чтобы выводить элемент, соответствующий принимаемому пакету, в качестве результата поиска; и
решающую секцию по OpenFlow-обработке, которая задает приоритеты ТСАМ, L2-таблицы, L3-таблицы и другой таблицы, принимает результаты поиска из упомянутой функциональной секции поиска в L2-/L3-/других таблицах и упомянутой функциональной секции поиска в ТСАМ, определяет элемент, который должен быть приспособлен, на основе приоритетов, и определяет содержимое обработки для принимаемого пакета.
2. Коммутационная система по п. 1, в которой упомянутая функциональная секция OpenFlow содержит:
средство для выделения предварительно определенного диапазона приоритетов каждой из упомянутого множества таблиц, конфигурирующих упомянутую OpenFlow-таблицу; и
средство для определения таблицы, которая должна быть использована, из упомянутого множества таблиц на основе диапазона приоритетов, указанного из контроллера, когда упомянутая OpenFlow-таблица управляется из упомянутого контроллера.
3. Коммутационная система по п. 1, в которой упомянутая функциональная секция OpenFlow содержит:
средство для задания идентификатора таблицы для каждой из упомянутого множества таблиц, конфигурирующих упомянутую OpenFlow-таблицу; и
средство для определения таблицы, которая должна быть использована, из упомянутого множества таблиц на основе идентификатора таблицы, указанного из контроллера, когда упомянутая OpenFlow-таблица управляется из упомянутого контроллера.
4. Способ управления коммутатором, который выполняется в OpenFlow-коммутаторе, причем упомянутый способ управления коммутатором содержит этапы, на которых:
конфигурируют OpenFlow-таблицу посредством логического комбинирования множества таблиц, каждая из которых задает обработку для принимаемого пакета, на основе условия и содержимого обработки, заданных в каждой таблице;
обращаются к упомянутой OpenFlow-таблице, чтобы определять содержимое обработки для принимаемого пакета; и
выполняют обработку принимаемого пакета на основе определенного содержимого обработки;
выполняют поиск в L2-таблице, L3-таблице и другой таблице из упомянутого множества таблиц на основе принимаемого пакета, чтобы выводить элемент, соответствующий принимаемому пакету, в качестве результата поиска;
выполняют поиск в ТСАМ (троичном ассоциативном запоминающем устройстве) на основе принимаемого пакета из упомянутого множества таблиц, чтобы выводить элемент, соответствующий принимаемому пакету, в качестве результата поиска; и
задают приоритеты ТСАМ, L2-таблицы, L3-таблицы и других таблиц, определяют элемент, который должен быть приспособлен, из результата поиска для каждой таблицы на основе приоритетов и определяют содержимое обработки для принимаемого пакета.
5. Способ управления коммутатором по п. 4, дополнительно содержащий этапы, на которых:
выделяют предварительно определенный диапазон приоритетов каждой из упомянутого множества таблиц, конфигурирующих упомянутую OpenFlow-таблицу; и
определяют таблицу, которая должна быть использована, из упомянутого множества таблиц на основе диапазона приоритетов, указываемого из контроллера, когда упомянутая OpenFlow-таблица управляется из упомянутого контроллера.
6. Способ управления коммутатором по п. 4, дополнительно содержащий этапы, на которых:
задают идентификатор таблицы для каждой из упомянутого множества таблиц, конфигурирующих упомянутую OpenFlow-таблицу; и
определяют таблицу, которая должна быть использована, из упомянутого множества таблиц на основе идентификатора таблицы, указываемого из контроллера, когда упомянутая OpenFlow-таблица управляется из упомянутого контроллера.
7. Носитель информации, на котором сохраняется программа, который инструктирует компьютеру, используемому в качестве коммутатора, выполнять:
конфигурирование OpenFlow-таблицы посредством логического комбинирования множества таблиц, каждая из которых задает обработку для данного пакета, на основе условия и содержимого обработки, заданных в каждой таблице;
обращение к упомянутой OpenFlow-таблице, чтобы определять содержимое обработки для принимаемого пакета; и
выполнение обработки принимаемого пакета на основе определенного содержимого обработки;
выполнение поиска в L2-таблице, L3-таблице и другой таблице из упомянутого множества таблиц на основе принимаемого пакета, чтобы выводить элемент, соответствующий принимаемому пакету, в качестве результата поиска;
выполнение поиска в ТСАМ (троичном ассоциативном запоминающем устройстве) на основе принимаемого пакета из упомянутого множества таблиц, чтобы выводить элемент, соответствующий принимаемому пакету, в качестве результата поиска; и
задание приоритетов ТСАМ, L2-таблицы, L3-таблицы и других таблиц, определение элемента, который должен быть приспособлен, из результата поиска для каждой таблицы на основе приоритетов и определение содержимого обработки для принимаемого пакета.
RU2013110063/08A 2010-09-08 2011-07-21 Коммутационная система, система управления коммутацией и носитель данных RU2595918C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010-200690 2010-09-08
JP2010200690 2010-09-08
PCT/JP2011/066524 WO2012032864A1 (ja) 2010-09-08 2011-07-21 スイッチシステム、スイッチ制御方法、及び記憶媒体

Publications (2)

Publication Number Publication Date
RU2013110063A RU2013110063A (ru) 2014-10-20
RU2595918C2 true RU2595918C2 (ru) 2016-08-27

Family

ID=45810468

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013110063/08A RU2595918C2 (ru) 2010-09-08 2011-07-21 Коммутационная система, система управления коммутацией и носитель данных

Country Status (10)

Country Link
US (2) US9577931B2 (ru)
EP (1) EP2615781B1 (ru)
JP (3) JP5561366B2 (ru)
KR (2) KR101627475B1 (ru)
CN (2) CN103098427B (ru)
CA (1) CA2810486A1 (ru)
ES (1) ES2639638T3 (ru)
RU (1) RU2595918C2 (ru)
TW (1) TWI520527B (ru)
WO (1) WO2012032864A1 (ru)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9144739B2 (en) 2011-10-26 2015-09-29 Lamar Wilkinson Computer-aided online card games using multiple online player preferences
US9117337B2 (en) * 2011-10-26 2015-08-25 Lamar Wilkinson Performing an automatic fold-out command and assigning player entries in an online card game
JP6007972B2 (ja) * 2012-03-19 2016-10-19 日本電気株式会社 通信ノード、パケット処理方法及びプログラム
US9225635B2 (en) 2012-04-10 2015-12-29 International Business Machines Corporation Switch routing table utilizing software defined network (SDN) controller programmed route segregation and prioritization
WO2013180207A1 (ja) * 2012-05-31 2013-12-05 日本電気株式会社 制御装置、通信システム、スイッチ制御方法及びプログラム
US10104004B2 (en) * 2012-11-08 2018-10-16 Texas Instruments Incorporated Openflow match and action pipeline structure
CN103023782B (zh) * 2012-11-22 2016-05-04 北京星网锐捷网络技术有限公司 一种访问三态内容寻址存储器的方法及装置
US9923831B2 (en) * 2012-11-29 2018-03-20 Futurewei Technologies, Inc. Packet prioritization in a software-defined network implementing OpenFlow
FI20126275L (fi) 2012-12-07 2014-06-08 Tellabs Oy Menetelmä ja laitteisto ohjelmallisesti määriteltävän verkon konfiguroimiseksi
CA2895688A1 (en) * 2012-12-19 2014-06-26 Nec Corporation Packet processing apparatus, flow entry configuration method and program
US9559897B2 (en) 2012-12-21 2017-01-31 Brocade Communications Systems, Inc. Device ID assignment in a system of devices
CN103888386B (zh) * 2012-12-24 2017-10-17 华为技术有限公司 可扩展虚拟局域网报文的传输方法及装置、系统
JP5939353B2 (ja) * 2013-02-27 2016-06-22 日本電気株式会社 制御装置、通信システム、スイッチ制御方法及びプログラム
TWI586124B (zh) 2013-04-26 2017-06-01 Nec Corp Communication node, communication system, packet processing method and program
US9853889B2 (en) 2013-05-20 2017-12-26 Brocade Communications Systems, Inc. Broadcast and multicast traffic reduction in stacking systems
US9313102B2 (en) 2013-05-20 2016-04-12 Brocade Communications Systems, Inc. Configuration validation in a mixed node topology
CN103347013B (zh) * 2013-06-21 2016-02-10 北京邮电大学 一种增强可编程能力的OpenFlow网络系统和方法
US9712431B2 (en) 2013-07-17 2017-07-18 Kt Corporation Methods for managing transaction in software defined network
CN103428094B (zh) * 2013-08-12 2016-08-17 杭州华三通信技术有限公司 开放流OpenFlow系统中的报文转发方法及装置
US10284499B2 (en) 2013-08-22 2019-05-07 Arris Enterprises Llc Dedicated control path architecture for systems of devices
CN104580027B (zh) * 2013-10-25 2018-03-20 新华三技术有限公司 一种OpenFlow报文转发方法及设备
US9225641B2 (en) * 2013-10-30 2015-12-29 Globalfoundries Inc. Communication between hetrogenous networks
US10212083B2 (en) 2013-10-30 2019-02-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Openflow data channel and control channel separation
US9185049B2 (en) 2013-10-31 2015-11-10 Brocade Communications Systems, Inc. Techniques for simplifying stacking trunk creation and management
KR102193371B1 (ko) * 2013-11-14 2020-12-21 한국전자통신연구원 확장된 기능을 구비한 sdn-기반 네트워크 장치 및 상기 장치에서의 패킷 처리 방법
US9577924B2 (en) * 2013-11-14 2017-02-21 Electronics And Telecommunications Research Institute SDN-based network device with extended function and method of processing packet in the same device
WO2015074182A1 (zh) * 2013-11-19 2015-05-28 华为技术有限公司 一种基于流表的表项寻址方法、交换机及控制器
KR101527786B1 (ko) * 2013-12-31 2015-06-09 쿨클라우드(주) 하이브리드 sdn 네트워크 관리 방법
US9577932B2 (en) * 2014-02-12 2017-02-21 Brocade Communications Systems, Inc. Techniques for managing ternary content-addressable memory (TCAM) resources in heterogeneous systems
CN104869062B (zh) * 2014-02-21 2018-11-09 华为技术有限公司 一种数据包转发方法及设备
EP2919423B1 (en) 2014-03-12 2018-11-14 Xieon Networks S.à.r.l. A network element of a software-defined network
US9692695B2 (en) 2014-03-27 2017-06-27 Brocade Communications Systems, Inc. Techniques for aggregating hardware routing resources in a multi-packet processor networking system
US9692652B2 (en) 2014-04-03 2017-06-27 Brocade Communications Systems, Inc. Framework for reliably communicating port information in a system of devices
US10257091B2 (en) 2014-04-08 2019-04-09 Hewlett Packard Enterprise Development Lp Pipeline table identification
WO2015167479A1 (en) 2014-04-29 2015-11-05 Hewlett-Packard Development Company, L.P. Efficient routing in software defined networks
US20170118066A1 (en) * 2014-04-30 2017-04-27 Hewlett-Packard Development Company, L.P. Data plane to forward traffic based on communications from a software defined (sdn) controller during a control plane failure
EP3142305A4 (en) 2014-05-27 2017-06-07 Huawei Technologies Co. Ltd. Flow table management method and relevant device and system
JP6490205B2 (ja) * 2014-06-30 2019-03-27 華為技術有限公司Huawei Technologies Co.,Ltd. フローエントリ構成の方法、装置及びシステム
EP3176985A4 (en) * 2014-08-01 2018-01-03 Nec Corporation Control device and control method
US10091059B2 (en) 2014-12-16 2018-10-02 Arris Enterprises Llc Handling connections between network devices that support multiple port communication modes
KR101669518B1 (ko) * 2014-12-30 2016-10-27 주식회사 시큐아이 Sdn 기반의 네트워크 모듈 관리 장치 및 방법
CN104683333A (zh) * 2015-02-10 2015-06-03 国都兴业信息审计系统技术(北京)有限公司 基于sdn的实现异常流量拦截的方法
WO2017018989A1 (en) * 2015-07-24 2017-02-02 Hewlett Packard Enterprise Development Lp Simultaneous processing of flow tables
CN106302265B (zh) * 2016-07-21 2019-08-06 新华三技术有限公司 报文转发方法及装置
US10439932B2 (en) * 2016-10-05 2019-10-08 Avago Technologies International Sales Pte. Limited System and method for flow rule management in software-defined networks
KR101870146B1 (ko) * 2016-10-12 2018-06-25 아토리서치(주) 리프-스파인 구조의 소프트웨어 정의 네트워킹에서 목적지 기반 패킷 전송 제어 방법 및 장치
CN106789706B (zh) * 2016-11-11 2020-08-07 天津光电通信技术有限公司 一种基于tcam的网络分流系统
TWI626837B (zh) * 2016-12-01 2018-06-11 財團法人工業技術研究院 封包傳遞方法、封包傳遞裝置及非暫態電腦可讀取媒體
US10404594B2 (en) * 2016-12-13 2019-09-03 Oracle International Corporation System and method for providing partitions of classification resources in a network device
RU178460U1 (ru) * 2017-03-15 2018-04-04 Общество с ограниченной ответственностью "БУЛАТ" Управляемый Ethernet коммутатор
KR101877004B1 (ko) * 2017-09-29 2018-07-10 주식회사 쏠리드 오픈플로우 기반의 분산 안테나 시스템
CN109995659B (zh) * 2017-12-29 2022-03-01 阿里巴巴集团控股有限公司 一种网络通信方法及装置
RU183526U1 (ru) * 2018-03-07 2018-09-25 Общество с ограниченной ответственностью "БУЛАТ" Ethernet коммутатор
RU186859U1 (ru) * 2018-11-21 2019-02-06 Общество с ограниченной ответственностью "БУЛАТ" Мультисервисный маршрутизатор
KR102211282B1 (ko) * 2019-11-20 2021-02-03 (주)파이브텍 데이터 라우팅 방법 및 이를 지원하는 스위치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0993153A1 (en) * 1998-10-05 2000-04-12 Hitachi, Ltd. Packet forwarding apparatus with a flow detection table
JP2006101343A (ja) * 2004-09-30 2006-04-13 Oki Techno Creation:Kk パケット処理装置、パケット処理方法およびパケット処理プログラム
RU2331159C2 (ru) * 2002-11-13 2008-08-10 Теленор Аса Способ маршрутизации сообщений от узла источника к узлу назначения в динамической сети

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002185513A (ja) 2000-12-18 2002-06-28 Hitachi Ltd パケット通信ネットワークおよびパケット転送制御方法
JP3936883B2 (ja) * 2002-04-08 2007-06-27 株式会社日立製作所 フロー検出装置およびフロー検出機能を備えたパケット転送装置
JP2003304293A (ja) * 2002-04-10 2003-10-24 Hitachi Ltd パケット中継装置
FR2849975B1 (fr) 2003-01-14 2005-09-23 Cit Alcatel Procede de configuration d'un chemin de routage dans un routeur ip et reseau
US7308505B2 (en) 2003-12-17 2007-12-11 International Business Machines Corporation Method, system and program product for facilitating forwarding of data packets through a node of a data transfer network using multiple types of forwarding tables
JP4487237B2 (ja) * 2003-12-25 2010-06-23 エルピーダメモリ株式会社 半導体装置
JP2005252954A (ja) * 2004-03-08 2005-09-15 Fujitsu Ltd テーブル検索装置
JP2005277731A (ja) 2004-03-24 2005-10-06 Seiko Epson Corp ネットワークシステム、ネットワーク機器、及び、これらの制御方法
JP4336625B2 (ja) * 2004-06-17 2009-09-30 株式会社日立製作所 パケット転送装置
JP2006133520A (ja) * 2004-11-05 2006-05-25 Fuji Xerox Co Ltd 画像形成装置、画像形成装置における表示画面カスタマイズ方法、表示画面カスタマイズプログラム
JP2006174350A (ja) * 2004-12-20 2006-06-29 Fujitsu Ltd 通信装置
US7281085B1 (en) * 2005-01-31 2007-10-09 Netlogic Microsystems, Inc. Method and device for virtualization of multiple data sets on same associative memory
TWI325705B (en) * 2006-06-01 2010-06-01 Via Tech Inc Method and apparatus for packet switching
CN101247337B (zh) * 2008-02-18 2012-11-21 华为技术有限公司 一种报文转发的方法和设备
JP5050978B2 (ja) * 2008-04-21 2012-10-17 富士通株式会社 伝送情報転送装置及び方法
CN101753544A (zh) * 2008-12-05 2010-06-23 华为技术有限公司 包过滤规则处理方法及系统、媒体网关和媒体网关控制器
WO2010090182A1 (ja) 2009-02-03 2010-08-12 日本電気株式会社 アプリケーションスイッチシステム、及びアプリケーションスイッチ方法
JP2010200690A (ja) 2009-03-04 2010-09-16 Kyushu Univ 新規スフィンゴ脂質及びその製造方法
US8289977B2 (en) * 2009-06-10 2012-10-16 International Business Machines Corporation Two-layer switch apparatus avoiding first layer inter-switch traffic in steering packets through the apparatus
US8677030B2 (en) * 2009-12-09 2014-03-18 Oracle America, Inc. Apparatus and method for managing packet classification tables
US8817629B2 (en) * 2010-03-16 2014-08-26 Deutsche Telekom Ag Method for routing-assisted traffic monitoring

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0993153A1 (en) * 1998-10-05 2000-04-12 Hitachi, Ltd. Packet forwarding apparatus with a flow detection table
RU2331159C2 (ru) * 2002-11-13 2008-08-10 Теленор Аса Способ маршрутизации сообщений от узла источника к узлу назначения в динамической сети
JP2006101343A (ja) * 2004-09-30 2006-04-13 Oki Techno Creation:Kk パケット処理装置、パケット処理方法およびパケット処理プログラム

Also Published As

Publication number Publication date
CN104580026A (zh) 2015-04-29
KR101627475B1 (ko) 2016-06-03
JP5561366B2 (ja) 2014-07-30
CA2810486A1 (en) 2012-03-15
TWI520527B (zh) 2016-02-01
EP2615781A4 (en) 2014-03-12
JP2014161083A (ja) 2014-09-04
JP2015156697A (ja) 2015-08-27
JP5962808B2 (ja) 2016-08-03
CN103098427A (zh) 2013-05-08
CN103098427B (zh) 2015-10-21
KR20150039877A (ko) 2015-04-13
KR20130050356A (ko) 2013-05-15
RU2013110063A (ru) 2014-10-20
TW201215037A (en) 2012-04-01
US9577931B2 (en) 2017-02-21
US20150312147A1 (en) 2015-10-29
EP2615781A1 (en) 2013-07-17
WO2012032864A1 (ja) 2012-03-15
US20130170495A1 (en) 2013-07-04
ES2639638T3 (es) 2017-10-27
JP5773020B2 (ja) 2015-09-02
EP2615781B1 (en) 2017-06-14
JPWO2012032864A1 (ja) 2014-01-20
CN104580026B (zh) 2019-02-15
KR101538560B1 (ko) 2015-07-21

Similar Documents

Publication Publication Date Title
RU2595918C2 (ru) Коммутационная система, система управления коммутацией и носитель данных
EP2926513B1 (en) Packet prioritization in a software-defined network implementing openflow
US8799507B2 (en) Longest prefix match searches with variable numbers of prefixes
US10623314B2 (en) Switch system, and monitoring centralized control method
JP5440712B2 (ja) 通信システム、通信装置、制御装置、パケットフローの転送経路の制御方法及びプログラム
EP2904745B1 (en) Method and apparatus for accelerating forwarding in software-defined networks
US8750106B2 (en) Interface control system and interface control method
RU2595963C2 (ru) Система коммутации и способ пересылки данных
US9948482B2 (en) Apparatus and method for enabling flexible key in a network switch
US9860178B2 (en) Control message relay apparatus, control message relay method, and program

Legal Events

Date Code Title Description
FA92 Acknowledgement of application withdrawn (lack of supplementary materials submitted)

Effective date: 20150417

FZ9A Application not withdrawn (correction of the notice of withdrawal)

Effective date: 20160310