Token related apparatuses for deep packet inspection and policy handling

09661082 ยท 2017-05-23

Assignee

Inventors

Cpc classification

International classification

Abstract

A method of handling packets sent across a packet switched network comprising a policy server acting as a policy and charging rules function. The method comprises providing a first set of policy rules at said policy server, and installing these from the policy server into an access gateway over a first service control session. These policy rules cause packets belonging to a given IP session to be diverted by the access gateway to a network address translator. At the network address translator, an IP source address of said packets is translated into a translated IP source address identifying a deep packet inspection node. The network address translator forwards the packets to the deep packet inspection node configured to perform deep packet inspection of IP packet.

Claims

1. A policy server implementing policy and charging control in a packet switched network, the policy server comprising: a service control session handling architecture configured to establish service control sessions with an access gateway and a deep packet inspection node respectively; and a token handling architecture configured to: allocate a first token that is uniquely associated with a first service control session between the policy server and the access gateway, receive a second token from the deep packet inspection node that is uniquely associated with a second service control session between the policy server and the deep packet inspection node, determine whether the first token and the second token match, and inform the service control session handling architecture when the tokens match, wherein the service control session handling architecture is further configured to: associate the first service control session and the second service control session with an IP session associated with the matched tokens; and identify and deliver policy rules to the deep packet inspection node relating to the IP session associated with the matched tokens.

2. The policy server of claim 1, wherein allocating the first token comprises generating the first token at the policy server at establishment of the first service control session and sending the first token to the access gateway.

3. The policy server of claim 2, wherein generating the first token at the policy server comprises: generating the first token in response to receiving a policy evaluation request from the access gateway, the request including an IP source address, and sending, to the access gateway, the first token in response to the policy evaluation request.

4. The policy server of claim 3, wherein the policy evaluation request is a Diameter Credit Control Request.

5. The policy server of claim 2, wherein generating the first token at the policy server further comprises generating the first token when the access point name associated with the access gateway is on a prescribed list of access point names held by the policy server.

6. The policy server of claim 1, wherein allocating the first token comprises receiving, by the token handling architecture at the policy server, the first token in a policy evaluation request from the access gateway, the first token being generated by the access gateway in response to receipt of a general bearer request.

7. The policy server of claim 6, wherein said policy evaluation request is a Diameter Credit Control Request.

8. The policy server of claim 1, wherein the first token is one of a hash of a subscriber identity and a hash of an IP address associated with the IP session.

9. The policy server of claim 2, wherein the first token is sent by the service control session handling architecture to the access gateway within an accounting session identity field.

10. The policy server of claim 1, wherein the second token is received from the deep packet inspection node at the policy server in an accounting session identity field.

11. The policy server of claim 1, wherein the second token is received from the deep packet inspection node in a policy evaluation request.

12. The policy server of claim 11, wherein the policy evaluation request is a Diameter Credit Control Request.

13. The policy server of claim 1, wherein the access gateway is a GPRS Gateway Support Node of a GPRS core network.

14. The policy server of claim 1, wherein the service control session handling architecture receives an IP source address from an application function and in response, sends a corresponding translated IP source address.

15. The policy server of claim 14, wherein the IP source address is received in a Diameter AAA message, and the corresponding translated IP source address is returned in a Diameter AAR message.

16. The policy server of claim 14, wherein said packet switched network comprises an IP Multimedia Subsystem, and said application function is a Proxy Call Session Control Function.

17. A deep packet inspection node implementing deep packet inspection of packets traversing a packet switched network, the node comprising: a first receiver architecture for receiving from an access gateway, via a network address translator, an accounting start message containing a token uniquely identifying an IP session to which the accounting start message relates; a sender architecture for sending to a policy server of the packet switched network, a policy evaluation request containing a translated IP source address of said message and said token; and a second receiver architecture for receiving from said policy server a set of policy rules allocated to said IP session.

18. An access gateway, for use in a packet switched network, configured to operate as a policy enforcement point of the network, the access gateway comprising: a receiver architecture for receiving a general bearer request from a user equipment to establish an IP session; a token handling architecture for receiving from a policy server, or for generating and sending to a policy server, a token that is uniquely associated with said IP session; and a sender architecture for sending an accounting start message to a deep packet inspection node via a network address translator, the message including said token.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 illustrates schematically a packet network architecture with provisioning for Deep Packet Inspection;

(2) FIG. 2 illustrates a signalling flow in the architecture of FIG. 1 both with and without IP address NATing;

(3) FIG. 3 illustrates a problem that arises in the architecture of FIG. 1 due to IP address NATing;

(4) FIG. 4 is a signalling flow in the network architecture of FIG. 3, further illustrating the problems that arise due to NATing;

(5) FIG. 5 illustrates PCC rules installation on the originating and destination sides of an IP session involving NATing;

(6) FIG. 6 illustrates a signalling flow associated with an established IP session, and in particular the dropping of packets that can arise due to NATing;

(7) FIG. 7 shows a packet network architecture and a session establishment procedure for mitigating problems arising from NATing;

(8) FIG. 8 illustrates schematically a correlation of PCC related information stored at the Packet Server;

(9) FIG. 9 illustrates in more detail a signalling flow across the network architecture of FIG. 7;

(10) FIG. 10 illustrates schematically a packet server architecture;

(11) FIG. 11 illustrates schematically a Deep Packet Inspection node architecture;

(12) FIG. 12 illustrates schematically an access gateway architecture;

(13) FIG. 13 illustrates a signalling flow associated with SIP session establishment via an Application Function;

(14) FIG. 14 illustrates a signalling flow associated with PCC rules installation in the Access Gateway and the Deep Packet Inspection node following on from the flow of FIG. 13;

(15) FIG. 15 illustrates schematically the end-to-end flow of packet associated with an established IP session; and

(16) FIG. 16 illustrates schematically an Application Function node.

DETAILED DESCRIPTION

(17) In order to address the problems identified above and which arise from the use of a NAT to facilitate Deep Packet Inspection (DPI), it is proposed here to use a token to link within the Policy Server (PS) a given Service Control Session (e.g. Gx session between the PS and the Access Gateway (AG)) with the corresponding Service Sessions (e.g. Rx session between the PS and an Application Function (AF)) for the same IP-CAN session, where an IP-CAN session refers to the IP session existing between a User Equipment UE and the network, identified by an IP address. The shared token should uniquely identify the IP-CAN session Hence, different IP-CAN sessions shall be identified by different values of the token. A mechanism is also proposed for distributing this token among all the affected network elements. The proposed approach is illustrated in FIG. 7, whilst FIG. 8 shows how the correlation information is stored in the PS.

(18) The token can be created either by the AG and sent to the PS during the initial policy evaluation process, or it can be created by the PS and, upon the reception of the initial policy evaluation request, sent to the AG. In the case where the AG provides the token, as a result of the policy evaluation process, the AG shall route a subset of IP packets towards the DPI node and the AG shall provide the token to the DPI node. Thus, the DPI node can include the token in the policy evaluation request to the PS. In this way, the PS is able to identify the AG service control session with the DPI node service control session for the same IP-CAN session. FIG. 7 illustrates the solution that involves the PS creating the token. This implies that the PS shall know when the DPI is going to be used, for instance, for which APNs. The PS includes the token in the answer towards the AG, which then forwards it to the DPI node. Both solutions enable account to be taken of the Service session information in the policy evaluation processes to be enforced in the DPI node.

(19) A possible implementation involves including the token within the Accounting Session ID field used in RADIUS protocol. This means that the AG shall create the token and include it as the Accounting Session ID in the policy evaluation request sent to the PS. Subsequently, when sending the RADIUS Accounting Start message, the same Accounting Session ID shall be used. The advantage of this approach is that it avoids the need to introduce a new parameter into the RADIUS protocol.

(20) Another implementation involves generating the token by applying a one-way hash function to the real user identity (MSISDN, for example). Entropy may be added by applying the hash function to a combination of the user identity and a time dependant value, e.g. Seed=SHA-1(MSISDN, CurrentTimeInMilliSeconds). This function produces a 160 bit output that can be used to generate the token (truncated to the desired number of bits), i.e. Token=First_64_bits (Seed). Yet another implementation involves generating the token by applying a one-way hash function to the real UE IP address.

(21) When the AG is responsible for creating the token, it should do this before contacting the PS so that the first query to the PS includes the token. The PS stores the token with the other session information. When it is the PS that creates the token, the PS should do this before answering to the policy evaluation request from the AG, so that the token can be included in the response. As before, the PS stores the token internally with the other session information. If the PS has prior knowledge of which APNs have a NAT deployed, it may only create the token for those APNs. Note that the PS receives the APN data from the AG in the first policy decision query.

(22) The remainder of this document assumes that it is the PS that is responsible for token generation.

(23) The token should be distributed among the involved nodes during the IP-CAN session establishment procedure as explained below. The PS maintains the association between both service control sessions and the IP-CAN session using the token. Therefore, in subsequent procedures over any of these service control sessions, the token does not need to be included as the PS is able to correlate the sessions. When the PS receives a session termination indication for an IP-CAN session from any of the policy enforcement points (i.e. AG or DPI node), the PS can properly terminate all the service control sessions related to that IP-CAN session. The correlation among them is also internally removed. The PS also removes both service control sessions and the internal correlation information in response to certain internal triggers, for example a change in the subscription data.

(24) FIG. 9 illustrates the flow of control signalling, described as follows: 1. The AG receives a General Bearer request. This event triggers the creation of an IP-CAN session in the PS. 2. The AG contacts the PS to evaluate the applicable policies for that subscriber. In 3GPP, this is a Diameter CCR message that contains the UE IP address assigned by the AG. 3. The PS creates a token for that IP-CAN session (n.b. this token must be unique, so it cannot be the UE IP address) 4. The PS shall store the session information, including the UE IP address and the token. 5. The PS evaluates the applicable policies and creates the PCC rules to be enforced by that AG. 6. The PS sends the PCC rules to the AG in a Diameter CCA message, including the token, e.g. in a proprietary Attribute Value Pair (AVP). 7. The AG installs the PCC rules. The rest of the procedure for the establishment of the General Bearer continues. 8. The General Bearer Request is accepted to the UE 9. The AG starts the Accounting session with a AAA server over the Gi interface. This interface (Gi) is sniffed by the DPI node. [In some cases the DPI may perform AAA tasks.] The messages that trigger an action in the DPI node are the radius Accounting messages. The RADIUS Accounting Start message includes the UE IP address assigned by the AG and the token. 10. In this network configuration, the radius traffic towards the DPI node is routed through a NAT. Hence, the NAT removes the UE IP address assigned by the AG and includes one of the IP addresses under its control (named NATed IP address in this document), and the token received in step 9. 11. The DPI node requests a policy evaluation to the PS for that session and subscriber. In this scenario, the DPI node sends a diameter CCR including the NATed IP address and the token (in a proprietary vendor-specific AVP). 12. With this information, the PS is able to search for the subscriber's IP-CAN session being controlled by both the AG and DPI nodes. By using the token, the PS can therefore establish a relationship between the (non-NATed) UE IP address and the corresponding UE NATed IP address. The relationship can be stored locally by the PS, to be used in further interactions involving these IP addresses. 13. The PS evaluates the applicable policies and creates the PCC rules to be enforced by that DPI node. 14. The PS sends the PCC rules to the DPI node in a Diameter CCA message. 15. The DPI node installs the PCC rules

(25) The system is now ready to shape the traffic plane.

(26) FIG. 10 illustrates in simplified schematic form a packet server (PS) 1 for use with the approach described above. The PS comprises a service control session handling unit 3 functionally connected to the AG and the DPI. This unit 3 manages the service control sessions with these two network elements, and delvers policy rules across the sessions. A token handling unit 2 is functionally connected to at least the DPI. The unit 2 either generates the token at session establishment or receives it from the AG. When a token is received from the DPI, the handling unit informs the service control session handling unit if a match is found. If so, the service control session handling unit selects and provides the appropriate policy rules to the DPI.

(27) Referring now to FIG. 11, this illustrates schematically the DPI 100. The DPI comprises a first receiver 101 for receiving from an access gateway, via a network address translator, an accounting start message containing a token uniquely identifying the IP session to which the accounting start message relates. It further comprises a sender 102 for sending to a policy server of the packet switched network, a policy evaluation request containing a translated IP source address of said message and said token, and a second receiver 103 for receiving from said policy server a set of policy rules allocated to said IP session.

(28) FIG. 12 illustrates schematically an AG 200 which comprises a receiver 201 for receiving a general bearer request from a user equipment (UE) to establish an IP session. A token handling unit 202 is configured to receive (from the PS) or generate a token that is uniquely associated with said IP session. The AG further comprises a sender 203 for sending an accounting start message to the DPI via a network address translator, the message including said token.

(29) In order to address the issue of the destination side AF dropping packets because they contain unrecognised NATed source IP addresses, it is proposed to replace IP addresses in dynamic service sessions (for example IMS sessions). This can be done in two different ways: 1. Receipt of an SDP offer at the originating side AF causes the AF to check with the NAT or with the PS, whether or not the IP address should be replaced in the SDP offer before sending the SDP offer to the other end. If replacement is required, the NAT or PS provides the NATed address to the AF. 2. In the case of the IP Multimedia Subsystem (IMS), the AF (i.e. the P-CSCF) may establish a service session with the PS at IMS registration. The PS returns the NATed IP address in the response to the AF at IMS subscriber registration.

(30) The first option is illustrated in FIG. 13, where: 1. The UE-A sends an SDP offer with its own IP address, 2. The AF obtains the source IP address from the SDP received content, 3. The AF sends it to the PS, 4. The PS finds the NATed IP address, 5. The PS returns the NATed IP address to the AF, 6. The AF replaces the original source IP address with the NATed IP address (IP-X).

(31) Rather than send the query to the PS, the AF might send the query to the NAT.

(32) Considering the second option above, i.e. when the AF is a P-CSCF, the following is a valid sequence of events: 1. UE-A sends a registration request to the P-CSCF, including its own IP address. 2. The P-CSCF obtains the UE's real IP address from the SDP within the registration request, sends it to the PS which finds the NATed IP address that is returned to the AF. 3. AF stores the NATed IP address and uses it for the subsequent service session negotiations.

(33) Once both ends (that is UE-A and UE-B) have negotiated the service session characteristics, the originating side AF sends this information to the PS, as illustrated in FIG. 14 and described as follows: 1. The AF sends the negotiated Service Session Components to the PS. The UE-A IP address is sent as part of the session information. 2. The PS stores the information. 3. The PS acknowledges to the AF. 4. PCC Rules are generated; Service Data Flows contain the UE-A IP address. In this example, PCC Rule A is generated. 5. PCC Rule A (containing the UE-A IP address) is installed in the AG. 6. The AG decides if the Bearer QoS should be modified due to the installation of new PCC Rule A. 7. The AG sends a confirmation to the PS that PCC Rule A is installed. 8. The PS checks whether PCC Rules should also be installed in the DPI; if not the procedure terminates here. 9. The PS generates new PCC rules using the NATed IP address for both uplink and dowinlink directions. In this example, PCC Rule X is generated. 10. The PS provisions in the DPI the modified PCC Rule (PCC Rule X) that includes the NATed IP address. 11. PCC Rule X is installed in the DPI. 12. DPI sends an acknowledge to the PS.

(34) Although not shown in FIG. 14, the AG in the UE-B network will receive a PCC Rule B. This PCC Rule B is generated by the destination side PS based on the session information received in the AF in the UE-B network. This session information will contain the NATed IP address of UE-A as this is the information received as part of the SDP in the AF.

(35) Considering now media sent between UE-A and UE-B, this is handled as illustrated in FIG. 15. The illustrated steps are as follows: 1. UE-A decides to send media packets to UE-B after session negotiation is terminated, over the bearer that corresponds to UL TFT=IP-B and port B. 2. Access GW-A finds that a media packet matches Service Data Flow for PCC Rule A, as they contain the UE-A IP address, enforces the PCC Rule and forwards the packet. 3. The media packet traverses the NAT, with the NAT replacing the UE-A IP address with the NAT-ed IP address. 4. The media packet is received by the DPI, which in turn takes the decision to forward the media packet to the destination network. 5. Access GW-B finds that media packet matches a Service Data Flow, that in this case contains the NAT-ed IP address. GW-B enforces the PCC Rule B and forwards the packet to UE-B.

(36) FIG. 16 illustrates schematically an application function (AF) 300 for use with the approach described above. The apparatus comprises a receiver 301 for receiving a Session Description Protocol offer from a user equipment, and an offer handler 302 for determining if the offer contains an IP source address that is subject to network address translation within the network and, if so, for replacing the IP source address within the Session Description Protocol offer with a corresponding network address translation IP source address. The AF further comprises a sender 303 for sending the modified Session Description Protocol offer towards its destination.

(37) The token-based mechanisms described above enable the PS to associate all of the service control sessions for a given IP-CAN session even when any of the enforcement points (AG and DPI node) do not know the user IP address. They also enable the association of the service session from any AF to all service control sessions for a given IP-CAN session. Setting up these relations provides the following value-added functions to the operator's policy control solution: Enrichment of the policy evaluation process, as data provided by one Policy Enforcement Point (AG) can be used in the evaluation of policies to be enforced in the other node (e.g. DPI node). For example, in a 3GPP network, data sent by the GGSN to the PCRF via the Gx interface can be used in the evaluation of policies to be enforced in the DPI node. As a result of the policy evaluation initiated by the DPI node, certain control actions can be enforced in the AG. It is possible to enforce policy decisions in the DPI node related to the service information provided by the Application Function.

(38) It will be appreciated by the person of skill in the art that various modifications may be made to the above described embodiments without departing from the scope of the present invention.