СЕТЕВАЯ СИСТЕМА, КОММУТАТОР И СПОСОБ ОБНАРУЖЕНИЯ ПОДСОЕДИНЕННОГО ТЕРМИНАЛА
NETWORK SYSTEM, SWITCH AND METHOD OF DETECTING CONNECTED TERMINAL

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение имеет отношение к сетевой системе, а конкретнее, к сетевой системе, которая обнаруживает терминал, соединенный с коммутатором.
УРОВЕНЬ ТЕХНИКИ
Традиционные сетевые устройства подвержены проблеме, которая заключается в том, что они не могут управляться извне для достижения гибкого управления, такого как балансировка и смещение нагрузки. Соответственно, увеличение размера сети затрудняет осуществление контроля и усовершенствование работы системы, требуя больших затрат на изменение конструкции и конфигурации.
В качестве методики для разрешения такой проблемы, был предложен подход, при котором функция переноса пакетов и функция управления маршрутизацией сетевых устройств разделены. Если, например, сетевые устройства отвечают за функцию переноса пакетов, а контроллер, предоставленный внешним образом, отдельно от сетевых устройств, отвечает за функцию управления, это позволяет контроллеру выполнять централизованное регулирование переноса пакетов, давая возможность создания гибкой сети.
Разъяснение сети с разделенными ПУ/ПД
В качестве одной из сетей с разделенными функциями, была предложена сеть с разделенными ПУ/ПД (ПУ: плоскость управления / ПД: плоскость данных), в которой контроллер, предусмотренный на стороне плоскости управления, управляет узловыми устройствами, предусмотренными на стороне плоскости данных.
Одним из примеров сети с разделенными ПУ/ПД является сеть OpenFlow, которая использует технологию OpenFlow, обеспечивающую управление маршрутизацией в сети посредством управления коммутаторами со стороны контроллера. Сведения о технологии OpenFlow описаны в непатентной литературе 1. Следует отметить, что сеть OpenFlow представляет собой лишь один пример.
Разъяснение сети OpenFlow
В сети OpenFlow, такой контроллер, как контроллер OpenFlow (OFC), управляет работой узловых устройств, оперируя таблицами потоков таких узловых устройств, как коммутаторы OpenFlow (OFS), причем таблицы потоков связаны с управлением маршрутизацией.
Контроллер и узловые устройства соединяются через каналы управления (каналы связи для управления), которые являются выделенными линиями или линиями связи, защищенными посредством SSL уровня защищенных сокетов, называемые "безопасными каналами". Контроллер и узловые устройства обмениваются сообщениями OpenFlow, которые являются управляющими сообщениями, отвечающими протоколу OpenFlow (или поддерживающими его), через каналы управления.
Под узловыми устройствами в сети OpenFlow подразумеваются краевые коммутаторы и базовые коммутаторы, которые предусматриваются в сети OpenFlow и подчиняются управлению со стороны контроллера. Последовательность перемещений пакетов, от принятия на входном краевом коммутаторе до вывода на выходном краевом коммутаторе, в сети OpenFlow называется "потоком". В сети OpenFlow, каждая передача данных считается сквозным (E2E) потоком, и восстановление после потери управления маршрутизацией, балансировка нагрузки и оптимизация обеспечиваются в единицах потоков.
Вместо пакета может использоваться кадр. Разница между пакетом и кадром состоит только в различии блока данных, обрабатываемого протоколом (иными словами, протокольного блока данных (PDU). Пакет является PDU протокола "TCP/IP" (протокол управления передачей/межсетевой протокол). Кадр, с другой стороны, представляет собой PDU протокола "Ethernet" (зарегистрированная торговая марка).
Таблица потоков представляет собой группу информационных записей потоков, каждая из которых определяет набор условий идентификации (или правило), идентифицирующий пакеты, которые будут обрабатываться как поток, статистическую информацию, указывающую количество соответствий пакетов правилу, и сущность обработки (или действие), которая должна быть выполнена в отношении пакетов.
Правила для информационных записей потоков определяются различными комбинациями с использованием части или всей информации соответственных уровней протокола, входящей в области (или поля) заголовка пакетов и отличающейся друг от друга. Возможные примеры информации соответственных слоев протокола могут включать в себя адрес адресата, адрес источника, порт адресата и порт источника. Следует понимать, что вышеописанные адреса подразумевают включение в себя MAC-адреса (адреса уровня управления доступом к среде) и IP-адреса (адреса межсетевого протокола). В дополнение к вышеперечисленному, информация входного порта тоже может использоваться в качестве правила информационной записи потока. Следует также отметить, что в качестве правила информационной записи потока может быть установлено представление, которое отражает некоторые (или все) из значений областей заголовка пакетов, которые будут обрабатываться как поток, при помощи регулярного выражения, символа-шаблона "*", или тому подобного.
Действие информационной записи потока указывает операцию, такую как "вывод на определенный порт", "отбрасывание" и "перезапись заголовка". Если, например, идентификационная информация (такая, как номер выходного порта) указывается в действии информационной записи потока, узловое устройство выводит пакет на подходящий порт; если идентификационная информация выходного порта не указана, узловое устройство отбрасывает пакет. В другом примере, если информация заголовка указана в действии информационной записи потока, узловое устройство перезаписывает заголовок пакета на основании информации заголовка.
Узловое устройство выполняет действие информационной записи потока в отношении группы пакетов (последовательности пакетов), которые соответствуют правилу информационной записи потока. В частности, при приеме пакета, узловое устройство ищет в таблице потоков запись потока, имеющую правило, которое соответствует информации заголовка принятого пакета. При успешном поиске записи потока, имеющей правило, которое соответствует информации заголовка принятого пакета, узловое устройство обновляет статистическую информацию записи потока и выполняет операцию, заданную в качестве действия записи потока, в отношении принятого пакета. Если не найдена никакая запись потока, имеющая правило, которое соответствует информации заголовка принятого пакета, узловое устройство устанавливает принятый пакет в качестве первого пакета, пересылает принятый пакет (или его копию) в контроллер в сети OpenFlow, запрашивает вычисление маршрута передачи пакета на основании источника и адресата принятого пакета, в ответ принимает сообщение для размещения записи потока и обновляет таблицу потоков.
Следует отметить, что информационная запись по умолчанию, имеющая правило, которое соответствует информации заголовка всех пакетов, заносится с низким приоритетом в таблицу потоков. Если не найдена другая запись потока, которая соответствует принятому пакету, то принятый пакет соответствует записи по умолчанию. Действие информационной записи по умолчанию определяется как "передача запросной информации для принятого пакета в контроллер".
СПИСОК ЦИТИРОВАННЫХ ИСТОЧНИКОВ
Непатентная Литература
Непатентная Литература 1
"Спецификация для коммутатора OpenFlow, Версия 1.0.0", (опубликовано в сети Интернет), 31 декабря 2009 года, найден 23 марта 2011 года, <URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf>
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
В отношении сети большого размера существует вероятность нехватки ресурсов из-за низкой эффективности сегодняшнего использования таблицы потоков.
Кроме того, в существующей технологии, коммутаторы не могут получать информацию о местоположении терминалов (информацию, указывающую текущее местоположение терминала в сети), если не был передан широковещательный пакет, так как коммутаторы получают информацию о местоположении терминалов при помощи широковещательного пакета, такого как пакет ARP.
В настоящем изобретении, когда пакет передается от терминала на узловое устройство, узловое устройство сравнивает два элемента: информацию MAC-адреса, находящуюся в узловом устройстве, и номер порта, соотнесенный с информацией MAC-адреса, с информацией MAC-адреса источника и номером порта пакета для пересылки.
Если в результате сравнения не найдено соответствия информации, узловое устройство передает запросную информацию (сообщение packet-in) в контроллер, и информация о местоположении терминала регулируется в контроллере; эта информация заносится в узловое устройство из контроллера. Запросная информация (сообщение packet-in) является одним из сообщений OpenFlow.
В качестве методики сравнения, может быть предпочтительным выполнять сравнение, используя логическую схему, подобную функции обучения L2.
Сетевая система в соответствии с настоящим изобретением включает в себя: коммутатор; и контроллер, размещающий информационную запись потока в таблицу потоков коммутатора, причем запись потока определяет правило и действие для обобщенного управления пакетами как потоком. При приеме пакета от терминала, коммутатор сообщает контроллеру набор из информации MAC-адреса источника и номера порта пакета. Контроллер распознает текущее местоположение терминала в сети на основании сообщения от коммутатора, причем терминал является источником пакета.
Коммутатор в соответствии с настоящим изобретением включает в себя: средство для сообщения, при приеме пакета от терминала, контроллеру набора из информации MAC-адреса источника и номера порта пакета в качестве информации о текущем местоположении терминала в сети, причем терминал является источником пакета; и средство для размещения информационной записи потока в его таблице потоков, в ответ на управление со стороны контроллера, причем запись потока определяет правило и действие для обобщенного управления пакетом как потоком.
Согласно способу обнаружения подсоединения терминала в соответствии с настоящим изобретением, контроллер размещает информационную запись потока в таблице потоков коммутатора, причем запись потока определяет правило и действие для обобщенного управления пакетом как потоком. При приеме пакета от терминала, коммутатор сообщает контроллеру набор из информации MAC-адреса источника и номера порта пакета. Контроллер распознает текущее местоположение терминала в сети на основании сообщения от коммутатора, причем терминал является источником пакета.
Программа в соответствии с настоящим изобретением является программой для предписания коммутатору выполнять этапы, на которых: при приеме пакета, сообщают контроллеру набор из информации MAC-адреса источника и номера порта пакета в качестве информации о текущем местоположении терминала в сети, причем терминал является источником пакета; и размещают информационную запись потока в его таблице потоков, в ответ на управление со стороны контроллера, причем запись потока определяет правило и действие для обобщенного управления пакетом как потоком. Следует отметить, что программа в соответствии с настоящим изобретением может быть сохранена в запоминающем устройстве или на носителе записи.
Настоящее изобретение устанавливает, к какому порту какого узлового устройства подсоединяется терминал, соединенный с группой узловых устройств, используя только MAC-адрес источника и номер порта (информацию о порте) пакета, передаваемого от терминала. Помимо этого, управление маршрутизацией с учетом местоположения терминала обеспечивается благодаря регулированию этой информации о местоположении терминала управляющим устройством.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 является схемой, демонстрирующей пример конфигурации сетевой системы в соответствии с первым иллюстративным вариантом осуществления настоящего изобретения;
Фиг. 2 является схемой для пояснения внутренней конфигурации узлового устройства в соответствии с первым иллюстративным вариантом осуществления;
Фиг. 3 является схемой для пояснения деталей того, как производится сравнение информации о местоположении терминала в первом иллюстративном варианте осуществления;
Фиг. 4 является схемой для пояснения управляющей таблицы информации о местоположении терминала;
Фиг. 5 является схемой, демонстрирующей пример конфигурации системы с использованием первого иллюстративного варианта осуществления;
Фиг. 6 является блок-схемой последовательности операций способа для пояснения процесса обнаружения подсоединенного терминала в первом иллюстративном варианте осуществления;
Фиг. 7 является схемой, демонстрирующей пример конфигурации сетевой системы в соответствии со вторым вариантом осуществления настоящего изобретения;
Фиг. 8 является схемой, поясняющей внутреннюю конфигурацию узлового устройства в соответствии со вторым иллюстративным вариантом осуществления;
Фиг. 9 является схемой, демонстрирующей пример конфигурации системы с использованием второго иллюстративного варианта осуществления;
Фиг. 10 является схемой для пояснения внутренней конфигурации узлового устройства в соответствии с третьим иллюстративным вариантом осуществления; и
Фиг. 11 является схемой для пояснения деталей того, как производится сравнение информации о местоположении терминала в третьем иллюстративном варианте осуществления.
ОПИСАНИЕ ИЛЛЮСТРАТИВНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Настоящее изобретение относится к сети с разделенными ПУ/ПД. В данном документе, приводится описание сети OpenFlow, которая является одной из сетей с разделенными ПУ/ПД, в качестве примера. Следует отметить, что фактическая реализация не ограничивается сетью OpenFlow.
<Первый иллюстративный вариант осуществления>
Ниже приводится описание первого иллюстративного варианта осуществления настоящего изобретения со ссылкой на прилагаемые чертежи.
[Системная конфигурация]
Со ссылкой на Фиг. 1, приводится описание примера конфигурации сетевой системы в соответствии с первым иллюстративным вариантом осуществления.
Сетевая система в соответствии с первым иллюстративным вариантом осуществления настоящего изобретения включает в себя терминалы 10 (10-i, где i = от 1 до n, при этом n выбирается произвольно), узловые устройства 20 (20-j, где j = от 1 до m, при этом m выбирается произвольно) и контроллер 30.
[Подробное описание терминалов]
Каждый терминал 10 (10-i, где i = от 1 до n) представляет собой терминал с возможностью соединения с узловым устройством 20 (20-j, где j = от 1 до m).
В данном иллюстративном варианте осуществления, пакет 50 переносится от терминала 10-1 на терминал 10-2 через узловые устройства 20-1 и 20-2.
Терминал 10-1 является терминалом-источником "A", который передает пакет. Терминал 10-2, с другой стороны, является терминалом "B" адресатом, который принимает пакет. Пакет 50 является "пакетом с адресатом B и источником A".
"Адресат B" означает, что пунктом назначения является терминал B и MAC-адрес терминала B задается как MAC-адрес адресата. "Источник A" означает, что источником является терминал A, и MAC-адрес терминала A задается как MAC-адрес источника.
Следует отметить, что каждый терминал 10 (10-i, где i = от 1 до n) может быть сетевым устройством вне сети OpenFlow (не поддерживающим OpenFlow).
[Подробное описание узловых устройств]
Каждое узловое устройство 20 (20-j, где j = от 1 до m) представляет собой узловое устройство, размещенное в сети. Каждое узловое устройство 20 (20-j, где j = от 1 до m) функционирует в качестве коммутатора OpenFlow (OFS) в сети OpenFlow. Каждое узловое устройство 20 (20-j, где j = от 1 до m) переносит принятые им пакеты в соответствии с информационными записями потоков, занесенными в его собственную таблицу потоков.
Каждое узловое устройство 20 (20-j, где j = от 1 до m) включает в себя средство 21 сравнения информации о местоположении терминалов и средство 22 сравнения таблицы потоков.
Средство 21 сравнения информации о местоположении терминалов выполняет сравнение информации о местоположении терминала, используя информацию MAC-адреса и номера портов. А именно, в средстве 21 сравнения информации о местоположении терминалов находится информация MAC-адреса и номер порта, и оно сравнивает набор из информации MAC-адреса источника и номера порта, находящийся на нем, с набором из информации MAC-адреса источника и номера порта пакета, который нужно перенести. В данном иллюстративном варианте осуществления, средство 21 сравнения информации о местоположении терминалов является функциональным блоком L2 (2-го уровня), то есть L2-блоком.
Средство 22 сравнения таблицы потоков выполняет сравнение таблицы потоков и информации потока, которое выполняется обычным узловым устройством.
[Подробное описание контроллера]
Контроллер 30 осуществляет контроль и управление в отношении узловых устройств, размещенных в сети. Контроллер 30 функционирует в качестве контроллера OpenFlow (OFC) в сети OpenFlow. При обнаружении узловых устройств 20-1 и 20-2, контроллер 30 вычисляет маршрут переноса пакета на основании информации о топологии, описывающей соединения в сети, и заносит записи потоков в таблицы потоков узловых устройств, связанных с этим маршрутом. Контроллер 30, тем самым, выполняет управление маршрутизацией между узловыми устройствами 20-1 и 20-2.
Контроллер 30 имеет управляющую таблицу 31 информации о местоположении терминалов.
[Подробное описание пакета]
Пакет 50 представляет собой пакет, который должен быть передан на узловое устройство 20 (20-j, где j = от 1 до m).
Запросная информация (сообщение packet-in) 51 является управляющим сообщением для запроса контроллеру 30 на управление маршрутизацией (или осуществления информационного запроса о маршруте переноса пакета 50). Формат данных и содержимое запросной информации (сообщения packet-in) 51 являются теми же, что и для запросной информации (сообщения packet-in), передаваемой в контроллер, когда возникает несоответствие при обычном просмотре таблицы потоков; информация для идентификации (или флаг) прилагается к запросной информации (сообщению packet-in) 51.
При приеме пакета 50, например, средство 21 сравнения информации о местоположении терминалов сравнивает информацию MAC-адреса, находящуюся в средстве 21 сравнения информации о местоположении терминалов, и номер порта, соотнесенный с информацией MAC-адреса, с набором из информации MAC-адреса источника и номера порта пакета 50, который должен быть перенесен, и, если возникает несоответствие, генерирует запросную информацию (сообщение packet-in) 51 на основании пакета 50 для передачи запросной информации (сообщения packet-in) 51 в контроллер 30.
Запросная информация (сообщение packet-in) 52 является управляющим сообщением для запрашивания контроллеру 30 на предмет управления маршрутизацией (или осуществления запроса о маршруте переноса пакета 50). Разница между упомянутой запросной информацией (сообщением packet-in) 52 и обычной запросной информацией (сообщением packet-in) имеет место только в информации для идентификации (или флаге); формат данных и содержание запросной информации (сообщения packet-in) 52, по сути, являются теми же, что и для обычной запросной информации (сообщения packet-in).
Например, средство 22 сравнения таблицы потоков сравнивает информацию MAC-адреса, сохраненную в записях потоков таблицы потоков, с информацией MAC-адреса адресата пакета 50, который должен быть перенесен, и, если возникает несоответствие, генерирует запросную информацию (сообщение packet-in) 52 на основании пакета 50 для передачи запросной информации (сообщения packet-in) 52 в контроллер 30.
В данном иллюстративном варианте осуществления, контроллер 30 определяет порты соединения, посредством которых соединяются узловые устройства, как внутренние порты 23. Кроме того, контроллер 30 определяет соединительный порт узлового устройства, посредством которого соединяются узловое устройство и терминал, как внешний порт 24.
Контроллер 30 распознает терминал 10-1, который недавно соединился с узловым устройством 20-1, на основании содержимого запросной информации (сообщения packet-in) 51, принятого от узлового устройства 20-1. А именно, контроллер 30 получает информацию MAC-адреса терминала 10-1 и номер порта для порта, подсоединенного к терминалу 10-1, из содержимого запросной информации (сообщения packet-in) 51, и обновляет управляющую таблицу 31 информации о местоположении терминалов. Следует отметить, что порт, подсоединенный к терминалу 10-1, обязательно является внешним портом 24.
Контроллер 30 перезаписывает таблицу каждого узлового устройства 20 (20-j, где j = от 1 до m) для принятых пакетов, на основании содержимого управляющей таблицы 31 информации о местоположении терминалов.
[Внутренняя конфигурация узловых устройств]
Со ссылкой на Фиг. 2, приводится описание внутренней конфигурации каждого из узловых устройств 20 (20-j, где j = от 1 до m) в настоящем иллюстративном варианте осуществления.
Каждое узловое устройство 20 (20-j, где j = от 1 до m) включает в себя средство 21 сравнения информации о местоположении терминалов и средство 22 сравнения таблицы потоков.
Средство 21 сравнения информации о местоположении терминалов имеет таблицу 211 информации "MAC-адрес & порт" (информации о местоположении терминала).
Таблица 211 информации "MAC-адрес & порт" хранит в себе информацию MAC-адреса, находящуюся в узловом устройстве 20 (20-j, где j = от 1 до m), и номер порта, соотнесенного с этой информацией MAC-адреса. В данном иллюстративном варианте осуществления, таблица 211 информации "MAC-адрес & порт" используется в качестве предварительной поисковой таблицы, которая просматривается до таблицы 221 потоков. Следует отметить, что таблицу 211 информации "MAC-адрес & порт" можно рассматривать как своего рода таблицу потоков, которая определяет условия (или правила) идентификации посредством наборов из информации MAC-адреса и номеров портов.
Средство 22 сравнения таблицы потоков имеет таблицу 221 потоков.
Таблица 221 потоков представляет собой таблицу потоков в сети OpenFlow. В данном иллюстративном варианте осуществления, таблица 221 потоков является конечной поисковой таблицей, которая просматривается после таблицы 211 информации "MAC-адрес & порт".
В данном иллюстративном варианте осуществления, в таблицу 221 потоков требуется лишь занести информационные записи потоков, которые определяют условия (или правила) идентификации только посредством MAC-адресов адресатов, так как средство 21 сравнения информации о местоположении терминалов выполняет поиск информации о местоположении терминала.
Это позволяет в значительной степени сократить информацию для информационных записей потоков, заносимых в каждую таблицу 221 потоков.
[Суть сравнения информации о местоположении терминалов]
Со ссылкой на Фиг. 3, приводится подробное описание сути сравнения информации о местоположении терминалов.
Таблица 211 информации "MAC-адрес & порт", которая находится в средстве 21 сравнения информации о местоположении терминалов, включает в себя области (или поля), хранящие информацию 2111 MAC-адресов и номера 2112 портов.
Пакет 50 имеет область, хранящую информацию 501 MAC-адреса источника и номер 502 порта в области заголовка.
Когда пакет поступает в узловое устройство 20-1, узловое устройство 20-1 сравнивает содержимое таблицы 211 информации "MAC-адрес & порт" с содержимым пакета 50.
Во время этой операции, узловое устройство 20-1 сравнивает наборы из информации 2111 MAC-адреса, хранящейся в таблице 211 информации "MAC-адрес & порт", и номера 2112 порта, соотнесенного с информацией 2111 MAC-адреса, с набором из информации 501 MAC-адреса источника и номера 502 порта, которые находятся в пакете 50, в отношении порта и MAC.
Узловое устройство 20-1 выполняет сравнение таблицы потоков, если в результате сравнения содержимое таблицы 211 информации "MAC-адрес & порт" соответствует содержимому пакета 50.
Если в результате сравнения содержимое таблицы 211 информации "MAC-адрес & порт" не соответствует содержимому пакета 50, узловое устройство 20-1 запускает функцию обучения L2.
Другими словами, таблица 211 информации "MAC-адрес & порт" используется как таблица, в которой находится набор(ы) из информации MAC-адреса терминала, соединенного с узловым устройством 20-1, и номера порта для порта, подсоединенного к терминалу, в качестве информации о местоположении терминала.
В данном иллюстративном варианте осуществления, контроллер 30 может установить, что атрибутом порта, который принимает пакет 50, является внешний порт, а также входной порт, в ответ на прием запросной информации (сообщения packet-in) 51, сгенерированной по факту несоответствия во время такого сравнения.
При этом, контроллер 30 может регулировать информацию о местоположении терминала на основании только двух видов информации: информации 501 MAC-адреса источника и номера 502 порта пакета 50.
[Информация о местоположении терминала]
Со ссылкой на Фиг. 4, приводится описание примера управляющей таблицы 31 информации о местоположении терминалов, имеющейся в контроллере 30.
Управляющая таблица 31 информации о местоположении терминалов имеет области, хранящие информацию 311 об узловом устройстве, MAC-информацию 312 терминалов и номера 313 портов.
Информация 311 об узловом устройстве является областью, в которую записывается идентификационная информация узловых устройств, соединенных с терминалами.
MAC-информация 312 терминалов является областью, в которую записывается информация MAC-адресов терминалов (MAC-адреса источников).
Номер 313 порта является областью, в которую записываются номера портов узловых устройств, соединенных с терминалами.
Представленное здесь является одним примером, в котором запросная информация (сообщение packet-in) 51, которая генерируется, если сравнение информации о местоположении терминалов дает в результате несоответствие, регулируется управляющим устройством 30.
Контроллер 30 принимает запросную информацию (сообщение packet-in) 51 от узлового устройства 20-1 и заносит информацию о терминале в таблицу 31 информации о местоположении терминалов на основании содержимого запросной информации (сообщения packet-in) 51.
Во время этой операции, контроллер 30 записывает идентификационную информацию узлового устройства, соединенного с терминалом, в информацию 311 об узловом устройстве на основании содержимого запросной информации (сообщения packet-in) 51, записывает информацию MAC-адреса источника терминала в MAC-информацию 312 терминалов, и записывает номер порта узлового устройства, соединенного с терминалом, в номер 313 порта.
[Конфигурация системы с использованием настоящего иллюстративного варианта осуществления]
Со ссылкой на Фиг. 5, приводится описание примера конфигурации системы с использованием настоящего иллюстративного варианта осуществления.
Предположим, что никакое узловое устройство 20 (20-j, где j = от 1 до m) не передает широковещательные пакеты и ничего не записывается в таблицу 221 потоков.
Эта система включает в себя терминалы 10-1, 10-2, 10-3, 10-4, узловые устройства 20-1, 20-2, 20-3, 20-4 и контроллер 30.
Следует отметить, что терминалы 10-1, 10-2, 10-3 и 10-4 соответствуют терминалам 10 (10-i, где i = от 1 до n), продемонстрированным на Фиг. 1.
Следует также отметить, что узловые устройства 20-1, 20-2, 20-3 и 20-4 соответствуют узловым устройствам 20 (20-j, где j = от 1 до m), продемонстрированным на Фиг. 1.
Контроллер 30 управляет узловыми устройствами 20-1, 20-2, 20-3 и 20-4.
Контроллер 30 имеет управляющую таблицу 31 информации о местоположении терминалов.
Контроллер 30 определяет порт соединения, посредством которого соединяются узловые устройства, как внутренний порт 23, и определяет порт соединения узлового устройства, посредством которого соединяются узловое устройство и терминал, как внешний порт 24.
Узловое устройство 20-1 соединяется с терминалом 10-1 по порту 1 и с терминалом 10-3 по порту 2.
Узловое устройство 20-2 соединяется с терминалом 10-2 по порту 1 и с терминалом 10-4 по порту 2.
Оба порта 1 и 2 являются внешними портами на соответствующих узловых устройствах 20-1 и 20-2.
В данном примере, контроллер 30 устанавливает местоположения, с которых подсоединяются узловые устройства, определяет установленные местоположения как внутренние порты 23 и манипулирует установленными местоположениями в качестве управляющей информации.
На основании этой управляющей информации, контроллер 30 блокирует запросную информацию (сообщение packet-in), генерируемую, если сравнение информации о местоположении терминала, выполненное на внутреннем порте 23, дает в результате несоответствие.
Например, контроллер 30 может быть выполнено с возможностью занесения набора из номера порта внутреннего порта 23 и универсальной информации MAC-адреса с использованием символа-шаблона или тому подобного в таблицу 211 информации "MAC-адрес & порт" в узловом устройстве 20-1. В этом случае, узловое устройство 20-1 безусловно переключается на процесс средства 22 сравнения таблицы потоков для пакета, принятого на внутренний порт 23, независимо от MAC-адреса источника.
Если таблица 211 информации "MAC-адрес & порт" в узловом устройстве 20-1 является своего рода таблицей потоков, контроллер 30 может занести информационную запись потока с наименьшим приоритетом, причем эта запись потока определяет набор из номера порта внешнего порта 24 и универсальной информации MAC-адреса с использованием символа-шаблона или тому подобного в качестве правила и определяет перенос запросной информации в контроллер 30 в качестве действия. Если информация MAC-адреса источника пакета, принятого на внешний порт 24, не занесена, поскольку это значит, что занесена только вышеописанная запись потока, узловое устройство 20-1 сохраняет информацию данного пакета в запросную информацию (сообщение packet-in) и переносит запросную информацию (сообщение packet-in) в контроллер 30.
В этом примере, если пакет передается от терминала 10-1, который соединен с узловым устройством 20-1, на терминал 10-4, который соединен с узловым устройством 20-2, узловое устройство 20-1 выполняет сравнение информации о местоположении терминалов для пакета, который поступает от терминала 10-1 через внешний порт 24; если сравнение информации о местоположении терминалов дает в результате несоответствие, узловое устройство 20-1 сохраняет информацию пакета в запросную информацию (сообщение packet-in) и переносит запросную информацию (сообщение packet-in) в контроллер 30.
Контроллер 30 заносит информацию терминала 10-1 в управляющую таблицу 31 информации о местоположении терминалов на основании информации из переносимой запросной информации (сообщения packet-in), и заносит запись потока, включающую в себя местоположение терминала 10-1 (набор из информации MAC-адреса и номера порта), в таблицу 221 потоков узлового устройства 20-1.
Когда другой пакет передается от терминала 10-1, пакет поступает в узловое устройство 20-1 через внешний порт 24.
Сравнение информации о местоположении терминалов дает в результате соответствие, поскольку узловое устройство 20-1 уже имеет таблицу потоков с занесенной информацией о местоположении терминала 10-1. Тогда узловое устройство 20-1 просматривает таблицу 221 потоков, и если имеется соответствующая запись потока, переносит пакет на узловое устройство 20-2 согласно действию, определенному в этой соответствующей записи потока.
Во время этой операции, сравнение информации о местоположении терминалов выполняется также и для переносов между узловыми устройствами; однако, контроллер 30 выполняет управление внутренними портами каждого узлового устройства, чтобы заблокировать генерирование запросной информации (сообщения packet-in). Другими словами, запросная информация (сообщение packet-in) не генерируется во время сравнения информации о местоположении терминалов для переносов между узловыми устройствами.
Узловое устройство 20-2 переносит принятый пакет на терминал 10-4 в результате сравнения информации о местоположении терминалов и сравнения таблицы потоков.
[Технологический процесс обнаружения подсоединенного терминала]
Со ссылкой на Фиг. 6, приводится описание операции, выполняемой в процессе обнаружения подсоединенного терминала согласно настоящему иллюстративному варианту осуществления.
(1) Этап S101
Контроллер 30 сначала вычисляет порты соединения узловых устройств на основании прежнего управления маршрутизацией, определяет порты соединения, посредством которых соединяются узловые устройства, как внутренние порты 23, и определяет порты соединения узловых устройств, посредством которых соединяются узловые устройства и терминалы, как внешние порты 24, что позволяет отличить порты соединения между узловыми устройствами от портов соединения между узловыми устройствами и терминалами. Затем каждое узловое устройство 20 (20-j, где j = от 1 до m) начинает нормальную работу.
(2) Этап S102
Когда пакет 50 передается от терминала 10-1 на терминал 10-2, средство 21 сравнения информации о местоположении терминалов узлового устройства 20-1 сравнивает таблицу 211 информации "MAC-адрес & порт" в средстве 21 сравнения информации о местоположении терминалов с пакетом 50 при помощи способа сравнения, продемонстрированного на Фиг. 3, чтобы проверить, соответствует ли содержимое таблицы 211 информации "MAC-адрес & порт" содержимому пакета 50. А именно, средство 21 сравнения информации о местоположении терминалов сравнивает набор(ы) из информации MAC-адреса, сохраненной в таблице 211 информации "MAC-адрес & порт", и номера порта, соотнесенного с этой информацией MAC-адреса, с информацией MAC-адреса источника и номером порта пакета, принятого от терминала 10-1, чтобы проверить, соответствуют ли они друг другу.
(3) Этап S103
Если сравнение дает в результате соответствие, средство 21 сравнения информации о местоположении терминалов пересылает пакет 50 в средство 22 сравнения таблицы потоков.
(4) Этап S104
Если сравнение дает в результате несоответствие, средство 21 сравнения информации о местоположении терминалов вводит информацию пакета 50 в запросную информацию (сообщение packet-in) 51 и передает запросную информацию (сообщение packet-in) 51 в контроллер 30. Во время этой операции, средство 21 сравнения информации о местоположении терминалов может временно сохранять пакет 50.
(5) Этап S105
Контроллер 30 заносит информацию, указывающую, к какому порту какого узлового устройства подсоединяется терминал 10-1, в управляющую таблицу 31 информации о местоположении терминалов, на основании информации пакета 50, введенной в эту запросную информацию (сообщение packet-in) 51.
(6) Этап S106
Кроме того, контроллер 30 заносит новый набор из информации MAC-адреса и номера порта в таблицу 211 информации "MAC-адрес & порт" узлового устройства 20-1, на основании информации о местоположении терминалов из управляющей таблицы 31 информации о местоположении терминалов. В данном примере, когда занесение данных завершено, контроллер 30 передает пакет 50 на узловое устройство 20-1 с первоначальной информацией заголовка на основании информации пакета 50, введенной в запросную информацию (сообщение packet-in) 51. Если занесение данных не произведено, пакет 50 может не быть передан на узловое устройство 20-1.
(7) Этап S107
Средство 21 сравнения информации о местоположении терминалов переносит пакет 50, реагируя на вышеописанное занесение данных, в средство 22 сравнения таблицы потоков. В данном примере, средство 21 сравнения информации о местоположении терминалов переносит пакет 50, принятый от контроллера 30, в средство 22 сравнения таблицы потоков. Следует отметить, что, если средство 21 сравнения информации о местоположении терминалов временно сохраняет пакет 50, средство 21 сравнения информации о местоположении терминалов может переносить этот временно сохраненный пакет 50 в средство 22 сравнения таблицы потоков, реагируя на занесение данных со стороны контроллера 30. В этом случае, если вышеописанное занесение данных не выполнено, средство 21 сравнения информации о местоположении терминалов может отбросить временно сохраненный пакет 50 по истечении предварительно заданного периода.
(8) Этап S108
При приеме пакета 50 от средства 21 сравнения информации о местоположении терминалов, средство 22 сравнения таблицы потоков просматривает таблицу 221 потоков, содержащуюся в нем, чтобы проверить, соответствует ли какая-нибудь информационная запись потока в таблице 221 потоков пакету 50. А именно, средство 22 сравнения таблицы потоков сравнивает информацию MAC-адреса, хранящуюся в каждой записи потока таблицы 221 потоков, с информацией MAC-адреса адресата пакета, принятого от терминала 10-1, чтобы проверить, соответствует ли информация MAC-адреса адресата принятого пакета какой-нибудь записи потока таблицы 221 потоков. Следует отметить, что при фактической реализации средство 22 сравнения таблицы потоков сравнивает "набор из информации MAC-адреса и номера порта", сохраненный в каждой записи потока таблицы 221 потоков, с "набором из информации MAC-адреса назначения и номера выходного порта" пакета, принятого от терминала 10-1, чтобы проверить, соответствует ли набор из информации MAC-адреса адресата и номера выходного порта принятого пакета какой-нибудь записи потока таблицы 221 потоков.
(9) Этап S109
Если сравнение дает в результате соответствие с какой-нибудь записью потока таблицы 221 потоков, средство 22 сравнения таблицы потоков выводит пакет 50 на внутренний порт 23 согласно действию из соответствующей записи потока, и переносит пакет 50 на терминал 10-2.
(10) Этап S110
Если сравнение не дает в результате соответствие с какими-либо записями потоков таблицы 221 потоков, средство 22 сравнения таблицы потоков вводит информацию пакета 50 в запросную информацию (сообщение packet-in) 52 и передает запросную информацию (сообщение packet-in) 52 в контроллер 30. Во время этой операции, средство 22 сравнения таблицы потоков может временно сохранять пакет 50.
(11) Этап S111
Контроллер 30 вычисляет маршрут переноса на основании информации пакета 50, введенной в эту запросную информацию (сообщение packet-in) 52, и заносит запись потока, которая указывает информацию MAC-адреса адресата пакета 50 и назначает перенос пакета 50 на предварительно заданный внутренний порт 23, в таблицу 221 потоков каждого из узловых устройств 20 (20-j, где j = от 1 до m) на маршруте. Контроллер 30 может передать пакет 50 на узловое устройство 20-1 на основании информации пакета 50, введенной в запросную информацию (сообщение packet-in) 52.
(12) Этап S112
Средство 22 сравнения таблицы потоков выводит пакет 50 на внутренний порт 23 согласно действию из записи потока, занесенной в таблицу 221 потоков, чтобы перенести пакет 50 на терминал 10-2. Во время этой операции, средство 22 сравнения таблицы потоков может вывести пакет 50, принятый от контроллера 30, или пакет 50, временно сохраненный на нем, на внутренний порт 23, чтобы перенести пакет 50 на терминал 10-2. Следует отметить, что, если занесение записи потока не выполнено, средство 22 сравнения таблицы потоков может отбросить временно сохраненный пакет 50 по истечении предварительно заданного периода.
[Отличительный признак настоящего иллюстративного варианта осуществления]
В настоящем иллюстративном варианте осуществления, узловое устройство сравнивает информацию MAC-адреса, находящуюся на нем, и номер порта, соотнесенный с ней, с информацией MAC-адреса источника и номером порта пакета, и если они не имеют соответствия, передает запросную информацию (сообщение packet-in) в контроллер.
Контроллер собирает данные о местоположении терминала из этой запросной информации (сообщения packet-in) и заносит запись потока, включающую в себя местоположение терминала, в таблицу потоков узлового устройства.
Соответственно, местоположение терминала, соединенного с узловым устройством, может быть установлено, исходя только из информации MAC-адреса источника и номера порта пакета.
Это позволяет задавать местоположение терминала посредством контроллера, даже при перемещении терминала.
При этом, в настоящем иллюстративном варианте осуществления, в котором может быть задано местоположение терминала, контроллер может выбирать маршрут на основании информации о терминале, давая возможность гибкого выбора маршрута.
Кроме того, в настоящем иллюстративном варианте осуществления, контроллер может регулировать информацию о местоположении терминалов, исходя из информации в запросной информации (сообщении packet-in), генерируемой, если сравнение информации о местоположении терминалов дает в результате несоответствие, и использовать эту регулируемую информацию в качестве основы для выбора маршрута.
<Второй иллюстративный вариант осуществления>
Ниже приводится описание второго иллюстративного варианта осуществления настоящего изобретения. Во втором иллюстративном варианте осуществления настоящего изобретения, процесс OpenFlow-переноса выполняется как обычно, независимо от генерирования запросной информации (сообщения packet-in), когда сравнение информации о местоположении терминалов дает в результате несоответствие.
[Конфигурация системы]
Со ссылкой на Фиг. 7, приводится описание примера конфигурации сетевой системы в соответствии со вторым иллюстративным вариантом осуществления настоящего изобретения.
Сетевая система в соответствии со вторым иллюстративным вариантом осуществления настоящего изобретения включает в себя терминалы 10 (10-i, где i = от 1 до n), узловые устройства 20 (20-j, где j = от 1 до m) и контроллер 30.
Терминалы 10 (10-i, где i = от 1 до n), узловые устройства 20 (20-j, где j = от 1 до m) и контроллер 30, по сути, являются такими же, как и продемонстрированные на Фиг. 1.
В настоящем иллюстративном варианте осуществления, если сравнение информации о местоположении терминалов дает в результате несоответствие, средство 21 сравнения информации о местоположении терминалов из состава узлового устройства 20-1 создает копию пакета 50 (пакета с адресами B и источником A) и генерирует запросную информацию (сообщение packet-in) 51, содержащую в себе копию 53 пакета.
Контроллер 30 сначала вычисляет порты соединения узловых устройств на основании прежнего управления маршрутизацией и определяет эти соединительные порты как внутренние порты 23. При этом контроллер 30 блокирует генерирование запросной информации (сообщения packet-in) 51, даже если сравнение информации о местоположении терминалов дает в результате несоответствие по порту соединения, посредством которого соединяются узловые устройства. Затем каждое узловое устройство 20 (20-j, где j = от 1 до m) начинает нормальную работу.
Когда пакет 50 передается от терминала 10-1 на терминал 10-2, узловое устройство 20-1 выполняет сравнение информации о местоположении терминалов для пакета, принятого от терминала 10-1; если сравнение информации о местоположении терминалов дает в результате несоответствие, узловое устройство 20-1 создает копию пакета 50 (пакета с назначением B и источником A) для сохранения и генерирует запросную информацию (сообщение packet-in) 51, содержащую в себе копию пакета.
Контроллер 30 заносит информацию, указывающую, к какому порту какого узлового устройства подсоединяется терминал 10-1, в управляющую таблицу 31 информации о местоположении терминалов, на основании информации пакета 50, введенной в эту запросную информацию (сообщение packet-in) 51.
Контроллер 30 перезаписывает таблицу 221 потоков узлового устройства 20-1 для принятого пакета, на основании управляющей таблицы 31 информации о местоположении терминалов.
Следует отметить, что в настоящем иллюстративном варианте осуществления контроллер 30 обновляет таблицу 221 потоков; при этом контроллер 30 не обновляет таблицу 211 информации "MAC-адрес & порт", реагируя на запросную информацию (сообщение packet-in) 51. Другими словами, контроллер 30 заносит запись потока, включающую в себя набор из информации MAC-адреса и номера порта, в таблицу 221 потоков.
После сравнения информации о местоположении терминалов, средство 21 сравнения информации о местоположении терминалов узлового устройства 20-1 просматривает таблицу 221 потоков, и если какая-нибудь запись потока в таблице 221 потоков соответствует содержанию пакета 50, переносит пакет 50 на терминал 10-2 согласно маршруту переноса из контроллера 30.
Средство 22 сравнения таблицы потоков узлового устройства 20-1 просматривает таблицу потоков, и если это дает в результате несоответствие с таблицей потоков, генерирует запросную информацию (сообщение packet-in) 52, которая передается в контроллер 30.
Так описанное, в настоящем иллюстративном варианте осуществления, узловое устройство 20-1 обязательно просматривает таблицу 221 потоков после приема пакета 50, независимо от того, дает ли сравнение информации о местоположении терминалов в результате соответствие или несоответствие, и выполняет процесс переноса пакета 50.
А именно, при передаче запросной информации (сообщения packet-in) 51 в контроллер 30, средство 21 сравнения информации о местоположении терминалов из состава узлового устройства 20-1 создает копию пакета 50 (пакета с назначением B и источником A) и передает запросную информацию (сообщение packet-in) 51, содержащую в себе копию 53 пакета, в контроллер 30. Одновременно или параллельно с этим процессом, узловое устройство 20-1 переносит пакет 50 в средство 22 сравнения таблицы потоков.
[Внутренняя конфигурация узловых устройств]
Со ссылкой на Фиг. 8, приводится описание внутренней конфигурации каждого из узловых устройств 20 (20-j, где j = от 1 до m) в настоящем иллюстративном варианте осуществления.
Внутренняя конфигурация каждого из узловых устройств 20 (20-j, где j = от 1 до m), по сути, является такой же, как и продемонстрированная на Фиг. 2.
На Фиг. 8, узловое устройство 20 (20-j, где j = от 1 до m) выполняет процесс OpenFlow-переноса как обычно, когда сравнение информации о местоположении терминалов дает в результате несоответствие, даже если генерируется запросная информация (сообщение packet-in) 51.
Средство 21 сравнения информации о местоположении терминалов сравнивает содержимое таблицы 211 информации "MAC-адрес & порт" с содержимым пакета 50.
Если содержимое таблицы 211 информации "MAC-адрес & порт" не соответствует содержимому пакета 50, средство 21 сравнения информации о местоположении терминалов создает копию пакета 50, генерирует запросную информацию (сообщение packet-in) 51, содержащую в себе копию 53 пакета, и передает запросную информацию (сообщение packet-in) 51 в контроллер 30.
Когда средство 21 сравнения информации о местоположении терминалов завершает сравнение содержимого таблицы 211 информации "MAC-адрес & порт" с содержимым пакета 50, процедура переходит к процессу в средстве 22 сравнения таблицы потоков, независимо от результата сравнения.
Средство 22 сравнения таблицы потоков просматривает таблицу 221 потоков и сравнивает содержимое таблицы 221 потоков с содержимым пакета 50.
Если какая-нибудь запись потока в таблице 221 потоков соответствует содержимому пакета 50, средство 22 сравнения таблицы потоков переносит пакет 50 согласно действию из соответствующей записи потока.
Если нет записи потока в таблице 221 потоков, соответствующей содержимому пакета 50, средство 22 сравнения таблицы потоков передает запросную информацию (сообщение packet-in) 52 в контроллер 30.
[Конфигурация системы с использованием настоящего иллюстративного варианта осуществления]
Со ссылкой на Фиг. 9, приводится описание примера конфигурации системы с использованием настоящего иллюстративного варианта осуществления.
Предположим, что никакое узловое устройство 20 (20-j, где j = от 1 до m) не передает широковещательные пакеты и ничего не записывается в таблицу 221 потоков.
Эта система включает в себя терминалы 10-1, 10-2, 10-3, 10-4, узловые устройства 20-1, 20-2, 20-3, 20-4 и контроллер 30.
Следует отметить, что терминалы 10-1, 10-2, 10-3 и 10-4 соответствуют терминалам 10 (10-i, где i = от 1 до n), продемонстрированным на Фиг. 7.
Следует также отметить, что узловые устройства 20-1, 20-2, 20-3 и 20-4 соответствуют узловым устройствам 20 (20-j, где j = от 1 до m), продемонстрированным на Фиг. 7.
Контроллер 30 управляет узловыми устройствами 20-1, 20-2, 20-3 и 20-4.
Контроллер 30 имеет управляющую таблицу 31 информации о местоположении терминалов.
Контроллер 30 определяет порт соединения посредством которого соединяются узловые устройства, как внутренний порт 23, и определяет порт соединения узлового устройства, посредством которого соединяются узловое устройство и терминал, как внешний порт 24.
Узловое устройство 20-1 соединяется с терминалом 10-1 по порту 1 и с терминалом 10-3 по порту 2.
Узловое устройство 20-2 соединяется с терминалом 10-2 по порту 1 и с терминалом 10-4 по порту 2.
Оба порта 1 и 2 являются внешними портами на каждом из узловых устройств 20-1 и 20-2.
В данном примере, контроллер 30 устанавливает местоположения, через которые соединены узловые устройства, и регулирует установленные местоположения, определяя установленные местоположения как внутренние порты 23.
На основании этой регулируемой информации, контроллер 30 не выполняет занесение номера порта внутреннего порта 23 узлового устройства 20-1 в таблицу 211 информации "MAC-адрес & порт"; при этом контроллер 30 блокирует генерирование запросной информации (сообщения packet-in), устанавливая, что пакет, принятый на внутренний порт 23, не подвергается сравнению информации о местоположении терминалов.
Ниже приводится описание случая, когда пакет передается от терминала 10-1, который соединен с узловым устройством 20-1, на терминал 10-4, который соединен с узловым устройством 20-2.
Если сравнение информации о местоположении терминалов дает в результате несоответствие для пакета 50, поступающего от терминала 10-1 через внешний порт 24, узловое устройство 20-1 вводит пакет 50 в запросную информацию (сообщение packet-in) 51 и передает запросную информацию (сообщение packet-in) 51 в контроллер 30.
При приеме запросной информации (сообщения packet-in) 51 от узлового устройства 20-1, контроллер 30 заносит информацию терминала 10-1 в управляющую таблицу 31 информации о местоположении терминалов на основании содержания запросной информации (сообщения packet-in) 51.
Контроллер 30 также вычисляет маршрут переноса пакета на основании содержимого запросной информации (сообщения packet-in) 51 и заносит запись потока в таблицу 221 потоков каждого узлового устройства 20 (20-j, где j = от 1 до m), связанного с этим маршрутом.
Во время этой операции, контроллер 30 передает информацию модификации потока (сообщение FlowMod-Add) не только в таблицу 221 потоков узлового устройства 20-1, но также и на каждое из множества узловых устройств 20 (20-j, где j = от 1 до m), соединенных с управляющим устройством 30, и заносит запись потока, на основании информации о местоположении терминалов, в таблицу 221 потоков каждого узлового устройства 20. Информация модификации потока (сообщение FlowMod-Add) является своего рода сообщением OpenFlow.
А именно, контроллер 30 передает информацию модификации потока (сообщение FlowMod-Add) 54 на множество узловых устройств (узловые устройства 20-2, 20-3 и 20-4), соединенных с управляющим устройством 30, и тем самым заносит (обновляет или отражает) запись потока, включающую в себя местоположение (информацию о местоположении терминала) терминала 10-1, который соединен с узловым устройством 20-1, в таблицу 221 потоков каждого узлового устройства 20. Информация модификации потока (сообщение FlowMod-Add) является управляющим сообщением для обеспечения занесения записи потока в таблицу 221 потоков для каждого из узловых устройств 20-2, 20-3 и 20-4.
После завершения вышеописанного занесения данных, контроллер 30 передает информацию модификации потока (сообщение FlowMod-Add) 55 на узловое устройство 20-1, и таким образом заносит запись потока, включающую в себя местоположение (информацию о местоположении терминала) терминала 10-1, в таблицу 221 потоков узлового устройства 20-1. Информация модификации потока (сообщение FlowMod-Add) 55 является управляющим сообщением для обеспечения занесения записи потока в таблицу 221 потоков для узлового устройства 20-1.
Если после этого терминал 10-1 передает другой пакет 50, пакет 50 поступает в узловое устройство 20-1 через внешний порт 24.
Поскольку запись потока с информацией о местоположении терминала 10-1 уже была занесена в таблицу 221 потоков в узловом устройстве 20-1, если сравнение информации о местоположении терминалов дает в результате, что пакет 50 соответствует записи потока, и просмотр таблицы потоков дает в результате соответствие, пакет 50 переносится на узловое устройство 20-2 согласно управлению маршрутизацией от контроллера 30.
Во время этой операции, выполняется сравнение информации о местоположении терминалов для переноса между узловыми устройствами; однако, контроллер 30 блокирует генерирование запросной информации (сообщения packet-in), выполняя управление внутренними портами каждого узлового устройства. Другими словами, контроллер 30 отменяет генерирование запросной информации (сообщения packet-in) во время сравнения информации о местоположении терминалов для переноса между узловыми устройствами.
Узловое устройство 20-2 переносит переносимый пакет на терминал 10-4 в результате сравнения таблицы потоков.
<Третий иллюстративный вариант осуществления>
Ниже приводится описание третьего иллюстративного варианта осуществления настоящего изобретения. В третьем иллюстративном варианте осуществления настоящего изобретения, OpenFlow-перенос обеспечивается только за счет сравнения информации о местоположении терминалов, без выполнения сравнения таблицы потоков. А именно, выполняется сравнение информации о местоположении терминалов с использованием таблицы информации "MAC-адрес & порт", а затем выполняется сравнение адресата с использованием опять же таблицы информации "MAC-адрес & порт", чтобы обеспечить OpenFlow-перенос.
[Внутренняя конфигурация узловых устройств]
Со ссылкой на Фиг. 10, приводится описание внутренней конфигурации узловых устройств 20 (20-i, где i = от 1 до n) в настоящем иллюстративном варианте осуществления.
При приеме пакета 50, узловое устройство 20 (20-i, где i = от 1 до n) выполняет сравнение информации о местоположении терминалов, и если сравнение информации о местоположении терминалов дает в результате соответствие, обеспечивает перенос пакета, снова используя таблицу 211 информации "MAC-адрес & порт", которая уже использовалась для сравнения.
Например, если сравнение информации о местоположении терминалов дает в результате соответствие, узловое устройство 20 (20-i, где i = от 1 до n) снова сравнивает информацию MAC-адреса из таблицы 211 информации "MAC-адрес & порт", которая была использована для сравнения, с MAC-адресом адресата пакета; если имеет место соответствие, узловое устройство 20 выполняет перенос пакета.
Кроме того, если соответствия не встречается, узловое устройство 20 (20-i, где i = от 1 до n) генерирует запросную информацию (сообщение packet-in) 51.
Если сравнение информации о местоположении терминалов дает в результате несоответствие, например, узловое устройство 20 (20-i, где i = от 1 до n) генерирует запросную информацию (сообщение packet-in) 51 и передает запросную информацию (сообщение packet-in) 51 в контроллер 30.
На основании содержимого запросной информации (сообщения packet-in) 51, контроллер 30 обновляет таблицу 211 информации "MAC-адрес & порт" каждого узлового устройства 20, передавая информацию модификации потока (сообщение FlowMod-Add) 56 на каждое из множества узловых устройств 20 (20-j, где j = от 1 до m), соединенных с управляющим устройством 30. Информация модификации потока (сообщение FlowMod-Add) 56 является управляющим сообщением, используемым для обновления таблицы 211 информации "MAC-адрес & порт" для каждого узлового устройства 20.
[Сущность сравнения информации о местоположении терминалов]
Со ссылкой на Фиг. 11, в подробностях приводится описание сущности сравнения таблицы информации "MAC-адрес & порт" с MAC-адресом адресата пакета.
После выполнения сравнения информации о местоположении терминалов, средство 21 сравнения информации о местоположении терминалов снова сравнивает таблицу 211 информации "MAC-адрес & порт" с пакетом 50.
А именно, средство 21 сравнения информации о местоположении терминалов сравнивает набор(ы) из информации 2111 MAC-адреса, сохраненной в таблице 211 информации "MAC-адрес & порт", и номера 2112 порта, соотнесенного с информацией 2111 MAC-адреса, с информацией 501 MAC-адреса источника и номером 502 порта, которые находятся в пакете 50, в отношении порта и MAC.
Если сравнение дает в результате, что набор(ы) из информации 2111 MAC-адреса и номера 2112 порта соответствует набору из информации 501 MAC-адреса источника и номера 502 порта, средство 21 сравнения информации о местоположении терминалов сравнивает информацию 2111 MAC-адреса из таблицы 211 информации "MAC-адрес & порт" с информацией 503 MAC-адреса адресата из пакета 50, без использования информации 501 MAC-адреса источника и номера 502 порта, которые используются при сравнении информации о местоположении терминалов.
Если это сравнение дает в результате соответствие, средство 21 сравнения информации о местоположении терминалов переносит пакет 50, используя номер 2112 порта, соотнесенный с информацией 2111 MAC-адреса в таблице 211 информации "MAC-адрес & порт" как выходной порт.
<Связь между соответственными иллюстративными вариантами осуществления>
Следует отметить, что вышеописанные соответственные варианты осуществления могут быть объединены при реализации.
<Примеры аппаратного обеспечения>
Ниже приводится описание конкретного аппаратного обеспечения, используемого для создания сетевой системы в соответствии с настоящим изобретением.
Допустимые примеры терминалов и контроллера могут включать в себя компьютеры, такие как ПК (персональные компьютеры), электроприборы, серверы для работы с тонкими клиентами, рабочие станции, мейнфреймы и суперкомпьютеры. Другие примеры терминалов могут включать в себя IP-телефоны, сотовые телефоны, смартфоны, смартбуки, автомобильные навигационные системы, портативные игровые приставки, игровые автоматы, портативные музыкальные проигрыватели, ручные терминалы, гаджеты (электрооборудование), диалоговые телевизионные системы, цифровые тюнеры, цифровые записывающие устройства, информационные бытовые электроприборы, офисное автоматизированное оборудование, производственные терминалы, высокотехнологичные копировальные аппараты, и цифровую систему оповещения. Следует отметить, что терминалы и контроллер могут быть приемопередающими устройствами или периферийным устройством.
Возможные примеры узловых устройств могут включать в себя сетевые коммутаторы, маршрутизаторы, прокси-серверы, шлюзы, межсетевые экраны, устройства балансировки нагрузки, формирователи пакетов, монитор безопасности и управляющие устройства (системы SCADA:диспетчерское управление и сбор данных), охранные устройства, базовые станции, точки доступа (AP), спутники связи (CS) и компьютеры с несколькими портами связи.
Терминалы, узловые устройства и контроллер могут быть платой расширения или виртуальной машиной (ВМ) на основе физической машины. Терминалы, узловые устройства и контроллер могут быть установлены на подвижном элементе, таком как, транспортное средство, судно и летательный аппарат.
Хоть это и не показано, все терминалы, узловые устройства и контроллер реализуются посредством процессорного устройства, которое работает на основе программ для выполнения предварительно заданных процессов, запоминающего устройства, хранящего программы и различные данные, и интерфейса связи, используемого для связи с сетью.
Возможные примеры вышеупомянутого процессорного устройства могут включать в себя ЦП (центральный процессор), микропроцессоры, микроконтроллеры и специализированные полупроводниковые интегральные схемы (ИС).
Возможные примеры вышеописанного запоминающего устройства могут включать в себя: полупроводниковые запоминающие устройства, такие как ОЗУ (оперативные запоминающие устройства), ПЗУ (постоянные запоминающие устройства), ЭСППЗУ (электрически стираемые и программируемые постоянные запоминающие устройства) и флеш-память, вспомогательные запоминающие устройства, такие как HDD (накопители на жестких дисках) и SSD (твердотельные накопители), съемные диски, такие как DVD (цифровые универсальные диски), и носители записи, такие как карты памяти формата SD. Вышеописанное запоминающее устройство может быть буфером или регистром. В качестве альтернативы, запоминающее устройство может быть устройством хранения данных, которое использует DAS (систему хранения данных с прямым подключением), FC-SAN (волоконно-оптическую сеть хранения данных), NAS (систему хранения данных, подключаемую к сети), IP-SAN (IP-сеть хранения данных) или тому подобное.
Вышеописанные процессорное устройство и запоминающее устройство могут составлять единое целое. Например, в последнее время стало популярным объединение микрокомпьютеров и тому подобного в одном кристалле. Соответственно, в одной из возможных реализаций, однокристальный микрокомпьютер, установленный на электронном устройстве, или тому подобное может быть снабжен вышеописанными процессорным устройством и запоминающим устройством.
Возможные примеры вышеописанного интерфейса могут включать в себя платы, приспособленные для передачи информации по сети (материнские платы и платы ввода/вывода), полупроводниковые интегральные схемы, такие как чипы, сетевые адаптеры, такие как NIC (сетевые интерфейсные карты), аналогичные карты расширения, аппаратура связи, такая как антенны, а также порты связи соединительных устройств и тому подобное.
Возможные примеры сети могут включать в себя сеть Internet, LAN (локальные сети), беспроводные LAN, WAN (глобальные сети), магистральные линии связи, линии кабельного телевидения (CATV), сети фиксированной телефонной связи, сотовые телефонные сети, сети WiMAX (IEEE 802.16a), сети 3G (третьего поколения), арендуемые линии связи, связь с использованием технологии IrDA (Ассоциации по средствам передачи данных в инфракрасном диапазоне), связь с использованием технологии Bluetooth (зарегистрированная торговая марка), последовательные линии связи и шины передачи данных.
Следует отметить, что любые внутренние компоненты каждого из терминалов, узловых устройств, а также контроллера могут представлять собой модуль, компонент, специализированное устройство или запускающуюся (вызываемую) программу.
Следует также отметить, что фактическая реализация не ограничивается этими примерами.
<Резюме>
Как описано выше, настоящее изобретение имеет отношение к сетевой системе, которая обнаруживает терминал, соединенный с коммутатором, используя OpenFlow-функцию.
В настоящем изобретении, узловое устройство сравнивает набор из MAC-адреса источника и номера порта пакета, передаваемого от терминала на узловое устройство, с набором(ами) из информации MAC-адреса и номера порта, которые находятся в предварительной поисковой таблице (таблица информации "MAC-адрес & порт"), чтобы проверить, соответствуют ли они друг другу.
Если это сравнение не дает в результате соответствия, узловое устройство сообщает контроллеру набор из информации MAC-адреса источника и номера порта, находящихся в пакете, с помощью OpenFlow-функции запросной информации (сообщения packet-in). Узловое устройство обновляет предварительную поисковую таблицу, если необходимо.
Если нагрузка на контроллер неважна, узловое устройство может безусловно сообщать контроллеру набор из информации MAC-адреса источника и номера порта, находящихся в каждом пакете.
Кроме того, узловое устройство сравнивает информацию MAC-адреса адресата пакета с набором(ами) из информации MAC-адреса, находящейся в конечной поисковой таблице (таблица потоков), чтобы проверить, соответствуют ли они друг другу. Следует отметить, что при фактической реализации узловое устройство может сравнивать набор из MAC-адреса адресата и номера порта пакета с набором(ами) из информации MAC-адресов, находящейся в конечной поисковой таблице, чтобы проверить, соответствуют ли они друг другу.
Если это сравнение не дает в результате соответствия, узловое устройство делает запрос на действие, которое будет выполнено в отношении пакета, с помощью OpenFlow-функции запросной информации (сообщения packet-in). Узловое устройство также обновляет конечную поисковую таблицу, если необходимо.
Следует отметить, что в качестве предварительной поисковой таблицы и конечной поисковой таблицы используется общая таблица.
Это позволяет установить, к какому порту какого узлового устройства подсоединяется терминал, соединенный с группой узловых устройств, на основании только MAC-адреса источника и номера порта пакета, передаваемого от терминала.
Кроме того, благодаря регулированию управляющим устройством этой информации о подсоединении терминала, может быть обеспечено управление маршрутизацией с учетом местоположения терминала.
При этом содержимое данных конечной поисковой таблицы (таблицы потоков) может обновляться.
В настоящем изобретении, сравнение информации о местоположении терминалов выполняется для обнаружения перемещения терминалов, и если сравнение информации о местоположении терминалов дает в результате несоответствие, это запускает генерирование запросной информации (сообщения packet-in), содержащей в себе пакет; запросная информация (сообщение packet-in) передается в контроллер.
Кроме того, если сравнение информации о местоположении терминалов дает в результате несоответствие, передаваемый пакет копируется и копия пакета вводится в запросную информацию (сообщение packet-in); запросная информация (сообщение packet-in) передается в контроллер.
При этом запросная информация (сообщение packet-in), генерируемая в ответ на событие, когда сравнение информации о местоположении терминалов дает в результате несоответствие, отличается от запросной информации (сообщения packet-in), генерируемой в ответ на неудачу поиска в таблице потоков.
Кроме того, в настоящем изобретении, узловое устройство сообщает контроллеру о местоположении терминала, соединенного с узловым устройством, генерируя запросную информацию (сообщение packet-in). Это позволяет контроллеру получить информацию о местоположении терминала, соединенного с узловым устройством, на основании запросной информации (сообщения packet-in) узлового устройства.
При этом сообщение информации о местоположении терминала зависит от атрибутов портов. Например, порту соединения, через который соединяются узловые устройства, присваивается атрибут внутреннего порта, а порту соединения узлового устройства, через который соединяются узловое устройство и терминал, присваивается атрибут внешнего порта; это блокирует генерирование запросной информации (сообщения packet-in), генерируемой, когда сравнение информации о местоположении терминалов дает в результате несоответствие.
Также, в настоящем изобретении выполняется сравнение информации о местоположении терминалов. Например, набор(ы) из информации MAC-адреса и номера порта, которые находятся в узловом устройстве, сравнивается с набором из информации MAC-адреса источника и номера порта пакета, соответственно.
При этом выполняется перенос таблицы информации "MAC-адрес & порт". Например, таблица информации "MAC-адрес & порт" сравнивается с MAC-адресом назначения пакета, и если таблица информации "MAC-адрес & порт" соответствует MAC-адресу назначения пакета, пакет переносится в порт, соотнесенный с информацией MAC-адреса в таблице информации "MAC-адрес & порт".
Фактически, настоящее изобретение устанавливает для входящего потока, должны ли быть приняты пакеты от терминала-источника, посредством сравнения информации о местоположении терминалов (сравнения с использованием набора(ов) из MAC-адреса источника и номера порта), и устанавливает, должны ли быть перенесены пакеты на терминал назначения, посредством просмотра таблицы потоков (сравнения с использованием MAC-адреса назначения).
<Примечание>
Несмотря на то, что выше подробно описаны иллюстративные варианты осуществления настоящего изобретения, настоящее изобретение не должно интерпретироваться как ограничиваемое вышеописанными иллюстративными вариантами осуществления; настоящее изобретение охватывает модификации, которые не отступают от сущности настоящего изобретения.
Настоящая заявка притязает на приоритет на основе Заявки на Патент Японии Номер 2011-082765, и раскрытие согласно Заявке на Патент Японии Номер 2011-082765 включается в настоящую заявку путем ссылки.