System and method for control traffic reduction between sdn controller and switch
AssigneeArgela Yazilim Ve Bilisim Teknolojileri San. Ve Tic. A.S.
InventorsALI VOLKAN ATLI, SERKANT ULUDERYA, SINAN TATLICIOGLU, SEYHAN CIVANLAR
Life of this patent
Estimating the term…
Abstract
A novel technique is shown for throttling control traffic in a Software Defined Network (SDN) between a controller and network switches when the controller and/or one or more control channels are congested. In this technique, the controller's processing power and the limited control channel bandwidth are more efficiently managed by drastically cutting down the control traffic during times of congestion.
Claims22
A method as implemented in a Software Defined Network (SDN) comprising a controller and a plurality of switches, the method comprising:
- (a) receiving, at an ingress switch, an unknown packet flow entering the SDN, the ingress switch attached to at least one other switch, both the ingress switch and the one other switch having no flow table entry related to the unknown packet flow at the time of receiving a first packet of the packet flow,
- (b) the ingress switch sending the first packet of the unknown packet flow to the controller to request instructions for processing the unknown packet flow and buffering remainder packets of the unknown packet flow at the ingress switch;
- (c) the controller determining a route for the unknown packet flow, the determined route traversing the one other switch attached to the ingress switch as a next hop;
- (d) the controller sends a first message containing a flow table entry to the one other switch for the unknown packet flow, and a second message to request the one other switch to process all received control messages;
- (e) the one other switch replying to the controller when it completes said processing all received control messages;
- (f) the ingress switch receiving the flow table entry from the controller indicating the next hop switch being the one other switch;
- (g) the ingress switch sending the remainder packets that were buffered towards the one other switch;
- (h) the one other switch, upon receiving the packets sent in (g), routing them towards a destination according to the received flow table entry.
A system implemented in a Software Defined Network (SDN) comprising a controller and a plurality of switches, the system comprising:
- (a) a controller;
- (b) an ingress switch;
- and
- (c) one other switch, the ingress switch attached to at least one other switch;
- wherein the ingress switch receiving an unknown packet flow entering the SDN, both the ingress switch and the one other switch having no flow table entry related to the unknown packet flow at the time of receiving a first packet of the packet flow, the ingress switch sending the first packet of the unknown packet flow to the controller to request instructions for processing the unknown packet flow and buffering remainder packets of the unknown packet flow at the ingress switch, the controller determining a route for the unknown packet flow, the determined route traversing the one other switch attached to the ingress switch as a next hop;
- wherein the controller sends a first message containing a flow table entry to the one other switch for the unknown packet flow, and a second message to request the one other switch to process all received control messages;
- the one other switch replying to the controller when it completes said processing all received control messages;
- and
- wherein the ingress switch receiving the flow table entry from the controller indicating the next hop switch being the one other switch;
- the ingress switch sending the remainder packets that were buffered towards the one other switch;
- and the one other switch, upon receiving the sent packets, routing them towards a destination according to the received flow table entry.
An article of manufacture comprising non-transitory computer storage medium storing computer readable program code which, when executed by a computer, implements a method as implemented in a Software Defined Network (SDN) comprising a controller and a plurality of switches, the medium comprising:
- (a) computer readable program code receiving, at an ingress switch, an unknown packet flow entering the SDN, the ingress switch attached to at least one other switch, both the ingress switch and the one other switch having no flow table entry related to the unknown packet flow at the time of receiving a first packet of the packet flow,
- (b) computer readable program code sending, at the ingress switch, the first packet of the unknown packet flow to the controller to request instructions for processing the unknown packet flow and buffering remainder packets of the unknown packet flow at the ingress switch;
- (c) computer readable program code at the controller determining a route for the unknown packet flow, the determined route traversing the one other switch attached to the ingress switch as a next hop;
- (d) computer readable program code at the controller sending a first message containing a flow table entry to the one other switch for the unknown packet flow, and a second message to request the one other switch to process all received control messages;
- (e) computer readable program code at the one other switch replying to the controller when it completes said processing all received control messages;
- (f) computer readable program code at the ingress switch receiving the flow table entry from the controller indicating the next hop switch being the one other switch;
- (g) computer readable program code at the ingress switch sending the remainder packets that were buffered towards the one other switch;
- (h) computer readable program code at the one other switch, upon receiving the packets sent in (g), routing them towards a destination according to the received flow table entry.
Dependencies are inferred from the claim text.