# US 11,444,841 B2 · Method, apparatus, and system for implementing software-defined network SDN

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,444,841 B2
- Document ID: US11444841B2
- Status: Granted
- Kind: B2
- Application number: 16/749,691
- Filed: 2020-01-22
- Published: 2020-06-25
- Granted: 2022-09-13
- Earliest claimed: 2014-09-05
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Hua Li; Xiaoyi Zhang; Wenhui Li; Hui Ni
- Web page: https://patentgrep.com/patent/US11444841B2

## CPC

- H04L 41/022: Multivendor or multi-standard integration
- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- H04L 41/0886: {Fully automatic configuration}
- H04L 41/122: of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
- H04L 41/20: {Network management software packages}
- H04L 49/70: {Virtual switches}
- H04L 61/5007: Internet protocol [IP] addresses
- H04L 69/324: in the data link layer [OSI layer 2], e.g. HDLC
- H04L 2101/622: Layer-2 addresses, e.g. medium access control [MAC] addresses
- Y02D 30/00: Reducing energy consumption in communication networks
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

This application discloses a method for implementing a software-defined network (SDN), including: receiving, by an SDN controller, virtual network information sent by a cloud computing platform, where the virtual network information includes a correspondence between information about a virtual machine (VM) and information about a server running the VM. The method also includes acquiring, by the SDN controller, physical network information, where the physical network information includes a correspondence between information about a top-of-rack (TOR) switch and the information about the server. Additionally, the method includes acquiring, by the SDN controller, a correspondence between the information about the VM and the information about the TOR switch according to the virtual network information and the physical network information.

## Claims

### Claim 1

A method, comprising:
receiving, by a software-defined network (SDN) controller, first information, wherein the first information comprises a first correspondence between information about a virtual machine (VM) and information about a server running the VM;
receiving, by the SDN controller, second information, wherein the second information comprises a second correspondence between information about a network device connected to the server running the VM and the information about the server running the VM; and
obtaining, by the SDN controller, a third correspondence between the information about the VM and the information about the network device, according to the first information and the second information.

### Claim 2 (depends on 1)

The method according to claim 1, wherein:
the information about the VM comprises a VM media access control (MAC) address or a VM internet protocol (IP) address;
the information about the server running the VM comprises information about: a network interface card address of the server running the VM, a system name of the server running the VM, a universally unique identifier (UUID) of the server running the VM, or an identifier of a virtual switch on the server running the VM; and
the information about the network device comprises an equipment identity of the network device and information about a physical port connected to the server running the VM.

### Claim 3 (depends on 2)

The method according to claim 2, wherein:
the network interface card address of the server running the VM is carried by a Link Layer Discovery Protocol (LLDP) packet of Basic management type-length-value (TLV) Type 2;
the system name of the server running the VM is carried by an LLDP packet of Basic management TLV Type 5; or
the UUID of the server running the VM is carried by adding an LLDP packet of a new Basic management TLV Type.

### Claim 4 (depends on 1)

The method according to claim 1, wherein receiving, by the SDN controller, the second information comprises:
receiving, by the SDN controller, an OpenFlow message, wherein the OpenFlow message comprises a LLDP packet and the information about the network device, and the LLDP packet carries the information about the server running the VM; and
parsing, by the SDN controller, the OpenFlow message to obtain the second information.

### Claim 5 (depends on 1)

The method according to claim 1, wherein receiving, by the SDN controller, the second information comprises:
receiving, by the SDN controller, the second information sent by the network device, wherein the network device has parsed a received LLDP packet sent by the server running the VM to obtain the information about the server running the VM.

### Claim 6 (depends on 1)

The method according to claim 1, wherein receiving the first information comprises:
receiving, by the SDN controller, configuration information sent by a cloud computing platform, wherein the configuration information includes the first information, and wherein a tunnel_endpoints table in the configuration information includes the information about the server running the VM.

### Claim 7 (depends on 1)

The method according to claim 1, further comprising:
determining, by the SDN controller, a forwarding path for the VM based on the third correspondence between the information about the VM and the information about the network device.

### Claim 8

A software-defined network (SDN) controller, comprising:
a processor; and
a non-transitory computer readable storage medium storing a program for execution by the processor, the program including instructions to:
receive first information, wherein the first information comprises a first correspondence between information about a virtual machine (VM) and information about a server running the VM;
receive second information, wherein the second information comprises a second correspondence between information about a network device connected to the server running the VM and the information about the server running the VM; and
obtain a third correspondence between the information about the VM and the information about the network device according to the first information and the second information.

### Claim 9 (depends on 8)

The SDN controller according to claim 8, wherein:
the information about the VM comprises a VM media access control (MAC) address or a VM internet protocol (IP) address;
the information about the server running the VM comprises information about: a network interface card address of the server running the VM, a system name of the server running the VM, a universally unique identifier (UUID) of the server running the VM, or an identifier of a virtual switch on the server running the VM; and
the information about the network device comprises an equipment identity of the network device and information about a physical port connected to the server running the VM.

### Claim 10 (depends on 8)

The SDN controller according to claim 8, wherein the instructions to acquire the second information comprise instructions to:
receive an OpenFlow message sent by the network device, wherein the OpenFlow message comprises a LLDP packet and the information about the network device, and the LLDP packet carries the information about the server running the VM; and
parse the OpenFlow message to obtain the second information.

### Claim 11 (depends on 8)

The SDN controller according to claim 8, wherein the instructions further comprise instructions to:
determine a forwarding path for the VM based on the third correspondence between the information about the VM and the information about the network device.

### Claim 12

A network device, comprising:
a processor; and
a non-transitory computer readable storage medium storing a program for execution by the processor, the program including instructions to:
receive a Link Layer Discovery Protocol (LLDP) packet sent by a server, wherein the LLDP packet carries information about the server;
encapsulate, based on information about the network device, the LLDP packet as an OpenFlow message; and
send the OpenFlow message to a software-defined network (SDN) controller.

### Claim 13 (depends on 12)

The network device of claim 12, wherein the instructions further comprise instructions to:
parse the LLDP packet to obtain the information about the server; and
send second information to the SDN controller, wherein the second information comprises a correspondence between information about the network device and the information about the server.

### Claim 14 (depends on 12)

The network device according to claim 12, wherein the instructions further comprise instructions to:
receive an LLDP packet of Basic management type-length-value (TLV) Type 2, wherein the LLDP packet of Basic management TLV Type 2 carries a network interface card media access control (MAC) address of the server;
receive an LLDP packet of Basic management TLV Type 5, wherein the LLDP packet of Basic management TLV Type 5 carries a system name of the server; or
receive an LLDP packet of a new Basic management TLV Type, wherein the LLDP packet of the new Basic management TLV Type carries a universally unique identifier (UUID) of the server.

### Claim 15

A cloud computing platform, comprising:
a processor;
a non-transitory computer readable storage medium storing a program for execution by the processor, the program including instructions to:
receive a virtual network configuration table sent by a server running a virtual machine (VM), wherein the virtual network configuration table comprises a correspondence between information about the VM and information about the server running the VM; and
send the virtual network configuration table to a software-defined network (SDN) controller.

### Claim 16 (depends on 15)

The cloud computing platform according to claim 15, wherein the instructions further comprise instructions to:
send configuration information to the SDN controller, wherein the configuration information carries the virtual network configuration table, and a tunnel_endpoints table in the virtual network configuration table carries the information about the server.

### Claim 17

A device, comprising:
a processor; and
a non-transitory computer readable storage medium storing a program for execution by the processor, the program including instructions to:
send first information to a cloud computing platform, wherein the first information comprises a correspondence between information about a virtual machine (VM) running on the device and information about the device; and
send a Link Layer Discovery Protocol (LLDP) packet to a network device, wherein the LLDP packet carries the information about the device.

### Claim 18 (depends on 17)

The device according to claim 17, wherein the instructions further comprise instructions to:
send an LLDP packet of Basic management type-length-value (TLV) Type 2, wherein the LLDP packet of Basic management TLV Type 2 carries a network interface card media access control (MAC) address of the device;
send an LLDP packet of Basic management TLV Type 5, wherein the LLDP packet of Basic management TLV Type 5 carries a system name of the device; or
send an LLDP packet of a new Basic management TLV Type, wherein the LLDP packet of the new Basic management TLV Type carries a universally unique identifier (UUID) of the device.
