IP Library › Granted Patent US 10,009,252
Granted Patent B2
US 10,009,252 · App. 15/166,954 · Granted Jun 26, 2018

Flow entry delivery method and communication system

Inventors: Hongkuan Liu (Hangzhou, CN); Weifeng Shen (Hangzhou, CN); Xiuchu Zhao (Hangzhou, CN)
Assignee: Huawei Technologies Co., Ltd.
H04L45/02H04L12/6418H04L45/26H04L45/42H04L45/64H04L45/74H04L45/38
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,009,252
App. No.
15/166,954
Granted
Jun 26, 2018
Kind
B2
Abstract

A flow entry delivery method and a communication system are provided. The communication system includes a controller and N switches. After receiving a packet-in message sent by a source switch, the controller determines a forwarding path for forwarding to-be-forwarded data. Then, the controller generates a corresponding flow entry for each of the N switches in the forwarding path separately, and generates a corresponding control instruction for each of other N−1 switches except the source switch in the forwarding path separately. After encapsulating the generated N flow entries and N−1 control instructions into the N th command packet, the controller sends the N th command packet to the N th switch of the N switches, so that the N th switch transmits the N flow entries in the forwarding path according to the N th control instruction in the N th command packet.

Claims (46)

1. A flow entry delivery method, wherein the method comprises:

receiving, by a controller, a packet-in message sent by a source switch;

determining, by the controller, a forwarding path according to the packet-in message;

generating, by the controller, a corresponding flow entry for each of N switches in the forwarding path separately, wherein a first switch in the N switches is the source switch, an N th switch is a target switch in the forwarding path, an M th switch is an M th -hop switch in the forwarding path, 1<M≤N, and a flow entry corresponding to the M th switch is an M th flow entry;

generating, by the controller, a corresponding control instruction for each of other N−1 switches except the source switch in the forwarding path separately, wherein a control instruction corresponding to the M th switch is an M th control instruction;

encapsulating, by the controller, the N flow entries and N−1 control instructions into an N th command packet; and

sending, by the controller, the N th command packet to the N th switch, so that the N th switch transmits the N flow entries in the forwarding path according to an N th control instruction in the N th command packet, wherein

the M th control instruction in an M th command packet is used to instruct the M th switch of the N switches to store the M th flow entry, encapsulate all flow entries and control instructions except the M th flow entry and the M th control instruction in the M th command packet into an (M−1) th command packet, and send the encapsulated packet to an (M−1) th switch, so that the (M−1) th switch transmits remaining M−1 flow entries in the forwarding path according to an (M−1) th control instruction in the (M−1) th command packet, wherein the (M−1) th switch is a previous-hop switch of the M th switch in the forwarding path.

2. The method according to claim 1 , wherein sending the N th command packet to the N th switch comprises:

sending, by the controller, the N th command packet to the N th switch by using a control signaling transmission link.

3. The method according to claim 1 , wherein sending the N th command packet to the N th switch comprises:

sending, by the controller, the N th command packet to the N th switch by using the source switch and the forwarding path when a control signaling transmission link does not exist between the controller and the N th switch.

4. The method according to claim 1 , wherein generating the M th control instruction comprises:

determining, by the controller, the (M−1) th switch, address information of the (M−1) th switch, and a port used when the M th switch sends the M th command packet to the (M−1) th switch; and

generating, by the controller, the M th control instruction that comprises the address information of the (M−1) th switch and information about the port, so that the M th switch encapsulates the address information of the (M−1) th switch into the (M−1) th command packet according to the M th control instruction and sends the (M−1) th command packet to the (M−1) th switch by using the port.

5. A flow entry delivery method, wherein the method comprises:

receiving, by an M th switch, an M th command packet, wherein the M th command packet comprises at least a first to an M th flow entries that amount to M flow entries and a second to an M th control instructions that amount to M−1 control instructions, wherein the M th switch is an M th -hop switch in a forwarding path, 1<M≤N, the forwarding path is a path determined by a controller and used to forward to-be-forwarded data, the forwarding path comprises N switches, a control instruction corresponding to the M th switch is an M th control instruction, and a flow entry corresponding to the M th switch is the M th flow entry;

storing, by the M th switch, the M th flow entry; and

executing, by the M th switch, the M th control instruction, to encapsulate all flow entries and control instructions except the M th flow entry and the M th control instruction in the M th command packet into an (M−1) th command packet and send the encapsulated packet to an (M−1) th switch, so that the (M−1) th switch transmits remaining M−1 flow entries in the forwarding path according to an (M−1) th control instruction in the (M−1) th command packet, wherein the (M−1) th switch is a previous-hop switch of the M th switch in the forwarding path.

6. The method according to claim 5 , wherein receiving the M th command packet comprises:

receiving, by the M th switch, the M th command packet sent by the controller when the M th switch is a target switch in the forwarding path.

7. The method according to claim 5 , wherein receiving the M th command packet comprises:

receiving, by the M th switch, the M th command packet sent by an (M+1) th switch when the M th switch is not a target switch in the forwarding path, wherein the (M+1) th switch is a next-hop switch of the M th switch in the forwarding path.

8. A communication system, comprising a controller and N switches, wherein:

the controller is configured to:

receive a packet-in message sent by a source switch of the N switches;

determine a forwarding path according to the packet-in message, wherein the forwarding path is a path used to forward to-be-forwarded data, the forwarding path comprises the N switches;

generate a corresponding flow entry for each of the N switches in the forwarding path separately, wherein a first switch in the N switches is the source switch, an N th switch is a target switch in the forwarding path, an M th switch is an M th -hop switch in the forwarding path, 1<M≤N, and a flow entry corresponding to the M th switch is an M th flow entry;

generate a corresponding control instruction for each of other N−1 switches except the source switch in the forwarding path separately, wherein a control instruction corresponding to the M th switch is an M th control instruction;

encapsulate the N flow entries and N−1 control instructions into an N th command packet; and

send the N th command packet to the N th switch, so that the N th switch transmits the N flow entries in the forwarding path according to an N th control instruction in the N th command packet;

the M th switch of the N switches is configured to:

receive an M th command packet, wherein the M th command packet comprises at least a first to an M th flow entries that amount to M flow entries and a second to an M th control instructions that amount to M−1 control instructions, a control instruction corresponding to the M th switch is an M th control instruction, and a flow entry corresponding to the M th switch is an M th flow entry;

store the M th flow entry; and

execute the M th control instruction to encapsulate all flow entries and control instructions except the M th flow entry and the M th control instruction in the M th command packet into an (M−1) th command packet and send the encapsulated packet to an (M−1) th switch, so that the (M−1) th switch transmits remaining M−1 flow entries in the forwarding path according to an (M−1) th control instruction in the (M−1) th command packet, wherein the (M−1) th switch is a previous-hop switch of the M th switch in the forwarding path.

9. The communication system according to the claim 8 , wherein the controller is configured to:

send the N th command packet to the N th switch directly by using a control signaling transmission link.

10. The communication system according to the claim 8 , wherein the controller is configured to:

send the N th command packet to the N th switch by using the source switch and the forwarding path when a control signaling transmission link does not exist between the controller and the N th switch.

11. The communication system according to the claim 8 , wherein the controller is configured to:

determine the (M−1) th switch, address information of the (M−1) th switch, and a port used when the M th switch sends the M th command packet to the (M−1) th switch; and

generate the M th control instruction that comprises the address information of the (M−1) th switch and information about the port, so that the M th switch encapsulates the address information of the (M−1) th switch into the (M−1) th command packet according to the M th control instruction and sends the (M−1) th command packet to the (M−1) th switch by using the port.

12. The communication system according to the claim 8 , wherein the M th switch is configured to:

receive the M th command packet sent by the controller when the M th switch is a target switch in the forwarding path.

13. The communication system according to the claim 8 , wherein the M th switch is configured to:

receive the M th command packet sent by the (M+1) th switch when the M th switch is not a target switch in the forwarding path, wherein the (M+1) th switch is a next-hop switch of the M th switch in the forwarding path.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2016
From: LIU, HONGKUAN; SHEN, WEIFENG; ZHAO, XIUCHU
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 039862/0409 →
Continuity (2)
Continuation PCTCN2013088140 · Nov 29, 2013
Related Publication 20160277280A1 · Sep 22, 2016
Cited By (1)
US 12,701,089