# US 10,484,203 B2 · Method for implementing communication between NVO3 network and MPLS network, and apparatus

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

- Number: US 10,484,203 B2
- Document ID: US10484203B2
- Status: Granted
- Kind: B2
- Application number: 15/393,049
- Filed: 2016-12-28
- Published: 2017-04-27
- Granted: 2019-11-19
- Earliest claimed: 2014-10-27
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Weiguo Hao; Qiandeng Liang
- Web page: https://patentgrep.com/patent/US10484203B2

## CPC

- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- H04L 12/4641: {Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272)}
- H04L 12/4679: {Arrangements for the registration or de-registration of VLAN attribute values, e.g. VLAN identifiers, port VLAN membership}
- H04L 12/66: Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
- H04L 45/50: using label swapping, e.g. multi-protocol label switch [MPLS]
- H04L 61/5061: Pools of addresses
- H04L 2212/00: Encapsulation of packets
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

This application discloses a method for implementing communication between an NVO3 network, to implement inter-AS communication between an NVO3 network and an MPLS VPN network. The method includes: obtaining an identifier of a PE device in the MPLS network and an MPLS label allocated by an ASBR in the MPLS network; allocating an IP address for the MPLS label from a local address pool; sending routing information to an NVE, where the routing information includes an identifier of the PE device and the allocated IP address, and the allocated IP address is used as an outer destination address of an NVO3 encapsulated packet sent by a TES in the NVO3 network to a CE device connected to the PE device in the MPLS network.

## Claims

### Claim 1

A method for implementing communication, comprising:
obtaining, by a device, an identifier of a provider edge (PE) device and a multiprotocol label switching (MPLS) label;
allocating, by the device, an Internet protocol (IP) address for the MPLS label;
storing, by the device, a correspondence between the MPLS label and the allocated IP address;
sending, by the device, routing information to a network virtualization edge (NVE), wherein the routing information comprises the identifier of the PE device and the allocated IP address;
receiving, by the device, a packet from the PE device, wherein an inner label of the received packet is a virtual network identifier (VN ID), and an outer label of the received packet is an MPLS label allocated for the identifier of the NVE;
generating, by the device, an encapsulated packet based on a correspondence between the identifier of the NVE and the MPLS label allocated for the identifier of the NVE, wherein an outer destination address of the generated encapsulated packet is the IP address of the NVE; and
sending, by the device, the generated encapsulated packet to the NVE.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising before obtaining the identifier of the PE device and the MPLS label,
receiving, by the device, a border gateway protocol (BGP) packet, wherein the BGP packet carries the identifier of the PE device and the MPLS label.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising:
receiving, by the device, an encapsulated packet sent by the NVE, wherein an outer destination address of the encapsulated packet is the allocated IP address;
generating, by the device, a packet based on the stored correspondence, wherein the generated packet carries the MPLS label, the generated packet does not comprise the allocated IP address; and
sending, by the device, the generated packet.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising:
allocating, by the device, the MPLS label for an identifier of the NVE;
sending, by the device, a border gateway protocol (BGP) packet, wherein the BGP packet sent by the device carries the identifier of the NVE and the MPLS label allocated for the identifier of the NVE; and
storing, by the device, the correspondence between the identifier of the NVE and the MPLS label allocated for the identifier of the NVE.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the identifier of the PE device is an IP address of the PE device.

### Claim 6

A method for implementing communication, comprising:
receiving, by a network virtualization edge (NVE), routing information sent by a device, wherein the routing information comprises a correspondence between an Internet protocol (IP) address and an identifier of a provider edge (PE) device, the IP address is allocated by the device for a multiprotocol label switching (MPLS) label;
receiving, by the NVE, an MPLS virtual private network (VPN) label advertised by the PE device and an identifier of a customer edge (CE) device;
generating, by the NVE, VPN routing information, wherein the VPN routing information comprises the identifier of the CE device, the allocated IP address, and the MPLS VPN label;
sending, by the NVE, VPN route to the PE device, wherein the VPN route carries an MPLS VPN label and an identifier of a tenant end system (TES), and the MPLS VPN label carried in the VPN route is a virtual network identifier (VN ID) of a virtual network to which the TES belongs;
receiving, by the NVE, an encapsulated packet sent by the device, wherein an outer destination address of the encapsulated packet received by the NVE is an IP address of the NVE, an outer source address of the encapsulated packet received by the NVE is an IP address of the device, and the encapsulated packet received by the NVE further carries the VN ID of the virtual network to which the TES belongs; and
decapsulating, by the NVE, the received encapsulated packet, and sending a decapsulated packet to the TES according to the VN ID of the virtual network to which the TES belongs.

### Claim 7 (depends on 6)

The method according to claim 6, further comprising:
receiving, by the NVE, a packet sent to the PE device, wherein the packet sent to the PE device carries the identifier of the CE device;
generating an encapsulated packet based on the VPN routing information, wherein an outer destination address of the encapsulated packet is the allocated IP address; and
sending, by the NVE, the encapsulated packet to the device.

### Claim 8 (depends on 6)

The method according to claim 6, wherein
the identifier of the PE device is an IP address of the PE device.

### Claim 9

A computer network device for implementing communication, comprising:
a non-transitory memory storing computer execution instructions;
a processor coupled to the non-transitory memory, wherein the processor is configured to execute the instructions to:
obtain an identifier of a provider edge (PE) device and a multiprotocol label switching (MPLS) label;
allocate an Internet protocol (IP) address for the MPLS label;
store a correspondence between the MPLS label and the allocated IP address;
send routing information to a network virtualization edge (NVE), wherein the routing information comprises the identifier of the PE device and the allocated IP address;
receive a packet from the PE device, wherein an inner label of the received packet is a virtual network identifier (VN ID), and an outer label of the received packet is an MPLS label allocated for the identifier of the NVE;
generate an encapsulated packet based on a correspondence between the identifier of the NVE and the MPLS label allocated for the identifier of the NVE, wherein an outer destination address of the generated encapsulated packet is the IP address of the NVE; and
send the generated encapsulated packet to the NVE.

### Claim 10 (depends on 9)

The computer network device according to claim 9, wherein the processor is further configured to execute the instructions to:
receive a border gateway protocol (BGP) packet, wherein the BGP packet carries the identifier of the PE device and the MPLS label.

### Claim 11 (depends on 9)

The computer network device according to claim 9, wherein the processor is further configured to execute the instructions to:
receive an encapsulated packet sent by the NVE, wherein an outer destination address of the encapsulated packet is the allocated IP address;
generate a packet based on the stored correspondence, wherein the generated packet carries the MPLS label, the generated packet does not comprise the allocated IP address; and
send the generated packet.

### Claim 12 (depends on 9)

The computer network device according to claim 9, wherein the processor is further configured to execute the instructions to:
allocate the MPLS label for an identifier of the NVE;
send a border gateway protocol (BGP) packet, wherein the BGP packet sent by the computer network device carries the identifier of the NVE and the MPLS label allocated for the identifier of the NVE; and
store the correspondence between the identifier of the NVE and the MPLS label allocated for the identifier of the NVE.

### Claim 13

A network virtualization edge (NVE) for implementing communication, comprising:
a non-transitory memory storing computer execution instructions;
a processor coupled to the non-transitory memory, wherein the processor is configured to execute the instructions to:
receive routing information sent by a device, wherein the routing information comprises a correspondence between an Internet protocol (IP) address and an identifier of a provider edge (PE) device, the IP address is allocated by the device for a multiprotocol label switching (MPLS) label;
receive an MPLS virtual private network (VPN) label advertised by the PE device and an identifier of a customer (CE) device;
generate VPN routing information, wherein the VPN routing information comprises the identifier of the CE device, the allocated IP address, and the MPLS VPN label;
send VPN route to the PE device, wherein the VPN route carries an MPLS VPN label and an identifier of a tenant end system (TES) connected to the NVE, and the MPLS VPN label carried in the VPN route is a virtual network identifier (VN ID) of a virtual network to which the TES belongs;
receive an encapsulated packet sent by the device, wherein an outer destination address of the NVO3 encapsulated packet received by the NVE is an IP address of the NVE, an outer source address of the encapsulated packet received by the NVE is an IP address of the device, and the encapsulated packet received by the NVE further carries the VN ID of the virtual network to which the TES belongs; and
decapsulate the received encapsulated packet, and send a decapsulated packet to the TES according to the VN ID of the virtual network to which the TES belongs.

### Claim 14 (depends on 13)

The NVE according to claim 13, wherein the processor is further configured to execute the instructions to:
receive a packet sent to the PE device, wherein the packet sent to the PE device carries the identifier of the CE device;
generate an encapsulated packet based on the VPN routing information, wherein an outer destination address of the encapsulated packet is the allocated IP address; and
send the encapsulated packet to the device.
