System and method for enabling services chaining in a provider network
First Claim
Patent Images
1. A method of chaining services in a service provider network, the method comprising:
- determining a service chaining policy associated with a data packet flow, the service chaining policy defining a plurality of service nodes to be traversed by the data packet flow entering at an ingress node and emitting from an egress node;
determining a Service Path Identifier (SPID) associated with the service chaining policy; and
effectuating an oscillatory data exchange process according to the service chaining policy, wherein the oscillatory data exchange process is initiated at the ingress node receiving the data packet flow and oscillates between the ingress node and the egress node that emits the data packet flow after obtaining services at the plurality of service nodes and further wherein each service node returns serviced data packets of the data packet flow to a nearest one of the ingress and egress nodes after providing a service to the data packet flow, the ingress and egress nodes operating to steer the returned serviced data packets to a next service node of the service chain policy.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for chaining one or more services in a service provider network. A service chaining policy and associated Service Path Identifier (SPID) are determined at an ingress node with respect to a particular data packet flow. If the service chaining policy involves one or more service nodes to be traversed by the data packet flow, each service node'"'"'s EIDs and RLOCs are determined. A sequential data exchange process with the service nodes is effectuated using encapsulation of data packets based on the EIDs and RLOCs for obtaining services in accordance with the order of services set forth in the chaining policy.
-
Citations
18 Claims
-
1. A method of chaining services in a service provider network, the method comprising:
-
determining a service chaining policy associated with a data packet flow, the service chaining policy defining a plurality of service nodes to be traversed by the data packet flow entering at an ingress node and emitting from an egress node; determining a Service Path Identifier (SPID) associated with the service chaining policy; and effectuating an oscillatory data exchange process according to the service chaining policy, wherein the oscillatory data exchange process is initiated at the ingress node receiving the data packet flow and oscillates between the ingress node and the egress node that emits the data packet flow after obtaining services at the plurality of service nodes and further wherein each service node returns serviced data packets of the data packet flow to a nearest one of the ingress and egress nodes after providing a service to the data packet flow, the ingress and egress nodes operating to steer the returned serviced data packets to a next service node of the service chain policy. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A network node configured to operate with a service provider network, the network node comprising:
-
one or more processors; and a persistent memory coupled to the one or more processors, wherein the persistent memory includes instructions executable by the one or more processors and configured to; determine a service chaining policy associated with a data packet flow, the service chaining policy defining a plurality of service nodes to be traversed by the data packet flow; determine a Service Path Identifier (SPID) associated with the service chaining policy; and effectuate an oscillatory data exchange process according to the service chaining policy, wherein the oscillatory data exchange process is initiated at the network node operating as an ingress node that receives the data packet flow and oscillates between the ingress node and an egress node that emits the data packet flow after obtaining services at the plurality of service nodes and further wherein each service node returns serviced data packets of the data packet flow to a nearest one of the ingress and egress nodes after providing a service to the data packet flow, the ingress and egress nodes operating to steer the returned serviced data packets to a next service node of the service chain policy. - View Dependent Claims (9, 10)
-
-
11. A service node configured to operate with a service provider network, the service node comprising:
-
one or more processors; and a persistent memory coupled to the one or more processors, wherein the persistent memory includes instructions executable by one or more processors and configured to; process a double-encapsulated data packet received from one of an ingress node and an egress node of the service provider network for a data packet flow requiring services at a plurality of service nodes in the service provider network in accordance with a service chaining policy, the processing comprising removing an encapsulation involving an Endpoint Identifier (EID) field and removing an encapsulation involving a Routing Locator (RLOC) field from the double-encapsulated data packet; forward the data packet to a service logic module configured to deliver a service; and re-encapsulate the data packet, upon delivery of service by the service logic module, and send the re-encapsulated data packet to one of the ingress node and the egress node as part of a data exchange process initiated at the ingress node and oscillates between the ingress node and the egress node, wherein each of the plurality of service nodes is configured to return serviced data packets of the data packet flow to a nearest one of the ingress and egress nodes after providing a service to the data packet flow, the ingress and egress nodes operating to steer the returned serviced data packets to a next service node of the service chain policy. - View Dependent Claims (12)
-
-
13. A service node configured to operate with a service provider network, the service node comprising:
-
one or more processors; and a persistent memory coupled to the one or more processors, wherein the persistent memory includes instructions executable by one or more processors and configured to; process a double-encapsulated data packet received from one of an ingress node and an egress node of the service provider network for a data packet flow requiring services at a plurality of service nodes in the service provider network in accordance with a service chaining policy, the processing comprising removing an encapsulation involving an Endpoint Identifier (EID) field and removing an encapsulation involving a Routing Locator (RLOC) field from the double-encapsulated data packet; forward the data packet to a service logic module configured to deliver a service wherein the service logic module is configured to provide a service comprising at least one of Deep Packet Inspection (DPI), Virus Scanning (VS), Intrusion Detection and Prevention (IDP), Firewall (FW) filtering, and Network Address Translation (NAT); and re-encapsulate the data packet, upon delivery of service by the service logic module, and send the re-encapsulated data packet to one of the ingress node and the egress node as part of a data exchange process initiated at the ingress node and oscillates between the ingress node and the egress node, wherein each of the plurality of service nodes is configured to return serviced data packets of the data packet flow to a nearest one of the ingress and egress nodes after providing a service to the data packet flow, the ingress and egress nodes operating to steer the returned serviced data packets to a next service node of the service chain policy.
-
-
14. A non-transitory computer-readable medium containing instructions stored thereon which, when executed by a computer system configured to operate as an network node in a service provider network, perform the acts:
-
determining a service chaining policy associated with a data packet flow, the service chaining policy defining a plurality of service nodes to be traversed by the data packet flow; determining a Service Path Identifier (SPID) associated with the service chaining policy; and effectuating an oscillatory data exchange process according to the service chaining policy, wherein the oscillatory data exchange process is initiated at the computer system configured as an ingress node that receives the data packet flow and oscillates between the ingress node and an egress node that emits the data packet flow after obtaining services at the plurality of service nodes and further wherein each service node returns serviced data packets of the data packet flow to a nearest one of the ingress and egress nodes after providing a service to the data packet flow, the ingress and egress nodes operating to steer the returned serviced data packets to a next service node of the service chain policy. - View Dependent Claims (15, 16, 17, 18)
-
Specification