IP Library Granted Patent US 10,129,136
Granted Patent B2
US 10,129,136 · App. 15/239,126 · Granted Nov 13, 2018

Virtual router cluster, data forwarding method and apparatus

Inventors: Yi Yang (Beijing, CN); Ying Wang (Beijing, CN); Yu Zhang (Beijing, CN); Yuchi Dong (Beijing, CN)
Assignee: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY CO., LTD.
H04L45/12H04L12/66H04L45/46H04L45/586H04L45/7453H04L47/125H04L67/10H04L67/1002
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,129,136
App. No.
15/239,126
Granted
Nov 13, 2018
Kind
B2
Abstract

The present application discloses a virtual router cluster, and a data forwarding method and apparatus. A specific implementation of the virtual router cluster includes: a gateway and at least one virtual router interconnected with the gateway; the gateway receiving an externally transmitted data packet; the gateway selecting a first virtual router corresponding to the data packet from the at least one virtual router according to an Open Shortest Path First protocol, and forwarding the data packet to the first virtual router corresponding to the data packet; and the first virtual router receiving the data packet and forwarding the data packet to a destination. This implementation implements network load balancing, thereby avoiding network congestion.

Claims (64)

1. A virtual router cluster, comprising:

a gateway and at least one virtual router interconnected with the gateway;

the gateway receiving an externally transmitted data packet;

the gateway selecting a first virtual router corresponding to the data packet from the at least one virtual router according to an Open Shortest Path First protocol, and forwarding the data packet to the first virtual router corresponding to the data packet; and

the first virtual router receiving the data packet and forwarding the data packet to a destination, wherein when the first virtual router receives the data packet and forwards the data packet to the destination,

a plurality of first kernels polls a network interface of a first host at a predetermined time interval; and

if the network interface receives the data packet sent by the gateway when a second kernel in the plurality of first kernels accesses the network interface, the second kernel acquires the data packet and forwards the data packet to the destination,

wherein the first host is a host of the first virtual router, and the first kernel is a kernel of the first host exclusively occupied by the first virtual router.

2. The virtual router cluster according to claim 1 , wherein when selecting the first virtual router corresponding to the data packet from the at least one virtual router according to the Open Shortest Path First protocol, the gateway:

acquires address information of the data packet; and

selects the first virtual router corresponding to the data packet based on a hash value of the address information.

3. The virtual router cluster according to claim 2 , wherein the address information of the data packet comprises:

a source network protocol address, a source port number, a target network protocol address, a target port number and a protocol code of the data packet.

4. A data forwarding method, comprising:

receiving an externally transmitted data packet;

selecting a first virtual router corresponding to the data packet according to an Open Shortest Path First protocol; and

forwarding the data packet to the first virtual router corresponding to the data packet,

wherein when the first virtual router receives the data packet,

a plurality of first kernels polls a network interface of a first host at a predetermined time interval; and

if the network interface receives the data packet sent by the gateway when a second kernel in the plurality of first kernels accesses the network interface, the second kernel acquires the data packet,

wherein the first host is a host of the first virtual router, and the first kernel is a kernel of the first host exclusively occupied by the first virtual router.

5. The method according to claim 4 , wherein the selecting the first virtual router corresponding to the data packet according to the Open Shortest Path First protocol comprises:

acquiring address information of the data packet; and

selecting the first virtual router corresponding to the data packet based on a hash value of the address information.

6. The method according to claim 5 , wherein the address information of the data packet comprises:

a source network protocol address, a source port number, a target network protocol address, a target port number and a protocol code of the data packet.

7. A data forwarding method, comprising:

receiving, by a first virtual router, a data packet sent by a gateway based on satisfying an Open Shortest Path First protocol; and

forwarding the data packet to a destination-, wherein when the first virtual router receives the data packet and forwards the data packet to the destination,

a plurality of first kernels polls a network interface of a first host at a predetermined time interval; and

if the network interface receives the data packet sent by the gateway when a second kernel in the plurality of first kernels accesses the network interface, the second kernel acquires the data packet and forwards the data packet to the destination,

wherein the first host is a host of the first virtual router, and the first kernel is a kernel of the first host exclusively occupied by the first virtual router.

8. The method according to claim 7 , wherein the receiving, by a first virtual router, the data packet sent by the gateway based on satisfying the Open Shortest Path First protocol comprises:

receiving the data packet sent by the gateway based on that a hash value of address information of the data packet satisfies the Open Shortest Path First protocol.

9. The method according to claim 8 , wherein the address information of the data packet comprises:

a source network protocol address, a source port number, a target network protocol address, a target port number and a protocol code of the data packet.

10. A data forwarding apparatus, comprising:

at least one processor; and

a memory storing instructions, the instructions when executed by the at least one processor, cause the at least one processor to perform operations, the operations comprising:

receiving an externally transmitted data packet;

selecting a first virtual router corresponding to the data packet according to an Open Shortest Path First protocol; and

forwarding the data packet to the first virtual router corresponding to the data packet,

wherein when the first virtual router receives the data packet,

a plurality of first kernels polls a network interface of a first host at a predetermined time interval; and

if the network interface receives the data packet sent by the gateway when a second kernel in the plurality of first kernels accesses the network interface, the second kernel acquires the data packet,

wherein the first host is a host of the first virtual router, and the first kernel is a kernel of the first host exclusively occupied by the first virtual router.

11. The apparatus according to claim 10 , wherein the selecting the first virtual router corresponding to the data packet according to the Open Shortest Path First protocol comprises:

acquiring address information of the data packet; and

selecting the first virtual router corresponding to the data packet based on a hash value of the address information.

12. The apparatus according to claim 11 , wherein the address information of the data packet comprises:

a source network protocol address, a source port number, a target network protocol address, a target port number and a protocol code of the data packet.

13. A data forwarding apparatus, comprising:

at least one processor; and

a memory storing instructions, the instructions when executed by the at least one processor, cause the at least one processor to perform operations, the operations comprising:

receiving, by a first virtual router, a data packet sent by a gateway based on satisfying an Open Shortest Path First protocol; and

forwarding the data packet to a destination,

wherein when the first virtual router receives the data packet and forwards the data packet to the destination,

a plurality of first kernels polls a network interface of a first host at a predetermined time interval; and

if the network interface receives the data packet sent by the gateway when a second kernel in the plurality of first kernels accesses the network interface, the second kernel acquires the data packet and forwards the data packet to the destination,

wherein the first host is a host of the first virtual router, and the first kernel is a kernel of the first host exclusively occupied by the first virtual router.

14. The apparatus according to claim 13 , wherein the receiving, by a first virtual router, a data packet sent by a gateway based on satisfying an Open Shortest Path First protocol comprises:

receiving the data packet sent by the gateway based on that a hash value of address information of the data packet satisfies the Open Shortest Path First protocol.

15. The apparatus according to claim 14 , wherein the address information of the data packet comprises:

a source network protocol address, a source port number, a target network protocol address, a target port number and a protocol code of the data packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2016
From: YANG, YI; WANG, YING; ZHANG, YU; DONG, YUCHI
To: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY CO., LTD.
Reel/Frame 040866/0519 →
Priority Claims (1)
CN 2015 1 0811517 · Nov 20, 2015 · national
Continuity (1)
Related Publication 20170149648A1 · May 25, 2017