Сетевая система, коммутатор и способ обнаружения подсоединенного терминала
Иллюстрации
Показать всеИзобретение относится к сетевой системе. Технический результат - обеспечение возможности сетевым устройствам управляться извне для достижения гибкого управления, такого как балансировка и смещение нагрузки. Для этого в сети OpenFlow устанавливают, к какому порту какого узлового устройства подсоединяется терминал, соединенный с группой узловых устройств, используя только MAC-адрес источника и номер порта пакета, передаваемого от терминала. А именно, узловое устройство сравнивает набор из номера порта и информации MAC-адреса источника пакета, передаваемого от терминала на узловое устройство, с набором(ами) из номера порта и информации MAC-адреса, находящихся в предварительной поисковой таблице, чтобы проверить, соответствуют ли они друг другу. Если сравнение не дает в результате соответствия, узловое устройство уведомляет контроллер с помощью OpenFlow-функции запросной информации (сообщения packet-in). Кроме того, узловое устройство сравнивает информацию MAC-адреса адресата пакета с набором(ами) из информации MAC-адресов, находящейся в конечной поисковой таблице, чтобы проверить, соответствуют ли они друг другу. 4 н. и 3 з.п. ф-лы, 11 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение имеет отношение к сетевой системе, а конкретнее, к сетевой системе, которая обнаруживает терминал, соединенный с коммутатором.
УРОВЕНЬ ТЕХНИКИ
Традиционные сетевые устройства подвержены проблеме, которая заключается в том, что они не могут управляться извне для достижения гибкого управления, такого как балансировка и смещение нагрузки. Соответственно, увеличение размера сети затрудняет осуществление контроля и усовершенствование работы системы, требуя больших затрат на изменение конструкции и конфигурации.
В качестве методики для разрешения такой проблемы, был предложен подход, при котором функция переноса пакетов и функция управления маршрутизацией сетевых устройств разделены. Если, например, сетевые устройства отвечают за функцию переноса пакетов, а контроллер, предоставленный внешним образом, отдельно от сетевых устройств, отвечает за функцию управления, это позволяет контроллеру выполнять централизованное регулирование переноса пакетов, давая возможность создания гибкой сети.
Разъяснение сети с разделенными ПУ/ПД
В качестве одной из сетей с разделенными функциями, была предложена сеть с разделенными ПУ/ПД (ПУ: плоскость управления / ПД: плоскость данных), в которой контроллер, предусмотренный на стороне плоскости управления, управляет узловыми устройствами, предусмотренными на стороне плоскости данных.
Одним из примеров сети с разделенными ПУ/ПД является сеть 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, чтобы провери