Methods and systems for application and policy based network traffic isolation and data transfer
Various techniques for dynamic path selection and data flow forwarding are disclosed. For example, various systems, processes, and computer program products for dynamic path selection and data flow forwarding are disclosed for providing dynamic path selection and data flow forwarding that can facilitate preserving/enforcing symmetry in data flows as disclosed with respect to various embodiments.
1 . A system, comprising:
a processor of a networked branch device configured to:
detect a data flow of a selected application from an associated originating interface on a network;
determine a first link over which to forward the data flow, wherein the first link includes a first device;
transmit the data flow over the determined first link;
receive a return data flow;
move a forward direction of the return data flow to a new path in the event that the return data flow arrived via a second link that is different from the first link, wherein the second link includes a second device and omits the first device, wherein all packets following an initial packet of the data flow are forwarded and returned on the same new path via the second link as the initial packet; and
store, in a flow table, the first link at a Layer 4 (L4) level; and
a memory coupled to the processor and configured to provide the processor with instructions.
2 . The system of claim 1 , wherein the processor is further configured to apply time-based application domain classification.
3 . The system of claim 1 , wherein determining the first link and the second link comprises network mapping.
4 . The system of claim 1 , wherein the processor is further configured to model an application session.
5 . The system of claim 1 , wherein the processor is further configured to enforce a hold down period after the moving of the forward direction of the return data flow before another move of the return data flow.
6 . The system of claim 1 , wherein the processor is further configured to move the data flow of the selected application in the event that the new path no longer meets a network requirement for the selected application.
7 . The system of claim 1 , wherein the processor is further configured to:
move the data flow of the selected application in the event that the new path no longer meets a network requirement for the selected application; and
employ a hold down period after moving the data flow of the selected application before another move of the data flow.
8 . The system of claim 1 , wherein a network requirement for the selected application is based on at least one of a bandwidth availability, a latency metric, or a quality of service profile.
9 . A method, comprising:
detecting, by a networked branch device, a data flow of a selected application from an associated originating interface on a network;
determining, by a networked branch device, a first link over which to forward the data flow, wherein the first link includes a first device;
transmitting, by a networked branch device, the data flow over the determined first link;
receiving, by a networked branch device, a return data flow;
moving, by a networked branch device, a forward direction of the return data flow to a new path in the event that the return data flow arrived via a second link that is different from the first link, wherein the second link includes a second device and omits the first device, wherein all packets following an initial packet of the data flow are forwarded and returned on the same new path via the second link as the initial packet; and
storing, in a flow table, the first link at a Layer 4 (L4) level.
10 . The method of claim 9 , wherein determining the first link comprises applying time-based application domain classification.
11 . The method of claim 9 , wherein determining the first link and the second link comprises network mapping.
12 . The method of claim 9 , further comprising modeling an application session.
13 . The method of claim 9 , further comprising enforcing a hold down period after the moving of the forward direction of the return data flow before another moving of the return data flow.
14 . The method of claim 9 , further comprising moving the data flow of the selected application in the event that the new path no longer meets a network requirement for the selected application.
15 . The method of claim 9 , further comprising:
moving the data flow of the selected application in the event that the new path no longer meets a network requirement for the selected application; and
employing a hold down period after moving the data flow of the selected application before another move of the data flow.
16 . The method of claim 9 , wherein a network requirement for the selected application is based on at least one of a bandwidth availability, a latency metric, or a quality of service profile.
17 . A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:
detecting, by a networked branch device, a data flow of a selected application from an associated originating interface on a network;
determining, by a networked branch device, a first link over which to forward the data flow, wherein the first link includes a first device;
transmitting, by a networked branch device, the data flow over the determined first link;
receiving, by a networked branch device, a return data flow;
moving, by a networked branch device, a forward direction of the return data flow to a new path in the event that the return data flow arrived via a second link that is different from the first link, wherein the second link includes a second device and omits the first device, wherein all packets following an initial packet of the data flow are forwarded and returned on the same new path via the second link as the initial packet; and
storing, in a flow table, the first link at a Layer 4 (L4) level.