RU2574350C2 - Computer system and method for communication in computer system - Google Patents
Computer system and method for communication in computer system Download PDFInfo
- 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
Links
Images
Abstract
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
Как описано выше, в традиционном методе 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
Библиография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
SV 40 и хранилище 50 являются компьютерными блоками, каждый из которых имеет центральный процессор (ЦП), главный блок хранения и внешнее запоминающее устройство, которые не показаны на фигуре, и осуществляют связь с другими SV 40 путем выполнения программы, хранящейся во внешнем запоминающем устройстве. Связь с SV 40 осуществляется через PFS 20 и 30. В соответствии с выполняемой программой SV 40 осуществляет функцию, представленную веб-сервером, файловым сервером, сервером приложений, клиентским терминалом и пр. Например, когда SV 40 выступает в качестве веб-сервера, SV 40 переносит документ HTML и данные изображения из блока хранения (не показан) на другой SV 40 (например, клиентский терминал) в соответствии с запросом клиентского терминала, который не показан.SV 40 and
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 реализован компьютером, имеющим ЦП и блок хранения (не показан). Обработка по управлению потоками в PFC 10 осуществляется путем исполнения программы, хранящейся в блоке хранения (не показан), и управляет операциями PFS 20 и 30 (например, операцией ретрансляции пакетов данных) путем задания элемента потока (потока и действия) для каждого из PFS 20 и 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 генерирует элемент потока, применяя полученный MAC-адрес для правила, и задает элемент потока для всех PFS 20 и 30 в сети. Например, PFC 10 генерирует для каждого PFS элемент потока, используемый для указания пункта назначения переноса пакета, адресованного по MAC-адресу виртуальной машины VM1, и для переноса пакета и задает элемент потока для всех коммутаторов PFS 20 и 30 в сети. В настоящем изобретении, поскольку управление потоком осуществляется на основании только MAC-адреса пункта назначения, пункт назначения переноса пакета, соответствующий правилу (MAC-адресу пункта назначения), заданный для элемента потока, определяется независимо от источника передачи. По этой причине управление потоками может осуществляться безотносительно к источнику передачи пакета. Таким образом, согласно настоящему изобретению, поскольку множественный маршрут для переноса пакетов формируется путем задания оптимального маршрута для терминала-адресата, можно реализовать оптимальную многомаршрутную операцию. Кроме того, поскольку элемент потока можно задавать для PFS, не ожидая приема первого пакета, в отличие от традиционного метода, можно повысить пропускную способность сети. Кроме того, в настоящем изобретении, поскольку элемент потока генерируется и задается до переноса пакета между терминалами, то есть до начала работы системы, обработочная нагрузка для управления потоками в ходе эксплуатации снижается в сравнении с традиционным методом.
Дополнительно PFC 10 генерирует элемент потока, применяя полученный MAC-адрес для правила, и задает элемент потока для произвольно выбранных из PFS 20 и 30 в сети, и элемент потока не задается для оставшихся PFS. Например, элемент потока, применяющий MAC-адрес виртуальной машины VM1 в качестве правила, задается для выбранной части PFS 30, непосредственно подключенных к хост-терминалу (SV 40 и хранилищу 50). В этом случае, когда PFS 30, для которого элемент потока не задан, принимает пакет, адресованный виртуальной машине VM1, пакет выбраковывается и никуда больше не переносится. Таким образом, поскольку пункт назначения переноса пакета можно логически отделить, одну физическую сеть можно разделить на множество логических сетей и эксплуатировать. Следует отметить, что, когда элемент потока, определенный для выбраковки пакета, адресованного по конкретному MAC-адресу, назначается для конкретного PFS, можно добиться аналогичного эффекта.Additionally,
Каждый из 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
В элементе потока в качестве данных (далее именуемых правилом) для указания потока (пакета данных) задаются любые комбинации адресов и идентификаторов от уровня 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
Действие элемента потока определяет, например, способ обработки пакета данных 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
На момент окончания конфигурации системы (или изменения конфигурации системы), 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
Согласно фиг.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,
Согласно фиг.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,
При нормальном изучении уровня 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,
Согласно фиг.3D PFC 10 получает (изучает) местоположение (MAC-адрес) узла-адресата на основании ответа (ответа ARP) на запрос ARP, показанный на фиг.3C. В настоящем примере ответ ARP передается от виртуальной машины VM5, и PFC 10 получает местоположение (MAC-адрес) виртуальной машины VM5 путем блокировки ответа ARP.3D,
Согласно фиг.3E PFC 10, получивший (изучивший) местоположение (MAC-адрес) узла, регистрирует маршрут к узлу. В данном случае PFC 10 задает для всех PFS 20 и 30 элемент потока, определяющий перенос пакета, адресованного по MAC-адресу виртуальной машины VM5, и устройство назначения. В этом случае, аналогично описанному выше, предпочтительно задавать элемент потока для PFS 30 на первом каскаде от хост-терминала для выравнивания нагрузки для PFS 20 на втором или следующем каскаде.3E,
Согласно фиг.3F PFC 10 отвечает на запрос ARP от узла, показанного на фиг.3A, через посредника. В данном случае PFC 10 использует MAC-адрес виртуальной машины VM5 как источника передачи и выдает ответ ARP, пунктом назначения которого является виртуальная машина VM1. Виртуальная машина VM1 принимает ответ ARP на запрос ARP, переданный ею самой, и получает запрашиваемый MAC-адрес виртуальной машины VM5.3F, the
В вышеупомянутой операции обработка (элемент потока), применяемая к пакетам, соответственно адресованным как узлу-адресату, так и запрашивающему исходному узлу запроса 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
Посредством вышеописанной операции обе виртуальные машины 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
В настоящем примере с помощью 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. 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.
задают с помощью контроллера элемент потока для каждого из множества коммутаторов;
осуществляют с помощью каждого из множества коммутаторов операцию ретрансляции, заданную в элементе потока, в отношении пакета, согласующегося с этим элементом потока; и
осуществляют связь между исходным узлом и узлом-адресатом из множества узлов через множество коммутаторов,
причем упомянутое задание элемента потока содержит этапы, на которых:
получают с помощью контроллера МАС-адрес (адрес уровня управления доступом к среде) первого узла из множества узлов от первого узла,
задают с помощью контроллера этот МАС-адрес в качестве адреса пункта назначения в правиле элемента потока каждого из множества коммутаторов и
задают обработку переноса, адресованную узлу-адресату, в качестве действия элемента потока для каждого из множества коммутаторов; и
упомянутое осуществление связи содержит этап, на котором переносят с помощью каждого из множества коммутаторов пакет, содержащий адрес пункта назначения, на узел-адресат независимо от адреса источника передачи этого пакета.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.
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)
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 |
US11375005B1 (en) | 2021-07-24 | 2022-06-28 | Vmware, Inc. | High availability solutions for a secure access service edge application |
US11374904B2 (en) | 2015-04-13 | 2022-06-28 | Nicira, Inc. | Method and system of a cloud-based multipath routing protocol |
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 |
US11606286B2 (en) | 2017-01-31 | 2023-03-14 | Vmware, Inc. | High performance software-defined core network |
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 |
Citations (3)
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)
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 (37)
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 |
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 |
RU2766313C9 (en) * | 2017-10-02 | 2022-06-30 | Виэмвэар, Инк. | Creating virtual networks spanning multiple public clouds |
US11516049B2 (en) | 2017-10-02 | 2022-11-29 | Vmware, Inc. | Overlay network encapsulation to forward data message flows through multiple public cloud datacenters |
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 |
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 |
US11606314B2 (en) | 2019-08-27 | 2023-03-14 | Vmware, Inc. | Providing recommendations for implementing virtual networks |
US11258728B2 (en) | 2019-08-27 | 2022-02-22 | Vmware, Inc. | Providing measurements of public cloud connections |
US11252105B2 (en) | 2019-08-27 | 2022-02-15 | Vmware, Inc. | Identifying different SaaS optimal egress nodes for virtual networks of different entities |
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 |
US11252106B2 (en) | 2019-08-27 | 2022-02-15 | Vmware, Inc. | Alleviating congestion in a virtual network deployed over public clouds for an entity |
US11489783B2 (en) | 2019-12-12 | 2022-11-01 | Vmware, Inc. | Performing deep packet inspection in a software defined wide area network |
US11394640B2 (en) | 2019-12-12 | 2022-07-19 | Vmware, Inc. | Collecting and analyzing data regarding flows associated with DPI parameters |
US11438789B2 (en) | 2020-01-24 | 2022-09-06 | Vmware, Inc. | Computing and using different path quality metrics for different service classes |
US12041479B2 (en) | 2020-01-24 | 2024-07-16 | VMware LLC | Accurate traffic steering between links through sub-path path quality metrics |
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 |
US11606712B2 (en) | 2020-01-24 | 2023-03-14 | Vmware, Inc. | Dynamically assigning service classes for a QOS aware network link |
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 |
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 |
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 |
US11509571B1 (en) | 2021-05-03 | 2022-11-22 | Vmware, Inc. | Cost-based routing mesh for facilitating routing through an SD-WAN |
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 |
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 |
US11381499B1 (en) | 2021-05-03 | 2022-07-05 | Vmware, Inc. | Routing meshes 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 |
US12316524B2 (en) | 2022-07-20 | 2025-05-27 | VMware LLC | Modifying an SD-wan based on flow metrics |
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 | |
CN103444143B (en) | Network system and policy route configuration method | |
CN102857416B (en) | A kind of realize the method for virtual network, controller and virtual network | |
EP4027611B1 (en) | Virtual cluster switching | |
EP2874359B1 (en) | Extended ethernet fabric switches | |
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 | |
WO2014000292A1 (en) | Migration method, serving control gateway and system for virtual machine across data centres | |
WO2012152178A1 (en) | Method, system and controlling bridge for obtaining port extension topology information | |
CN103905325B (en) | Double layer network data transferring method and network node | |
EP3038296A1 (en) | Pool element status information synchronization method, pool register and pool element | |
WO2015032260A1 (en) | Route updating method and routing device | |
KR101794719B1 (en) | Method and system for ip address virtualization in sdn-based network virthalization platform | |
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 |