IP Library Granted Patent US 9,237,129
Granted Patent B2
US 9,237,129 · App. 14/276,984 · Granted Jan 12, 2016

Method to enable deep packet inspection (DPI) in openflow-based software defined network (SDN)

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 9,237,129
App. No.
14/276,984
Granted
Jan 12, 2016
Kind
B2
Abstract

The present invention relates to a method and system for performing deep packet inspection of messages transmitted through a network switch in a Software Defined Network (SDN). Embodiments of the invention include a network switch, a controller, and a firewall in a software defined networking environment. In the present invention, the network switch is a simple network switch that is physically separate from the controller and the firewall. The invention may include a plurality of physically distinct network switches communicating with one or more controllers and firewalls. In certain instances, communications between the network switch, the controller, and the firewall are performed using the Open Flow standard communication protocol.

Claims (69)

1. A method of deep packet inspection in a Software Defined Networking environment, the method comprising:

receiving a set configuration command from a controller by a network switch, wherein the set configuration command sets an operational mode for deep packet inspection;

receiving an address of a firewall; establishing communications with the firewall;

receiving a get configuration request from the firewall;

sending a configuration reply to the firewall, wherein the configuration reply includes the operational mode for deep packet inspection; receiving a first packet;

determining, by hardware processor, whether information contained in the first packet does not match any entry in a flow table; and

forwarding at least a portion of the first packet to the controller, and then forwarding at least a portion of the first packet to the firewall if the controller determines to DPI scan this flow, wherein the firewall performs deep packet inspection on the portion of the first packet;

sending the first packet through a port to an address identified in the flow table without looking for a message from the firewall when the operational mode of the network switch is an observation mode; receiving a second packet;

determining that information contained in the second packet matches an entry in the flow table and DPI scan is configured on this flow;

forwarding at least a portion of the second packet to the firewall when it is determined that the information contained in the second packet matches an entry in the flow table when a number of bytes forwarded from the first packet is less than a pre-determined number of bytes, wherein the firewall performs deep packet inspection on the portion of the second packet forwarded to the firewall; and

sending the second packet through a port to an address identified in the flow table without looking for a message from the firewall when the operational mode of the network switch is in the observation mode.

2. The method of claim 1 , further comprising:

sending a copy of at least some bytes from the first packet to the controller before forwarding the portion of the first packet to the firewall; and

receiving an instruction from the controller to forward the portion of the first packet to the firewall before forwarding the portion of the first packet to the firewall.

3. The method of claim 1 , further comprising:

receiving an allow message from the firewall when the operational mode of the network switch is an enforce mode, wherein the allow message indicates that the first packet has passed a deep packet inspection.

4. The method of claim 3 , further comprising:

receiving a deny message from the firewall when the operational mode of the network switch is the enforce mode, wherein the deny message indicates that the second packet failed a deep packet inspection; and

dropping the second packet.

5. The method of claim 3 , further comprising

receiving an allow message from the firewall when the operational mode of the network switch is the enforce mode, wherein the allow message indicates that the second packet passed a deep packet inspection.

6. The method of claim 5 , wherein the address of the firewall received is an IP address of the firewall, wherein the first packet is sent through a port to an address identified in the flow table after the first packet has passed deep packet inspection, and wherein the second packet is sent through the port to the address identified in the flow table after the second packet has passed deep packet inspection.

7. The method of claim 1 , wherein the at least portion of the first packet corresponds to a pre-determined number of bytes for performing deep packet inspection on a flow of packets.

8. The method of claim 1 , wherein:

the communications established with the firewall are established by the controller communicating with the firewall and with the network switch,

the configuration request received from the firewall is passed through the controller, and

the configuration reply is sent by the network switch to the firewall through the controller.

9. A system for deep packet inspection in a Software Defined Networking environment, the system comprising:

a network switch including a memory; a controller; and a firewall, wherein the network switch:

receives a set configuration command from the controller by the network switch, wherein the set configuration command sets an operation mode for deep packet inspection;

receives an address of a firewall; establishes communications with the firewall; sends a configuration reply to the firewall, wherein the configuration

reply includes the operational mode for deep packet inspection; receives a first packet;

determines whether information contained in the first packet does not match any entry in a flow table; and

forwards at least a portion of the first packet to the controller, and then forwarding at least a portion of the first packet to the firewall if the controller determines to DPI scan this flow, wherein the firewall performs deep packet inspection of the portion of the first packet;

wherein the network switch:

sends the first packet through a port to an address identified in the flow table without looking for a message from the firewall when the operational mode of the network switch is an observation mode; receives a second packet;

determines that information contained in the second packet matches an entry in the flow table and DPI scan is configured on this flow;

forwards at least a portion of the second packet to the firewall when it is determined that the information contained in the second packet matches an entry in the flow table when a number of bytes forwarded from the first packet is less than a pre-determined number of bytes, wherein the firewall performs deep packet inspection on the portion of the second packet forwarded to the firewall; and

sends the second packet through a port to an address identified in the flow table without looking for a message from the firewall when the operational mode of the network switch is the observation mode.

10. The system of claim 9 , wherein the network switch:

sends a copy of at least some bytes from the first packet to the controller before forwarding the portion of the first packet to the firewall; and

receives an instruction from the controller to forward the portion of the first packet to the firewall before forwarding the portion of the first packet to the firewall.

11. The system of claim 9 , wherein the network switch:

receives an allow message from the firewall when the operational mode of the network switch is an enforce mode, wherein the allow message indicates that the first packet has passed a deep packet inspection.

12. The system of claim 11 , wherein the network switch:

receives a deny message from the firewall when the operational mode of the network switch is the enforce mode, wherein the deny message indicates that the second packet failed a deep packet inspection; and

drops the second packet.

13. The system of claim 12 , wherein the network switch

receives an allow message from the firewall when the operational mode of the network switch is the enforce mode, wherein the allow message indicates that the second packet passed a deep packet inspection.

14. The system of claim 9 , wherein the address of the firewall received is an IP address of the firewall, wherein the first packet is sent through a port to an address identified in the flow table after the first packet has passed deep packet inspection, and wherein the second packet is sent through the port to the address identified in the flow table after the second packet has passed deep packet inspection.

15. The system of claim 9 , wherein the at least portion of the first packet correspond to a pre-determined number of bytes for performing deep packet inspection on a flow of packets.

16. The system of claim 9 , wherein:

the communications established with the firewall are established by the controller communicating with the firewall and with the network switch,

the configuration request received from the firewall is passed through the controller, and

the configuration reply is sent by the network switch to the firewall through the controller.

17. A non-transitory computer readable storage medium having embodied thereon program executable by a processor performing a method of deep packet inspection in a Software Defined Networking environment, the method comprising:

receiving a set configuration command from a controller by a network switch, wherein the set configuration command sets an operational mode for deep packet inspection;

receiving an address of a firewall; establishing communications with the firewall;

receiving a get configuration request from the firewall;

sending a configuration reply to the firewall, wherein the configuration reply includes the operational mode for deep packet inspection; receiving a first packet;

determining whether information contained in the first packet does not match any entry in a flow table; and

forwarding at least a portion of the first packet to the controller, and then forwarding at least a portion of the first packet to the firewall if the controller determines to DPI scan this flow, wherein the firewall performs deep packet inspection on the portion of the first packet;

sending the first packet through a port to an address identified in the flow table without looking for a message from the firewall when the operational mode of the network switch is an observation mode; receiving a second packet;

determining that information contained in the second packet matches an entry in the flow table and DPI scan is configured on this flow;

forwarding at least a portion of the second packet to the firewall when it is determined that the information contained in the second packet matches an entry in the flow table when a number of bytes forwarded from the first packet is less than a pre-determined number of bytes, wherein the firewall performs deep packet inspection on the portion of the second packet forwarded to the firewall; and

sending the second packet through a port to an address identified in the flow table without looking for a message from the firewall when the operational mode of the network switch is in the observation mode.

18. The non-transitory computer readable storage medium of claim 17 , the program being further executable to:

send a copy of at least some bytes from the first packet to the controller before forwarding the portion of the first packet to the firewall; and

receive an instruction from the controller to forward the portion of the first packet to the firewall before forwarding the portion of the first packet to the firewall.

Assignments (20)
FIRST LIEN IP SUPPLEMENT Recorded Jun 30, 2025
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 071777/0641 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393 Recorded Jun 16, 2025
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: SONICWALL US HOLDINGS INC.
Reel/Frame 071625/0887 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0414 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0393 →
CHANGE OF NAME Recorded May 25, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046246/0059 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded May 16, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046169/0718 →
CHANGE OF NAME Recorded May 15, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046163/0137 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 041073 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT.. Recorded Apr 5, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 042168/0114 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 23, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS, INC.
Reel/Frame 041073/0001 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
CONVERSION AND NAME CHANGE Recorded Sep 9, 2015
From: SONICWALL, INC.
To: SONICWALL L.L.C.
Reel/Frame 036574/0906 →
MERGER Recorded Sep 9, 2015
From: SONICWALL L.L.C.
To: DELL SOFTWARE INC.
Reel/Frame 036521/0631 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2014
From: LING, HUI; CHEN, ZHONG
To: SONICWALL, INC.
Reel/Frame 032892/0302 →