IP Library › Granted Patent US 11,394,688
Granted Patent B2
US 11,394,688 · App. 16/927,761 · Granted Jul 19, 2022

Packet classification for network routing

Inventors: Nir Zuk (Menlo Park, CA); Marc Joseph Benoit (Santa Clara, CA)
Assignee: Palo Alto Networks, Inc.
H04L63/0227H04L45/38H04L45/64H04L47/2441H04L67/327H04L69/22
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 11,394,688
App. No.
16/927,761
Granted
Jul 19, 2022
Kind
B2
Abstract

Techniques for packet classification for network routing are disclosed. In some embodiments, packet classification for network routing includes receiving packets associated with a new flow at a security controller from a network device, in which the network device performs packet forwarding; classifying the flow; and determining an action for the flow based on a policy (e.g., a security policy). In some embodiments, the network device is a Software Defined Network (SDN) network device (e.g., a packet forwarding device that supports the OpenFlow protocol or another protocol).

Claims (46)

1. A system, comprising:

a processor configured to:

receive packets associated with a new flow at a security controller from a network device, wherein the network device performs packet forwarding;

classify the flow based on ordered packets of the flow and an application determined to be associated with the flow, comprising to:

determine type of traffic related to the flow, the type of traffic including HTTP traffic, HTTPS traffic, FTP traffic, SSL traffic, SSH traffic, DNS requests, unclassified application traffic, or any combination thereof;

assemble out of order packets of the flow into a correct order to obtain the ordered packets of the flow; and

perform application signature matching based on the type of traffic to determine the application to be associated with the flow;

determine an action for the flow based on a policy;

instruct the network device to perform the action for the flow; and

in the event that the action is to shunt the flow, receive additional packets associated with the flow from the network device, wherein the security controller performs further inline inspection and classification of the flow, and wherein the shunted flow is determined to be a flow that is to be ignored or dropped based on the further inline inspection and classification of the flow; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system recited in claim 1 , wherein the network device is a Software Defined Network (SDN) network device.

3. The system recited in claim 1 , wherein the policy is a security policy that includes an allow or a block rule based on an application and a user.

4. The system recited in claim 1 , wherein the instructing of the network device to perform the action for the flow is based on an API mechanism.

5. The system recited in claim 1 , wherein instructing of the network device to perform the action for the flow is based on tagging a packet associated with the flow.

6. The system recited in claim 1 , wherein the action is to drop the flow.

7. The system recited in claim 1 , wherein the action is to ignore the flow.

8. The system recited in claim 1 , wherein the action is to shunt the flow.

9. A method, comprising:

receiving packets associated with a new flow at a security controller from a network device, wherein the network device performs packet forwarding;

classifying the flow based on ordered packets of the flow and an application determined to be associated with the flow using a processor of the security controller that performs packet classification for network routing, comprising:

determining type of traffic related to the flow, the type of traffic including HTTP traffic, HTTPS traffic, FTP traffic, SSL traffic, SSH traffic, DNS requests, unclassified application traffic, or any combination thereof;

assembling out of order packets of the flow into a correct order to obtain the ordered packets of the flow; and

performing application signature matching based on the type of traffic to determine the application to be associated with the flow;

determining an action for the flow based on a policy;

instructing the network device to perform the action for the flow; and

in the event that the action is to shunt the flow, receiving additional packets associated with the flow from the network device, wherein the security controller performs further inline inspection and classification of the flow, and wherein the shunted flow is determined to be a flow that is to be ignored or dropped based on the further inline inspection and classification of the flow.

10. The method of claim 9 , wherein the network device is a Software Defined Network (SDN) network device.

11. The method of claim 9 , wherein the policy is a security policy that includes an allow or a block rule based on an application and a user.

12. The method of claim 9 , wherein the instructing of the network device to perform the action for the flow is based on an API mechanism.

13. The method of claim 9 , wherein the instructing of the network device to perform the action for the flow is based on tagging a packet associated with the flow.

14. The method of claim 9 , wherein the action is to drop the flow, ignore the flow, or shunt the flow.

15. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving packets associated with a new flow at a security controller from a network device, wherein the network device performs packet forwarding;

classifying the flow based on ordered packets of the flow and an application determined to be associated with the flow, comprising:

determining type of traffic related to the flow, the type of traffic including HTTP traffic, HTTPS traffic, FTP traffic, SSL traffic, SSH traffic, DNS requests, unclassified application traffic, or any combination thereof;

assembling out of order packets of the flow into a correct order to obtain the ordered packets of the flow; and

performing application signature matching based on the type of traffic to determine the application to be associated with the flow;

determining an action for the flow based on a policy;

instructing the network device to perform the action for the flow; and

in the event that the action is to shunt the flow, receiving additional packets associated with the flow from the network device, wherein the security controller performs further inline inspection and classification of the flow, and wherein the shunted flow is determined to be a flow that is to be ignored or dropped based on the further inline inspection and classification of the flow.

16. The computer program product recited in claim 15 , wherein the network device is a Software Defined Network (SDN) network device.

17. The computer program product recited in claim 15 , wherein the policy is a security policy that includes an allow or a block rule based on an application and a user.

18. The computer program product recited in claim 15 , wherein the instructing of the network device to perform the action for the flow is based on an API mechanism.

19. The computer program product recited in claim 15 , wherein the instructing of the network device to perform the action for the flow is based on tagging a packet associated with the flow.

20. The computer program product recited in claim 15 , wherein the action is to drop the flow, ignore the flow, or shunt the flow.

Continuity (4)
Continuation 15250156 · Aug 29, 2016
Continuation 13954668 · Jul 30, 2013
Provisional Application 61847982 · Jul 18, 2013
Related Publication 20210006539A1 · Jan 7, 2021