INTERNATIONAL TELECOMMUNICATION UNION STUDY GROUP 13 TELECOMMUNICATION STANDARDIZATION SECTOR TD 76 Rev.1 (WP 4/13) English only STUDY PERIOD 2009-2012 Original: English Question(s): 17/13 Mar Del Plata, Argentina, 2-12 September 2009 TEMPORARY DOCUMENT Source: Rapporteur for Question 17/13 Title: Updated draft ITU-T Recommendation Y.dpireq “Requirements of DPI in packetbased networks and NGN environment” [Note: present word file is using many “styles and formats” beyond ITU-T template. May we please ask the editor to map the input document for the next meeting again to the ITU-T styles according http://www.itu.int/oth/T0A0F00000C/en ] Contact: Shaohua Yu Wuhan Research Ins. of Posts and Telecoms China Tel: +86 27 8769 3441 Email: shuyu@wri.com.cn Attention: This is not a publication made available to the public, but an internal ITU-T Document intended only for use by the Member States of ITU, by ITU-T Sector Members and Associates, and their respective staff and collaborators in their ITU related work. It shall not be made available to, and used by, any other persons or entities without the prior written consent of ITU-T. -2TD 76 Rev.1 (WP 4/13) Draft new ITU-T Recommendation Y.dpireq Requirements of deep packet inspection in packet-based networks and NGN environment AAP Summary [To be added before Consent] Summary This Recommendation specifies service requirements, capability requirements, functional requirements and performance requirements of Deep Packet Inspection (DPI) services. The requirements could be applied in any packet-based networks and NGN environment. [Editor’s note: the title should be considered to include “functions” after “inspection”. Further study will be done in next meeting] -3TD 76 Rev.1 (WP 4/13) Contents 1 Scope ............................................................................................................................ 4 2 References .................................................................................................................... 4 3 Terms and Definitions ................................................................................................ 4 3.1 Terms defined elsewhere .............................................................................. 4 3.2 Terms defined in this Recommendation ..................................................... 5 4 Abbreviations and acronyms .................................................................................... 7 5 Conventions ................................................................................................................. 7 6 Service requirements .................................................................................................. 7 6.1 Application management ............................................................................. 7 6.2 Analysis and Reporting ................................................................................ 7 6.3 User Bandwidth Optimization..................................................................... 8 7 Capability requirements ............................................................................................ 8 7.1 Scanning Packet at all layers ...................................................................... 8 7.2 Application Classification, Measurement, and Reporting ........................ 8 7.3 Set Policies for Controlling Traffic ............................................................. 8 7.4 Session Identification.................................................................................... 8 7.5 Modification of the Packet Header ............................................................. 8 7.6 Modification of Packet Payload .................................................................. 9 7.7 Message Reports ........................................................................................... 9 8 Functional requirements ............................................................................................ 9 8.1 The basic unidirectional DPI functional requirements ............................. 9 8.2 The basic bidirectional DPI functional requirements ............................... 11 8.3 Data plane, control plane and management plane in DPI node ............... 13 8.4 Interface to RACF ........................................................................................ 13 9 Performance requirements ............................................................................................ 13 9.1 Real-time DPI ................................................................................................. 13 9.2 Non-real-time DPI .......................................................................................... 14 Bibliography............................................................................................................................. 15 Appendix I Application Scenarios for DPI in packet-based networks and NGN environment....................................................................................................... 16 -4TD 76 Rev.1 (WP 4/13) 1 Scope The scope of this Recommendation includes all elements of Deep Packet Inspection (DPI), the service requirements, capability requirements, functional requirements and performance requirements identifying and defining (if necessary) , standard interfaces to interconnect with other components, taking into account policy-based networks in both packet-based networks (e.g. IPv4/v6) and NGN environment. These requirements will provide service awareness, ,control and security by partial or entire packet scanning based on static/dynamic rules in packet-based networks and NGN environment NOTE: Static rules are related to provisioned policy rules by policy management and remain unchanged until next policy configuration action. Dynamic rules are related to signalled policy rules by policy control. 2 References The following ITU-T Recommendations and other references contain provisions which, through reference in this text, constitute provisions of this Recommendation. At the time of publication, the editions indicated were valid. All Recommendations and other references are subject to revision; users of this Recommendation are therefore encouraged to investigate the possibility of applying the most recent edition of the Recommendations and other references listed below. A list of the currently valid ITU-T Recommendations is regularly published. The reference to a document within this Recommendation does not give it, as a stand-alone document, the status of a Recommendation. [ITU-T X.200 ] ITU-T Recommendation X.200 (1994) | ISO/IEC 7498-1:1994, Information technology. Open Systems Interconnection. Basic reference model: The basic model. [ITU-T Y.2111] ITU-T Recommendation Y.2111 (2008), Resource and admission control functions in Next Generation Networks. [ITU-T Y.2121] ITU-T Recommendation Y.2121 (2008), Requirements for the support of flow state aware transport technology in an NGN. [ITU-T Y.2901] ITU-T Recommendation Y.2901 (2006), The carrier grade open environment reference model. [IETF RFC 3198] IETF RFC 3198 (2001), Terminology for Policy-Based Management. 3 Terms and Definitions This Recommendation defines the following terms: 3.1 Terms defined elsewhere 3.1.1 Filter: In general [IETF RFC 3198]: A set of terms and/or criteria used for the purpose of separating or categorizing. This is accomplished via single- or multi-field matching of traffic header and/or payload data. "Filters" are often manipulated and used in network operation and policy. A filter rule is a specific policy rule. 3.1.2 Filter/policy rules: In general [IETF RFC 3198]: A basic building block of a policy-based system. It is the binding of a set of actions to a set of conditions, where the conditions are evaluated to determine whether the actions are performed. -5TD 76 Rev.1 (WP 4/13) 3.1.3 Flow ([ITU-T Y.2121]): A uni-directional sequence of packets with the property that, along any given network link, a Flow Identifier has the same value for every packet. 3.1.4 Flow Identifier ([ITU-T Y.2121]): A vector (or n-tuple) comprising the values of a number of elements taken from the layer 3, layer 4 header fields, encapsulation header, and label fields attached to a packet. The Flow Identifier for a flow within a single network is unique. [Editor’s note: in DPI applications, flow identifier may need to include the Layer 2 fields.] 3.1.5 Policy [IETF RFC 3198]: a set of rules administer, manage, and control access to network resources. 3.2 Terms defined in this Recommendation 3.2.1 Deep Packet Inspection (DPI): a method of packet filtering that applies the filter rules using filter conditions (see Figure. 1) based on protocol elements across multiple protocol layers (see e.g. reference model [ITU-T X.200]) in order to find, identify, classify, or control packets with specific data or code payloads that header packet filtering cannot detect. NOTE – Nonstandard terms, often used in literature: Shallow Packet Inspection“ (SPI) = L3,4HI Medium Depth Packet Inspection“ (MPI) = L3,4HI L4+HI Deep Packet Inspection“ (DPI) = L3,4HI L4+HI L7PI = L3,4HI L4PI [Editor’s note:If you really use the terms SPI and MDI, why don’t you just define them here since, by your own text, they are generally used. But I don’t see where you use either of those two terms in the Rec, so why go into unnecessary detail here?] L7 SDU (= L7 Payload) L4 to L7 (‚L4+’) Headers Transport (L4) Header Network (L3) Header Link (L2) Header L7 Payload („IP Application Data“) L5-7 L4 L3 L2 <L7 SDU data> Enforcement of Packetindividual („Flow“) Policy Rule(s): here – check of protocol layer specific Policy Condition(s) <L4+ PCI elements> <L3/4 PCI elements> L4+ Header Inspection (L4+HI) L3,4 Header Inspection (L3,4HI) Packet Analyzer L7 Payload Inspection (L7PI) L4 Payload Inspection (L4PI = L4+HI L7PI) „Shallow Packet Inspection“ (SPI) „Medium Depth Packet Inspection“ (MPI) „Deep Packet Inspection“ (DPI) Legend: Lx SDU PCI PDU Protocol Layer x Service Data Unit („Packet Payload“) Protocol Control Information („Packet Heder“) Protocol Data Unit („Packet“) Figure 1 – Packet Inspection – Illustration of Terminology Editor’s note: diagram may be updated dependent on clarification of L2 relation with DPI (“there’ll be probably a split of DPI in a) L2-independent DPI with respect to end-to-end (L3) consideration, and b) L2-dependent DPI with scope on L2 network domain specific DPI). 3.2.2 DPI node: a network node device with DPI function. -6TD 76 Rev.1 (WP 4/13) Note: This network node device could be a router, switch, bridge, border gateway, or any other kind of access devices, telecom transmission device or system, etc. [Editor’s note: DPI function should be defined in the previous text.] 3.2.3 DPI engine: a DPI processing element including a scan function, analyzer, rule action, rules table. 3.2.4 Rule entry: one of a set of rules which are statically predefined or dynamically generated and used to identify and control traffic. The rule entry may include the field of policy for controlling functions. 3.2.5 DPI analyzer: a functional implementation to perform comparison functions between the particular packet headers and payloads of the target packet flows and a set of the rules to determine what actions to take. DPI analyzer may provide the functionality of an Intrusion Detection System(IDS) analyzer. 3.2.6 Rule action: an action applied to packets identified as subject to the rule by the DPI analyzer,, which includes, for instance, the following: Discard the packet (Silently or otherwise) Classify the flow for reporting to other network functions (e.g. measurement and management) Take action to support control plane and management plane or security: prioritize, block, shape, schedule, etc Perform dynamic rule building and modification [Editor’s note: the text need to be refined] 3.2.7 Rules table: a database including multiple rule entries. These rules are defined and classified at different levels (protocol layer 2 to layer 7), and the different functions at the same layer to meet the carrier gradeinterworking requirements [ITU-T Y.2901]. [Editor’s note: it was questioned whether the 2nd sentence should be part of the “rules table” definition itself because it is more related to the definition of a (policy) “rule” (which is now addressed by clause 3.1.2). Should be clarified …] 3.2.8 Mediation Unit: a mediation functional unit performing the bi-directional DPI. This unit is connected to each Rules table, rule action and analyzer to deal with the end-to-end association between outgoing stream and the relevant incoming stream. [Editor’s note: detailed description should be provided on the bi-directional DPI definition] 3.2.9 L3,4 Header Inspection (L3,4HI): policy rule(s) with policy conditions using protocol control information (PCI) elements of the network layer or/and transport layer only. 3.2.10 L4+ Header Inspection (L4+HI): policy rule(s) with policy conditions using only PCI elements above the transport layer. 3.2.11 L4 Payload Inspection (L4PI): policy rule(s) with policy conditions based on application data. NOTE – L4PI relates to the union of L4+HI and L7PI policy conditions. 3.2.12 L7 Payload Inspection (L7PI): rule(s) with policy conditions based on application data. [Editor’s note: the above term definitions should be modified if other SDOs already have DPI related definitions.] -7TD 76 Rev.1 (WP 4/13) [Editor’s note: I don’t think you use these four terms (3.2.9 – 3.2.12) in the document. Consider deleting them] 4 Abbreviations and acronyms This Recommendation uses the following abbreviations and acronyms: DA Destination Address IP Internet Protocol P2P Peer to Peer DPI Deep Packet Inspection NGN Next Generation Network QoS Quality of Service IDS Intrusion Detection System RACF Resource and Admission Control Functions PEP Policy Enforcement Point DSLAM Digital Subscriber Line Access Multiplexer BRAS Broadband Remote Access Server SBC Session Border Controller ER Edge Router GGSN Gateway GPRS Support Node 5 Conventions TBD 6 Service requirements 6.1 Application management DPI node shall perform traffic signature analysis by inspecting all packets for new application signatures, score up the signatures, and append them to the relevant database. Data collected by the DPI node shall be relevant to analysis of subscriber usage, service utilization and QoS on a per application basis. [Editor’s note: “score up” should be clarified in further contributions] 6.2 Analysis and Reporting DPI node is required to analyze current usage patterns and provide report, including classification of applications, performance measurement, how subscribers are using the network and how long per application, traffic peak loads on network etc. DPI should have the capability of data collection, statistical analysis, which should provide statistic reports based on use, application, link or network address (Source IP address, Destination IP address, etc.). -8TD 76 Rev.1 (WP 4/13) 6.3 Bandwidth Optimization DPI node can manage bandwidth demand and optimize it according to how and when and by whom. As a result, DPI node can optimize network performance during off-peak and peak periods; manage network applications to improve the user experience. [Editor’s note: make sure if these sub-clauses have the overlapping, texts need to be refined] 7 Capability requirements 7.1 Scanning Packet at all layers DPI shall scan all packets at all layers, recognizing applications and transactions that traverse multiple packets as well as those in a single packet. The results of DPI scanning shall support rule actions identified in the relevant rules table, such as: Identification of user, including user account, ID of equipment, MAC address, IP address, etc; Identification and classification of applications and corresponding protocol, for example: P2P, VoIP and multimedia. Identification of special content based on recognition of a keyword as well as recognition of abnormal content (i.e. content that is outside the rules table’s parameters of normal traffic); [Editor’s note: Guess that the general result of a “scanning packet” activity is the identification of “policy actions” (as part of the rules table). Above listed functions may be then subsequent activities due to that policy actions … ] 7.2 Application Classification, Measurement, and Reporting DPI is required to to classify applications, measure performance, and generate reports. This provides network managers with the visibility essential for strategic traffic planning and policy based charging, etc. [Editor’s note: different requirements may be for DPI itself or DPI system. May need to add general note] 7.3 Controlling Traffic Based on packet payload scans, application classification, and a set of policies for managing traffic, DPI shall be capable of supporting mechanisms to trigger the actions of prioritizing and/or controlling traffic. This function provides one of the fundamental controls that used for offering tiered services and for controlling application data flow, which could be traffic shaping and ratelimiting, redirect the traffic, and discard the traffic according to QoS strategy to ensure high-priority services, such as modifying priority information element. [Editor’s note: further investigation should be done on the DPI actions] 7.4 Session Identification DPI shall provide the information to analyze session behaviour, track session state changes if necessary, monitor individual subscriber’s quality of experience or end-to-end QoS and performance parameters in real-time on a complete session-by-session basis from Layer 2 to Layer 7. [Editor’s note: the concept of a “session” is not yet outlined, thus generic here. It might be worth to provide concrete session examples like e.g. an “IPTV session”, “RTP session”, “multimedia session with multiple, media-type individual RTP sessions”, “RTSP session”, etc. … ] -9TD 76 Rev.1 (WP 4/13) 7.5 Modification of the Packet Header It is optional that DPI be capable of modifying packet headers in order to enable new services[note:examples needed here] or prevent attacks. It is optional that this capability be configurable, programmable, and sufficiently granular to allow maximum flexibility in packet processing. 7.6 Modification of Packet Payload DPI is required to be able to modify payload. Based on dynamic packet and session monitoring, DPI packet content modification can carry out functions such as removing viruses 7.7 Reporting capability DPI is required to support the mechanisms to report results of DPI with all the appropriate content and envelope information to be sent to the network manager. [Editor’s note: DPI is thus required to “generate messages with e.g. alert information” as a reporting capability towards e.g. management plane entities. Further text may be helpful … ] 8 Functional requirements 8.1 The basic uni-directional DPI functional requirements Figure 2 illustrates the relationship between DPI and other components within the packet-based networks and NGN environment. RACF Security Charging SeChargi ng DPI engine Scan Rules Table Analyzer Rule Action Other functions Figure 2a – Uni-directional DPI within the packet-based networks and NGN environment - 10 TD 76 Rev.1 (WP 4/13) Users of DPI scanning data Security Functions DPI Node Function Management Functions Others Rules Table DPI Engine Scan Analyze Apply Rule Figure 2b – Uni-directional DPI within the packet-based networks and NGN environment [Editor’s note: during this meeting, Figure 2b has been proposed which does not include the rule table in the rule engine. To be discussed in the next meeting.] 8.1.1 DPI engine function: a uni-directional DPI processing functional element including a scan function, analyzer, rule action, rules table in a DPI node as shown in Figure 2a (or Figure 2b). 8.1.2 Rule entry: one of a set of rules which are statically predefined or dynamically generated and used to compare the particular overhead or contents of the packet flows with a set of the rules to determine if the string matching is successful or not. 8.1.3 DPI analyser function: a functional element in a DPI node to perform comparison functions between the particular overhead or contents of the packet flows and a set of the rules to determine what the results are. 8.1.4 Rule action: an action after analyzing according to the related rule actions, which include for instance the following: Discard the packet (Silently or otherwise) Traffic classification, measurement, and reporting and management Resource management, admission control and filtering Prioritization, blocking, shaping and scheduling Dynamic rule building and modification [Editor’s note: wording may be improved, e.g. the execution of a rule action is the consequence of valid rule conditions … the entry in a row of a rules table consists of policy condition(s) and policy action(s) … ] - 11 TD 76 Rev.1 (WP 4/13) [Editor’s note: silently discard should be clarified] 8.1.5 Rules table function: a database functional element including the multiple rule entries. These rules are defined and classified at the different levels (layer2-layer7), and the different functions at the same layer to meet the carrier grade interworking requirements [ITU-T Y.2901]. 8.2 The basic bi-directional DPI functional requirements 8.2.1 DPI engine function: a bi-directional DPI processing function including a scan function, analyzer, rule action, rules table in a DPI node as shown in Figure 3. 8.2.2 Rule entry: one of a set of rules which are statically predefined or dynamically generated and used to compare the particular overhead or contents of the packet flows with a set of the rules to determine if the string matching is successful or not. - 12 TD 76 Rev.1 (WP 4/13) 8.2.3 DPI analyser function: a functional element in a DPI node to perform comparison functions between the particular overhead or contents of the packet flows and a set of the rules to determine what the results are. DPI Engine Rules Table Scan Analyzer Rule Action Packets Input Packets Output Input Queue Output Queue Mediation Packets Output Packets Input Output Queue Rule Action Input Queue Analyzer Scan Rules Table DPI Engine Figure 3 – The bi-directional DPI function and architecture 8.2.4 Rule action: an action after analyzing according to the related rule actions, which include at least the following: Discard packet (Silently or otherwise) Traffic classification, measurement, and reporting and management Resource management, admission control and filtering Policy-based prioritization, blocking, shaping and scheduling Dynamic rule building and modification - 13 TD 76 Rev.1 (WP 4/13) 8.2.5 Rules table function: a database functional element including the multiple rule entries. These rules are defined and classified at different levels (layer2-layer7), and the different functions at the same layer to meet the carrier grade interworking requirements [ITU-T Y.2901]. 8.2.6 Mediation function Unit: a functional unit performing the bi-directional DPI. This unit is connected to each Rules table, rule action and analyzer to deal with the end-to-end association between outgoing stream and the relevant incoming stream. [Editor’s note: use reference to the terms and definitions and specific requirements should be given in this clause] 8.3 Data plane, control plane and management plane in DPI node DPI node has data, control and management plane, and data plane can work either uni-directional or bi-directional mode. A DPI node shall recognize two kinds of packets: data packets, which belong to customers and carry customer traffic, and control and management packets, which belong to the network and are used to create and operate the network. The two kinds of packets traverse a “common pipe” (or are called “in-band”) or logically separate data channels from “out-of-band” control channels. The requirements of management plane should be: User-based management: manage user’s ID information; maintain corresponding relationship between user and user’s applications. Management of Application and service: generate, modify and publish application template; maintain the relationship between application and strategy; provide and manage reservation of user’s service Management of strategy: manage the strategies predefined or generated dynamically. These strategies may include: strategy of application identification, strategy of application control, strategy of user management, etc; Management of administration authority: to support hierarchical management, different administrator has different management authority. 8.4 Interface to RACF The RACF [ITU-T Y.2111] provides an abstract view of transport network infrastructure to Resource Control Functions and makes Service Providers to the details of transport facilities such as network topology, connectivity, resource utilization and QoS mechanisms/technology etc. [Editor’s note: the general description of requirements on the interface with RACF should be given] 9 Performance requirements 9.1 Real-time DPI 9.1.1 Node-internal transfer delay DPI related policy rules are applied to each individual packet of a particular packet flow. Such kind of policy enforcement introduces basically additional service and waiting time in the packet forwarding path of a packet node (e.g. an IP hop) with “DPI engine” support (i.e., a policy enforcement point (PEP) providing DPI). The performance metric node-internal transfer delay represents the packet transfer delay by the network element itself. - 14 TD 76 Rev.1 (WP 4/13) NOTE 1 – Example of IP node: the transfer delay of a DPI node may be fundamentally greater than the transfer delay of a legacy IP node (i.e. an IP hop or router according IETF RFC 1812) due to the additional service function on top of native IP forwarding functionality. Qualitative performance requirement: the transfer delay (inclusive the additional service time due to DPI processing) shall not exceed any end-to-end real-time requirements. NOTE 2 – Such a packet forwarding requirement is also colloquially known as “wirespeed processing”. NOTE 3 – Such a performance objective may limit the number of enforced policy rules per packet (just due to the limited budget of service time). Editor’s note 1: any quantitative performance requirement(s) may complement above qualitative statements. Contributions are solicited. Editor’s note: how to achieve the end-to-end real-time requirements by single node behaviour, need more clarification Editor’s note 2: existing ITU-T performance metrics should be cross-checked whether they may be re-used for DPI-specific performance requirements. Below a list (not exhaustive) of potential relevant documents: o Y.1540 Internet protocol data communication service - IP packet transfer and availability performance parameters o Y.1541 Network performance objectives for IP-based services o Y.1542 Framework for achieving end-to-end IP performance objectives o Y.1543 Measurements in IP networks for inter-domain performance assessment o Y.1544 Multicast IP performance parameters o Y.1560 Parameters for TCP connection performance in the presence of middleboxes o Y.1561 Performance and availability parameters for MPLS networks o Y.1562 Framework for higher layer protocol performance parameters and their measurement Contributions are solicited. 9.1.2 xxx Editor’s note: other performance metrics (e.g. packet loss) were mentioned in the Mar del Plata meeting discussions. Contributions are solicited. 9.2 TBD Non-real-time DPI - 15 TD 76 Rev.1 (WP 4/13) Bibliography [b-ITU-T Y.2011] ITU-T Recommendation Y.2011 (2004), General principles and general reference model for Next Generation Networks. [b-ITU-T Y.2001] ITU-T Recommendation Y.2001 (2004), General overview of NGN. [b-ITU-T Y.2021] ITU-T Recommendation Y.2021 (2006), IMS for Next Generation Networks. [b-ITU-T Y.2091] ITU-T Recommendation Y.2091 (2007), Terms and definitions for Next Generation Networks. [b-ITU-T X.200] ITU-T X.200 (1994) | ISO/IEC 7498-1:1994, Information technology . Open Systems.Interconnection. Basic reference model: The basic model. [b-ITU-T X.211] ITU-T X.211 (1995) | ISO/IEC 10022:1996, Information technology . Open Systems Interconnection. Physical service definition. [b-ITU-T Y.2121] ITU-T Recommendation Y.2121 (2008), Requirements for the support of flow state aware transport technology in an NGN. [b-ITU-T Y.2901] ITU-T Recommendation Y.2901 (2006), The carrier grade open environment reference model. [b-IETF RFC 3198] IETF RFC 3198 (2001), Terminology for Policy-Based Management. [b-IETF RFC 791] IETF RFC 791 (1981), Internet Protocol . DARPA Internet Program . Protocol specification. [b-IETF RFC 2460] IETF RFC 2460 (1998), Internet Protocol, Version 6 (IPv6). Specification. ______________ ______________ - 16 TD 76 Rev.1 (WP 4/13) Appendix I Application Scenarios for DPI in packet-based networks and NGN environment (This appendix does not form an integral part of this Recommendation) I.1 Application scenarios of DPI in packet-based network In packet-based networks, it is imperative to identify different kinds of services and apply different control mechanisms to provide differentiated services for its subscribers. As a control point in packet forwarding, DPI is often deployed in the following application scenarios, as illustrated in the subsections. I.1.1 Differentiated services based on service identification One of DPI’s fundamental functions is to provide differentiated services for subscribers in an operator’s network and enterprise network. Service identification is the prerequisite for operators to provide differentiated services for its customers. In Figure I.1, DPI is deployed at different layers in the operator’s networks and is transparent to the subscribers. Editor’s note: Does the term “differentiated services” imply just the IETF DiffServ model, or is it used here in a more general meaning? Should be made more clear in the text. In such scenario, DPI is often deployed as a real-time operation (for real-time and non-real-time end-to-end applications) which makes all services visible and easy to manage. Traditionally, packet forwarding can unveil some information about the carried traffic by extracting and parsing the basic protocol information such as connection address information like e.g. IP addresses (source, destination) and other low-level connection states. This information typically resides in the packet header itself and consequently reveals the principal communication intent, such as HTTP, FTP, and email services, as the port number often indicates the carried services. Figure I.1- Scenario of differentiated services at the example of an IP-based packet network with DPI support - 17 TD 76 Rev.1 (WP 4/13) As depicted in Figure I.1, user A, whose available bandwidth is e.g. 2 Mbit/s, has different network needs including VoIP, mail/web, pplive, p2p and so on. When the user’s application traffic flows pass through the DPI device in the network, the DPI will implement differentiated services in accordance with the predefined control list (i.e., the policy rules table for DPI in the packet forwarding path) and the identification results. However, from the perspective of service awareness, it is insufficient to reach any applicationrelated service identifications, especially for the current P2P popular services, like Skype, a VoIPbased service which prevails almost everywhere on the internet; and some of the download services, such as eDonkey and eMule, which often consume a lot of bandwidth, lead to congestion and packet loss for authorized services. To achieve the purpose of service awareness, DPI is applied to probe deeper into the packets in a multi-services stream for e.g. content analysis. Ways of service identification are listed below, as it is often used in most service control scenarios, though sometimes they are not sufficient to make the most successful decisions as what kinds of services being carried: (1) Analysis based on layer 4 port number (in case of IP); this is the simplest way in classifying the carried services; (2) Analysis by strings match; sometimes a typical string which indicates the application type is embedded in the traffic, thus deep inspection into the packet content should be involved to find the exact match which indicates the kinds of services being carried; (3) Analysis by numerical nroperties. Analysis by numerical properties involves the investigation of arithmetic and numerical characteristics within a packet, and of a packet or several packets. Some examples of properties analyzed include payload length, the number of packets sent in response to a specific transaction, and the numerical offset of some fixed string (or byte) value within a packet. (4) Analysis by behaviour and heuristics. In such kinds of application scenarios, DPI is deployed as an intelligent component in service identification. In a generic application of this kind, behavioural analysis refers to the way a protocol acts and operates, while heuristic analysis typically boils down to the extraction of statistical parameters of examined packet transactions. In some scenarios, behavioural and heuristic analyses are combined to provide improved services identification capabilities. In most application scenarios, services after identification can be categorized and marked as one of the following attributes: (1) Critical and time-sensitive, such as VoIP services; (2) Critical but not time-sensitive, such as management and routing information; (3) Best effort services, such as traditional services like HTTP, FTP, and Email, etc.; (4) Services unidentified. Under current multi-services network application scenarios, P2P is the prevalent services that often results in network outrage, such as congestion, collapse, and deprives most subscribers of fair network access, and so on. - 18 TD 76 Rev.1 (WP 4/13) Based on identification of peer-to-peer (P2P) services, DPI can apply some policy to ban or limit P2P traffic, such as: (1) P2P download application (a retrieval service); (2) P2P stream application (a streaming service); (3) Instant message; (4) VoIP, including: Skype, ET, UUPhone, etc; or (5) Traffic anomalies, which consumes a lot of the bandwidth not permitted by service providers. From the perspective of service control, DPI is often used as an auxiliary tool for providers to personalize services to its users, including: new services creation, content filtering to avoid offending the subscribers, resource allocation varying from application to application, etc., including: Limited service packages based on subscriber awareness in accordance with SLA; Expanded service packages based on subscriber awareness in accordance with SLA; Tiered service packages based on time of day and allocatted bandwidth amounts for various applications; Additional provisioned bandwidth dedicated for a specific user application; QoS assurance for all traffic from a specific user; or e.g. QoS assurance for traffic of a certain type or from a certain source for a specific user.As depicted in I.1.2 Traffic monitoring Another important scenario where DPI is widely deployed is that DPI is often used as the key control points enabling traffic management: scanning, filtering or forwarding packets based on services identified protocol layer 2 to layer 7 (for e.g. the case OSI X.200 basic reference model). From the perspective of packet forwarding, each service will be delivered as one or more flows in the network. To better control the traffic, a pre-configured or intelligently deduced policy is often applied which makes all the identified services under the operator’s supervision as desired. When the services are identified, different traffic of different services will be forwarded based on their attributes, for example, they can be forwarded along different path to their destinations based upon their SLA requirements. Another aspect of traffic management is resource allocation as resources can be proportionally allocated based on the subscribers’ profile and services control policy, as it is showed in Figure I.2. - 19 TD 76 Rev.1 (WP 4/13) Figure I.2 DPI used for the purpose of traffic monitoring I.1.3 Security As a basic requirement, DPI is deployed to provide the capabilities to identify prohibited services, which often results in malicious traffic over the network, as the traffic would often degrade user performance, drain network resources, impair infrastructure, and finally make the network unavailable to its subscribers. Most of the malicious traffic disguises itself as normal traffic and is extremely bandwidth consuming, such as: Outgoing spam, IP scanning and port scanning, etc. Figure I.3 shows a typical application scenario that when malicious traffic is identified, it will be removed by the DPI component from the traffic thus preventing it from spreading into the network. Figure I.3 DPI deployed to filter out malicious traffic Therefore, DPI in such kinds of application scenarios provides the packet forwarding process with the following capabilities: (1) On-line monitoring, tracking and analyzing possible connections, since sudden, rapid increases in active connections are indicative of many forms of prohibited services. (2) Real-time identification of malicious attacks. Through peering deep into the traffic, DPI alerts the network administrators of possible attacks and providing a range of monitoring and detection tools to track attack launchers, applications, flows, connections, ports, protocols, - 20 TD 76 Rev.1 (WP 4/13) trends and other parameters. Meanwhile, some of the attack features if possible, should also be feed backed to the forwarding engine to make resources unavailable to the attackers. (3) Real-time reporting of possible attacks. Through an automated and flexible early-warning mechanism DPI is applied to inform network administrators of potential threats in advance, enabling them to take appropriate actions against possible attacks. Thus, DPI may be fundamentally a basic function of an intrusion detection system (IDS). Mitigation of threats through enforcement. In such scenario DPI is deployed to yield productive measures against possible attacks. Under such circumstances, mitigation of threats must be implemented to avoid the infiltration of the malicious traffic into the network, as it might make the network more vulnerable and even collapse from resource exhaustion. I.1.4 Traffic statistics & services-based billing Through the perceptions to subscribers and applications, DPI can provide comprehensive statistics of application flows, which can help the network operator master all the information about network load, user’s behavioural characteristics, and the bandwidth occupation of every application. Service providers often charge their customers based on the services they subscribed as different services may have different billing policies. For example, time-critical and delay-sensitive services often comparatively consuming more resources and will be charged higher while legacy internet services such as E-mail, Http may exert fewer demands on resources and will be charged much lower. From the perspective of operators, as depicted in figure I.4, this kind of billing issues are often termed as services-based billing Figure I.4 – Traffic statistics& Services-based billing II. Application scenarios of DPI in NGN Currently there are few NGN deployments around the world. We can only deduce some of its possible application scenarios based on its already defined 2-stratum architecture ([ITU-T Y.2012]).. Figure II.1 illustrates an example how DPI can be deployed in an NGN environment. The functional blocks included in the dashed box are components that are closely related to the process of both DPI and packet forwarding: the blocks of policy control consists of subscriber policy control and its corresponding policy repository; the block of resource admission control subsystem is responsible for subscriber authentication/admission and resource allocation while the block of DPI will carry out all the functions of packet header analysis and content scanning. - 21 TD 76 Rev.1 (WP 4/13) Figure II.1 Example of DPI’s application scenario within the context of NGN [ITU-T Y.2012] As NGN is a seamlessly architected into 2 stratum, as described in II.2, DPI resides in packet forwarding plane, while resource and admission control is a basic function of control plane, with policies being stored in the policy repository. Whenever a new application is detected, DPI will generate a request for resource demand and deliver it to the control plane for resource allocation, even in some cases, DPI can be used to reroute the packets to satisfy SLA requirement. Service control functions Service stratum Transport stratum Resource and admission control functions s N G N re ht O NACF CPE DPI DPI Transport functions Figure II.2 Example of DPI’s operation within the environment of NGN Figure 6 illustrates example locations of DPI policy rule enforcement, e.g. CPE- or host-based on customer premises or network based DPI. In the scenario above, when DPI is used in the scenario for resource allocation, there are some standardized interfaces within the network architecture. Resource reservation request originated from DPI will be generated whenever a new service is identified. DPI then will issue this request to the SCF (service control function) which later on will trigger a request message and delivered to the RACF for resource demand[3]. For example, bandwidth allocation and QoS guarantee for a realtime VoIP application. Under such circumstances, DPI is deployed to fulfil the following goals: (1) Monitor network and bandwidth usage. DPI is applied to automatically discover the application and determine the protocol that might affect the network performance and bandwidth usage. - 22 TD 76 Rev.1 (WP 4/13) (2) Define the policies in accordance with the identified application. Policies can be seen as the tie between application and resource requirements, which in turn determines the QoS attributes of applications, among them are: minimum and maximum bandwidth, traffic prioritization, etc. (3) Enforce the policy and make the policy repository up-to-date at any time. From the perspective of NGN, DPI is applied to identify the application and generate the raw resource demand; all the remaining processing, including message triggering, delivery and processing will follow the procedures as defined in section 9, ITU-T recommendation of [Y.2111]. III The deployment of DPI in packet-based network As part of application scenario, how DPI components are installed in the network is a big concern, and what functions DPI can fulfil are something that also should be mentioned. [Editor’s note: Which should illustrate in more detail “big concern”, if not, readers may questioning what exactly concerns …] III.1 DPI’s deployment in packet-based network As shown in figure II.3, a DPI component can be deployed in a network either as an in-line device or a by-pass device; it depends on the operator’s purpose in using them. Figure II.3 Scenario of DPI’s Deployment in packet-based network III.2 DPI used as a bi-directional tool for service control With its bi-directional rule tables, DPI can act on both incoming and outing traffic bi-directionally. See [ITU-T Y.dpireq] concerning the clarification of uni- versus bi-directional DPI. - 23 TD 76 Rev.1 (WP 4/13) III.3 DPI used as a nexus among ICP, ISP and subscribers DPI is not a separate node but instead a nexus among Internet service providers (ISP), Internet content providers (ICP) and subscribers. However, the interaction among those three players are totally different, their priorities of generating and operating DPI rules are arranged in order with ISPs having the highest priority while subscribers with the lowest. Subscribers can only determine what kinds of services they want to receive; and ICPs provide the kinds of services for its customers, while ISPs have the highest priority in traffic control,as depicted in Figure III.1. Figure III.1- DPI works as a nexus among ICP, ISP and subscribers