СЕТЕВАЯ СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ СЕТЬЮ
NETWORK SYSTEM AND NETWORK MANAGEMENT METHOD

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к сетевой системе, и конкретно - к сетевой системе, использующей сеть типа с раздельными CU (C: плоскость управления/U: плоскость пользователя).
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Система, в которой плоскостью пользователя, такой как коммутатор и терминал, управляет плоскость управления, такая как внешний контроллер, называется системой архитектуры типа с раздельными CU (C: плоскость управления/U: плоскость пользователя). Сеть, сконфигурированная на основе архитектуры типа с раздельными CU, называется сетью типа с раздельными CU.
В качестве примера сети типа с раздельными CU приводится пример сети OpenFlow, использующей технологию OpenFlow, которая управляет коммутаторами от контроллера, чтобы выполнять управление маршрутами сети.
(Пояснение сети OpenFlow)
В сети OpenFlow контроллер, такой как OFC (контроллер OpenFlow), манипулирует таблицей потоков коммутатора, такого как OFC (коммутатор OpenFlow), чтобы управлять поведением коммутатора. Контроллер и коммутатор соединяются по защищенному каналу, в котором контроллер управляет коммутатором путем использования управляющего сообщения, совместимого с протоколом OpenFlow.
Коммутаторы в сети OpenFlow конфигурируют сеть OpenFlow и именуются граничными коммутаторами или базовыми коммутаторами под управлением контроллера. Последовательность процессов передачи пакета от приема пакета на граничном коммутаторе входной стороны до передачи пакета на граничном коммутаторе выходной стороны в сети OpenFlow именуется потоком.
Таблицей потоков является таблица, в которой регистрируется запись о потоке, которая задает предопределенное содержимое (действие) обработки, которое должно быть выполнено над пакетом (данными связи), который соответствует предопределенному условию (правилу) соответствия.
Правило в записи о потоке является различимым и заданным на основании различных комбинаций из какого-либо или всех из адреса адресата, адреса источника, порта адресата и порта источника, включенных в область заголовка пакета на протокольном уровне. Следует отметить, полагается, что описанные выше адреса включают в себя MAC-адрес (управление доступом к среде передачи) и IP-адрес (протокол Internet). Кроме того, в дополнение к упомянутому выше, информация о порте входа также может использоваться в качестве части правила записи о потоке.
Действие в записи о потоке указывает действие "вывод на конкретный порт", "отбрасывание" или "перезапись заголовка". Например, если идентификационная информация порта вывода (номер порта вывода) указана для действия записи о потоке, коммутатор выводит пакет на порт, соответствующий идентификационной информации, тогда как если идентификационная информация порта вывода не указана, коммутатор отбрасывает пакет. Альтернативно, если информация заголовка указывается для действия записи о потоке, коммутатор переписывает заголовок пакета на основе информации заголовка.
Коммутатор в сети OpenFlow выполняет действие, заданное в записи о потоке, над группой пакетов (последовательностью пакетов), удовлетворяющей правилу записи о потоке.
Подробности технологии OpenFlow были описаны в непатентной литературе 1 и 2.
Когда виртуальная машина (VM) работает на сервере ниже коммутатора в сетевой системе, использующей технологию OpenFlow, контроллер запрашивается для приема запроса ARP (протокол разрешения адресов) от сгенерированной виртуальной машины посредством коммутатора при каждой генерации виртуальной машины на сервере ниже коммутатора. Кроме того, контроллер запрашивается, чтобы идентифицировать идентификационную информацию и информацию местоположения (информацию сервера) виртуальной машины и установить запись о потоке для пакета, имеющего назначением виртуальную машину, для коммутатора. По этой причине такие процессы сосредоточены на контроллере, и, следовательно, на контроллер налагается большая нагрузка.
Например, когда десятки виртуальных машин работают на каждом из тысяч физических серверов, соединенных с сетью, от десятков тысяч до сотен тысяч виртуальных машин в итоге находятся в рабочем состоянии. Нагрузка, налагаемая на контроллер, является огромной, когда контроллер принимает запрос APR не от физических серверов, а от каждой из виртуальных машин, идентифицирует идентификационную информацию и информацию местоположения виртуальной машины и устанавливает запись о потоке для пакета, имеющего назначением виртуальную машину, для коммутатора на основе таких порций информации.
Список цитат
[Непатентная литература 1] "The OpenFlow Switch Consortium" (Консорциум по коммутаторам OpenFlow) <http://www.openflowswitch.org/>
[Непатентная литература 2] "OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01) December 31, 2009" (Спецификация коммутатора OpenFlow, версия 1.0.0 (Протокол проводной связи 0x01) 31 декабря 2009 года) <http://www.openflowswitch.org/documents/openflow-spec-vl.0.0.pdf>.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Целью настоящего изобретения является обеспечение сетевой системы, в которой контроллер управляет идентификационной информацией виртуальной машины, которая работает на сервере ниже коммутатора, и идентификационной информацией сервера и устанавливает запись о потоке для коммутатора параллельно генерации виртуальной машины и операции миграции.
Сетевая система согласно настоящему изобретению включает в себя систему управления, сконфигурированную для управления сетью, контроллер, сконфигурированный для сохранения информации сервера в соответствии с установкой от системы управления, и коммутатор, конфигурирующий сеть, и сконфигурированный с возможностью регистрировать запись о потоке, в которой задаются правило и действие, согласно управлению от контроллера, чтобы единообразно управлять пакетом в виде потока, и исполнять действие записи о потоке для пакета, который соответствует правилу записи о потоке. Контроллер вычисляет маршрут связи к серверу на основании установленной информации сервера и устанавливает запись о потоке для пакета, имеющего назначением сервер, для коммутатора.
Контроллер согласно настоящему изобретению включает в себя секцию хранения, которая сохраняет информацию сервера, которая устанавливается системой управления, управляющей сетью, и секцию обработки, который вычисляет маршрут связи к серверу на основании установленной информации сервера и устанавливает запись о потоке для пакета, имеющего назначением сервер, для коммутатора, который конфигурирует сеть, и передает пакет приема согласно установленной записи о потоке.
В способе управления сетью согласно настоящему изобретению компьютер, функционирующий в качестве контроллера, сохраняет информацию сервера, установленную от системы управления, которая управляет сетью. Кроме того, контроллер вычисляет маршрут связи к серверу на основании установленной информации сервера, и устанавливает запись о потоке для пакета, имеющего назначением сервер, для коммутатора, который конфигурирует сеть, и передает пакет приема согласно установленной записи о потоке.
Программой согласно настоящему изобретению является программа, которая побуждает компьютер исполнять: сохранение информации сервера, установленной от системы управления, которая управляет сетью, вычисление маршрута связи к серверу на основании установленной информации сервера и установку записи о потоке для пакета, имеющего назначением сервер, для коммутатора, который конфигурирует сеть и передает пакет приема согласно установленной записи о потоке. Следует отметить, что программа согласно настоящему изобретению может храниться в блоке хранения и на носителе данных.
Таким образом, в сетевой системе, использующей технологию OpenFlow, когда виртуальная машина генерируется на сервере ниже коммутатора, нагрузка, налагаемая на контроллер, может быть снижена.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - концептуальная схема, иллюстрирующая пример конфигурации сетевой системы согласно настоящему изобретению.
Фиг.2 - схема, показывающая процесс проверки предварительно установленной информации и фактически обнаруженной информации в настоящем изобретении.
Фиг.3 - блок-схема, иллюстрирующая процесс регистрации установочной информации в настоящем изобретении.
Фиг.4 - блок-схема, иллюстрирующая процесс изменения установочной информации в настоящем изобретении.
Фиг.5 - функциональная блок-схема, иллюстрирующая пример конфигурации контроллера согласно настоящему изобретению.
ОПИСАНИЕ ПРИМЕРНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Настоящее изобретение относится к сети типа с раздельными CU. Здесь, сеть OpenFlow, которая является одной из сетей типа с раздельными CU, будет описана в качестве примера. Следует отметить, что настоящее изобретение не ограничивается сетью OpenFlow.
Первый примерный вариант осуществления
Первый примерный вариант осуществления настоящего изобретения будет описан со ссылкой на прилагаемые чертежи.
(Конфигурация системы)
Как проиллюстрировано на Фиг.1, сетевая система согласно настоящему изобретению включает в себя систему 10 управления, контроллер (OFC: контроллер OpenFlow) 20, коммутатор 30, серверы 40, виртуальную машину(ы) (VM) 50 и маршрутизатор 60.
Может иметься множество систем 10 управления, множество контроллеров 20, множество коммутаторов 30, множество серверов 40, множество виртуальных машин 50 и множество маршрутизаторов 60. То есть, полагается, что будут присутствовать по меньшей мере одна система 10 управления, один контроллер 20, один коммутатор 30, один сервер 40, одна виртуальная машина 50 и один маршрутизатор 60.
Система 10 управления управляет узлами или услугами в сети типа с раздельными CU. Система 10 управления управляет коммутаторами, маршрутизаторами и серверами. Например, система 10 управления управляет сетью путем использования аппаратных и программных конфигураций для реализации NMS (системы управления сетью) или EMS (системы управления элементами). Кроме того, система 10 управления устанавливает виртуальный MAC-адрес и виртуальный IP-адрес каждой из виртуальных машин и физический MAC-адрес сервера, на котором работают виртуальные машины, для контроллера 20 в качестве информации виртуальной машины (информации VM). Здесь полагается, что информация виртуальной машины должна быть установлена в системе 10 управления заранее.
Следует отметить, что виртуальный MAC-адрес, виртуальный IP-адрес, физический MAC-адрес являются лишь примерами информации местоположения в сети. Фактически, информация местоположения не ограничивается MAC-адресом или IP-адресом, но является достаточной, если она представляет собой информацию для идентификации виртуальной машины или сервера.
Контроллер 20 управляет сетью типа с раздельными CU. Контроллер 20 выполняет управление маршрутами для коммутаторов 30 согласно установке системой 10 управления. Здесь полагается, что контроллер 20 является контроллером, совместимым с технологией OpenFlow, и запись о потоке для пакета, имеющего назначением сервер, устанавливается для коммутатора на основе физического MAC-адреса сервера, сообщенного от любого из коммутаторов 30.
Кроме того, в качестве информации виртуальной машины, контроллер 20 сохраняет таблицу, в которой виртуальный MAC-адрес и виртуальный IP-адрес каждой из виртуальных машин и физический MAC-адрес сервера, на котором работают виртуальные машины, являются связанными друг с другом согласно установкам системой 10 управления. Как проиллюстрировано на Фиг.2, контроллер 20 проверяет физический MAC-адрес сервера, установленный системой 10 управления, и физический MAC-адрес сервера, сообщенный от коммутатора 30, и, если физические MAC-адреса совпадают друг с другом, связывает их друг с другом. Кроме того, контроллер 20 устанавливает запись о потоке для пакета, имеющего назначением виртуальную машину, для коммутаторов 30 на основе виртуального MAC-адреса и виртуального IP-адреса виртуальной машины на сервере.
Что касается Фиг.2, контроллер 20 проверяет физический MAC-адрес ("SV1 MAC" в "информации VM") сервера, установленный системой 10 управления, и физический MAC-адрес ("SV1 MAC" в "информации сервере") сервера, сообщенный от коммутатора 30. Здесь, физические MAC-адреса соответствуют друг другу, и, следовательно, контроллер 20 связывает физические MAC-адреса друг с другом и устанавливает запись о потоке для пакета, имеющего назначением виртуальную машину, для коммутаторов 30 на основе виртуального MAC-адреса и виртуального IP-адреса ("VM1 MAC" и "VM1 IP" в "информации VM") виртуальной машины на сервере.
Кроме того, при сообщении изменения физического MAC-адреса сервера, на котором работает виртуальная машина, посредством установки системой 10 управления, контроллер 20 устанавливает изменение записи о потоке для пакета, имеющего назначением виртуальную машину, для коммутатора 30. Например, при изменении коммутаторов 30 на текущем маршруте вследствие изменения физического MAC-адреса сервера, контроллер 20 удаляет запись о потоке, которая была установлена для коммутаторов 30 на текущем маршруте, для пакета, имеющего назначением виртуальную машину, и устанавливает запись о потоке для пакета, имеющего назначением виртуальную машину, для коммутаторов 30, соответствующих серверу после изменения.
Дополнительно, когда запрос ARP (протокола разрешения адресов) отправляется от виртуальной машины после того, как запись о потоке для пакета, имеющего назначением виртуальную машину, установлена для коммутаторов 30, контроллер принимает запрос ARP от виртуальной машины посредством коммутаторов 30 и обращается к виртуальному MAC-адресу и виртуальному IP-адресу виртуальной машины, которые сохраняются в качестве информации виртуальной машины. Таким образом, контроллер 20 отправляет ответ ARP на виртуальную машину на основе релевантной информации.
Каждый из коммутаторов 30 выполняет пересылку пакета в сети типа с раздельными CU. Здесь, каждый из коммутаторов 30 является коммутатором, совместимым с технологией OpenFlow, и полагается, что сохраняет таблицу потоков. Когда какой-либо из коммутаторов 30 соединяется с сервером 40 под его управлением, коммутатор 30 обнаруживает физический MAC-адрес сервера 40 во время приема запроса ARP от сервера 40 и сообщает физический MAC-адрес сервера 40 на контроллер 20. Альтернативно, коммутатор 30 может сообщать физический MAC-адрес сервера на контроллер 20 путем приема запроса ARP, запрашивающего физический MAC-адрес сервера 40, от контроллера 20, пересылки запроса ARP на сервер 40 и пересылки ответа ARP от сервера 40 на контроллер 20. Это происходит, поскольку считается, что число физических серверов мало по сравнению с числом виртуальных серверов, так что нагрузка, налагаемая на контроллер, является только относительно малой, если выполняется только процесс запроса идентификационной информации физического сервера. В это время коммутатор 30 сообщает номер порта коммутатора 30, соединенного с сервером, на контроллер 20 в дополнение к физическому MAC-адресу сервера в качестве информации сервера. Таким образом, контроллер 20 может выявить, что сервер 40 находится под управлением коммутатора 30.
Каждый из серверов 40 является физическим сервером под управлением соответствующего коммутатора 30 и обеспечивает услугу в сети типа с раздельными CU.
Здесь, каждый из серверов 40 управляет соответствующими виртуальными машинами (VM) 50. Виртуальная машина (VM) 50 может работать на сервере 40. Например, сервер 40 генерирует виртуальную машину 50 посредством диспетчера виртуальных машин (VMM), такого как гипервизор, чтобы побудить работать виртуальные машины 50. Следует отметить, что роль и применение сервера 40 не ограничиваются таковыми из упомянутого выше примера.
Каждая из виртуальных машин 50 является виртуальной машиной (VM), работающей на соответствующем сервере 40. Набор из виртуального MAC-адреса и виртуального IP-адреса для каждой из виртуальных машин 50 является одним из наборов из виртуальных MAC-адресов и виртуальных IP-адресов виртуальных машин, сохраняемых системой 10 управления.
(Дополнение)
В этом случае система 10 управления может управлять рабочими состояниями всех виртуальных машин, и одновременно выдавать на серверы 40 инструкции для генерирования виртуальных машин 50 и сообщать информацию виртуальной машины на контроллер 20.
Кроме того, когда какой-либо из серверов 40 генерирует виртуальную машину 50, чтобы побудить ее к работе, сервер 40 может прямо или косвенно сообщить системе 10 управления виртуальный MAC-адрес и виртуальный IP-адрес виртуальной машины 50 и ее физический MAC-адрес.
Маршрутизатор 60 является блоком пересылки, который соединяет коммутаторы 30 и внешнюю сеть (такую как Интернет). На Фиг.1 в качестве маршрутизатора 60 иллюстрируются маршрутизатор доступа и центральный маршрутизатор. Маршрутизатором доступа является блок пересылки, который осуществляет соединение коммутаторов 30 и центрального маршрутизатора. Центральным маршрутизатором является блок пересылки, который соединяет маршрутизаторы доступа и внешнюю сеть.
(Иллюстрация аппаратного обеспечения)
Конкретные примеры аппаратного обеспечения для реализации сетевой системы согласно настоящему изобретению будут описаны ниже.
В качестве примера каждого из системы 10 управления, контроллера 20 и серверов 40, иллюстрируется компьютер, такой как PC (персональный компьютер, ПК), бытовое устройство, рабочая станция, универсальная ЭВМ и суперкомпьютер. В качестве другого примера каждого из серверов 40 иллюстрируется мобильный телефон, интеллектуальный телефон, интеллектуальная книга, автомобильная навигационная система, переносная игровая машина, игровая машина домашнего применения, гаджет (электронное устройство), телевизионный приемник двустороннего действия, цифровой тюнер, цифровое записывающее устройство, бытовой информационный прибор, терминал пункта продажи (POS), устройство автоматизации учрежденческой деятельности (OA), интеллектуальное копировальное устройство, система цифровых табло или подобное. Кроме того, каждый из системы 10 управления, контроллера 20 и серверов 40 может быть платой расширения, вмонтированной в компьютер, или подобным, или виртуальной машиной (VM), созданной на физической машине. Система 10 управления, контроллер 20 и серверы 40 могут быть вмонтированными в движущийся объект, такой как транспортное наземное, водное или воздушное средство.
В качестве примера каждого из коммутаторов 30, иллюстрируется сетевой коммутатор или подобное. Кроме того, в качестве примера каждого из маршрутизаторов 60, иллюстрируется типовой маршрутизатор или подобное. В качестве другого примера каждого из коммутаторов 30 и маршрутизаторов 60 иллюстрируется прокси-сервер, шлюз, брандмауэр, блок балансировки нагрузки, контроллер полосы пропускания/контроллер мониторинга безопасности («привратник»), базовая станция, точка доступа (AP), спутник связи (CS) или компьютер, имеющий множество портов связи.
В качестве примера сети, соединяющей друг с другом систему 10 управления, контроллер 20, коммутаторы 30, серверы 40 и маршрутизаторы 60, иллюстрируется LAN (локальная сеть). В качестве другого примера также иллюстрируется Интернет, беспроводная LAN, WAN (глобальная сеть), базовая сеть, линия кабельного телевидения (CATV), сеть стационарной телефонной связи, сеть мобильной телефонной связи, сеть стандарта WiMAX (IEEE 802.16a), сеть 3G (3-го поколения), арендованная линия связи, сеть стандарта IrDA (Ассоциации специалистов по проблемам передачи данных в инфракрасном диапазоне), Bluetooth (зарегистрированный товарный знак), линия последовательной связи, шина данных или подобное.
Хотя не проиллюстрировано, каждый из системы 10 управления, контроллера 20, коммутаторов 30, серверов 40 и маршрутизаторов 60 реализуется посредством процессора, который работает на основе программы для исполнения предопределенного процесса, памяти, которая хранит программу и различные типы данных, и интерфейса связи (I/F).
В качестве примера вышеупомянутого процессора иллюстрируется ЦП (центральный процессор, CPU), микропроцессор, сетевой процессор (NP), микроконтроллер, полупроводниковая интегральная схема (IC), имеющая специальную функцию или подобное.
В качестве примера вышеупомянутой памяти иллюстрируется полупроводниковое устройство хранения, такое как ОЗУ (оперативное запоминающее устройство, RAM), ПЗУ (постоянное запоминающее устройство, ROM), EEPROM (электрически стираемое программируемое постоянное запоминающее устройство) или флэш-память, вспомогательное устройство хранения данных, такое как HDD (накопитель на жестком диске) или SSD (твердотельный накопитель), съемный диск, такой как DVD (цифровой многофункциональный диск), носитель данных, такой как флэш-карта формата SD (Secure Digital) или подобное. Кроме того, также приводится пример буфера или регистра. Альтернативно, также иллюстрируется устройство хранения данных, использующее DAS (накопитель с прямым подключением), FC-SAN (сеть хранения данных с использованием технологии Fibre Channel), NAS (сеть с подключенными хранилищами данных), IP-SAN (IP-сеть хранения данных) или подобное.
В качестве примера вышеупомянутого интерфейса связи, иллюстрируется полупроводниковая интегральная схема, такая как плата (системная плата или плата ввода-вывода), соответствующая сетевым средствам связи, сетевой адаптер, такой как NIC (сетевая интерфейсная плата) или подобная плата расширения, устройство связи, такое как антенна, порт связи, такой как соединительный порт (соединитель) или подобное.
Следует отметить, что внутренняя конфигурация, которая реализует обработку каждым из системы 10 управления, контроллера 20, коммутаторов 30, серверов 40 и маршрутизаторов 60, может быть модулем, компонентом или специализированным устройством, или альтернативно-активирующей (вызывающей) программой для этого.
Следует отметить, что на практике настоящее изобретение не ограничивается каким-либо из таких примеров.
(Процесс регистрации информации установки)
Со ссылкой на Фиг.3 будут описаны подробности процесса регистрации информации установки в настоящем примерном варианте осуществления.
(1) Этап S101
Система 10 управления устанавливает для контроллера 20 в качестве информации виртуальной машины (VM), виртуальный MAC-адрес и виртуальный IP-адрес виртуальной машины 50 и физический MAC-адрес сервера 40, на котором работает виртуальная машина 50.
(2) Этап S102
Контроллер 20 сохраняет в качестве информации виртуальной машины, виртуальный MAC-адрес и виртуальный IP-адрес виртуальной машины 50 и физический MAC-адрес сервера 40, на котором работает виртуальная машина 50, на основе установок системой 10 управления.
(3) Этап S103
Когда какой-либо из коммутаторов 30 находится в состоянии соединения с сервером 40 ниже коммутатора и принимает запрос ARP от сервера 40, коммутатор 30 обнаруживает физический MAC-адрес сервера 40 и сообщает физический MAC-адрес сервера 40 на контроллер 20. В это время контроллер 20 устанавливает запись о потоке для пакета, имеющего назначением сервер 40, для коммутатора 30 на основе физического MAC-адреса сервера 40 путем использования способа OpenFlow.
(4) Этап S104
Контроллер 20 проверяет сохраненный физический MAC-адрес сервера и физический MAC-адрес сервера, сообщенный от коммутатора 30, и связывает физические MAC-адреса друг с другом, если физические MAC-адреса соответствуют друг другу. Затем контроллер 20 устанавливает для коммутатора 30 запись о потоке для пакета, имеющего назначением виртуальную машину 50, на основе виртуального MAC-адреса и виртуального IP-адреса виртуальной машины 50 на сервере.
(5) Этап S105
Сервер 40 генерирует виртуальную машину 50 посредством диспетчера виртуальных машин (VMM), такого как гипервизор, и побуждает ее к работе.
(6) Этап S106
После установления записи о потоке для пакета, имеющего назначением виртуальную машину 50, коммутатор 30 принимает запрос ARP от виртуальной машины 50. Здесь, коммутатор 30 передает запрос ARP от виртуальной машины 50 на контроллер 20.
(7) Этап S107
Контроллер 20 принимает запрос ARP от виртуальной машины 50 посредством коммутатора 30 и обращается к информации виртуальной машины, чтобы отправить ответ ARP обратно на виртуальную машину 50.
(Процесс изменения информации установки)
Со ссылкой на Фиг.4 будут описаны подробности процесса изменения информации установки в настоящем примерном варианте осуществления.
(1) Этап S201
При изменении физического MAC-адреса сервера, на котором работает виртуальная машина 50, система 10 управления снова устанавливает виртуальный MAC-адрес и виртуальный IP-адрес виртуальной машины и физический MAC-адрес сервера после изменения в контроллер 20 в качестве информации виртуальной машины (VM). В это время система 10 управления может повторно устанавливать только физический MAC-адрес сервера в контроллер 20 на основе содержимого после изменения.
(2) Этап S202
Если изменение физического MAC-адреса сервера 40, на котором работает виртуальная машина 50, сообщается на основе установок системой 10 управления, контроллер 20 устанавливает изменение записи о потоке для пакета, имеющего назначением виртуальную машину 50, для коммутатора 30.
(3) Этап S203
Виртуальная машина 50 мигрирует с сервера 40 посредством диспетчера виртуальных машин (VMM), такого как гипервизор.
(4) Этап S204
Коммутатор 30, соответствующий серверу 40 в качестве адресата миграции виртуальной машины 50, принимает запрос ARP от мигрировавшей виртуальной машины 50 после того, как установлена запись о потоке для пакета, имеющего назначением виртуальную машину 50. Здесь, коммутатор 30 передает запрос ARP от виртуальной машины 50 на контроллер 20.
(5) Этап S205
Контроллер 20 принимает запрос ARP от виртуальной машины 50 посредством коммутатора 30 и обращается к информации виртуальной машины, чтобы отправить ответ ARP обратно на виртуальную машину 50.
(Пример конфигурации контроллера)
Конфигурация контроллера согласно настоящему изобретению представлена в виде функциональных блоков на основе вышеупомянутого содержимого.
Как проиллюстрировано на Фиг.5, контроллер 20 согласно настоящему изобретению оснащен секцией 21 хранения, секцией 22 обнаружения и секцией 23 установки.
Секция 21 хранения сохраняет информацию виртуальной машины, установленную системой 10 управления, то есть, виртуальный MAC-адрес и виртуальный IP-адрес виртуальной машины, и физический MAC-адрес сервера с работающей на нем виртуальной машиной. В этом случае, секция 21 хранения также сохраняет виртуальный MAC-адрес и виртуальный IP-адрес виртуальной машины 50, и физический MAC-адрес сервера 40 с работающей на нем виртуальной машиной 50.
Секция 22 обнаружения обнаруживает физический MAC-адрес сервера 40 ниже коммутатора 30, посредством коммутатора 30. Здесь, секция 22 обнаружения обнаруживает физический MAC-адрес сервера 40 путем приема посредством коммутатора 30 пакета, который включает в себя физический MAC-адрес сервера 40 в области адреса источника информации заголовка. Кроме того, секция 22 обнаружения может сохранять обнаруженную информацию в секции 21 хранения.
Секция 23 установки проверяет физический MAC-адрес сервера, установленный системой 10 управления, и физический MAC-адрес сервера 40, обнаруженный посредством коммутатора 30, и связывает физические MAC-адреса друг с другом, если физические MAC-адреса соответствуют друг другу, и устанавливает для коммутатора 30 запись о потоке для пакета, имеющего назначением виртуальную машину 50, на основе виртуального MAC-адреса и виртуального IP-адреса виртуальной машины 50 на сервере 40.
Секция 21 хранения, секция 22 обнаружения и секция 23 установки реализуются посредством процессора, приводимого в действие на основе программы для исполнения предопределенного процесса, памяти, которая хранит программу и различные типы данных, и интерфейса связи (I/F).
[Второй примерный вариант осуществления]
В нижеследующем будет описан второй примерный вариант осуществления настоящего изобретения.
В первом примерном варианте осуществления настоящего изобретения коммутатор 30 обнаруживает идентификационную информацию сервера 40 под его управлением и сообщает идентификационную информацию сервера 40 на контроллер 20. Если идентификационная информация сервера 40, установленная системой 10 управления, и идентификационная информация сервера 40, сообщенная от коммутатора 30, соответствуют друг другу, контроллер 20 вычисляет маршрут для связи с сервером 40, и устанавливает запись о потоке для пакета, имеющего назначением сервер 40, для коммутатора 30.
Однако если заранее является известным, какой сервер находится ниже какого коммутатора, и идентификационная информация сервера 40 ниже коммутатора 30 устанавливается от системы 10 управления для контроллера 20 в качестве идентификационной информации сервера 40, то контроллеру 20 не требуется проверять идентификационную информацию сервера 40, установленную системой 10 управления, и идентификационную информацию сервера 40, сообщенную от коммутатора 30. В этом случае контроллер 20 может вычислять маршрут для связи с сервером 40 на основе только идентификационной информации сервера 40, установленной системой 10 управления, без сообщения от коммутатора 30 идентификационной информации сервера 40 ниже коммутатора 30, и может установить запись о потоке для пакета, имеющего назначением сервер 40, для коммутатора 30.
<Взаимосвязь между примерными вариантами осуществления>
Следует отметить, что вышеупомянутые соответственные иллюстративные варианты осуществления могут выполняться в комбинации. Например, когда является заранее известным, какой сервер находится ниже коммутатора относительно только части коммутаторов, считается, что любой из коммутаторов, ниже которых сервер является предварительно известным, применяется со способом из второго примерного варианта осуществления, и коммутатор, ниже которого сервер не является предварительно известным, применяется со способом из первого примерного варианта осуществления.
ДОПОЛНИТЕЛЬНЫЕ ПРИМЕЧАНИЯ
Часть или все вышеописанные иллюстративные варианты осуществления также могут быть описаны в нижеследующих дополнительных примечаниях. Однако, на практике, настоящее изобретение не ограничивается каким-либо одним из следующих дополнительных примечаний.
(Дополнительное примечание 1)
Сетевая система включает в себя:
контроллер, в котором устанавливаются идентификационная информация виртуальной машины и идентификационная информация сервера, на котором работает виртуальная машина; и
коммутатор, сконфигурированный для обнаружения идентификационной информации сервера ниже коммутатора, и сообщения идентификационной информации сервера ниже коммутатора на контроллер,
причем, когда установленная идентификационная информация сервера и идентификационная информация сервера ниже коммутатора, сообщенная от коммутатора, соответствуют друг другу, контроллер устанавливает запись о потоке для пакета, имеющего назначением виртуальную машину, для коммутатора на основании идентификационной информации виртуальной машины на сервере.
(Дополнительное примечание 2)
Сетевая система по Дополнительному примечанию 1, дополнительно включает в себя систему управления, сконфигурированную для установки идентификационной информации виртуальной машины и идентификационной информации сервера, на котором виртуальная машина работает, в контроллер,
причем контроллер устанавливает измененную запись о потоке для пакета, имеющего назначением виртуальную машину, в коммутатор, когда изменение идентификационной информации сервера, на котором работает виртуальная машина, сообщается от системы управления в течение работы виртуальной машины.
(Дополнительное примечание 3)
Контроллер включает в себя:
часть хранения, которая сохраняет идентификационную информацию о виртуальной машине, и идентификационную информацию о сервере, который управляет виртуальной машиной;
часть обнаружения, которая посредством коммутатора, который передает принятый пакет в соответствии с установленной записью о потоке, обнаруживает идентификационную информацию о сервере ниже коммутатора; и
часть установки, которая при соответствии друг другу обнаруженной идентификационной информации о сервере и сохраненной идентификационной информации о сервере, на основе идентификационной информации о виртуальной машине на сервере, устанавливает для коммутатора запись о потоке для пакета, имеющего назначением виртуальную машину.
(Дополнительное примечание 4)
Способ управления сетью включает в себя:
установку идентификационной информации виртуальной машины и идентификационной информации сервера, которым оперирует виртуальная машина, в контроллер;
обнаружение идентификационной информации сервера ниже коммутатора посредством контроллера через коммутатор; и
установку записи о потоке для пакета, имеющего назначением виртуальную машину, для коммутатора на основании обнаруженной идентификационной информации виртуальной машины на сервере, когда установленная идентификационная информация о сервере и обнаруженная идентификационная информация сервера соответствуют друг другу.
(Дополнительное примечание 5)
Способ управления сетью по дополнительному примечанию 4, дополнительно включает в себя:
установку идентификационной информации виртуальной машины и идентификационной информации сервера, на котором работает виртуальная машина, в контроллер посредством системы управления; и
установку измененной записи о потоке для пакета, имеющего назначением виртуальную машину, для коммутатора при сообщении изменения идентификационной информации сервера, на котором работает виртуальная машина, от системы управления на контроллер в течение работы виртуальной машины.
(Дополнительное примечание 6)
Носитель данных, который хранит программу, которая побуждает компьютер исполнять:
сохранение идентификационной информации виртуальной машины и идентификационной информации сервера, на котором работает виртуальная машина;
обнаружение идентификационной информации сервера ниже коммутатора посредством коммутатора, который передает пакет приема, на основании установленной записи о потоке; и
установку записи о потоке для пакета, имеющего назначением виртуальную машину на сервере, для коммутатора на основании идентификационной информации виртуальной машины на сервере, когда обнаруженная идентификационная информация сервера и сохраненная идентификационная информация сервера соответствуют друг другу.
<ПРИЗНАКИ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ>
Как описано выше, настоящее изобретение предназначается для сети типа с раздельными CU, такой как сеть OpenFlow. Следует отметить, что сеть OpenFlow является лишь примером. Фактически, настоящее изобретение может также предназначаться для сети, в которой выполняется управление маршрутом отличное от "управления потоками с использованием технологии OpenFlow".
В настоящем изобретении, параллельно генерации и миграции виртуальной машины, запись о потоке устанавливается в коммутатор. То есть, установка записи о потоке для коммутатора осуществляется до начала связи виртуальной машины.
В настоящем изобретении идентификационная информация виртуальной машины и идентификационная информация сервера, на котором работает виртуальная машина, устанавливаются в контроллер посредством внешней системы управления. Контроллер может получать идентификационную информацию виртуальной машины, работающей на сервере, посредством коммутатора путем обнаружения идентификационной информации сервера ниже коммутатора, и сверки обнаруженной информации с установленной идентификационной информацией сервера. Следовательно, контроллеру не требуется запрашивать идентификационную информацию виртуальной машины всякий раз, когда генерируется виртуальная машина. Соответственно, нагрузка контроллера значительно снижается по сравнению со случаем, где настоящее изобретение не применяется.
В упомянутом выше были подробно описаны иллюстративные варианты осуществления настоящего изобретения. Однако, на практике, настоящее изобретение не ограничивается ни одним из вышеописанных иллюстративных вариантов осуществления, и любая модификация без выхода за рамки существа настоящего изобретения также включается в настоящее изобретение.
Следует отметить, что по этой заявке испрашивается приоритет на основании заявки на патент Японии за номером № JP 2010-202444. Раскрытие таковой включено в настоящий документ путем ссылки.