IP Library Granted Patent US 10,757,021
Granted Patent B2
US 10,757,021 · App. 16/273,784 · Granted Aug 25, 2020

Routing control method in software defined networking and OpenFlow controller

Inventors: Bo Man (Chengdu, CN); Chenji Li (Hangzhou, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L45/745H04L45/38H04L45/42
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,757,021
App. No.
16/273,784
Granted
Aug 25, 2020
Kind
B2
Abstract

A routing control method in software defined networking and an OpenFlow controller are provided. The method includes: receiving, by an OFC, a data packet reported by an OFS; determining, by the OFC according to a key value stored in a cache, whether the data packet is a repeated packet; and if the data packet is a repeated packet, delivering, by the OFC, the data packet to the OFS, and instructing the OFS to match a stored flow table to process the data packet or transmit the data packet through a corresponding port; or if the data packet is not a repeated packet, calculating, by the OFC, a routing policy for the data packet, and delivering a flow entry to the OFS according to the routing policy. In this way, for repeated packets, the OFC may calculate a routing policy only once, thereby reducing a calculation amount of the OFC.

Claims (47)

1. A routing control method performed by an OpenFlow controller (OFC) in software defined networking, the method comprising:

receiving a first data packet reported by an OpenFlow switch (OFS);

comparing a feature value of the first data packet with a data packet feature value in a key value stored in the OFC, wherein the key value comprises the data packet feature value and a processing moment value;

determining that the feature value of the first data packet is the same as the data packet feature value in the key value;

determining a time interval between a current moment and the processing moment value in the key value is less than or equal to a preset time value, wherein the preset time value is a time value less than or equal to a flow table valid time; and

instructing the OFS to match a stored flow table to process the first data packet.

2. The method according to claim 1 ,

wherein the key value further comprises a counter value; and

further comprising:

determining the counter value is not zero, and

subtracting one from the counter value in the key value.

3. The method according to claim 2 , further comprising:

receiving a second data packet reported by the OFS, wherein the second data packet is a repeated data packet of the first data packet;

determining the counter value is zero;

calculating a routing policy; and

delivering a flow table to the OFS according to the routing policy.

4. The method according to claim 1 , wherein the preset time value is a time value determined according to a time during which the OFS responds to a message delivered by the OFC.

5. The method according to claim 1 , wherein the data packet feature value comprises one or more of a source Media Access Control (MAC) address, a destination MAC address, a source Internet Protocol (IP) address, a destination IP address, a source port number, a destination port number, or a virtual local area network (VLAN) identifier and priority.

6. The method according to claim 1 , further comprising:

allocating a thread according to the data packet feature value in the key value, wherein the thread is configured to determine whether the first data packet is the repeated packet.

7. The method according to claim 1 , further comprising:

storing the key value in a cache when receiving a non-repeated data packet, wherein the first data packet is a repeated data packet of the non-repeated data packet.

8. An OpenFlow controller, comprising:

a processor;

a cache; and

a memory configured to store one or more execution instructions and coupled to the processor, wherein the processor is configured to invoke the execution instruction in the memory causing the OpenFlow controller to:

receive a first data packet reported by an OpenFlow switch (OFS),

compare a feature value of the first data packet with a data packet feature value in the key value, wherein the key value comprises the data packet feature value and a processing moment value,

determine that the feature value of the first data packet is the same as the data packet feature value in the key value,

determine a time interval between a current moment and the processing moment value in the key value is less than or equal to a preset time value, wherein the preset time value is a time value less than or equal to a flow table valid time, and

instruct the OFS to match a stored flow table to process the first data packet.

9. The controller according to claim 8 , wherein:

the key value further comprises a counter value; and

the processor is further configured to invoke the execution instruction in the memory causing the OpenFlow controller to:

determine the counter value is not zero, and

subtract one from the counter value in the key value.

10. The controller according to claim 9 , wherein the processor is further configured to invoke the execution instruction in the memory causing the OpenFlow controller to:

receive a second data packet reported by the OFS, wherein the second data packet is a repeated data packet of the first data packet;

determine the counter value is zero;

calculate a routing policy; and

deliver a flow table to the OFS according to the routing policy.

11. The controller according to claim 8 , wherein the preset time value is a time value determined according to a time during which the OFS responds to a message delivered by the OFC.

12. The controller according to claim 8 , wherein the data packet feature value comprises one or more of a source Media Access Control (MAC) address, a destination MAC address, a source Internet Protocol (IP) address, a destination IP address, a source port number, a destination port number, or a virtual local area network (VLAN) identifier and priority.

13. The controller according to claim 8 , wherein the processor is further configured to invoke the execution instruction in the memory causing the OpenFlow controller to:

allocate a thread according to the data packet feature value in the key value, wherein the thread is configured to determine whether the first data packet is the repeated packet.

14. The controller according to claim 8 , wherein the processor is further configured to invoke the execution instruction in the memory causing the OpenFlow controller to:

store the key value in the cache when receiving a non-repeated packet, wherein the first data packet is a repeated data packet of the non-repeated data packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2019
From: MAN, BO; LI, CHENJI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 048311/0464 →
Priority Claims (1)
CN 2013 1 0719020 · Dec 23, 2013 · national
Continuity (3)
Continuation 15189828 · Jun 22, 2016
Continuation PCTCN2014092021 · Nov 24, 2014
Related Publication 20190182159A1 · Jun 13, 2019
Cited By (4)
US 12,379,951 US 12,386,648 US 12,452,189 US 12,719,893