metadata may be embedded in a service chain header (sch) appended to a packet that is forwarded over a service chain path. The metadata may include information that is used to process the packet at a downstream service function chain (sfc) entity on the service chain path. The metadata TLV field may identify a service action to be performed by a downstream sfc entity. For example, the metadata TLV field may instruct the downstream sfc entity to drop the packet, to redirect the packet (or a traffic flow associated with the packet), to mirror a traffic flow, to terminate a communication connection, to start or stop a packet accounting, and/or to apply a higher grade of service. In another embodiment, the metadata TLV field specifies an OAM service action list that identifies service actions that have been performed on the packet.
|
23. A method for service chain header processing in a communication network, the method comprising:
receiving, by a downstream service function chain (sfc) entity, a packet over a service chain path from an upstream sfc entity, wherein the packet includes a service chain header (sch) comprising a version field that indicates a version associated with the sch for the downstream sfc entity to process the sch according to the version, the version associated with the sch representing a sch version and being used for backward compatibility going forward with future sch updates, and wherein the sch comprises a metadata type-length-Value (TLV) field including metadata information with a variable length; and
processing, by the downstream sfc, the packet in accordance with the metadata information included in the metadata TLV field embedded in the sch.
1. A method for service chain header processing in a communication network, the method comprising:
inserting, by an upstream service function chain (sfc) entity, a metadata type-length-Value (TLV) field into a service chain header (sch) appended to a packet to be forwarded over a service chain path, wherein the sch comprises a version field that indicates a version associated with the sch for a downstream sfc entity to process the sch according to the version, the version associated with the sch representing a sch version and being used for backward compatibility going forward with future sch updates, and wherein the metadata type-length-Value (TLV) field includes metadata information with a variable length for processing the packet at the downstream sfc entity on the service chain path; and
forwarding the packet to the downstream sfc entity over the service chain path.
35. A downstream service function chain (sfc) entity comprising:
a processor; and
a non-transitory computer readable storage medium storing programming for execution by the processor, the programming including instructions to:
receive a packet over a service chain path from an upstream sfc entity, wherein the packet includes a service chain header (sch) comprising a version field that indicates a version associated with the sch for the downstream sfc entity to process the sch according to the version associated with the sch, the version associated with the sch representing a sch version and being used to ensure backward compatibility going forward with future sch updates, and wherein the sch comprises a metadata type-length-Value (TLV) field including metadata information with a variable length; and
process the packet in accordance with the metadata information included in the metadata TLV field embedded in the sch.
12. An upstream service function chain (sfc) entity comprising:
a processor; and
a non-transitory computer readable storage medium storing programming for execution by the processor, the programming including instructions to:
insert a metadata type-length-Value (TLV) field into a service chain header (sch) appended to a packet to be forwarded over a service chain path, wherein the sch comprises a version field that indicates a version associated with the sch for a downstream sfc entity to process the sch according to the version associated with the sch, the version associated with the sch representing a sch version and being used to ensure backward compatibility going forward with future sch updates, and wherein the metadata type-length-Value (TLV) field includes metadata information with variable lengths for processing the packet at a downstream sfc entity on the service chain path; and
forward the packet to the downstream sfc entity over the service chain path.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
13. The upstream sfc entity of
14. The upstream sfc entity of
15. The upstream sfc entity of
16. The upstream sfc entity of
17. The upstream sfc entity of
18. The upstream sfc entity of
19. The upstream sfc entity of
20. The upstream sfc entity of
21. The upstream sfc entity of
22. The upstream sfc entity of
24. The method of
25. The method of
26. The method of
27. The method of
28. The method of
29. The method of
30. The method of
31. The method of
32. The method of
replacing, by the downstream sfc entity, a destination IP address of the packet with the target address specified by the metadata information when the downstream sfc entity is the last sfc entity on the service chain path.
33. The method of
34. The method of
36. The downstream sfc entity of
37. The downstream sfc entity of
38. The downstream sfc entity of
39. The downstream sfc entity of
40. The downstream sfc entity of
41. The downstream sfc entity of
42. The downstream sfc entity of
43. The downstream sfc entity of
44. The downstream sfc entity of
replacing, by the downstream sfc entity, a destination IP address of the packet with the target address specified by the metadata information when the downstream sfc entity is the last sfc entity on the service chain path.
45. The downstream sfc entity of
46. The downstream sfc entity of
|
This patent application claims priority to U.S. Provisional Application No. 62/027,423, filed on Jul. 22, 2014 and entitled “Service Chain Header and Metadata Transport,” which is hereby incorporated by reference herein as if reproduced in its entirety.
The present invention relates to network communications, and, in particular embodiments, to a service chain header and metadata transport.
A service chain path may include a sequence of service function instances that reside on various network nodes. When a traffic flow is forwarded over a service chain, packets in the traffic flow are processed by the various service function chain (SFC) entities, with each service function instance applying a service function (e.g., firewall, network access translation (NAT), deep packet inspection (DPI), etc.) prior to forwarding the packets to a next network node. For example, a packet may be forwarded and/or processed by various SFC entities (e.g., a classifier, a service function a forwarder/switch, a router, and an SFC proxy server) in accordance with a service chain header (SCH) information appended in the packet that may be forwarded to the SFC entities over the service chain path.
Technical advantages are generally achieved, by embodiments of this disclosure which describe service chain header and metadata transport.
In accordance with an embodiment, a method for service chain header processing in a communication network is provided. In this example, the method comprises inserting a metadata Type-Length-Value (TLV) field into a service chain header (SCH) appended to a packet. The SCH comprises a version field that indicates a version associated with the SCH. The metadata Type-Length-Value (TLV) field includes metadata information for processing the packet at a downstream SFC entity on a service chain path. The method further includes forwarding the packet to the downstream SFC entity over the service chain path
In accordance with another embodiment, a method for service chain header processing in a communication network is provided. In this example, the method comprises receiving, by a downstream service function chain (SFC) entity, a packet over a service chain path, wherein the packet includes a service chain header (SCH) comprising a version field that indicates a version associated with the SCH and a metadata Type-Length-Value (TLV) field including metadata information. The method further includes processing the packet in accordance with the metadata information included in the metadata TLV field embedded in the SCH. An apparatus for performing this method is also provided.
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawing, in which:
Corresponding numerals and symbols in the different figures generally refer to corresponding parts unless otherwise indicated. The figures are drawn to clearly illustrate the relevant aspects of the embodiments and are not necessarily drawn to scale.
The structure, manufacture and use of the embodiments are discussed in detail below. It should be appreciated, however, that the present invention provides many applicable inventive concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the invention, and do not limit the scope of the invention.
A service function chain is a traffic steering technology for applying an ordered set of network service function instances to traffic flows between two network nodes. Metadata information associated with a packet may be used to reduce an amount of overhead and transportation latency at network nodes (e.g., avoiding deep packet inspection (DPI)) over a service chain path. In addition, a service chain header (SCH) appended to a packet may carry information associated with an SFC entity over a service chain path. Accordingly, it may be beneficial that an SCH includes metadata information to minimize network overhead and provide agile delivery service in a communication network. More specifically, the SCH may include variable length metadata information comprising different types of metadata (e.g., vendor specific metadata) to forward and/or perform processing on the packet over the service chain path. Therefore, techniques for forwarding and processing the SCH including metadata information over the service chain path are needed.
Aspects of this disclosure embed one or more metadata Type-Length-Value (TLV) fields in to an SCH of a packet to reduce overhead and provide agile delivery service over a service chain path. The metadata TLV field includes metadata information for processing the packet at a downstream SFC entity on the service chain path. In one embodiment, the metadata TLV field includes operation administration and management (OAM) metadata that identifies a service action to be performed by a downstream SFC entity. For example, the metadata TLV field may instruct the downstream SFC entity to drop the packet, to redirect the packet (or a traffic flow associated with the packet), to mirror a traffic flow, to terminate a communication connection, to start or stop a packet accounting, and/or to apply a higher grade of service. In another embodiment, the metadata TLV field specifies an OAM service action list that identifies service actions that have been performed on the packet. In yet another embodiment, the metadata TLV field specifies a target address that may be used to transport an original destination internet protocol (IP) address to the terminating SFF 216 over a service chain path. Additionally, the metadata TLV field may include a private (P) field that indicates whether metadata information in the metadata TLV field is vender specific metadata, and an organizational unique identifier (OUI) field that indicates a vendor specific ID associated with the metadata. The SCH may include various fields associated with the metadata TLV, such as a version field and a metadata length field. The version field indicates a version associated with the SCH. In one embodiment, the structure of the SCH may be changed/updated, in which case one version may be associated with the old SCH structure, while another version is associated with the new SCH structure. Next-generation SFC entities capable of processing both the old SCH structure and the new SCH structure may then use the version number in the SCH to determine how to process the SCH. Legacy SFC entities that are incapable of processing the new SCH structure may ignore SCHs that indicate the new version. The metadata length field indicates a total length associated with the one or mode metadata TLV fields. These and other details are described in greater detail below.
As shown, the source device 270 generates a packet 245 and then forwards the packet 245 to the classifier 205 through the service transport overlay 225. The classifier 205 appends a service chain header (SCH) (e.g., the SCH 300 depicted in
In one embodiment, the metadata TLV 400 includes OAM metadata that identifies a service action to be performed by the downstream SFC entity. For instance, the OAM metadata may instruct the downstream SFC entity to drop a packet, redirect a traffic flow, mirror a traffic flow, terminate a communication connection, start/stop a packet accounting, apply a higher grade of service to the packet or a combination thereof. In another embodiment, the metadata TLV 400 includes an OAM service action list that identifies service actions that have already been performed on the packet. In yet another embodiment, the metadata TLV 400 specifies a service action to be performed by a downstream SFC entity. In yet another embodiment, the metadata TLV 400 specifies a target address that is used to transport an original destination internet protocol (IP) address to a terminating SFF over the service chain.
A Network Service Header (NSH) contains metadata and service path information that are added to a packet or frame and used to create a service plane. The packets and the NSH are then encapsulated in an outer header for transport. The service header is added by a service classification function—a device or application—that determines which packets require servicing, and correspondingly which service path to follow to apply the appropriate service.
In an embodiment, the most significant bit of the type field indicates whether the metadata TLV is mandatory for the receiver to understand/process. In an embodiment, type values 0 to 127 are allocated for non-critical option, while type values 128 to 255 for critical options. In an embodiment, a receiver may be required to drop a packet when a metadata TLV in the SCH of the packet has a type field indicating a critical bit, and the receiver does not understand how to process the type of metadata. In the same or other embodiments, transmitters may be required not to drop packets having a metadata TLV in the SCH that has a type field indicating a critical bit. The length field indicates a length of the variable metadata field in 4-byte words.
In some embodiments, the processing system 1100 is included in a network device that is accessing, or part otherwise of, a telecommunications network. In one example, the processing system 1100 is in a network-side device in a wireless or wireline telecommunications network, such as a base station, a relay station, a scheduler, a controller, a gateway, a router, an applications server, or any other device in the telecommunications network. In other embodiments, the processing system 1100 is in a user-side device accessing a wireless or wireline telecommunications network, such as a mobile station, a user equipment (UE), a personal computer (PC), a tablet, a wearable communications device (e.g., a smartwatch, etc.), or any other device adapted to access a telecommunications network.
In some embodiments, one or more of the interfaces 1110, 1112, 1114 connects the processing system 1100 to a transceiver adapted to transmit and receive signaling over the telecommunications network.
The transceiver 1200 may transmit and receive signaling over any type of communications medium. In some embodiments, the transceiver 1200 transmits and receives signaling over a wireless medium. For example, the transceiver 1200 may be a wireless transceiver adapted to communicate in accordance with a wireless telecommunications protocol, such as a cellular protocol (e.g., long-term evolution (LTE), etc.), a wireless local area network (WLAN) protocol (e.g., Wi-Fi, etc.), or any other type of wireless protocol (e.g., Bluetooth, near field communication (NFC), etc.). In such embodiments, the network-side interface 1202 comprises one or more antenna/radiating elements. For example, the network-side interface 1202 may include a single antenna, multiple separate antennas, or a multi-antenna array configured for multi-layer communication, e.g., single input multiple output (SIMO), multiple input single output (MISO), multiple input multiple output (MIMO), etc. In other embodiments, the transceiver 700 transmits and receives signaling over a wireline medium, e.g., twisted-pair cable, coaxial cable, optical fiber, etc. Specific processing systems and/or transceivers may utilize all of the components shown, or only a subset of the components, and levels of integration may vary from device to device.
The following references are related to subject matter of the present application. Each of these references is incorporated herein by reference in its entirety:
While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to the description. It is therefore intended that the appended claims encompass any such modifications or embodiments.
Patent | Priority | Assignee | Title |
10148577, | Dec 11 2014 | Cisco Technology, Inc. | Network service header metadata for load balancing |
10187306, | Mar 24 2016 | Cisco Technology, Inc | System and method for improved service chaining |
10218593, | Aug 23 2016 | Cisco Technology, Inc. | Identifying sources of packet drops in a service function chain environment |
10218616, | Jul 21 2016 | Cisco Technology, Inc | Link selection for communication with a service function cluster |
10225187, | Mar 22 2017 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
10225270, | Aug 02 2016 | Cisco Technology, Inc.; Cisco Technology, Inc | Steering of cloned traffic in a service function chain |
10237379, | Jun 16 2014 | Cisco Technology, Inc. | High-efficiency service chaining with agentless service nodes |
10320664, | Jul 21 2016 | Cisco Technology, Inc.; Cisco Technology, Inc | Cloud overlay for operations administration and management |
10333855, | Apr 19 2017 | Cisco Technology, Inc. | Latency reduction in service function paths |
10397271, | Jul 11 2017 | Cisco Technology, Inc. | Distributed denial of service mitigation for web conferencing |
10541893, | Oct 25 2017 | Cisco Technology, Inc.; Cisco Technology, Inc | System and method for obtaining micro-service telemetry data |
10554689, | Apr 28 2017 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
10673698, | Jul 21 2017 | Cisco Technology, Inc | Service function chain optimization using live testing |
10735275, | Jun 16 2017 | Cisco Technology, Inc.; Cisco Technology, Inc | Releasing and retaining resources for use in a NFV environment |
10778551, | Aug 23 2016 | Cisco Technology, Inc. | Identifying sources of packet drops in a service function chain environment |
10778576, | Mar 22 2017 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
10791065, | Sep 19 2017 | Cisco Technology, Inc. | Systems and methods for providing container attributes as part of OAM techniques |
10798187, | Jun 19 2017 | Cisco Technology, Inc.; Cisco Technology, Inc | Secure service chaining |
10812378, | Mar 24 2016 | Cisco Technology, Inc. | System and method for improved service chaining |
10931793, | Apr 26 2016 | Cisco Technology, Inc. | System and method for automated rendering of service chaining |
11018981, | Oct 13 2017 | Cisco Technology, Inc. | System and method for replication container performance and policy validation using real time network traffic |
11063856, | Aug 24 2017 | Cisco Technology, Inc. | Virtual network function monitoring in a network function virtualization deployment |
11075839, | Jul 01 2016 | HUAWEI TECHNOLOGIES CO , LTD | Method, apparatus, and system for forwarding packet in service function chaining SFC |
11102135, | Apr 19 2017 | Cisco Technology, Inc. | Latency reduction in service function paths |
11115276, | Jul 21 2017 | Cisco Technology, Inc. | Service function chain optimization using live testing |
11196640, | Jun 16 2017 | Cisco Technology, Inc. | Releasing and retaining resources for use in a NFV environment |
11252063, | Oct 25 2017 | Cisco Technology, Inc. | System and method for obtaining micro-service telemetry data |
11330074, | Aug 12 2020 | Fortinet, Inc. | TCP (transmission control protocol) fast open for classification acceleration of cache misses in a network processor |
11539747, | Apr 28 2017 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
11671364, | Jul 01 2016 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for forwarding packet in service function chaining SFC |
ER3181, | |||
RE48131, | Dec 11 2014 | Cisco Technology, Inc. | Metadata augmentation in a service function chain |
Patent | Priority | Assignee | Title |
6788680, | Aug 25 1999 | Oracle America, Inc | Defferrable processing option for fast path forwarding |
7860100, | Oct 01 2008 | Cisco Technology, Inc. | Service path selection in a service network |
8442043, | Dec 29 2008 | Cisco Technology, Inc. | Service selection mechanism in service insertion architecture data plane |
20030088699, | |||
20050047329, | |||
20080137569, | |||
20090074413, | |||
20140025790, | |||
20140321459, | |||
20140334488, | |||
20140351106, | |||
20140362682, | |||
20140362857, | |||
20150103691, | |||
20150215172, | |||
20150281050, | |||
WO2015082016, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 30 2015 | ZHANG, HONG | FUTUREWEI TECHNOLOGIES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036206 | /0378 | |
Jun 30 2015 | FOURIE, LOUIS | FUTUREWEI TECHNOLOGIES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036206 | /0378 | |
Jul 22 2015 | Futurewei Technologies, Inc. | (assignment on the face of the patent) | / | |||
Feb 28 2022 | FUTUREWEI TECHNOLOGIES, INC | HUAWEI CLOUD COMPUTING TECHNOLOGIES CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 059682 | /0738 |
Date | Maintenance Fee Events |
Dec 01 2021 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 19 2021 | 4 years fee payment window open |
Dec 19 2021 | 6 months grace period start (w surcharge) |
Jun 19 2022 | patent expiry (for year 4) |
Jun 19 2024 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 19 2025 | 8 years fee payment window open |
Dec 19 2025 | 6 months grace period start (w surcharge) |
Jun 19 2026 | patent expiry (for year 8) |
Jun 19 2028 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 19 2029 | 12 years fee payment window open |
Dec 19 2029 | 6 months grace period start (w surcharge) |
Jun 19 2030 | patent expiry (for year 12) |
Jun 19 2032 | 2 years to revive unintentionally abandoned end. (for year 12) |