1. Field of the Invention
The present invention relates to providing enhanced services over Internet Protocol (IP) networks based on encapsulation of IP packets with additional information based on the enhanced services.
2. Description of the Related Art
Efforts are underway to improve End-to-End Quality of Service in IP networks (including the ability to add new services with predictable and/or guaranteed quality), where user endpoints can enjoy a guaranteed quality of service for a variety of applications. Difficulties arise, however, in implementing End-to-End Quality of Service implementations due to the difficulty in conveying the application-oriented service requirements to a network device such as a router. Transfer of application-oriented service messages from a customer premises edge device to a network edge device is inefficient because it increases the processing requirements of both the customer premises edge device and the network device. In addition, imposing additional constraints on a network router to support quality of service requirements, such as parsing the packet payload to determine application layer service requirements, would substantially burden the processing capacity of the router.
Encapsulation techniques are known to transfer packets of one network layer protocol across another network layer protocol. For example, Generic Routing Encapsulation (GRE) as described in the Internet Engineering Task Force (IETF) Request for Comments (RFC) 1701 and RFC 2784, provides a standard method for transporting one arbitrary network layer protocol over another arbitrary network layer protocol. In addition, RFC 1702, entitled “Generic Routing Encapsulation over IPv4 Networks”, provides a standard method for transporting an arbitrary network layer protocol over IPv4 using GRE, where the GRE creates a tunnel between two endpoints for transfer of the arbitrary network layer protocol.
In particular, GRE is a tunneling protocol designed for encapsulation of arbitrary kinds of network layer packets inside arbitrary kinds of network layer packets: the original packet serves as the payload for the final packet. For example, tunnel servers which perform encryption can use GRE to tunnel through a wide area network such as the Internet for secure virtual private networks. However, GRE headers only address the problem of hiding IP routing by using tunnels; further, encapsulation techniques such as GRE operate by adding an additional IP routing header to an existing IP packet.
There is a need for an arrangement that enables enhanced end-to-end services to be implemented between endpoints by a router, without the necessity of adding additional IP headers.
There also is a need for an arrangement that enables service identification and encoding to be implemented by a router in an efficient manner, without the necessity of adding additional IP headers to an existing IP packet or requiring a router to parse within a payload of a layer 3 packet (e.g., TCP, UDP, etc.)
These and other needs are attained by the present invention, where a service header is generated by a network edge device (e.g., a gateway or an edge router) configured for providing a prescribed service operation for a prescribed network service for a received IP packet. The received IP packet includes an IP payload and an IP header having a protocol field specifying an original protocol of the IP payload. The edge device generates an encapsulated payload from the IP payload according to the prescribed network service, and generates a service header that identifies the prescribed network service and the original protocol of the IP payload. The edge device creates a modified IP header from the IP header and that identifies the service header in the corresponding protocol field, and outputs a modified IP packet including the modified IP header, the service header, and the encapsulated payload.
Hence, the modified packet enables new network-based services to be added easily, and enables routers along a path from a source to a destination to provide the appropriate service-based operations to guarantee any required quality of service. In particular, the modified IP packet enables any router, configured for providing the quality of service operation, to identify the prescribed network service identified in the service header based on identification of the service header from the protocol field of the modified IP header. Hence, the quality of service operation can be provided by any router, without the necessity of parsing within the payload of the original protocol packet. In addition, an edge router can reconstruct the originally-received IP packet from the encapsulated payload for delivery to a user device.
One aspect of the present invention provides a method in a network edge device. The method comprises receiving by the network edge device a received Internet Protocol (IP) packet that includes an IP payload and an IP header having a protocol field specifying an original protocol of the IP payload. The method also includes generating by the network edge device a modified IP packet for a prescribed network service based on a prescribed detected condition. The modified IP packet is generated based on: (1) first generating an encapsulated payload from the IP payload according to the prescribed network service, (2) second generating a service header that identifies the prescribed network service and the original protocol of the IP payload, and (3) modifying the IP header of the received IP packet by changing the corresponding protocol field in the IP header to identify the service header. The method also includes outputting the modified IP packet, including the modified IP header and a modified IP payload including the service header and the encapsulated payload, to a next-hop router for transfer to a destination according to the prescribed network service.
Additional advantages and novel features of the invention will be set forth in part in the description which follows and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The advantages of the present invention may be realized and attained by means of instrumentalities and combinations particularly pointed out in the appended claims.
Reference is made to the attached drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
Each of the customer premises devices 14 is configured for outputting and receiving conventional IP packets (e.g., 16a, 16b) to and from a corresponding assigned edge router 12; for example, the customer premises device 14 of the customer network A, implemented as a customer edge device (CED) such as a router, is configured for outputting the IP packet 16a to the service encoding router 12a, and the customer premises device 14 of the customer network B is configured for receiving the IP packet 16b from the service encoding router 12b. From the perspective of the customer premises devices 14 of customer networks A and B, the IP packets 16a and 16b are the same packet, where the packet 16b represents traversal of the packet 16a across the IP network 10.
According to the disclosed embodiment, the IP network 10 is configured for supporting enhanced end-to-end quality of service requirements for customized network applications, including secure encryption of data packets, compression of voice packets for transfer across the network 10 (e.g., an IP based cellular backhaul network), or support for Enterprise Resource Planning (ERP) applications, etc. Each IP edge router 12 (e.g., 12a) includes a network interface 18 configured for receiving the IP packet 16a from a source customer edge device 14 (and transmitting a recovered IP packet 16b to a destination customer edge device 14), and a routing resource 20 configured for performing conventional routing operations, as well as service identification and encoding. As described below, each IP edge router 12 is configured for supporting numerous network-based application services within the IP network 10 without relying on any support from the customer edge devices 14, based on the corresponding routing resource 20 performing service identification and encoding of received IP packets 16a prior to transport via the IP network 10 as a modified packet 22. The service identification, implemented in the form of a service header added by the routing resource 20 of the ingress IP edge router 12a (SER1), enables each service-aware router in the IP network 10 to route the packet according to the quality of service requirements and policies required by the application service specified by the service header, and enables the routing resource 20 of the egress router 12b (SER2) to recover the original IP packet 16b for delivery to the destination customer edge device 14 of the customer network B.
As described in detail below with respect to
The method begins in step 50, where the routing resource 20 of each edge router (e.g., 12a and 12a) is configured for providing the desired network services, for example encryption, voice compression, modifying packets for ERP applications, etc., based on configuring or adding the appropriate executable resource within the routing resource 20, for example defining services based on extensible markup language (XML) descriptors, software or firmware updates, etc.
After each routing resource 20 has been appropriately configured, the network 10 is prepared to provide the enhanced network services. In particular, the ingress edge router 12a receives in step 52 the original IP packet 16a from the customer edge device 14 of the customer network A. In response to parsing in step 54 the IP header 24, the routing resource 20 identifies a next-hop path for the packet, and also determines that the IP packet 16a belongs to a data flow for a prescribed network service. The routing resource 20 may identify the network service data flow, for example, based on evaluating layer 3 (i.e., Network Layer) parameters including any one of a source-destination IP address pair, the destination IP address, and/or evaluating layer 4 (i.e., Transport Layer) parameters within the next level protocol header 28, for example TCP/UDP source and/or destination transport port, etc. The routing resource 20 also may identify the network service data flow, for example, based on detecting and evaluating prescribed parameters within the next level protocol payload 30, including any one of the layer 5 (Session Layer), layer 6 (Presentation), or layer 7 (Application Layer) parameters.
In response to determining that the received IP packet 16a should be encoded into the modified IP packet 22 in order to allow other network devices in the network 10 to apply enhanced application-aware services to the packet, the routing resource 20 modifies the IP header 24 into the modified IP header 24′, inserts the service header 40, and performs the prescribed service operation 38 on the IP payload 26 to generate the service encoded payload 36. In particular, the routing resource 20 changes in step 55 the protocol field 32 in the IP header 24, as illustrated in
The routing resource 20 also saves the original IP protocol field value 34 in the service header 40 by inserting in step 56 the original IP protocol field value 34 in an original protocol field 44, illustrated in
After the routing resource 20 of the ingress edge router 12a has generated the modified packet 22 including the modified IP header 24′, and the modified IP payload 48 including the service header 40 and the service encoded payload 36, the IP interface 18 of the ingress edge router 12a outputs in step 62 the modified IP packet 22 to a next-hop router in the IP network 10 for transfer to a destination (customer network B) according to the prescribed network service 38. As described previously, numerous internal routers in the IP network 10, including the next-hop router, may or may not have the service-aware capabilities to interpret the service header 40, depending on the needs of the application service; for example, if encryption or compression is the application service being applied, then no other internal router of the IP network 10 needs to process the service header 40; however, if the applied application service is for a guaranteed latency or bandwidth (e.g., for video streaming, etc.), then each next-hop router (or at least one intermediate router) may be configured to route the packet in step 63 according to the prescribed network service 38 specified in the service definition field 46 (e.g., providing preferential or special treatment for a guaranteed quality of service, rerouting the packet based on the prescribed network service 38, etc.).
The egress router 12b is positioned at the destination edge of the network 10, and provides connectivity to the network 10 for the customer edge device 14 of the destination customer network B. The network interface 18 of the egress router 12b receives the modified IP packet 22 in step 64, and the routing resource 20 of the egress router 12b detects from the protocol field 32 the service header identifier 42 specifying that the next header in the modified IP payload 48 is the service header 40. In response to detecting the service header 40 from the protocol field 32 of the IP header 24′, the routing resource 20 in the egress router 12b determines the prescribed network service operation from the identifier 38 that is specified in the service definition field 46 of the service header 40. The routing resource 20 in the egress router 12b recovers in step 66 the original IP payload 26 from the service encoded payload 36 using the network service 38 specified in the service definition field 46. The routing resource 20 of the egress router 12b then inserts in step 68 the original protocol value 34 into the protocol field 32 of the IP header 24, and outputs the recovered packet 16b, identical to the original transmitted packet 16a.
According to the disclosed embodiment, enhanced network-based application services are provided within the network 10 without the necessity of adding an additional IP header; rather, a service header 34 that identifies an application layer service is added at the layer 3 level (based on updating the protocol field 32), enabling service identification to be identified with minimal additional overhead in the IP packet.
While the disclosed embodiment has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.