RU2574350C2 - Computer system and method for communication in computer system - Google Patents

Computer system and method for communication in computer system Download PDF

Info

Publication number
RU2574350C2
RU2574350C2 RU2013110287/08A RU2013110287A RU2574350C2 RU 2574350 C2 RU2574350 C2 RU 2574350C2 RU 2013110287/08 A RU2013110287/08 A RU 2013110287/08A RU 2013110287 A RU2013110287 A RU 2013110287A RU 2574350 C2 RU2574350 C2 RU 2574350C2
Authority
RU
Russia
Prior art keywords
node
switches
flow element
packet
controller
Prior art date
Application number
RU2013110287/08A
Other languages
Russian (ru)
Other versions
RU2013110287A (en
Inventor
Масанори ТАКАСИМА
Томохиро КАСЕ
Хироси УЕНО
Такахиса МАСУДА
Сухун ИУН
Original Assignee
Нек Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Нек Корпорейшн filed Critical Нек Корпорейшн
Priority claimed from PCT/JP2011/070137 external-priority patent/WO2012033041A1/en
Publication of RU2013110287A publication Critical patent/RU2013110287A/en
Application granted granted Critical
Publication of RU2574350C2 publication Critical patent/RU2574350C2/en

Links

Images

Abstract

FIELD: radio engineering, communication.
SUBSTANCE: computer system comprises: a controller; a plurality of switches, each performing a relay procedure which is defined in a stream element specified by the controller with respect to a packet coordinated with said stream element, and a plurality of nodes performing communication through any of the plurality of switches, wherein the controller receives a first MAC address of a first node from the plurality of nodes from the first node and specifies the first MAC address as a destination address in a stream element rule for each of the plurality of switches and specifies transfer processing for the destination node as the action of the stream element for each of the plurality of switches; each of the plurality switches transfers a packet containing a destination address to the destination node based on the stream element specified for said switch, irrespective of the transmission source address of said packet.
EFFECT: reducing consumption of computer system resources by implementing optimal routing.
10 cl, 13 dwg

Description

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Настоящее изобретение относится к компьютерной системе и способу осуществления связи в компьютерной системе и, в частности, относится к компьютерной системе, использующей метод OpenFlow.The present invention relates to a computer system and a method for communicating in a computer system, and in particular, relates to a computer system using the OpenFlow method.

Предшествующий уровень техникиState of the art

При осуществлении связи с использованием Ethernet (зарегистрированный товарный знак) гибкость физической линии связи, которую можно использовать в сети, утрачивается вследствие протокола связующего дерева (STP) и, соответственно, постепенно утрачивается возможность осуществления связи по множественным маршрутам.When communicating using Ethernet (registered trademark), the flexibility of a physical communication line that can be used on a network is lost due to the Spanning Tree Protocol (STP) and, accordingly, the ability to communicate over multiple routes is gradually lost.

Для решения проблемы предложено управление маршрутами посредством OpenFlow (см. непатентный источник 1). Компьютерная система, использующая метод OpenFlow, раскрыта, например, в JP 2003-229913A (патентный источник 1). Сетевой коммутатор, соответствующий методу (далее именуемый программируемым коммутатором потоков (PFS), сохраняет подробную информацию, например, тип протокола и номер порта, в таблице потоков и может управлять потоком. Следует отметить, что PFS также именуется коммутатором OpenFlow.To solve the problem, route management using OpenFlow is proposed (see Non-Patent Source 1). A computer system using the OpenFlow method is disclosed, for example, in JP 2003-229913A (Patent Source 1). The network switch corresponding to the method (hereinafter referred to as the programmable flow switch (PFS), saves detailed information, for example, protocol type and port number, in the flow table and can control the flow. It should be noted that PFS is also called the OpenFlow switch.

На фиг.1 показана схема, демонстрирующая пример конфигурации компьютерной системы, использующей метод OpenFlow. Согласно фиг.1 программируемый контроллер 100 потоков (PFC, именуемый открытым контроллером потоков) задает элемент потока для PFS 200 и 300 в единичной подсети (сети P-потока) для осуществления управления потоками в подсети.1 is a diagram showing an example configuration of a computer system using the OpenFlow method. 1, a programmable stream controller 100 (PFC, referred to as an open stream controller) defines a stream element for PFS 200 and 300 in a single subnet (P-stream network) for controlling flows in a subnet.

Каждый из PFS 200 и 300 обращается к своей таблице потоков для выполнения действия (например, ретрансляции и выбраковки пакета данных), заданного в элементе потока и соответствующего информации заголовка принятого пакета. В частности, в случае приема пакета переносимый между хостами (HOST) 400 каждый из PFS 200 и 300 выполняет действие, заданное в элементе потока, если информация заголовка принятого пакета согласуется с (совпадает с) (правилом) элементом потока, заданным в его собственной таблице потоков. С другой стороны, когда информация заголовка принятого пакета не согласуется с (совпадает с) (правилом) элементом потока, заданным в его собственной таблице потоков, каждый из PFS 200 и 300 распознает принятый пакет как первый пакет, информирует PFC 100 о приеме первого пакета и передает информацию заголовка пакета на PFC 100. PFC 100 задает элемент потока (поток + действие), соответствующий сообщаемой информации заголовка, для PFS, который является источником информирования первого пакета.Each of the PFS 200 and 300 refers to its own stream table to perform an action (for example, relaying and rejecting a data packet) specified in the stream element and the corresponding header information of the received packet. In particular, in the case of receiving a packet transferred between hosts (HOST) 400, each of the PFS 200 and 300 performs the action specified in the stream element if the header information of the received packet matches the (matches) (rule) stream element specified in its own table streams. On the other hand, when the header information of the received packet is not consistent with (matches) the (rule) stream element specified in its own stream table, each of the PFS 200 and 300 recognizes the received packet as the first packet, informs the PFC 100 of the receipt of the first packet and transmits packet header information to the PFC 100. The PFC 100 defines a stream element (stream + action) corresponding to the reported header information for the PFS, which is the source of information of the first packet.

Как описано выше, в традиционном методе OpenFlow после того, как любой из PFS 200 и 300 принимает пакет, переносимый между хостами 400, управление переносом осуществляется в отношении пакета, передаваемого и принимаемого между хостами 400 посредством PFC 100.As described above, in the conventional OpenFlow method, after any of the PFS 200 and 300 receives a packet being transferred between the hosts 400, the transfer control is performed on the packet transmitted and received between the hosts 400 by the PFC 100.

БиблиографияBibliography

Патентный источник 1: JP 2003-229913A.Patent Source 1: JP 2003-229913A.

Непатентный источник 1: OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01) December 31, 2009.Non-Patent Source 1: OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01) December 31, 2009.

Сущность изобретенияSUMMARY OF THE INVENTION

PFC в традиционном методе OpenFlow задает маршрут пакета, переносимого между исходным терминалом и терминалом-адресатом, и задает элемент потока для коммутаторов на маршруте. Кроме того, даже при наличии одного и того же пункта назначения, элемент потока и маршрут между исходным терминалом и терминалом-адресатом необходимо задавать всякий раз при генерации на исходном терминале другого пакета. Таким образом, при использовании метода OpenFlow существует опасность того, что ресурсы системы в целом (количество элементов потока) будут расходоваться в большом объеме.The PFC in the traditional OpenFlow method sets the route of the packet carried between the source terminal and the destination terminal, and sets the flow element for switches on the route. In addition, even if there is one and the same destination, the flow element and the route between the source terminal and the destination terminal must be set each time another packet is generated at the source terminal. Thus, when using the OpenFlow method, there is a danger that the resources of the system as a whole (the number of flow elements) will be spent in large volumes.

Компьютерная система настоящего изобретения включает в себя контроллер; множество коммутаторов, каждый из которых осуществляет операцию ретрансляции, определенную в элементе потока, заданном контроллером, в отношении пакета, согласующегося с элементом потока; и множество узлов, осуществляющих связь через любой из множества коммутаторов. Контроллер задает адрес пункта назначения как правило элемента потока и задает обработку переноса для узла-адресата как действие элемента потока. Каждый из множества коммутаторов переносит пакет, содержащий адрес пункта назначения, на узел-адресат на основании элемента потока, заданного для коммутатора, независимо от адреса источника пакета приема.The computer system of the present invention includes a controller; a plurality of switches, each of which carries out a relay operation defined in a flow element specified by the controller, with respect to a packet consistent with the flow element; and a plurality of nodes communicating through any of a plurality of switches. The controller sets the destination address as a rule of the stream element and sets the transfer processing for the destination node as the action of the stream element. Each of the many switches transfers a packet containing the destination address to the destination node based on the flow element specified for the switch, regardless of the source address of the receive packet.

Кроме того, желательно, чтобы контроллер задавал элемент потока для каждого из множества коммутаторов до переноса пакета среди множества узлов.In addition, it is desirable that the controller defines a flow element for each of the plurality of switches before transferring the packet among the plurality of nodes.

Кроме того, желательно, чтобы контроллер получал первый адрес MAC (управления доступом к среде) первого узла из множества узлов в ответ на первый запрос ARP (протокола разрешения адресов) от первого узла и задавал первый MAC-адрес для каждого из множества коммутаторов как правило элемента потока.In addition, it is desirable that the controller obtains the first MAC (media access control) address of the first node from the many nodes in response to the first ARP (address resolution protocol) request from the first node and sets the first MAC address for each of the many switches as a rule of the element flow.

Кроме того, желательно, чтобы контроллер передавал на первый узел ответ ARP, имеющий MAC-адрес другого узла из множества узлов в качестве источника передачи, как ответ на первый запрос ARP от первого узла на другой узел.In addition, it is desirable that the controller transmit to the first node an ARP response having the MAC address of another node from the plurality of nodes as a transmission source, as a response to the first ARP request from the first node to another node.

Кроме того, контроллер получает первый адрес MAC (управления доступом к среде) первого узла (VM1) на основании первого запроса ARP (протокола разрешения адресов) от первого узла из множества узлов и задает первый MAC-адрес для каждого из множества коммутаторов как правило элемента потока. Кроме того, желательно, чтобы контроллер выдавал второй запрос ARP и задавал второй MAC-адрес второго узла полученный на основании ответа на второй запрос ARP, для каждого из множества коммутаторов как правило элемента потока.In addition, the controller receives the first MAC (medium access control) MAC address of the first node (VM1) based on the first ARP (address resolution protocol) request from the first node from the many nodes and sets the first MAC address for each of the many switches as a rule of the flow element . In addition, it is desirable that the controller issue a second ARP request and specify the second MAC address of the second node obtained based on the response to the second ARP request, for each of the many switches as a rule, a flow element.

Кроме того, контроллер передает на первый узел ответ ARP, имеющий MAC-адрес упомянутого другого узла в качестве адреса источника в ответ на первый запрос ARP, адресованный другому узлу, от первого узла. Кроме того, желательно, чтобы контроллер передавал на другой узел ответ ARP на третий запрос ARP, адресованный первому узлу и переданный от другого узла.In addition, the controller transmits to the first node an ARP response having the MAC address of the other node as the source address in response to the first ARP request addressed to the other node from the first node. In addition, it is desirable that the controller transmit to another node an ARP response to a third ARP request addressed to the first node and transmitted from another node.

Кроме того, желательно, чтобы множество коммутаторов включало в себя множество первых коммутаторов, непосредственно подключенных к множеству узлов. В этом случае желательно, чтобы контроллер задавал элемент потока для произвольно выбранных коммутаторов из множества первых коммутаторов, не задавая его для оставшихся коммутаторов.In addition, it is desirable that the plurality of switches include a plurality of first switches directly connected to the plurality of nodes. In this case, it is desirable for the controller to specify a flow element for arbitrarily selected switches from the plurality of first switches, without setting it for the remaining switches.

Кроме того, желательно, чтобы контроллер задавал элемент потока для каждого из множества коммутаторов для осуществления маршрутизации ECMP (выбора множественных маршрутов одинаковой стоимости) на пакете приема.In addition, it is desirable that the controller sets a flow element for each of the multiple switches to implement ECMP routing (selecting multiple routes of the same cost) on the receive packet.

Способ осуществления связи по настоящему изобретению включает в себя этап задания контроллером элемента потока для каждого из множества коммутаторов; этап осуществления каждым из множества коммутаторов операции ретрансляции, заданной в элементе потока, в отношении пакета приема, согласующегося с элементом потока, заданный контроллером; и этап осуществления связи каждым из множества узлов через каждый из множества коммутаторов. Задание элемента потока включает в себя этап задания контроллером адреса пункта назначения как правила элемента потока; и этап задания обработки переноса для узла-адресата как действия элемента потока. Осуществление связи включает в себя перенос каждым из множества коммутаторов пакета приема, содержащего адрес пункта назначения, на узел-адресат независимо от адреса передачи источника пакета приема.The communication method of the present invention includes the step of setting a flow element for each of the plurality of switches by the controller; a step for each of the plurality of switches to perform a relay operation specified in the flow element with respect to a receive packet consistent with the flow element specified by the controller; and a step for communicating with each of the plurality of nodes through each of the plurality of switches. Defining a flow element includes the step of setting the controller to the destination address as a rule of the flow element; and a step of setting transfer processing for the destination node as an action of the flow element. The implementation of the communication includes the transfer by each of the plurality of switches of the receive packet containing the destination address to the destination node regardless of the transmit address of the source of the receive packet.

Кроме того, желательно, чтобы задание элемента потока осуществлялось до переноса пакета среди множества узлов.In addition, it is desirable that the task of the flow element was carried out before the transfer of the packet among many nodes.

Согласно настоящему изобретению можно уменьшить потребление ресурсов компьютерной системы в целом, использующей метод OpenFlow.According to the present invention, it is possible to reduce the resource consumption of a computer system as a whole using the OpenFlow method.

Краткое описание чертежейBrief Description of the Drawings

Другие задачи, эффекты и признаки вышеупомянутого изобретения станут более очевидными на основании описания примерных вариантов осуществления, приведенного совместно с прилагаемыми чертежами:Other objects, effects, and features of the aforementioned invention will become more apparent on the basis of the description of exemplary embodiments given in conjunction with the accompanying drawings:

фиг.1 - схема, демонстрирующая пример конфигурации компьютерной системы, использующей метод OpenFlow;figure 1 is a diagram showing an example configuration of a computer system using the OpenFlow method;

фиг.2 - схема, демонстрирующая пример конфигурации компьютерной системы согласно настоящему изобретению;figure 2 is a diagram showing an example configuration of a computer system according to the present invention;

фиг.3A - схема, демонстрирующая пример способа задания потока и способа осуществления связи в компьютерной системе согласно настоящему изобретению;3A is a diagram illustrating an example of a method for defining a stream and a method for communicating in a computer system according to the present invention;

фиг.3B - схема, демонстрирующая пример способа задания потока и способа осуществления связи в компьютерной системе согласно настоящему изобретению;3B is a diagram showing an example of a method for defining a stream and a method for communicating in a computer system according to the present invention;

фиг.3C - схема, демонстрирующая пример способа задания потока и способа осуществления связи в компьютерной системе согласно настоящему изобретению;3C is a diagram showing an example of a method for defining a stream and a method for communicating in a computer system according to the present invention;

фиг.3D - схема, демонстрирующая пример способа задания потока и способа осуществления связи в компьютерной системе согласно настоящему изобретению;3D is a diagram showing an example of a method for defining a stream and a method for communicating in a computer system according to the present invention;

фиг.3E - схема, демонстрирующая пример способа задания потока и способа осуществления связи в компьютерной системе согласно настоящему изобретению;3E is a diagram showing an example of a method for defining a stream and a method for communicating in a computer system according to the present invention;

фиг.3F - схема, демонстрирующая пример способа задания потока и способа осуществления связи в компьютерной системе согласно настоящему изобретению;3F is a diagram showing an example of a method for defining a stream and a method for communicating in a computer system according to the present invention;

фиг.3G - схема, демонстрирующая пример способа задания потока и способа осуществления связи в компьютерной системе согласно настоящему изобретению;3G is a diagram showing an example of a method for defining a stream and a method for communicating in a computer system according to the present invention;

фиг.3H - схема, демонстрирующая пример способа задания потока и способа осуществления связи в компьютерной системе согласно настоящему изобретению;FIG. 3H is a diagram illustrating an example of a method for defining a stream and a method for communicating in a computer system according to the present invention;

фиг.3I - схема, демонстрирующая пример способа задания потока и способа осуществления связи в компьютерной системе согласно настоящему изобретению;FIG. 3I is a diagram illustrating an example of a method for defining a stream and a method for communicating in a computer system according to the present invention;

фиг.3J - схема, демонстрирующая пример способа задания потока и способа осуществления связи в компьютерной системе согласно настоящему изобретению; иFIG. 3J is a diagram showing an example of a method for defining a stream and a method for communicating in a computer system according to the present invention; and

фиг.4 - схема, демонстрирующая конфигурацию логической сети, разделенной на множество сетей вследствие управления потоками, согласно настоящему изобретению.4 is a diagram illustrating a configuration of a logical network divided into multiple networks due to flow control according to the present invention.

Описание примерных вариантов осуществленияDescription of Exemplary Embodiments

Далее примерные варианты осуществления настоящего изобретения будут описаны со ссылкой на прилагаемые чертежи. В чертежах одинаковые или аналогичные ссылочные позиции назначены одинаковым или аналогичным компонентам.Next, exemplary embodiments of the present invention will be described with reference to the accompanying drawings. In the drawings, the same or similar reference numerals are assigned to the same or similar components.

Конфигурация компьютерной системыComputer system configuration

Согласно фиг.2 будет описана конфигурация компьютерной системы согласно настоящему изобретению. На фиг.2 показана схема, демонстрирующая пример конфигурации компьютерной системы согласно настоящему изобретению. Компьютерная система согласно настоящему изобретению включает в себя программируемый контроллер 10 потоков (далее именуемый PFC 10), множество программируемых коммутаторов 20-1 - 20-3 и 30-1 - 30-3 потока (далее именуемых PFS 20-1 - 20-3 и 30-1 - 30-3), физические серверы 40-1 - 40-5 (далее именуемые SV 40-1 - 40-5), и хранилище 50, которые соединены через сеть связи. При этом когда PFS 20-1 - 20-3 и 30-1 - 30-3 описаны без различения их между собой, каждый из PFS 20-1 - 20-3 и каждый из PFS 30-1 - 30-3 именуются PFS 20 и PFS 30 соответственно. И когда SV 40-1 - 40-5 описаны без различения их между собой, каждый из SV 40-1-40-5 именуется SV 40.2, a configuration of a computer system according to the present invention will be described. 2 is a diagram illustrating an example configuration of a computer system according to the present invention. A computer system according to the present invention includes a programmable flow controller 10 (hereinafter referred to as PFC 10), a plurality of programmable switches 20-1 to 20-3 and 30-1 to 30-3 of a stream (hereinafter referred to as PFS 20-1 to 20-3 and 30-1 - 30-3), physical servers 40-1 - 40-5 (hereinafter referred to as SV 40-1 - 40-5), and storage 50, which are connected through a communication network. Moreover, when PFS 20-1 - 20-3 and 30-1 - 30-3 are described without distinguishing them from each other, each of PFS 20-1 - 20-3 and each of PFS 30-1 - 30-3 are called PFS 20 and PFS 30, respectively. And when SV 40-1 - 40-5 are described without distinguishing them from each other, each of SV 40-1-40-5 is referred to as SV 40.

SV 40 и хранилище 50 являются компьютерными блоками, каждый из которых имеет центральный процессор (ЦП), главный блок хранения и внешнее запоминающее устройство, которые не показаны на фигуре, и осуществляют связь с другими SV 40 путем выполнения программы, хранящейся во внешнем запоминающем устройстве. Связь с SV 40 осуществляется через PFS 20 и 30. В соответствии с выполняемой программой SV 40 осуществляет функцию, представленную веб-сервером, файловым сервером, сервером приложений, клиентским терминалом и пр. Например, когда SV 40 выступает в качестве веб-сервера, SV 40 переносит документ HTML и данные изображения из блока хранения (не показан) на другой SV 40 (например, клиентский терминал) в соответствии с запросом клиентского терминала, который не показан.SV 40 and storage 50 are computer units, each of which has a central processing unit (CPU), a main storage unit and external storage device, which are not shown in the figure, and communicate with other SV 40s by executing a program stored in an external storage device. Communication with SV 40 is carried out through PFS 20 and 30. In accordance with the program, SV 40 performs the function represented by a web server, file server, application server, client terminal, etc. For example, when SV 40 acts as a web server, SV 40 transfers an HTML document and image data from a storage unit (not shown) to another SV 40 (e.g., a client terminal) in accordance with a request from a client terminal that is not shown.

SV 40 включает в себя виртуальную машину VM, реализованную путем логического или физического разделения ЦП (не показан) и области хранилища блока хранения (не показан). В примере, показанном на фиг.2, виртуальные машины VM1 и VM2 реализованы в SV 40-1, виртуальные машины VM3 и VM4 реализованы в SV 40-2, виртуальные машины VM5 и VM6 реализованы в SV 40-3 и виртуальные машины VM7 и VM8 реализованы в SV 40-4. Виртуальные машины VM1-VM8 могут быть реализованы гостевой операционной системой (GOS), эмулируемой на главной операционной системе (HOS) на каждом из серверов, или программным обеспечением, исполняющимся на GOS.SV 40 includes a virtual machine VM, implemented by logical or physical separation of the CPU (not shown) and the storage area of the storage unit (not shown). In the example shown in FIG. 2, virtual machines VM1 and VM2 are implemented in SV 40-1, virtual machines VM3 and VM4 are implemented in SV 40-2, virtual machines VM5 and VM6 are implemented in SV 40-3 and virtual machines VM7 and VM8 implemented in SV 40-4. VM1-VM8 virtual machines can be implemented by the guest operating system (GOS) emulated on the main operating system (HOS) on each server, or by software running on the GOS.

Виртуальная машина VM передает и принимает данные на и от других устройств (например, компьютерный блок на внешней сети и виртуальной машине VM на другом физическом сервере 40) через виртуальные коммутаторы (не показаны), управляемые монитором виртуальной машины или физической NIC (не показана). В настоящем примерном варианте осуществления передача пакетов осуществляется, в порядке примера, в соответствии с TCP/IP (протокол управления передачей/интернет-протокол).A virtual machine VM transmits and receives data to and from other devices (for example, a computer unit on an external network and a virtual machine VM on another physical server 40) through virtual switches (not shown) controlled by a virtual machine monitor or physical NIC (not shown). In the present exemplary embodiment, packet transmission is carried out, by way of example, in accordance with TCP / IP (Transmission Control Protocol / Internet Protocol).

Кроме того, управление виртуальным коммутатором (не показан) согласно настоящему изобретению может осуществляться на основании метода OpenFlow, описанного ниже, и виртуальный коммутатор может осуществлять традиционную операцию переключения (уровень 2). Кроме того, каждая из виртуальных машин VM1-VM8 и наружная среда физического сервера соединены друг с другом по принципу моста. Таким образом, прямая передача из наружной среды может осуществляться на основании MAC-адресов и IP-адресов виртуальных машин VM1-VM8.In addition, the virtual switch (not shown) according to the present invention can be controlled based on the OpenFlow method described below, and the virtual switch can perform the traditional switching operation (level 2). In addition, each of the VM1-VM8 virtual machines and the external environment of the physical server are connected to each other by the principle of a bridge. Thus, direct transmission from the external environment can be based on the MAC addresses and IP addresses of the VM1-VM8 virtual machines.

PFC 10 управляет связью в системе на основании метода OpenFlow. Метод OpenFlow демонстрирует метод, согласно которому, в соответствии с политикой маршрутизации (элемент потока: поток и действие) контроллер (в данном случае, PFC 10) задает многослойную структуру и маршрутизирует данные в единицах потоков на PFS 20 и 30 для осуществления управления маршрутами и управления узлами. Таким образом, функция управления маршрутами отделена от маршрутизатора и коммутатора, и оптимальные маршрутизация и управление трафиком можно реализовать посредством контроллера централизованного управления. PFS 20 и 30, к которым применяется метод OpenFlow, манипулируют не связью в единицах транзитных сегментов, как в традиционных маршрутизаторе и коммутаторе, а связью в качестве сквозного потока (END2END).PFC 10 controls communication in the system based on the OpenFlow method. The OpenFlow method demonstrates the method according to which, in accordance with the routing policy (flow element: flow and action), the controller (in this case, PFC 10) defines a multilayer structure and routes data in flow units to PFS 20 and 30 for route management and control nodes. Thus, the route management function is separate from the router and the switch, and optimal routing and traffic control can be implemented through a centralized management controller. PFS 20 and 30, to which the OpenFlow method is applied, are manipulated not by communication in units of transit segments, as in a traditional router and switch, but by communication as an end-to-end flow (END2END).

PFC 10 реализован компьютером, имеющим ЦП и блок хранения (не показан). Обработка по управлению потоками в PFC 10 осуществляется путем исполнения программы, хранящейся в блоке хранения (не показан), и управляет операциями PFS 20 и 30 (например, операцией ретрансляции пакетов данных) путем задания элемента потока (потока и действия) для каждого из PFS 20 и 30.PFC 10 is implemented by a computer having a CPU and a storage unit (not shown). Flow control processing in PFC 10 is carried out by executing a program stored in a storage unit (not shown), and controls the operations of PFS 20 and 30 (for example, the relay operation of data packets) by setting the flow element (stream and action) for each of the PFS 20 and 30.

Кроме того, MAC-адреса хост-терминала (SV 40 и хранилища 50) и виртуальной машины VM задаются для PFC 10 согласно настоящему изобретению, до переноса пакетов между терминалами (например, между виртуальными машинами VM). Например, PFC 10 заранее получает MAC-адреса хост-терминала и виртуальной машины VM в ответ на запрос ARP (протокола разрешения адресов).In addition, the MAC addresses of the host terminal (SV 40 and storage 50) and the virtual machine VM are set for the PFC 10 according to the present invention, before transferring packets between terminals (for example, between virtual machines VM). For example, PFC 10 pre-receives the MAC addresses of the host terminal and VM virtual machine in response to an ARP (Address Resolution Protocol) request.

PFC 10 генерирует элемент потока, применяя полученный MAC-адрес для правила, и задает элемент потока для всех PFS 20 и 30 в сети. Например, PFC 10 генерирует для каждого PFS элемент потока, используемый для указания пункта назначения переноса пакета, адресованного по MAC-адресу виртуальной машины VM1, и для переноса пакета и задает элемент потока для всех коммутаторов PFS 20 и 30 в сети. В настоящем изобретении, поскольку управление потоком осуществляется на основании только MAC-адреса пункта назначения, пункт назначения переноса пакета, соответствующий правилу (MAC-адресу пункта назначения), заданный для элемента потока, определяется независимо от источника передачи. По этой причине управление потоками может осуществляться безотносительно к источнику передачи пакета. Таким образом, согласно настоящему изобретению, поскольку множественный маршрут для переноса пакетов формируется путем задания оптимального маршрута для терминала-адресата, можно реализовать оптимальную многомаршрутную операцию. Кроме того, поскольку элемент потока можно задавать для PFS, не ожидая приема первого пакета, в отличие от традиционного метода, можно повысить пропускную способность сети. Кроме того, в настоящем изобретении, поскольку элемент потока генерируется и задается до переноса пакета между терминалами, то есть до начала работы системы, обработочная нагрузка для управления потоками в ходе эксплуатации снижается в сравнении с традиционным методом.PFC 10 generates a stream element, applying the obtained MAC address for the rule, and sets the stream element for all PFS 20 and 30 in the network. For example, PFC 10 generates a flow element for each PFS that is used to indicate the packet transfer destination addressed to the MAC address of VM1 and to transfer the packet and sets the flow element for all PFS 20 and 30 on the network. In the present invention, since the flow control is based on only the destination MAC address, a packet transfer destination corresponding to the rule (destination MAC address) specified for the stream item is determined regardless of the transmission source. For this reason, flow control can be carried out regardless of the source of the packet. Thus, according to the present invention, since the multiple route for packet transfer is formed by setting the optimal route for the destination terminal, it is possible to realize the optimal multi-route operation. In addition, since the flow element can be set for PFS without waiting for the first packet to be received, in contrast to the traditional method, network bandwidth can be increased. In addition, in the present invention, since the flow element is generated and set before the packet is transferred between the terminals, that is, before the system starts to operate, the processing load for controlling flows during operation is reduced in comparison with the traditional method.

Дополнительно PFC 10 генерирует элемент потока, применяя полученный MAC-адрес для правила, и задает элемент потока для произвольно выбранных из PFS 20 и 30 в сети, и элемент потока не задается для оставшихся PFS. Например, элемент потока, применяющий MAC-адрес виртуальной машины VM1 в качестве правила, задается для выбранной части PFS 30, непосредственно подключенных к хост-терминалу (SV 40 и хранилищу 50). В этом случае, когда PFS 30, для которого элемент потока не задан, принимает пакет, адресованный виртуальной машине VM1, пакет выбраковывается и никуда больше не переносится. Таким образом, поскольку пункт назначения переноса пакета можно логически отделить, одну физическую сеть можно разделить на множество логических сетей и эксплуатировать. Следует отметить, что, когда элемент потока, определенный для выбраковки пакета, адресованного по конкретному MAC-адресу, назначается для конкретного PFS, можно добиться аналогичного эффекта.Additionally, PFC 10 generates a stream element, applying the obtained MAC address for the rule, and sets the stream element for randomly selected from PFS 20 and 30 in the network, and the stream element is not set for the remaining PFS. For example, a flow element that uses the MAC address of VM1 as a rule is set for a selected part of the PFS 30 directly connected to the host terminal (SV 40 and storage 50). In this case, when PFS 30, for which a stream element is not defined, receives a packet addressed to VM1, the packet is discarded and is not transferred anywhere else. Thus, since the packet transfer destination can be logically separated, one physical network can be divided into many logical networks and operated. It should be noted that when a flow element defined for rejecting a packet addressed to a specific MAC address is assigned to a specific PFS, a similar effect can be achieved.

Каждый из PFS 20 и 30 включает в себя таблицу потоков (не показана), для которой задан элемент потока, и осуществляет обработку пакета приема (например, процесс ретрансляции и выбраковку) в соответствии с заданным элементом потока. PFS 30 представляет собой коммутатор первого каскада, непосредственно подключенный к хост-терминалу (SV 40 и хранилищу 50), и в качестве PFS 30 предпочтительно применять, например, коммутатор верхнего размещения (TOR). Кроме того, для коммутатора L2 и коммутатора L3, подключенных ко второму каскаду или следующих за хост-терминалом, в PFS 20 предпочтительно применять, например, базовый коммутатор (CORE).Each of the PFSs 20 and 30 includes a stream table (not shown) for which a stream element is defined, and processes the receive packet (eg, relay process and reject) in accordance with a given stream element. PFS 30 is a first stage switch directly connected to the host terminal (SV 40 and storage 50), and it is preferable to use, for example, an overhead switch (TOR) as PFS 30. In addition, for switch L2 and switch L3 connected to the second stage or following the host terminal, it is preferable to use, for example, a core switch (CORE) in PFS 20.

Каждый из PFS 20 и 30 обращается к своей собственной таблице потоков (не показана) и осуществляет действие (например, ретрансляцию и выбраковку пакета данных), заданное в элементе потока и соответствующее данным заголовка пакета приема (в частности, MAC-адресу пункта назначения). В частности, каждый из PFS 20 и 30 осуществляет действие, заданное в элементе потока, когда данные заголовка пакета приема совпадают с (соответствуют) потоком, определенным элементом потока, заданным в его собственной таблице потоков. Кроме того, каждый из PFS 20 и 30 не осуществляет никакой обработки на пакете, когда данные заголовка пакета приема не совпадают с (соответствуют) потоком, определенным элементом потока, заданным в его собственной таблице потоков. В этом случае PFS 20 и 30 могут информировать PFC 10 о приеме пакета и могут выбраковывать пакет.Each of the PFSs 20 and 30 accesses its own stream table (not shown) and performs the action (for example, relaying and rejecting the data packet) specified in the stream element and corresponding to the header data of the receive packet (in particular, the destination MAC address). In particular, each of the PFS 20 and 30 performs the action specified in the stream element when the header data of the receive packet matches (correspond to) the stream defined by the stream element specified in its own stream table. In addition, each of the PFSs 20 and 30 does not perform any processing on the packet when the header data of the receive packet does not match (correspond to) the stream defined by the stream element specified in its own stream table. In this case, the PFSs 20 and 30 may inform the PFC 10 of the receipt of the packet and may reject the packet.

В элементе потока в качестве данных (далее именуемых правилом) для указания потока (пакета данных) задаются любые комбинации адресов и идентификаторов от уровня 1 до уровня 4 эталонной модели OSI (взаимодействия открытых систем), и адреса и идентификаторы включаются, например, в данные заголовка пакета данных TCP/IP. Например, любая из комбинаций физического порта уровня 1; MAC-адреса уровня 2, IP-адреса уровня 3, физического порта уровня 4, и тега VLAN задается для элемента потока в качестве правила. Однако в настоящем изобретении MAC-адрес и IP-адрес источника передачи не задаются для элемента потока, и MAC-адрес пункта назначения всегда задается для элемента потока. При этом для элемента потока можно задавать заранее определенный диапазон идентификатора, например, номер порта, адрес и пр. Например, MAC-адреса виртуальных машин VM1 и VM2 можно задавать в качестве MAC-адресов пункта назначения как правило элемента потока.In a stream element, any combination of addresses and identifiers from level 1 to level 4 of the OSI reference model (open system interactions) is specified as data (hereinafter referred to as a rule) to indicate a stream (data packet), and addresses and identifiers are included, for example, in header data TCP / IP data packet. For example, any of the physical layer 1 combinations; Layer 2 MAC addresses, Layer 3 IP addresses, Layer 4 physical port, and VLAN tag are specified for the flow element as a rule. However, in the present invention, the MAC address and IP address of the transmission source are not set for the stream item, and the destination MAC address is always set for the stream item. At the same time, a predetermined range of identifiers can be set for a stream element, for example, port number, address, etc. For example, the MAC addresses of virtual machines VM1 and VM2 can be set as destination MAC addresses as a rule of a stream element.

Действие элемента потока определяет, например, способ обработки пакета данных TCP/IP. Например, задаются информация, указывающая, ретранслируется ли принятый пакет данных, и пункт назначения пакета данных в случае ретрансляции пакета данных. Дополнительно при выполнении действия можно задавать данные, предписывающие копирование или выбраковку пакета данных.The action of the flow element determines, for example, the method of processing the TCP / IP data packet. For example, information is set indicating whether the received data packet is relayed and the destination of the data packet in the event of relaying the data packet. Additionally, when performing an action, you can specify data that requires the copying or rejection of a data packet.

Способ задания потока и способ осуществления связи в компьютерной системеThe method of setting the stream and the method of communicating in a computer system

Далее согласно фиг.3A-3J будут подробно описаны способ задания потока и способ осуществления связи в компьютерной системе согласно настоящему изобретению. Задание потока для виртуальной машины VM1 и задание потока для виртуальной машины VM5 будут описаны ниже в порядке примера. Кроме того, когда виртуальные машины VM1-VM8, физические серверы 40-1 - 40-5 и хранилище 50 относительно не различаются, они совместно именуются узлами.3A-3J, a method for defining a stream and a method for communicating in a computer system according to the present invention will be described in detail below. The flow setting for the VM1 virtual machine and the flow setting for the VM5 virtual machine will be described below by way of example. In addition, when the VM1-VM8 virtual machines, the physical servers 40-1 to 40-5, and the storage 50 are relatively the same, they are collectively referred to as nodes.

На момент окончания конфигурации системы (или изменения конфигурации системы), PFC 10 узнает топологию системы аналогично тому, как это делает традиционный контроллер потоков. Данные топологии, известные на этот момент, включают в себя данные, относящиеся к состоянию соединения PFS 20 и 30, узлов (виртуальных машин VM1-VM8, физических серверов 40-1 - 40-5 и хранилища), внешней сети, которая не показана (например, интернета), и пр. В частности, в качестве данных топологии, количество портов устройства и данные порта назначения связаны с идентификатором устройства для указания PFS 20 и 30 и узлов, и, таким образом, идентификатор устройства записывается в блок хранения PFC 10. Данные порта назначения включают в себя тип соединения (коммутатор/узел/внешняя сеть) для указания противоположной стороны соединения, и данные для указания пункта назначения соединения (ID коммутатор в случае коммутатора, MAC-адрес в случае узла и ID внешней сети в случае внешней сети).At the end of the system configuration (or system configuration change), the PFC 10 learns the system topology in the same way as a traditional flow controller does. The topology data known at this time include data related to the connection status of PFS 20 and 30, nodes (VM1-VM8 virtual machines, physical servers 40-1 - 40-5, and storage), an external network that is not shown ( for example, the Internet), etc. In particular, as the topology data, the number of device ports and destination port data are associated with a device identifier for indicating PFS 20 and 30 and nodes, and thus, the device identifier is recorded in the PFC storage unit 10. Destination port data includes the type of connection (comm ator / node / external network) to indicate the opposite side of the connection, and data to indicate the destination of the connection (ID switch in the case of the switch, MAC address in the case of the node and ID of the external network in the case of the external network).

Согласно фиг.3A PFC 10 блокирует запрос ARP от узла для получения (изучения) местоположения (MAC-адреса) запрашивающего узла. Например, запрос ARP, адресованный виртуальной машине VM5 от виртуальной машины VM1, поступает на PFC 10. PFC 10 выделяет MAC-адрес виртуальной машины VM1 как исходного узла из принятого запроса ARP. PFC 10 определяет правило для задания MAC-адреса для пункта назначения для генерации элемента потока. В этом случае генерируется элемент потока для всех PFS 20 и 30 в системе. Следует отметить, что элемент потока на MAC-адрес можно заранее задавать для блока хранения PFC 10.3A, PFC 10 blocks an ARP request from a node to obtain (examine) the location (MAC address) of the requesting node. For example, an ARP request addressed to VM5 from VM1 arrives at PFC 10. PFC 10 extracts the MAC address of VM1 as the source node from the received ARP request. PFC 10 defines a rule for specifying a MAC address for a destination to generate a stream item. In this case, a flow element is generated for all PFS 20 and 30 in the system. It should be noted that the flow element to the MAC address can be predefined for the storage unit PFC 10.

Согласно фиг.3B PFC 10, изучивший местоположение (MAC-адрес) узла, регистрирует маршрут к узлу. Например, PFC 10 задает для всех PFS 20 и 30 элемент потока, определяющий перенос пакета, адресованного по MAC-адресу виртуальной машины VM1, и устройство назначения переноса. В этом случае предпочтительно задавать элемент потока для PFS 30-1, чтобы определять физический порт, подключенный к виртуальной машине VM1, в качестве пункта назначения вывода, и задавать элемент потока для PFS 30 на первом каскаде, отличных от PFS 30-1, для выравнивания нагрузки для PFS 20 на втором или следующем каскаде. Например, предпочтительно задавать элемент потока для PFS 30 для осуществления маршрутизации ECMP (выбора множественных маршрутов одинаковой стоимости) для PFS 30.3B, PFC 10, having examined the location (MAC address) of a node, registers a route to the node. For example, PFC 10 defines for all PFS 20 and 30 a flow element that defines the transfer of a packet addressed to the MAC address of VM1 and the transfer destination device. In this case, it is preferable to set the stream element for PFS 30-1 to determine the physical port connected to the virtual machine VM1 as the output destination, and to set the stream element for PFS 30 at the first stage, other than PFS 30-1, for alignment loads for PFS 20 at the second or next stage. For example, it is preferable to specify a flow element for PFS 30 to implement ECMP routing (selecting multiple routes of the same cost) for PFS 30.

При нормальном изучении уровня 2 (изучении L2) возможны случаи, когда петля (LOOP) формируется вследствие переполнения (FLOODING) и когда предполагаемое изучение нельзя осуществлять вследствие выравнивания нагрузки. Однако в настоящем изобретении применяется метод OpenFlow, и, соответственно, эти проблемы не возникают.In a normal level 2 study (L2 study), there may be cases where a loop (LOOP) is formed due to overflow (FLOODING) and when the intended study cannot be carried out due to load balancing. However, the present invention uses the OpenFlow method, and accordingly, these problems do not arise.

Согласно фиг.3C PFC 10, для которого задан элемент потока, передает запрос ARP для пункта назначения, запрашиваемого узлом, на все узлы, кроме узла при получении (изучении) MAC-адреса. Например, PFC 10 передает запрос ARP, адресованный виртуальной машине VM5 в качестве пункта назначения запроса ARP, показанного на фиг.3A, на все узлы (виртуальные машины VM2-VM8, SV 40-5 и хранилище 50), кроме запрашивающей виртуальной машины VM1.3C, PFC 10, for which a flow element is specified, transmits an ARP request for the destination requested by the node to all nodes except the node when receiving (learning) the MAC address. For example, PFC 10 transmits an ARP request addressed to VM5 as the destination of the ARP request shown in FIG. 3A to all nodes (virtual machines VM2-VM8, SV 40-5 and storage 50) except the requesting virtual machine VM1.

Согласно фиг.3D PFC 10 получает (изучает) местоположение (MAC-адрес) узла-адресата на основании ответа (ответа ARP) на запрос ARP, показанный на фиг.3C. В настоящем примере ответ ARP передается от виртуальной машины VM5, и PFC 10 получает местоположение (MAC-адрес) виртуальной машины VM5 путем блокировки ответа ARP.3D, PFC 10 obtains (learns) the location (MAC address) of the destination node based on the response (ARP response) to the ARP request shown in FIG. 3C. In the present example, the ARP response is transmitted from the VM5 virtual machine, and the PFC 10 obtains the location (MAC address) of the VM5 virtual machine by blocking the ARP response.

Согласно фиг.3E PFC 10, получивший (изучивший) местоположение (MAC-адрес) узла, регистрирует маршрут к узлу. В данном случае PFC 10 задает для всех PFS 20 и 30 элемент потока, определяющий перенос пакета, адресованного по MAC-адресу виртуальной машины VM5, и устройство назначения. В этом случае, аналогично описанному выше, предпочтительно задавать элемент потока для PFS 30 на первом каскаде от хост-терминала для выравнивания нагрузки для PFS 20 на втором или следующем каскаде.3E, PFC 10, having obtained (learned) the location (MAC address) of a node, registers a route to the node. In this case, PFC 10 sets for all PFS 20 and 30 a stream element that defines the transfer of a packet addressed to the MAC address of VM5 and the destination device. In this case, as described above, it is preferable to set the flow element for PFS 30 on the first stage from the host terminal to balance the load for PFS 20 on the second or next stage.

Согласно фиг.3F PFC 10 отвечает на запрос ARP от узла, показанного на фиг.3A, через посредника. В данном случае PFC 10 использует MAC-адрес виртуальной машины VM5 как источника передачи и выдает ответ ARP, пунктом назначения которого является виртуальная машина VM1. Виртуальная машина VM1 принимает ответ ARP на запрос ARP, переданный ею самой, и получает запрашиваемый MAC-адрес виртуальной машины VM5.3F, the PFC 10 responds to an ARP request from the node shown in FIG. 3A through an intermediary. In this case, PFC 10 uses the MAC address of VM5 as a transmission source and issues an ARP response whose destination is VM1. Virtual machine VM1 receives an ARP response to an ARP request sent by itself, and receives the requested MAC address of VM5.

В вышеупомянутой операции обработка (элемент потока), применяемая к пакетам, соответственно адресованным как узлу-адресату, так и запрашивающему исходному узлу запроса ARP, задается для всех PFS 20 и 30 в системе. В примере, показанном на фиг.3G, посредством вышеописанной операции, элемент потока, применяемый к пакетам, соответственно адресованным виртуальным машинам VM1 и VM5, задается для всех PFS 20 и 30. Таким образом, передача, адресованная виртуальной машине VM1, и передача, адресованная виртуальной машине VM5, осуществляются нормально. В этом случае пакет, адресованный каждому из пунктов назначения, передается по маршруту, согласующемуся с элементом потока, определенному MAC-адресом пункта назначения, независимо от источника передачи.In the above operation, the processing (stream element) applied to packets respectively addressed to both the destination node and the requesting source ARP request node is specified for all PFS 20 and 30 in the system. In the example shown in FIG. 3G, by the above operation, a flow element applied to packets respectively addressed to the virtual machines VM1 and VM5 is set for all PFS 20 and 30. Thus, the transmission addressed to the virtual machine VM1 and the transmission addressed VM5 virtual machine are implemented normally. In this case, a packet addressed to each of the destinations is transmitted along a route consistent with the flow element determined by the destination MAC address, regardless of the source of transmission.

Дополнительно для конфигурирования единичной структуре дерева в протоколе связующего дерева согласно традиционному Ethernet (зарегистрированный товарный знак) генерируется физическая линия связи, которая не используется. По этой причине не удается задать множество маршрутов между конкретными узлами в Ethernet (зарегистрированный товарный знак). Однако в настоящем изобретении пункт назначения переноса пакетов задается для каждого из PFS согласно пункту назначения, что позволяет формировать множественные маршруты для реализации распределения нагрузки. Например, в случае вышеупомянутого примера множественные маршруты формируются согласно элементу потока в каждой из передачи для виртуальной машины VM1 и передачи для виртуальной машины VM5, и реализуется распределение нагрузки.Additionally, to configure a single tree structure in the spanning tree protocol according to traditional Ethernet (registered trademark), a physical communication line is generated that is not used. For this reason, it is not possible to set many routes between specific nodes in Ethernet (registered trademark). However, in the present invention, a packet transfer destination is set for each of the PFS according to the destination, which allows the formation of multiple routes for implementing load balancing. For example, in the case of the above example, multiple routes are formed according to the flow element in each of the transfers for the virtual machine VM1 and the transfers for the virtual machine VM5, and load balancing is implemented.

В вышеупомянутом примере применяется выравнивание нагрузки посредством ECMP, заданного в элементе потока. Однако настоящее изобретение этим не ограничивается, и для каждого элемента потока можно применять агрегацию линий связи или распределение нагрузки.In the above example, load balancing is applied by the ECMP specified in the flow element. However, the present invention is not limited to this, and link aggregation or load balancing can be applied to each flow element.

С другой стороны, чтобы можно было передавать запрос ARP и осуществлять двустороннюю связь между запрашивающим исходным узлом и узлом-адресатом, узел-адресат получает (изучает) местоположение (MAC-адрес) запрашивающего исходного узла от PFC 10. В частности, согласно фиг.3H запрос ARP, адресованный виртуальной машине VM1 от виртуальной машины VM5, передается на PFC 10. Согласно фиг.3I PFC 10, где хранится местоположение (MAC-адрес) виртуальной машины VM1, передает ответ ARP, имеющий MAC-адрес виртуальной машины VM1 как источника передачи, на виртуальную машину VM5. Виртуальная машина VM5 блокирует его для получения местоположения (MAC-адрес) виртуальной машины VM1. Таким образом, как показано на фиг.3J, виртуальная машина VM5 может передавать пакет данных, адресованный виртуальной машине VM1. Следует отметить, что, поскольку элемент потока, адресованный виртуальной машине VM1, и элемент потока, адресованный виртуальной машине VM5, задаются независимо друг от друга, маршрут связи от виртуальной машины V1 к виртуальной машине V5 и маршрут связи от виртуальной машины V5 к виртуальной машине V1 не всегда одинаковы.On the other hand, in order to be able to transmit an ARP request and make two-way communication between the requesting source node and the destination node, the destination node receives (examines) the location (MAC address) of the requesting source node from PFC 10. In particular, according to FIG. the ARP request addressed to the virtual machine VM1 from the virtual machine VM5 is transmitted to the PFC 10. According to FIG. 3 PFC 10, where the location (MAC address) of the virtual machine VM1 is stored, an ARP response is transmitted having the MAC address of the virtual machine VM1 as a transmission source to the VM5 virtual machine. The VM5 virtual machine blocks it to obtain the location (MAC address) of VM1. Thus, as shown in FIG. 3J, the virtual machine VM5 can transmit a data packet addressed to the virtual machine VM1. It should be noted that, since the flow element addressed to virtual machine VM1 and the flow element addressed to virtual machine VM5 are set independently, the communication path from virtual machine V1 to virtual machine V5 and the communication path from virtual machine V5 to virtual machine V1 not always the same.

Посредством вышеописанной операции обе виртуальные машины VM1 и VM5 получают (изучают) местоположения (MAC-адреса) друг друга, и пункт назначения переноса для пакета, адресованного каждой из виртуальных машин VM1 и VM5, задается для всех PFS 20 и 30. Таким образом, обеспечивается возможность двусторонней связи между виртуальной машиной VM1 и виртуальной машиной VM5.Through the above operation, both virtual machines VM1 and VM5 obtain (learn) each other's locations (MAC addresses), and the transfer destination for the packet addressed to each of the virtual machines VM1 and VM5 is set for all PFS 20 and 30. Thus, it is ensured two-way communication between the VM1 virtual machine and the VM5 virtual machine.

В настоящем изобретении, поскольку элемент потока задается на основании MAC-адреса пункта назначения, местоположение исходного узла передачи не всегда требуется при задании элемента потока. По этой причине элемент потока можно задавать до начала осуществления связи между узлами. Кроме того, не требуется задавать элемент потока для маршрута связи между узлами, в отличие от традиционного метода, и достаточно задать элемент потока MAC-адреса пункта назначения для каждого из PFS. Соответственно, можно уменьшить потребление ресурсов в компьютерной системе в целом.In the present invention, since the flow element is determined based on the MAC address of the destination, the location of the source transmission node is not always required when defining the flow element. For this reason, the flow element can be set before the start of communication between nodes. In addition, it is not necessary to set the stream element for the communication route between nodes, unlike the traditional method, and it is enough to set the stream element of the destination MAC address for each of the PFS. Accordingly, it is possible to reduce the consumption of resources in the computer system as a whole.

Далее согласно фиг. 4 будет описан пример применения компьютерной системы согласно настоящему изобретению. В вышеописанном примере элемент потока для пакета, адресованного узлу, задается для всех PFS 20 и 30. Однако настоящее изобретение этим не ограничивается, и узлы, для которых задан элемент потока, могут ограничиваться частью PFS 30, непосредственно подключенных к узлу.Further according to FIG. 4, an example application of a computer system according to the present invention will be described. In the above example, a flow element for a packet addressed to a node is defined for all PFSs 20 and 30. However, the present invention is not limited to this, and nodes for which a stream element is specified may be limited to a portion of the PFS 30 directly connected to the node.

Компьютерная система, показанная на фиг.4, включает в себя коммутаторы (PFS 20-1 и 20-2) более высокого уровня, подключенные к сети 500, PFS 30-1, 30-2 и 30-3, непосредственно подключенные к хост-терминалу (не показан), например, SV40, и узлы S и A. При этом узел A подключен к системе через PFS 30-2, и узел S подключен к системе через PFS 30-3.The computer system shown in FIG. 4 includes higher level switches (PFS 20-1 and 20-2) connected to a network 500, PFS 30-1, 30-2, and 30-3 directly connected to the host a terminal (not shown), for example, SV40, and nodes S and A. In this case, node A is connected to the system via PFS 30-2, and node S is connected to the system through PFS 30-3.

В настоящем примере с помощью PFC 10 (не показан) элемент потока задается для PFS 20-1, 20-2 и 30-3 для управления потоком, адресованным узлу S, и элемент потока задается для PFS 20-1, 20-2, 30-1 и 30-2 для управления потоком, адресованным узлу A. В этом случае пакет, адресованный узлу S, достигает узла S по маршруту связи, проходящему через любой из PFS 20-1, 20-2 и 30-3, и пакет, адресованный узлу A, достигает узла A по маршруту связи, проходящему через любой из PFS 20-1, 20-2, 30-1 и 30-2. Таким образом, узел S оказывается в составе логической сети, сконфигурированной PFS 20-1, 20-2 и 30-3, и узел A оказывается в составе логической сети, сконфигурированной PFS 20-1, 20-2, 30-1 и 30-2.In the present example, using PFC 10 (not shown), the flow element is set for PFS 20-1, 20-2 and 30-3 to control the flow addressed to node S, and the flow element is set for PFS 20-1, 20-2, 30 -1 and 30-2 to control the flow addressed to node A. In this case, the packet addressed to node S reaches node S along the communication path passing through any of the PFS 20-1, 20-2 and 30-3, and the packet, addressed to node A, reaches node A along a communication path passing through any of the PFS 20-1, 20-2, 30-1 and 30-2. Thus, the node S is included in the logical network configured by PFS 20-1, 20-2 and 30-3, and the node A is included in the logical network configured by PFS 20-1, 20-2, 30-1 and 30- 2.

Как описано выше, компьютерная система, показанная на фиг.4, конфигурирует одну физическую сеть. Однако при выборочном задании элемента потока компьютерная система делится на две логические сети. Соответственно, одной физической топологией можно манипулировать как множеством VLAN.As described above, the computer system shown in FIG. 4 configures one physical network. However, with a selective definition of the flow element, the computer system is divided into two logical networks. Accordingly, a single physical topology can be manipulated as a plurality of VLANs.

Как описано выше, примерные варианты осуществления настоящего изобретения были подробно описаны. Однако конкретная конфигурация не ограничивается вышеописанными примерными вариантами осуществления. Различные модификации в пределах объема настоящего изобретения включены в настоящее изобретение. На фиг.2 система, имеющая группу PFS с двухкаскадной конфигурацией, показана в порядке одного примера. Однако настоящее изобретение этим не ограничивается, и система может иметь группу PFS с конфигурацией большего количества каскадов. Кроме того, внешняя сеть может быть подключена к PFS 20 через коммутатор уровня 3 (L3), как в традиционном методе.As described above, exemplary embodiments of the present invention have been described in detail. However, the specific configuration is not limited to the above-described exemplary embodiments. Various modifications within the scope of the present invention are included in the present invention. 2, a system having a two-stage PFS group is shown in one example. However, the present invention is not limited to this, and the system may have a PFS group with the configuration of more stages. In addition, an external network can be connected to the PFS 20 through a Layer 3 (L3) switch, as in the traditional method.

Настоящая заявка основывается на японской заявке № JP 2010-202468, раскрытие которой включено в данное описание в порядке ссылки.This application is based on Japanese application No. JP 2010-202468, the disclosure of which is incorporated herein by reference.

Claims (10)

1. Компьютерная система, содержащая:
контроллер;
множество коммутаторов, каждый из которых осуществляет операцию ретрансляции, которая определена в элементе потока, заданном контроллером, в отношении пакета, согласующегося с этим элементом потока, и
множество узлов, осуществляющих связь через любой из множества коммутаторов,
при этом контроллер получает первый МАС-адрес (адрес уровня управления доступом к среде) первого узла из множества узлов от первого узла и задает первый МАС-адрес в качестве адреса пункта назначения в правиле элемента потока для каждого из множества коммутаторов и задает обработку переноса для узла-адресата в качестве действия элемента потока для каждого из множества коммутаторов; и
каждый из множества коммутаторов переносит пакет, содержащий адрес пункта назначения, на узел-адресат на основе элемента потока, заданного для этого коммутатора, независимо от адреса источника передачи данного пакета.
1. A computer system containing:
controller;
a plurality of switches, each of which carries out a relay operation, which is defined in the flow element specified by the controller, with respect to a packet consistent with this flow element, and
many nodes communicating through any of the many switches,
the controller receives the first MAC address (the address of the medium access control level) of the first node from the many nodes from the first node and sets the first MAC address as the destination address in the flow element rule for each of the many switches and sets the transfer processing for the node -address as an action of a flow element for each of the multiple switches; and
each of the many switches transfers a packet containing the destination address to the destination node based on the flow element specified for this switch, regardless of the transmission source address of this packet.
2. Компьютерная система по п. 1, в которой контроллер задает элемент потока для каждого из множества коммутаторов до переноса пакета среди множества узлов.2. The computer system of claim 1, wherein the controller defines a flow element for each of the plurality of switches prior to transferring the packet among the plurality of nodes. 3. Компьютерная система по п. 1, в которой контроллер получает первый МАС-адрес первого узла из множества узлов из первого запроса ARP (протокола разрешения адресов), переданного от первого узла.3. The computer system of claim 1, wherein the controller obtains a first MAC address of a first node from a plurality of nodes from a first ARP request (address resolution protocol) transmitted from the first node. 4. Компьютерная система по п. 3, в которой контроллер передает на первый узел ответ ARP, в котором имеется МАС-адрес другого узла из множества узлов в качестве источника передачи, как ответ на первый запрос ARP от первого узла на упомянутый другой узел.4. The computer system of claim 3, wherein the controller transmits an ARP response to the first node, in which there is a MAC address of another node from the plurality of nodes as a transmission source, as a response to the first ARP request from the first node to said other node. 5. Компьютерная система по п. 2, в которой контроллер выдает второй запрос ARP и задает второй МАС-адрес второго узла, который был получен на основе ответа на второй запрос ARP, для каждого из множества коммутаторов в качестве правила элемента потока.5. The computer system according to claim 2, in which the controller issues a second ARP request and sets the second MAC address of the second node, which was obtained based on the response to the second ARP request, for each of the many switches as a rule of the flow element. 6. Компьютерная система по п. 4, в которой контроллер передает на упомянутый другой узел ответ ARP на третий запрос ARP, адресованный первому узлу и переданный от упомянутого другого узла.6. The computer system of claim 4, wherein the controller transmits, to said other node, an ARP response to a third ARP request addressed to the first node and transmitted from said other node. 7. Компьютерная система по любому из пп. 1-6, в которой упомянутое множество коммутаторов содержит множество первых коммутаторов, непосредственно подключенных к упомянутому множеству узлов, и контроллер задает элемент потока для произвольно выбранных из упомянутого множества первых коммутаторов, не задавая элемент потока для оставшихся коммутаторов.7. The computer system according to any one of paragraphs. 1-6, wherein said plurality of switches includes a plurality of first switches directly connected to said plurality of nodes, and the controller defines a flow element for arbitrarily selected from said plurality of first switches without specifying a flow element for the remaining switches. 8. Компьютерная система по любому из пп. 1-6, в которой контроллер задает элемент потока для каждого из множества коммутаторов для осуществления маршрутизации ЕСМР (выбора множественных маршрутов одинаковой стоимости) в отношении пакета.8. The computer system according to any one of paragraphs. 1-6, in which the controller defines a flow element for each of the plurality of switches to perform ECMR routing (selecting multiple routes of the same cost) with respect to the packet. 9. Способ осуществления связи, содержащий этапы, на которых:
задают с помощью контроллера элемент потока для каждого из множества коммутаторов;
осуществляют с помощью каждого из множества коммутаторов операцию ретрансляции, заданную в элементе потока, в отношении пакета, согласующегося с этим элементом потока; и
осуществляют связь между исходным узлом и узлом-адресатом из множества узлов через множество коммутаторов,
причем упомянутое задание элемента потока содержит этапы, на которых:
получают с помощью контроллера МАС-адрес (адрес уровня управления доступом к среде) первого узла из множества узлов от первого узла,
задают с помощью контроллера этот МАС-адрес в качестве адреса пункта назначения в правиле элемента потока каждого из множества коммутаторов и
задают обработку переноса, адресованную узлу-адресату, в качестве действия элемента потока для каждого из множества коммутаторов; и
упомянутое осуществление связи содержит этап, на котором переносят с помощью каждого из множества коммутаторов пакет, содержащий адрес пункта назначения, на узел-адресат независимо от адреса источника передачи этого пакета.
9. A communication method, comprising the steps of:
using a controller, set a flow element for each of the plurality of switches;
performing, with each of the plurality of switches, a relay operation specified in a flow element with respect to a packet consistent with this flow element; and
communicate between the source node and the destination node from a plurality of nodes through a plurality of switches,
moreover, the aforementioned task of the stream element contains the stages in which:
using the controller, get the MAC address (address of the medium access control level) of the first node from the plurality of nodes from the first node,
using the controller set this MAC address as the destination address in the rule of the flow element of each of the many switches and
specifying the transfer processing addressed to the destination node as an action of the flow element for each of the plurality of switches; and
said communication comprises the step of transferring, using each of the plurality of switches, a packet containing a destination address to a destination node, regardless of the transmission source address of this packet.
10. Способ осуществления связи по п. 9, в котором упомянутое задание элемента потока осуществляется до переноса пакета среди множества узлов. 10. The communication method of claim 9, wherein said defining a flow element is carried out before packet transfer among a plurality of nodes.
RU2013110287/08A 2010-09-09 2011-09-05 Computer system and method for communication in computer system RU2574350C2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010202468 2010-09-09
JP2010-202468 2010-09-09
PCT/JP2011/070137 WO2012033041A1 (en) 2010-09-09 2011-09-05 Computer system and communication method in computer system

Publications (2)

Publication Number Publication Date
RU2013110287A RU2013110287A (en) 2014-10-20
RU2574350C2 true RU2574350C2 (en) 2016-02-10

Family

ID=

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11245641B2 (en) 2020-07-02 2022-02-08 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11252105B2 (en) 2019-08-27 2022-02-15 Vmware, Inc. Identifying different SaaS optimal egress nodes for virtual networks of different entities
RU2766313C2 (en) * 2017-10-02 2022-03-15 Виэмвэар, Инк. Creation of virtual networks covering many public clouds
US11323307B2 (en) 2017-11-09 2022-05-03 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US11349722B2 (en) 2017-02-11 2022-05-31 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
US11363124B2 (en) 2020-07-30 2022-06-14 Vmware, Inc. Zero copy socket splicing
US11374904B2 (en) 2015-04-13 2022-06-28 Nicira, Inc. Method and system of a cloud-based multipath routing protocol
US11375005B1 (en) 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
RU2766313C9 (en) * 2017-10-02 2022-06-30 Виэмвэар, Инк. Creating virtual networks spanning multiple public clouds
US11381499B1 (en) 2021-05-03 2022-07-05 Vmware, Inc. Routing meshes for facilitating routing through an SD-WAN
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11418997B2 (en) 2020-01-24 2022-08-16 Vmware, Inc. Using heart beats to monitor operational state of service classes of a QoS aware network link
US11444865B2 (en) 2020-11-17 2022-09-13 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11444872B2 (en) 2015-04-13 2022-09-13 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US11533248B2 (en) 2017-06-22 2022-12-20 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US11601356B2 (en) 2020-12-29 2023-03-07 Vmware, Inc. Emulating packet flows to assess network links for SD-WAN
US11606225B2 (en) 2017-10-02 2023-03-14 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US11606286B2 (en) 2017-01-31 2023-03-14 Vmware, Inc. High performance software-defined core network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0871309A2 (en) * 1997-04-07 1998-10-14 Kabushiki Kaisha Toshiba Router device and frame transfer method using datalink layer frame switching
EP0993153A1 (en) * 1998-10-05 2000-04-12 Hitachi, Ltd. Packet forwarding apparatus with a flow detection table
RU2375746C2 (en) * 2003-04-29 2009-12-10 Майкрософт Корпорейшн Method and device for detecting network devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0871309A2 (en) * 1997-04-07 1998-10-14 Kabushiki Kaisha Toshiba Router device and frame transfer method using datalink layer frame switching
EP0993153A1 (en) * 1998-10-05 2000-04-12 Hitachi, Ltd. Packet forwarding apparatus with a flow detection table
RU2375746C2 (en) * 2003-04-29 2009-12-10 Майкрософт Корпорейшн Method and device for detecting network devices

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11444872B2 (en) 2015-04-13 2022-09-13 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US11374904B2 (en) 2015-04-13 2022-06-28 Nicira, Inc. Method and system of a cloud-based multipath routing protocol
US11606286B2 (en) 2017-01-31 2023-03-14 Vmware, Inc. High performance software-defined core network
US11349722B2 (en) 2017-02-11 2022-05-31 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
US11533248B2 (en) 2017-06-22 2022-12-20 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
RU2766313C9 (en) * 2017-10-02 2022-06-30 Виэмвэар, Инк. Creating virtual networks spanning multiple public clouds
US11855805B2 (en) 2017-10-02 2023-12-26 Vmware, Inc. Deploying firewall for virtual network defined over public cloud infrastructure
RU2766313C2 (en) * 2017-10-02 2022-03-15 Виэмвэар, Инк. Creation of virtual networks covering many public clouds
US11606225B2 (en) 2017-10-02 2023-03-14 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US11516049B2 (en) 2017-10-02 2022-11-29 Vmware, Inc. Overlay network encapsulation to forward data message flows through multiple public cloud datacenters
US11323307B2 (en) 2017-11-09 2022-05-03 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US11258728B2 (en) 2019-08-27 2022-02-22 Vmware, Inc. Providing measurements of public cloud connections
US11310170B2 (en) 2019-08-27 2022-04-19 Vmware, Inc. Configuring edge nodes outside of public clouds to use routes defined through the public clouds
US11606314B2 (en) 2019-08-27 2023-03-14 Vmware, Inc. Providing recommendations for implementing virtual networks
US11252105B2 (en) 2019-08-27 2022-02-15 Vmware, Inc. Identifying different SaaS optimal egress nodes for virtual networks of different entities
US11252106B2 (en) 2019-08-27 2022-02-15 Vmware, Inc. Alleviating congestion in a virtual network deployed over public clouds for an entity
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11418997B2 (en) 2020-01-24 2022-08-16 Vmware, Inc. Using heart beats to monitor operational state of service classes of a QoS aware network link
US12041479B2 (en) 2020-01-24 2024-07-16 VMware LLC Accurate traffic steering between links through sub-path path quality metrics
US11438789B2 (en) 2020-01-24 2022-09-06 Vmware, Inc. Computing and using different path quality metrics for different service classes
US11606712B2 (en) 2020-01-24 2023-03-14 Vmware, Inc. Dynamically assigning service classes for a QOS aware network link
US11245641B2 (en) 2020-07-02 2022-02-08 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11477127B2 (en) 2020-07-02 2022-10-18 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11363124B2 (en) 2020-07-30 2022-06-14 Vmware, Inc. Zero copy socket splicing
US11444865B2 (en) 2020-11-17 2022-09-13 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575591B2 (en) 2020-11-17 2023-02-07 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US11601356B2 (en) 2020-12-29 2023-03-07 Vmware, Inc. Emulating packet flows to assess network links for SD-WAN
US11582144B2 (en) 2021-05-03 2023-02-14 Vmware, Inc. Routing mesh to provide alternate routes through SD-WAN edge forwarding nodes based on degraded operational states of SD-WAN hubs
US11388086B1 (en) 2021-05-03 2022-07-12 Vmware, Inc. On demand routing mesh for dynamically adjusting SD-WAN edge forwarding node roles to facilitate routing through an SD-WAN
US11381499B1 (en) 2021-05-03 2022-07-05 Vmware, Inc. Routing meshes for facilitating routing through an SD-WAN
US11637768B2 (en) 2021-05-03 2023-04-25 Vmware, Inc. On demand routing mesh for routing packets through SD-WAN edge forwarding nodes in an SD-WAN
US11509571B1 (en) 2021-05-03 2022-11-22 Vmware, Inc. Cost-based routing mesh for facilitating routing through an SD-WAN
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US11375005B1 (en) 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application

Similar Documents

Publication Publication Date Title
CA2810660C (en) Computer system and communication method in computer system
US9331936B2 (en) Switch fabric support for overlay network features
US10911355B2 (en) Multi-site telemetry tracking for fabric traffic using in-band telemetry
US9948553B2 (en) System and method for virtual network-based distributed multi-domain routing control
EP2874359B1 (en) Extended ethernet fabric switches
CN102857416B (en) A kind of realize the method for virtual network, controller and virtual network
EP2567512B1 (en) Virtual cluster switching
JP5991424B2 (en) Packet rewriting device, control device, communication system, packet transmission method and program
US9515868B2 (en) System and method for communication
KR101231673B1 (en) Distributed switch domain of heterogeneous components
US8369296B2 (en) Distributed link aggregation
US9590898B2 (en) Method and system to optimize packet exchange between the control and data plane in a software defined network
WO2012133060A1 (en) Network system and method for acquiring vlan tag information
EP2985960A1 (en) Network topology discovery method and system
WO2014000292A1 (en) Migration method, serving control gateway and system for virtual machine across data centres
CN104937885A (en) Global VLANs for fabric switches
WO2012152178A1 (en) Method, system and controlling bridge for obtaining port extension topology information
WO2015032260A1 (en) Route updating method and routing device
RU2574350C2 (en) Computer system and method for communication in computer system
Shahrokhkhani An Analysis on Network Virtualization Protocols and Technologies
Maia An SDN-based Overlay Networking Solution for Transparent Multi-homed Vehicular Communications
WO2015118811A1 (en) Communication system, packet-forwarding device, packet-forwarding method, and packet-forwarding program