Network Working Group A. Fessi Internet-Draft University of Tuebingen Expires: September 6, 2007 C. Kappler C. Fan Siemens AG F. Dressler University of Erlangen A. Klenk University of Tuebingen March 5, 2007 Framework for Metering NSLP Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on September 6, 2007. Copyright Notice Copyright (C) The IETF Trust (2007). Abstract Monitoring, metering and accounting of packets are increasingly important functionalities that need to be provided in the Internet. Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 1] Internet-Draft M-NSLP Framework March 2007 This document motivates and describes a framework for the path- coupled configuration of Metering Entities to record monitoring and measurement data and report it to a data collector. Different scenarios are described where such a path-coupled configuration is useful. Currently, the focus is on two scenarios: accounting and QoS measurement. Moreover, this document gathers requirements for a path-coupled configuration protocol of Metering Entities. Finally, the applicability of the NSIS architecture for this purpose is discussed. The protocol itself is specified in a separate document [I-D.dressler-nsis-metering-nslp] Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 4 4. Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1. Accounting . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1.1. Scenario Description . . . . . . . . . . . . . . . . . 6 4.1.2. Required Configuration Parameters . . . . . . . . . . 8 4.2. QoS Monitoring . . . . . . . . . . . . . . . . . . . . . . 10 4.2.1. Scenario Description . . . . . . . . . . . . . . . . . 10 4.2.2. Required Configuration Parameters . . . . . . . . . . 13 5. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.1. General requirements . . . . . . . . . . . . . . . . . . . 15 5.1.1. Extensibility . . . . . . . . . . . . . . . . . . . . 15 5.1.2. Scalability . . . . . . . . . . . . . . . . . . . . . 15 5.1.3. Security . . . . . . . . . . . . . . . . . . . . . . . 15 5.2. Distinguishing flows . . . . . . . . . . . . . . . . . . . 15 5.3. Aggregation of Metering Records . . . . . . . . . . . . . 15 5.4. Transport of Metering Records . . . . . . . . . . . . . . 16 5.5. Location of Metering Entities . . . . . . . . . . . . . . 16 5.6. Location of the Collectors . . . . . . . . . . . . . . . . 16 5.7. Configuration protocol . . . . . . . . . . . . . . . . . . 16 5.7.1. Configuration of Metering Entities . . . . . . . . . . 16 5.7.2. Selection of Metering Entities . . . . . . . . . . . . 16 5.7.3. Metering Configuration State installation and removal . . . . . . . . . . . . . . . . . . . . . . . 17 5.7.4. Initiation and maintenance of metering tasks . . . . . 17 5.7.5. Reaction to Route Changes . . . . . . . . . . . . . . 17 5.7.6. Coordination of Metering Entities . . . . . . . . . . 17 Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 2] Internet-Draft M-NSLP Framework March 2007 5.7.7. Scoping of configuration . . . . . . . . . . . . . . . 17 5.7.8. Collection of information on available Metering Entities . . . . . . . . . . . . . . . . . . . . . . . 17 5.8. Metering across domains . . . . . . . . . . . . . . . . . 18 6. Applicability of the NSIS Architecture . . . . . . . . . . . . 18 7. Security Considerations . . . . . . . . . . . . . . . . . . . 18 7.1. Authorization Model . . . . . . . . . . . . . . . . . . . 18 7.2. Inter-working between different domains . . . . . . . . . 19 7.3. End User Privacy . . . . . . . . . . . . . . . . . . . . . 19 7.4. ISP Privacy . . . . . . . . . . . . . . . . . . . . . . . 19 7.5. Forged Collector . . . . . . . . . . . . . . . . . . . . . 19 7.6. Denial-of-Service Attacks on the Collector . . . . . . . . 20 7.7. Denial-of-Service Attacks on Metering Entities . . . . . . 20 7.8. Verification of the Flow Specification . . . . . . . . . . 20 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 20 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20 9.1. Normative References . . . . . . . . . . . . . . . . . . . 20 9.2. Informative References . . . . . . . . . . . . . . . . . . 21 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22 Intellectual Property and Copyright Statements . . . . . . . . . . 24 Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 3] Internet-Draft M-NSLP Framework March 2007 1. Introduction Monitoring, metering and accounting of packets is an important functionality in many networks today. Several working groups are working on mechanisms for collecting and reporting usage data, flow or packet information. For example, the IPFIX (IP Flow Information Export) Working Group defines a protocol to collect and report flow information ([I-D.ietf-ipfix-protocol]). The PSAMP (Packet SAMPling) Working Group focuses on reporting per packet information for further processing ([I-D.ietf-psamp-framework]). However, it is also necessary to configure and coordinate the entities performing the metering. If one or more Metering Entities should meter a specific flow, then all potential candidates for this task are on the path followed by this particular flow. They can be addressed by sending a configuration message along the path of the flow. If more than one Metering Entity is required, all of them can potentially be configured and coordinated with a single message along the path. The Metering Entities can either collect statistics on these flows, perform packet sampling or apply some other special treatment for the packets, for example, examining the packet payload, or just report that this packet has passed this point. The Metering Entities can be configured and can be coordinated to achieve a certain goal together, which can be, for example, accounting or QoS monitoring. 2. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Furthermore, this document uses the terms "Metering Record", "Monitoring Probe", "Metering Entity", "Collector", as defined in [I-D.dressler-nsis-metering-nslp]. 3. Problem Statement There is a need in industry and the Internet research community to collect and export information on data flows. We call such information Metering Records. Metering Records are useful in mediation systems, accounting systems, and network management systems. They facilitate services such as Internet research, measurement, accounting, billing, QoS monitoring, intrusion detection, and traffic profiling/engineering. In recognition of the Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 4] Internet-Draft M-NSLP Framework March 2007 need for such metering the IPFIX WG was founded. While the purpose for collecting Metering Records in each case is different, the basic architecture of such metering systems is usually identical, cf. Figure 1. Metering data is collected by a Monitoring Probe. The Metering Entity produces Metering Records from the metering data or additional data such as session information. The Metering Entity transmits its Metering Records to a Collector. The Collector correlates Metering Records relating to the same event from different Metering Entities. There might be more than one Collector depending on the actual tasks. +-----------------+ | Collector | | +-------------+ | | | Met. Record | | | +-------------+ | +-----------------+ ^ ^ ^ ^ ^ *** * *** *** * *** *** * *** *** * *** +-------------+ +-----------+ +-------------+ | Metering | | Metering | | Metering | | Entity | | Entity | | Entity | --->| |--->| |--->| | |+----+ +----+| | +----+ | |+----+ +----+| || MP | | MP || | | MP | | || MP | | MP || |+----+ +----+| | +----+ | |+----+ +----+| +-------------+ +-----------+ +-------------+ +----+ --- = Data Flow | MP | = Monitoring +----+ Probe *** = other Signaling Messages Figure 1: Schematic Metering Architecture In this context two problems need to be solved: o Metering Records need to be transported from the Metering Entities to the Collector. IPFIX is, for example, a suitable protocol for this task. o The Metering Entities need to be configured and coordinated. This document suggests path-coupled signaling for this purpose. Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 5] Internet-Draft M-NSLP Framework March 2007 In a flexible environment, it must be possible to dynamically configure and coordinate Metering Entities rather than hardwiring them. Configuration and coordination include, for example, which entities peform the metering for a particular flow, providing triggers to start or stop metering, distribution of identifiers for the Collector to correlate Metering Records, and so forth. The IPFIX WG has identified the needs for such configurations but has defined the work currently as "out of the scope" [RFC3917]. The configuration can be performed, for example, using RADIUS ([RFC2138]) or DIAMETER ([RFC3588]). The PSAMP (Packet Sampling) WG is also currently developing a MIB module for configuring packet sampling ([I-D.ietf-psamp-mib]). Nevertheless, all these alternatives allow only the configuration of single Metering Entities, and assume that the location of the Metering Entities to be configured is known in advance. Dynamic discovery, configuration and coordination of distributed Metering Entities is not supported. Since the most appropriate Metering Entities for metering a specific flow are located along the path of the flow itself, a path-coupled signaling protocol for distributing the configuration information seems useful. 4. Scenarios This section describes two different scenarios for the usage of path- coupled configuration of Metering Entities: accounting and QoS monitoring. 4.1. Accounting 4.1.1. Scenario Description Flexible usage-based charging is mainly a problem in 3G mobile telecommunication networks. With the advent of IP in these networks and with 3GPP's All-IP perspective, there is also an increasing need for IP technology to provide such functionality. When starting an application session, for example, a video streaming, usually there are several potential Metering Entities on the data path, for example, the application server, the WLAN access point, the ingress nodes of several transit networks or any router on the path with metering functionality. These Metering Entities have different capabilities. For example, routers along the path might be able to account packets and packets sizes while the WLAN access point is able to report the usage of the wireless link and whether the end host is roaming. If content-based accounting is also required, the most appropriate Metering Entity to perform this task will be the Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 6] Internet-Draft M-NSLP Framework March 2007 Application Server. An example of such a scenario is illustrated in Figure 2 where a data receiver expects data from a data sender via two routers Router 1 and Router 2. The application server (i.e., data sender) may or may not (as in Figure 2) belong to the administrative domain. +-------------------------+ Data Receiver | Router 1 Router 2 | Data Sender +-----------+ | +-----+ +-----+ | +-----------+ | |<-----| |<----| |<----------|Application| |Application| | |+---+| |+---+| | | +---+ | | | | ||ME ||<===>||ME ||<=========>| |ME | | +-----------+ | |+---+| |+---+| | | +---+ | | +-----+ +-----+ | +-----------+ | Administrative Domain | +-------------------------+ +---+ |ME | = Metering === = Signaling --- = Data Flow +---+ Entity Messages Figure 2: Signaling to configure metering for accounting As a prerequisite to charging, one or more Metering Entities collect Metering Records independently for the same session. Existing accounting concepts handle multiple Metering Entities by statically configuring them [3GPP.32.260],[3GPP.32.251]. Some of those Metering Entities always generate Metering Records, which will may be discarded later. For example, in the case of a pure content charging scheme, only the Metering Entity at the Data Sender (Application Server) needs to perform metering. All other Metering Entities do not need to perform any metering since their Metering Records will be discarded anyway. Therefore, a flexible mechanism is required to distribute this information to the Metering Entities along the path and to find the appropriate Metering Entity on the path depending on the charging scheme. In the case where a mixed content and access charging should be applied, not only the content accessed but also the data volume is relevant for the metering process. In this case, the Metering Entity at the Data Sender should be configured to account the content accessed, and one of the other Metering Entities along the path, for example, Router 1 or Router 2 must be configured to count bytes. Furthermore, Metering Records need to be correlated at the Collector in order to match them to the same session. In current accounting concepts ([3GPP.32.260]), data correlation is performed by statically Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 7] Internet-Draft M-NSLP Framework March 2007 configuring one of Metering Entities to generate a correlation ID, and by manually configuring a chain of Metering Entities to which this correlation ID is distributed. This is very inflexible and leads to unnecessary overhead. Using a path-coupled configuration protocol, this correlation ID can be distributed at the configuration. When a handover occurs ([3GPP.32.252]) other Metering Entities become involved, for example the new WLAN access point. Metering Records collected by the different Metering Entities needs to be correlated and aggregated. Furthermore, Metering Entities need to know to which Collector they must send their Metering Records. This information can be also be distributed dynamically during the signaling for configuration. 4.1.2. Required Configuration Parameters In a client/server environment the Application Server (for example, a video streaming server) acts as signaling initiator. It sends a configuring request message towards the user terminal. The Metering Entities along the path evaluate this message. Given that the user terminal can not be seen as a trusted network function, the signaling will travel until the last router before the user terminal which might be, for instance, a WLAN access point. This router acts as a signaling responder. The parameters that need to be configured with the configuration request message are the following: Correlation ID This parameter refers to an ID which is unique for each service. It will be used by the Collector to assign different accounting records to the same service. Flow Specification This parameter identifies the data flow(s) that need(s) to be accounted. Here, the flow information from the NTLP can be used. However, several entries SHOULD be possible for this parameter to enable configuring the Metering Entities to perform accounting for several flows (for instance audio and video) using a single configuration message. Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 8] Internet-Draft M-NSLP Framework March 2007 Metered Objects This parameter contains a list of the objects that need to be accounted for the considered data flow. * Flow Properties: These are dynamic properties of the data stream to be metered: + number of observed packets of the flow + number of observed octets of the flow + timestamp of first observation of a packet of the flow. + timestamp of last observation of a packet of the flow. Note that in the timestamps, the absolute time might be required since the tariffs might depend on the time of the day. Besides the metered objects above, the following objects may also need to be recorded and reported to the Collector: * Application events: service invocation, insertion of advertisement and other application events. * Mobility events: horizontal and vertical handovers. * Bearer events: loss of bearer * Access network type * Report if the end host is roaming. * Access network types: so the user can be charged differently depending on the current access technology * Different identities for the end host: e.g. Mobile Subsriber ISDN Number(MSISDN) * IP address of gateways, meters and other network elements Reporting Interval In order to reduce the number of export messages sent to the Collector, it is advantageous not to send accounting data immediately but to wait until the message is filled with a certain amount of data. This parameter indicates the maximum time to wait for more data until an exported data set is sent. Long living flows are reported regularly in interval no longer than specified by this parameter. Flow Expiration Time If no packets are observed for the specified amount of time interval, the flow is considered as expired and it is reported. Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 9] Internet-Draft M-NSLP Framework March 2007 Collector ID This parameter specifies where the accounting records need to be sent to. Reporting Protocol This parameter specifies which protocol to use to report the accounting data, for example, IPFIX, Diameter, Netflow5 or Netflow9. Selection of Metering Entities This parameter determines how the Metering Entities that should perform the accounting of the considered data flow are selected. For the accounting scenario, possible options for this parameter are: * ANY: any Metering Entity on the path that is capable of performing accounting with the requested objects in the parameter "Metered Objects" should do it. In the extreme case, this could be the signaling initiator itself. * Enterprise-specific: Enterprises may wish to define their own methods to decide which Metering Entities should perform the metering. In this case, the parameter "Selection of Metering Entities" needs to be combined with an enterprise-specific identifier. (See also http://www.iana.org/assignments/enterprise-numbers) 4.2. QoS Monitoring 4.2.1. Scenario Description For a network user, it may be interesting at any time to check the QoS for a certain service. The service of interest can be coarse grained, for example, the QoS parameters provided by the link to the edge router (access point) or fine grained, for example, the QoS provided to a UDP data stream received from a video server. In any case, the first step of analysis that the user can perform is measuring the rates of sent and received traffic (including a consideration of re-transmissions). In such cases, local measurement is not sufficient. A next step of analysis would be QoS measurement along the data path of the service of interest. A measurement of packet bit rate, packet loss, jitter and other QoS parameters at several points of the data path could identify the cause of unsatisfactory QoS and locate where it is caused. Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 10] Internet-Draft M-NSLP Framework March 2007 A similar, probably more important scenario is an ISP that detects that the QoS it provides to a customer does not match the service level agreement for this service. Then a measurement at several locations along the data path of the service of interest would be desirable for identifying the cause and location of QoS degradation. Both cases described above (and a range of related cases) could be solved by massive deployment of metering technology, for example, by measuring all flows at all routers in the network. Then, in case of a problem (or of a regular check) the information for a certain flow of interest can be retrieved from the huge amount of collected metering data. This approach is oversized, scales badly, and the benefit gained is most likely not worth the investment and the operational costs. Configuring available Metering Entities on the data path appears to be a more appropriate approach. In such a scenario, the requesting party would configure some or all available Metering Entities along the path of a service of interest in order to meter the particular service and report the metered data. Such configuration can be performed in a traditional way by individually, one by one, configuring all Metering Entities. This requires knowledge about the path taken by the service of interest, knowledge about the available Metering Entities on this path and a communication with each of them using an agreed (preferably standardized) protocol. The approach suggested by this document simplifies this task. By using path-coupled configuration of traffic measurement, a requesting party that is located on the path of interest does just need to send a single configuration request along the path in order to communicate with all available Metering Entities on this particular path. Since different measurements are required for different QoS parameters, the request sent along the path may vary. This is illustrated by two example scenarios, one for packet loss metering and one for delay metering. Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 11] Internet-Draft M-NSLP Framework March 2007 +-------------------------------------------------+ | | | Administrative Domain | | | | ingress internal internal egress | | node node 1 node 2 node | +------+ | +-----+ +-----+ +-----+ +-----+ | | host | | | |<====>| |<====>| |<====>| | | | |---->| ME |----->| ME |----->| ME |----->| ME |----> +------+ | +-----+ +-----+ +-----+ +-----+ | | | +-------------------------------------------------+ +---+ |ME | = Metering === = Signaling --- = Data Flow +---+ Entity Messages Figure 3: Signaling to configure metering for QoS monitoring Figure 3 shows a data stream passing a domain. Let's assume that at the ingress node a problem with the data stream is detected and that it wants to initiate traffic measurement for the data stream along the path it takes through the domain. Then the ingress node sends a signaling message along the path in order to configure available Metering Entities. If packet loss in the domain is the target of this investigation, then all available Metering Entities on the path will be requested to participate in the measurement. All will be requested to measure the number of packets observed for the data stream of interest and to report the results to either the requesting ingress node or to another Collector of traffic metering data. Then the collected data can be analyzed in order to identify locations in the domain where packet loss occurs. Note here, that the Metering Entities need to report their positions on the path to the Collector in order to enable correct evaluation of the Metering Records. In a similar way delay can be analyzed. Different to loss metering, delay measurement requires per packet reporting from the Metering Entities. For each observed packet belonging to the data stream of interest, the Metering entity needs to report a hash value of the packet header and a timestamp. In order to reduce the number of reports, reporting can be restricted to a sampled set of packets. Sampling algorithms are defined in [I-D.ietf-psamp-framework]. If hash-based sampling is used, different Metering Entities along the path will sample the same set of packets and report the time-stamped hashvalues of these packet. Then the Collector can correlate the Metering Records received from different Metering Entities and can Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 12] Internet-Draft M-NSLP Framework March 2007 again analyze the sources of delay within the domain. Note here that, as above, the Metering Entities need to report their positions on the path to the Collector. Note also that the sampling algorithm plays a key role in the evaluation of the Metering Records. For example, if probabilistic sampling is deployed, the Collector can not correlate Metering Records from different Metering Entitiy, since they will most probably contains information about unrelated packets. If less detailed metering is required, for example, if loss and delay only needs to be measured for the entire domain (and not hop by hop), then not all Metering Entities need to participate. It is sufficient if just the ingress and the egress node perform metering. Metering at internal nodes is not required. Per-domain packet loss and per- domain delay can be derived from packet counters and time stamped packet hash values metered at ingress and egress nodes. 4.2.2. Required Configuration Parameters Very similar to the accounting scenario in Section 4.1.2, the signaling initiator sends a configuration request message along the data path. The parameters that need to be configured are the following: Correlation ID Similar to the accounting scenario, this is an ID that identifies this measurement. It can be used by the Collector for identifying incoming reports that belong to the same measurement. Flow ID Same as for the accounting scenario Metered Objects The objects to be measured: 1. Flow Properties: same as for the accounting scenario. 2. Packet Properties: + hash value + number of octets + time stamp Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 13] Internet-Draft M-NSLP Framework March 2007 Packet Sampling Algorithm If packet properties need to be reported, this parameter specified which packet sampling to be used. Reporting Interval Same as for the accounting scenario Flow Expiration Time Same as for the accounting scenario Collector ID Same as for the accounting scenario Reporting Protocol Same as for the accounting scenario Selection of Metering Entities This parameter specifies the requirement for Metering Entities along the data path. Among the required values for this parameter are * first: only the first available Metering Entity on the path is requested to perform metering. In the extreme case, this request is served by the signaling initiator itself. * last: only the last available Metering Entity on the path is requested to perform metering. In the extreme case, this request is served by the signaling responder. * all: all available Metering Entities on the path are requested to perform metering. * first and last: only the first and the last available Metering Entities on the path are requested to perform metering. 5. Requirements This section describes the requirements for a path-coupled signaling for the configuration of Metering Entities. We assume existing protocols or other means for transferring Metering Records from the Metering Entities to Collectors. Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 14] Internet-Draft M-NSLP Framework March 2007 5.1. General requirements 5.1.1. Extensibility The metering configuration protocol MUST support an extensible metering model. Depending on the metering scenario, different information must be exchanged between the Metering Entities. The specification of the path-coupled metering configuration protocol SHOULD be extensible to future technologies. Moreover, the metering configuration protocol should bridge between different existing metering solutions, for example, those defined in 3GPP. The communication may be organized using proxies. 5.1.2. Scalability A Metering Entity needs to keep state and perform metering actions for each accepted metering task. Handling high numbers of metering tasks need to be provided by the Metering Entity implementation and is not subject of a signaling protocol. However, the protocol design should provide scalability for state keeping and refresh for a large number of concurrent metering tasks. 5.1.3. Security Security requirement of the path-coupled metering configuration protocol are discussed in Section 7 5.2. Distinguishing flows A primary capability of the metering function is the identification of data packets belonging to different applications or users. The configuration of the Metering Entities should take this parameter into account. During the data flow life-time, statistics describing the properties of this data flow are gathered and exported to a Collector. The metering configuration should be flexible to allow the description of multiple services and associated flows. Flows belonging to one application: the metering configuration should allow the aggregation of Metering Records for streams belonging to a particular application, for example, a multimedia transmission with associated data transfers (web pages). 5.3. Aggregation of Metering Records The metering configuration SHOULD allow the aggregation of Metering Records belonging to the same measurement or to the same applications Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 15] Internet-Draft M-NSLP Framework March 2007 to reduce the data exported to the Collector. 5.4. Transport of Metering Records The protocol for configuring Metering Entities MUST be independent of the protocol used for transferring Metering Records. One possible protocol is IPFIX [I-D.ietf-ipfix-protocol]. The IPFIX information model ([I-D.ietf-ipfix-info]) is very flexible for extensions and, therefore, adequate for this application. 5.5. Location of Metering Entities The Metering Entities are located on the data path, i.e., on the path of the data that should be metered. It is an open issue how the initiator and receiver of the metering configuration signaling are determined. Metering Entities can be located anywhere along the data path, for example, only in a subset of the path, or only at start and end point etc. 5.6. Location of the Collectors The Metering Records need to be transferred to one or eventually several Collectors. The process of discovering which Collector is interested in which Metering Records is out of scope. It is assumed that the signaling initiator learns the location of the Collectors by different means. 5.7. Configuration protocol 5.7.1. Configuration of Metering Entities The protocol MUST be able to configure Metering Entities, for example, to control which information needs to be collected and which entities are allocated which task. Protocol messages need to be interpreted only by Metering Entities. 5.7.2. Selection of Metering Entities The protocol MUST provide functionality to select Metering Entities that become part of a metering process by specifying, for example, their type, position or total number. Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 16] Internet-Draft M-NSLP Framework March 2007 5.7.3. Metering Configuration State installation and removal The protocol MUST be able to install metering state and also to remove it. Furthermore, metering state MUST be soft state in order to cope with rerouting and device failure. 5.7.4. Initiation and maintenance of metering tasks The protocol MUST be able to transport a trigger to start and stop the collection of metering data, a correlation identifier that allows the Collector to correlate Metering Records received from different Metering Entities, and a trigger to send off Metering Records to the Collector. 5.7.5. Reaction to Route Changes The protocol MUST be able to react to rerouting of the packets that are to be metered. Rerouting may imply including new Metering Entities and removing others. This requirement is important especially for the accounting scenario: if routes change unnoticed the user will use the service for free. 5.7.6. Coordination of Metering Entities The protocol MUST be able to configure and coordinate several Metering Entities along the signaling path to gather and report Metering Records belonging to the same session/measurement. 5.7.7. Scoping of configuration The protocol MUST be able to scope messages. For example, the scope could be the domain of an operator. Another important type of scope is up to a particular type of Metering Entity. An example is a scope that terminates a signaling message at the access router in order to hide monitoring or charging configuration data from the user (and also save resources on the air interface). Another example is scoping the signaling, for example, at the responsible UMTS GGSN because it is known that Metering Entities beyond the GGSN are of no interest for this particular metering configuration. 5.7.8. Collection of information on available Metering Entities The protocol MAY support the collection of information on Metering Entities and their capabilities without actually installing any state. Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 17] Internet-Draft M-NSLP Framework March 2007 5.8. Metering across domains Metering configuration SHOULD be possible across administrative domains. There are challenging security aspects in this goal. (See also Section 7) 6. Applicability of the NSIS Architecture According to the NSIS framework [RFC4080], the NSIS protocol suite can support various signaling applications that need to install or manipulate state in NSIS-aware network nodes (NEs) along the path of a data flow. The NSLP messages do not need to run all the way between the data flow endpoints. Rather, the NSIS initiating NE and the NSIS receiving NE can be located anywhere along the data path. The problem of path-coupled signaling to configure Metering Entities seems to be well suited to be solved with an NSIS signaling application, the Metering NSLP. The Metering NSLP can run on top of the NTLP similarly to the QoS NSLP [I-D.ietf-nsis-qos-nslp] and the NAT/Firewall NSLP [I-D.ietf-nsis-nslp-natfw] The Metering NSLP needs to be able to install, modify and remove metering configuration related state. Furthermore, signaling for metering configuration needs the flexibility provided by NSIS to start and end on arbitrary Metering Entities. Any Metering Entity on the data path is able to initiate metering configuration signaling. The selection of signaling initiator and receiver depends on the configuration and on the specific application environment. Finally, a Metering NSLP, similar to QoS NSLP, would be independent of the actual configuration information it carries. Hence, it can be used for any metering application. 7. Security Considerations The process of configuring Metering Entities to start and stop metering and to transmit collected Metering Records to a third party introduces several security challenges. The following security issues need to be considered for the design of the Metering NSLP. 7.1. Authorization Model It MUST be assured that configuration messages for starting, refreshing and stopping a metering configuration are correctly authorized before the configuration is executed. Bogus configuration messages can be used for different kind of attacks. For example, in Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 18] Internet-Draft M-NSLP Framework March 2007 the accounting scenario if a malicious user is able to stop metering of requested services then fraud is possible. Also, it MUST NOT possible to configure Metering Entities in such a way that other users are charged for the usage of a service which they have not used. 7.2. Inter-working between different domains Inter-working between multiple domains causes authorization problems. If the scope of the configuration signaling should go beyond the borders of a single domain, the ISPs need to be authorized to perform metering configuration across other domains and to collect metering and monitoring data. A high degree of trust is required to allow other domains to configure Metering Entities and to collect the metering data of particular users. The above considerations raise the main question whether the Metering NSLP can be used outside a single administrative domain. Ideally, it should have a broader applicability but security, privacy and other operational concerns may limit its applicability for multiple domain traversal (and also end-to-end signaling). 7.3. End User Privacy The collection of metering data about individual flows is a privacy sensitive task. ISPs which intend to deploy the Metering NSLP may need to clarify the legal terms for collecting and processing the Metering Records. 7.4. ISP Privacy This issue is relevant only for the case that the signaling for metering configuration operates across several domains and Metering Records might be delivered to a Collector belonging to a foreign administrative domain. In this case, the Metering Records may reveal sensitive topology information of the ISP network. 7.5. Forged Collector It MUST be assured that the Collector that is specified in a configuration message is eligible to receive the Metering Records. Otherwise several kind of attacks are possible. o As already mentioned in Section 7.3 and Section 7.4 if the Metering Records are received by a bogus Collector, this will reveal customer and/or ISP sensitive information o In the accounting scenario the customer could cause the resource usage data to be sent to a bogus Collector and therefore would be able to use the services for free. Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 19] Internet-Draft M-NSLP Framework March 2007 7.6. Denial-of-Service Attacks on the Collector In any application scenario for the Metering NSLP, it MUST be assured that the Collector is supposed to receive the Metering Records. Otherwise, a DoS attack (via amplification) would be possible if data can be sent to an arbitrary IP address. The adversary needs to send a single metering NSLP message in order to flood a victim with potentially a huge amount of data over a certain, or perhaps uncertain, period of time. 7.7. Denial-of-Service Attacks on Metering Entities Metering Entities can be subject to DoS attacks if a large number of Metering Data have to be collected or large per-flow states are created. 7.8. Verification of the Flow Specification The flow specification within a metering configuration message (which, as mentioned above, may or may not be equal to the Message Routing Information from the NTLP) needs to be verified for integrity. In particular, it MUST be assured that an end host may be able to trigger the collection of metering data by itself about a flow that it created (this depends also on the application scenario) but not for other flows that belong to other users. However, if there is a signaling proxy that initiates the signaling on behalf of other users, different authorization policies need to be deployed. 8. Contributors This document is the result of the effort of a Metering NSLP team. In addition to the individuals listed in the author list, the team includes also Juergen Quittek and Hannes Tschofenig. Furthermore, the authors would like to thank Ralph Kuehne for his input on the description of the accounting scenario and Andreas Pashalidis for his comments. 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [I-D.dressler-nsis-metering-nslp] Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 20] Internet-Draft M-NSLP Framework March 2007 Dressler, F., "NSLP for Metering Configuration Signaling", draft-dressler-nsis-metering-nslp-04 (work in progress), June 2006. [I-D.ietf-nsis-ntlp] Schulzrinne, H. and R. Hancock, "GIST: General Internet Signalling Transport", draft-ietf-nsis-ntlp-12 (work in progress), March 2007. [I-D.ietf-ipfix-protocol] Claise, B., "Specification of the IPFIX Protocol for the Exchange", draft-ietf-ipfix-protocol-24 (work in progress), November 2006. 9.2. Informative References [RFC2138] Rigney, C., Rigney, C., Rubens, A., Simpson, W., and S. Willens, "Remote Authentication Dial In User Service (RADIUS)", RFC 2138, April 1997. [RFC3726] Brunner, M., "Requirements for Signaling Protocols", RFC 3726, April 2004. [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, "Diameter Base Protocol", RFC 3588, September 2003. [RFC3917] Quittek, J., Zseby, T., Claise, B., and S. Zander, "Requirements for IP Flow Information Export (IPFIX)", RFC 3917, October 2004. [RFC4080] Hancock, R., Karagiannis, G., Loughney, J., and S. Van den Bosch, "Next Steps in Signaling (NSIS): Framework", RFC 4080, June 2005. [I-D.ietf-ipfix-info] Quittek, J., "Information Model for IP Flow Information Export", draft-ietf-ipfix-info-15 (work in progress), February 2007. [I-D.ietf-nsis-qos-nslp] Manner, J., "NSLP for Quality-of-Service Signaling", draft-ietf-nsis-qos-nslp-12 (work in progress), October 2006. [I-D.ietf-nsis-nslp-natfw] Stiemerling, M., "NAT/Firewall NSIS Signaling Layer Protocol (NSLP)", draft-ietf-nsis-nslp-natfw-13 (work in progress), October 2006. Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 21] Internet-Draft M-NSLP Framework March 2007 [I-D.ietf-psamp-framework] Duffield, N., "A Framework for Packet Selection and Reporting", draft-ietf-psamp-framework-10 (work in progress), January 2005. [I-D.ietf-psamp-mib] Dietz, T. and B. Claise, "Definitions of Managed Objects for Packet Sampling", draft-ietf-psamp-mib-06 (work in progress), June 2006. [3GPP.32.240] 3GPP, "Telecommunication management; Charging management; Charging architecture and principles", 3GPP TS 32.240 6.0.0. [3GPP.32.260] 3GPP, "Telecommunication management; Charging management; Charging architecture and principles; IP Multimedia Subsystem (IMS) charging", 3GPP TS 3GPP.32.260. [3GPP.32.251] 3GPP, "Telecommunication management; Charging management; Packet Switched (PS) domain charging", 3GPP TS 3GPP.32.251. [3GPP.32.252] 3GPP, "Telecommunication management; Charging management; Wireless Local Area Network (WLAN) charging", 3GPP TS 3GPP.32.252. Authors' Addresses Ali Fessi University of Tuebingen Wilhelm-Schickard-Institute for Computer Science Sand 13 Tuebingen 72072 Germany Phone: +49 7071 29-70576 Email: fessi@informatik.uni-tuebingen.de URI: http://net.informatik.uni-tuebingen.de/ Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 22] Internet-Draft M-NSLP Framework March 2007 Cornelia Kappler Siemens AG Siemensdamm 62 Berlin 13627 Germany Phone: +49 30 386-32894 Email: cornelia.kappler@siemens.com Changpeng Fan Siemens AG Siemensdamm 62 Berlin 13627 Germany Phone: +49 30 386-36361 Email: changpeng.fan@siemens.com Falko Dressler University of Erlangen Department of Computer Science 7 Martensstr. 3 Erlangen 91058 Germany Phone: +49 9131 85-27914 Email: dressler@informatik.uni-erlangen.de URI: http://www7.informatik.uni-erlangen.de/ Andreas Klenk University of Tuebingen Wilhelm-Schickard-Institute for Computer Science Sand 13 Tuebingen 72072 Germany Phone: +49 7071 29-70535 Email: klenk@informatik.uni-tuebingen.de URI: http://net.informatik.uni-tuebingen.de/ Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 23] Internet-Draft M-NSLP Framework March 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Fessi, et al. draft-fessi-nsis-m-nslp-framework-04.txt [Page 24]