Internet Draft Tanja Zseby Document: Fraunhofer FOKUS Expires: December 2003 Reinaldo Penno Nortel Networks Nevil Brownlee CAIDA Benoit Claise Cisco Systems June 2003 IPFIX Applicability draft-ietf-ipfix-as-00.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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. Abstract This document describes how various applications can use the IP Flow Information Export (IPFIX) protocol. It furthermore shows how the IPFIX framework relates to other architectures and frameworks. Expires December 2003 [Page 1] IPFIX Applicability June 2003 Table of Contents 1. Introduction................................................3 2. Applications of IPFIX.......................................3 2.1 Accounting..................................................3 2.2 Peering Agreements..........................................4 2.3 Traffic Engineering.........................................4 2.4 Data Warehousing and Mining.................................4 2.5 Network Monitoring..........................................4 2.5.1 Application Monitoring and Profiling.......................5 2.5.2 User Monitoring and Profiling..............................5 2.5.3 QoS Monitoring.............................................5 2.5.4 Measurement of delay variation with IPFIX..................6 2.5.5 Sampling for QoS Monitoring................................6 3. Relation of IPFIX to other frameworks and protocols.........7 3.1 IPFIX and AAA...............................................7 3.1.1 Connecting via an AAA Client...............................7 3.1.2 Connecting via an Application Specific Module (ASM)........7 3.2 IPFIX and RTFM..............................................8 3.2.1 Definition of 'flow'.......................................8 3.2.2 Configuration and Management...............................8 3.2.3 Data Model details.........................................9 3.2.4 Application/transport protocol.............................10 3.3 IPFIX Considerations for Middleboxes........................10 3.3.1 Firewall...................................................11 3.3.2 Network Address Translation................................11 3.3.3 Traffic Conditioners.......................................12 3.3.4 Tunneling..................................................13 3.3.5 VPNs.......................................................13 4. Security Consideration......................................15 5. References..................................................15 Expires December 2003 [Page 2] IPFIX Applicability June 2003 1. Introduction The IPFIX protocol defines how IP Flow information can be exported from routers, measurement probes or other devices. It is intended to provide input for various applications. This document describes how applications can use the IPFIX protocol. Furthermore, the relationship of IPFIX to other frameworks and architectures are described. 2. Applications of IPFIX IPFIX data enables several critical customer applications. This section describes how different applications can use IPFIX. 2.1 Accounting Usage based accounting is one of the major applications for which the IPFIX protocol has been developed. IPFIX data provides fine-grained metering (for example, flow records include details such as IP addresses, packet and byte counts, timestamps, Type of Service (ToS), application ports, etc.) for highly flexible and detailed resource usage accounting. ISPs can use this information to migrate from single fee, flat-rate billing to more flexible charging mechanisms based on time of day, bandwidth usage, application usage, quality of service, etc. Enterprise customers can use this information for departmental chargeback or cost allocation for resource usage. The essential elements needed for this are the number of transferred packets and bytes per flow. IPFIX flow records contain this information together with the flow identification. With this the essential input for usage-based accounting is provided by IPFIX. In order to realize usage-based accounting with IPFIX the flow definition has to be chosen in accordance to the tariff model. A tariff can for instance be based on individual end-to-end streams. Accounting in such a scenario can be realized for instance with a flow definition determined by the quintuple that consists of source address, destination address, protocol and portnumbers. Another example is a class-dependent tariff (e.g. in a DiffServ networks). For this flows could be distinguished just by DiffServ codepoint (DSCP) and source address. IPFIX provides a very flexible definition of flows, so arbitrary flow-based accounting models can be realized without any extensions to the IPFIX protocol. Nevertheless the configuration of flow definitions is out of scope of the IPFIX definition. For accounting purposes, it would be advantageous to have the ability to use IPFIX flow records as accounting input in a AAA infrastructure. AAA servers then could provide the mapping between user and flow information. Security Analysis and Intrusion detection with IPFIX Intrusion detection systems (IDS) monitor and control security incidents. A typical IDS system includes components like sensor, event collector, and management stations. Sensors monitor network and system traffic for attacks and other security- related events. Sensors respond to and notify the administrator about these events as they occur. Event collectors are a middle- tier component responsible for transmitting events from sensors to the console and database. The management component serves the following purposes: _ - visually monitors events (with a console) Expires December 2003 [Page 3] IPFIX Applicability June 2003 _ - collects data from sensors (with one or more event collectors) _ - stores data from sensors (in a database) With IPFIX, events of interest can be reported to the sensor either by the collecting process or directly by the exporting process. It depends on the scenario and the events of interest which solution is better. Getting information directly from the exporting process has the advantage that the sensor gets the information faster. It does not need to wait for collector processing time or until the collector has all relevant data. Getting the information from a collector allows correlating data from different exporting processes (e.g. from different routers) to get a better picture about what is going on in the network. IPFIX can provide useful input data for basic intrusion detection functions (e.g. detecting unusual high loads). IPFIX data provides details on source and destination addresses, along with the start time of flows and application ports. This data can be used to analyze network security and identify attacks. Nevertheless, for some scenarios intrusion detection may require further insight into packet content. In other scenarios, a preprocessing of data already at the measurement device is desirable. IPFIX allows a flexible report definition. Therefore, extensions to the metering process and the IPFIX report format could improve the IPFIX support for intrusion detection systems. Network Planning IPFIX data captured over a long period of time can be used to track and anticipate network growth and plan upgrades to increase the number of routing devices, ports, or higher- bandwidth interfaces. IPFIX data optimizes both strategic network planning (peering, backbone upgrade planning, and routing policy planning) as well as tactical network engineering decisions (upgrading the router or link capacity). This helps to minimize the total cost of network operations while maximizing network performance, capacity, and reliability. 2.2 Peering Agreements IPFIX data enables ISP peering partners to measure the volume and characteristics of traffic exchanged with other ISP peers. 2.3 Traffic Engineering IPIFX data provides traffic engineering details for a set of prefixes. This data can be used in network optimization for load balancing traffic across alternate paths, or for forwarding traffic of a certain set of prefixes on a preferred route. 2.4 Data Warehousing and Mining IPFIX data (or derived information) can be stored for later retrieval and analysis to support proactive marketing and customer service programs. An example of this would be to determine which applications and services are being used by internal and external users and then target them for improved services such as advertising. This is especially useful for ISPs because IPFIX data enables them to create better service packaging. 2.5 Network Monitoring IPFIX data enables extensive near real-time network monitoring capabilities. IPFIX data analysis can be used to display traffic Expires December 2003 [Page 4] IPFIX Applicability June 2003 patterns associated with routing devices and switches on an individual or network wide basis. This can display traffic or application-based views and therefore provide proactive problem detection, efficient troubleshooting, and rapid problem resolution. 2.5.1 Application Monitoring and Profiling IPFIX data enables content and service providers to view detailed, time-based, and application-based usage of a network. This information allows planning and allocation of network and application resources (such as Web server, gaming or multimedia). 2.5.2 User Monitoring and Profiling IPFIX data provides a detailed understanding of customer or end- user usage of network and application resources. This information can then be used to efficiently plan and allocate access, backbone, and application resources, as well as to detect and resolve potential security and policy violations. 2.5.3 QoS Monitoring The performance of QoS monitoring is one target application for using the IPFIX protocol. QoS monitoring is the passive observation of transmission quality for single flows or traffic aggregates in the network. One example of its usefulness is the validation of QoS guarantees in service level agreements (SLAs). Some QoS metrics require the correlation of data from multiple measurement points. For this the clocks of the involved exporting devices need to be synchronized. Furthermore, such measurements would benefit from post-processing functions (e.g. packet ID generation) at the exporter and/or collector. This section describes how the monitoring of different metrics can be performed with IPFIX. The following metrics are considered: round trip time, one-way-delay, loss and delay variation. 2.5.3.1 Measurement of Round-trip-time (RTT) The passive measurement of round-trip-times (RTT) can be performed by using packet pair matching techniques as described in [Brow00]. For the measurements, request/response packet pairs from protocols like DNS, ICMP, SNMP or TCP (syn/syn-ack, data/ack) are utilized to passively observe the RTT [Brow00]. As always for passive measurements this only works if the required traffic of interest is actually present in the network. In order to use this measurement technique, the IPFIX metering process needs to measure both directions. A classification of the protocols mentioned above has to be done. That means parts of the transport header are used for the classification. Since a differentiation of flows in accordance to the transport header is one of the requirements for IPFIX, such classification can be performed without extensions. Nevertheless, the meter needs to recognize request and response packets for the given protocols and therefore needs to look further into the packets. The capability to do this analysis is not part of the IPFIX requirements but can be achieved by optional extensions to the classification process. The exporting device needs to assign a timestamp for the arrival of the packets. The calculation of the RTT can be done directly at the exporter or at the collector. In the first case IPFIX would transfer the calculated RTT to the collector. In the second case IPFIX needs to send the observed packet types and the timestamps to the collector. 2.5.3.2 Measurement of One-way-delay (OWD) Expires December 2003 [Page 5] IPFIX Applicability June 2003 Passive one-way-delay measurements require the collection of data at two measurement points. It is necessary to recognize packets at the second measurement point to correlate packet arrival events from both points. This can be done by capturing packet header and parts of the packet that can be used to recognize the same packet at the subsequent measurement point [MaPZ03]. To reduce the amount of measurement data a unique packet ID can be calculated from the header and part of the content e.g. by using a CRC or hash function [GrDM98, DuGr00, ZsZC01]. Since IPFIX is not targeted at packet capturing these functionalities, do not need to be supported by a standard IPFIX meter. Nevertheless, in some scenarios it might be sufficient to calculate a packet ID under consideration of header fields including datagram ID and maybe sequence numbers (from transport protocols) without looking at parts of the packet content. If packet IDs need to be unique only for a certain time interval or a certain amount of packet ID collisions is tolerable this can be a sufficient solution. The second issue here is the transfer of packet IDs. IPFIX transfers per flow information. Since the flow definition is very flexible, one could define flows that consist only of one packet and with this allow the transfer of per packet information. Nevertheless, this approach would be very inefficient, since flow records also contain further information. A more efficient scheme could be defined by modifying the flow record format and provide templates especially for that purpose. Measurement of Loss Passive loss measurements for single flows can be performed at one measurement point by using sequence numbers that are present in higher layer protocols. This requires the capturing of the sequence numbers of subsequent packets of the observed flow by the IPFIX metering process. An alternative to this is to perform a two-point measurement as described above and just consider packets as lost that do not arrive at the second measurement point in a given maximum time frame. 2.5.4 Measurement of delay variation with IPFIX Delay variation is defined as the difference of one-way-delay values for selected packets [RFC3393]. Therefore, this metric can be calculated by performing passive measurement of one-way- delay for subsequent packets (e.g. of a flow) and then calculating the differences. 2.5.5 Sampling for QoS Monitoring Since QoS monitoring can produce an overwhelming amount of measurement data, methods such as aggregation of results, and sampling would greatly increase the efficiency of the collection and analysis process. Sampling methods can be grouped according to the sampling strategy (systematic, random or stratified) and the trigger that starts a sampling interval (count-based, time- based or packet-content-based) [ClPB93]. Sampling can also be used as a method to dynamically reduce resource consumption if the meter is overloaded. Then the IPFIX meter can switch to a sampling method if too many packets have to be observed. Since the expected estimation error heavily depends on the deployed sampling strategy, the application that receives the data needs to be aware of the sampling scheme and the parameters in use. Therefore, it is important that the IPFIX exporter informs the collector precisely about the used sampling strategy. This is especially important if the metering process dynamically invokes sampling. The configuration and reporting of sampling methods is addressed in the PSAMP group. Expires December 2003 [Page 6] IPFIX Applicability June 2003 3. Relation of IPFIX to other frameworks and protocols 3.1 IPFIX and AAA AAA defines a protocol and architecture for authentication, authorization and accounting for service usage. The DIAMETER protocol is used for AAA communication for network access services (Mobile IP, NASREQ, and ROAMOPS). The AAA architecture [RFC2903] provides a framework for extending the AAA support also for other services. DIAMETER defines the exchange of messages between AAA entities, e.g. between AAA clients at access devices and AAA servers and among AAA servers. It is used also for the transfer of accounting records. Usage-based accounting requires measurement data from the network. IPFIX defines a protocol to export such data from routers, measurement probes and other devices. The provisioning of accounting with IPFIX can be realized without an AAA infrastructure. The collector can directly forward the measurement information to an accounting application. Nevertheless, if an AAA infrastructure is in place, IPFIX can provide the input for the generation of accounting records and several features of the AAA architecture can be used. Features include the mapping of a user ID to the flow information (by using authentication information), the generation of DIAMETER accounting records and the secure exchange of accounting records between domains with DIAMETER. Two possibilities to connect IPFIX and AAA can be distinguished: 3.1.1 Connecting via an AAA Client One possibility to connect IPFIX and AAA is to run an AAA client on the IPFIX collector. This client can generate DIAMETER accounting messages and send them to an AAA server. The mapping of the flow information to a user ID can be done in the AAA server by using data from the authentication process. DIAMETER accounting messages can be sent to the accounting application or to other AAA servers (e.g. in roaming scenarios). +---------+ DIAMETER +---------+ | AAA-S |------------->| AAA-S | +---------+ +---------+ ^ | DIAMETER | | +--+--------+--+ | | AAA-C | | + +--------+ | | | | Collector | +--------------+ ^ | IPFIX | +------------+ | Exporter | +------------+ Figure 2: IPFIX collector connects to AAA server via AAA client 3.1.2 Connecting via an Application Specific Module (ASM) Another possibility is to directly connect the IPFIX collector with the AAA server via an application specific module (ASM). Application specific modules have been proposed by the IRTF AAA architecture research group (AAARCH) in [RFC2903]. They act as an interface between AAA server and service equipment. In this case Expires December 2003 [Page 7] IPFIX Applicability June 2003 the IPFIX collector is part of the ASM. The ASM acts as an interface between the IPFIX protocol and the input interface of the AAA server. The ASM translates the received IPFIX data into an appropriate format for the AAA server. The AAA server then can add information about the user ID and generate a DIAMETER accounting record. This accounting record can be sent to an accounting application or to other AAA servers. +---------+ DIAMETER +---------+ | AAA-S |------------->| AAA-S | +---------+ +---------+ ^ | +------------------+ | ASM | | +------------+ | | | Collector | | +------------------+ ^ | IPFIX | +------------+ | Exporter | +------------+ Figure 3: IPFIX connects to AAA server via ASM 3.2 IPFIX and RTFM This section compares the Real-time Traffic Flow Measurement (RTFM) framework with the IPFIX framework. 3.2.1 Definition of 'flow' RTFM and IPFIX both use the same definition of flow; a flow is a set of packets which share a common set of end-point address attribute values.A flow is therefore completely specified by that set of values, together with an inactivity timeout. A flow is considered to have ended when no packets are seen for at least the inactivity time. RTFM flows are bidirectional, which has given rise to some confusion. At the simplest level, a flow information exporter may achieve this by maintaining two unidirectional flows, one for each direcion. To export bidirectional flow information, e.g. to- and from- packet counts, for a flow from A to B, the exporter has only to search its flow table to find the matching flow from B to A. RTFM, however, takes bi-directionality a stage further, by including in the RTFM architecture [RFC 2722] a fully-detailed algorithm for realtime matching of the two directions of a flow. This was done for two reasons, to reduce the memory required to store each flow (common address attributes for each direction), and to allow for attributes which required fine detail for the two directions, e.g. short-term bit rate distributions [RFC 2724]. ** So far there has been no suggestion that IPFIX should do this. 3.2.2 Configuration and Management The RTFM architecture specifies a complete system for gathering flow information. It defines three entities, - Meters are very similar to IPFIX exporters. Expires December 2003 [Page 8] IPFIX Applicability June 2003 - Meter Readers are very similar to IPFIX collectors. - Managers co-ordinate the activities of meters and meter readers, and download configuration to them. Note that the whole RTFM system is asynchronous, many readers may collector flow data from a meter, and any reader may collect flow data from many meters. Rulesets allow the user to specify which flows are of interest, which are the source and destination ends of each flow, and what level of address granularity is required in the metered flows. For example, one may select all packets from 192.168/16, but build flow information for 192.168/24. RTFM selection is done by testing under masks, and the masks do not have to use consective ones from the left. Non-contiguous masks were considered important for handling some OSI protocols, but the need for that has diminished considerably. The RTFM approach is based on RMON, in that if a user wants to collect flow data for some particular set of flows, this can be achieved by writing a ruleset, i.e. an SRL program [RFC 2723], to specify what flows are of interest, requesting a manager to download that ruleset to a meter, and requesting the manager to have a meter reader collect the flow data at specified intervals. The details of how the manager communicates this information to meters and meter readers is not specified in the architecture. RTFM has a Meter MIB [RFC 2720], which is a standard which can be used to configure a meter, but nothing is said about how to configure a meter reader. The extent to which IPFIX should specify how meters or exporters should be configured is, at this stage, an open question. Clearly a collector needs some way to be sure of what it's collecting, e.g. by receiving 'templates' from the meter. RTFM and IPFIX both leave parts of the system unspecified. For RTFM flow data to be useful one must know the ruleset used to configure the meter, but a user can specify the ruleset. For IPFIX one knows what the data is from the templates, but we have yet to determine whether in-band configuration will be supported. 3.2.3 Data Model details 3.2.3.1 Count in one bucket Within a ruleset, a packet may only be counted on one bucket, i.e. it may only be included in one flow. This means that the meter does not have to keep track of overlapping flows - if such aggregation is required, it must be done after the raw flow data has been read by a meter reader. From time to time one may wish to collect flow data for different levels of aggreation at the same time. RTFM allows a meter to run several rulesets at the same time, and meter readers must specify which rulesets they are collecting data from. The 'count in one bucket' rule, together with the ability to run multiple rulesets, has proved very simple and effective in practice. 3.2.3.2 Counter wrapping Expires December 2003 [Page 9] IPFIX Applicability June 2003 For its packet- and byte-count attributes RTFM uses continuously-incrementing 64-bit counters, which are never reset. This makes asynchronous meter reading easy, any reader simply has to remember its previous reading and compute the difference. The only caveat is that the meter should be read often enough to avoid situations when the counter has cycled more than once between readings. 3.2.3.3 Sampling issues RTFM provides 1 out of N sampling as a configuration option, so that some metering interfaces may only process every Nth packet. The RTFM Arcitecture [RFC 2722] does not discuss the statistical implications of this, merely saying that users will need to satisfy themselves that sampling makes sense in their environment. RTFM makes no provision for flow sampling. Recently there has been a lot of interest in flow sampling schemes which favour the 'most important' flows, perhaps we need to consider this for IPFIX. 3.2.4 Application/transport protocol RTFM has a standards-track Meter MIB [RFC 2720], which can be used both to configure a meter and to read flow data from it. The MIB provides a way to read lists of attributes with a single Object Identifier (called a 'package'), which dramatically reduces the SNMP overhead for flow data collection. NeTraMet, a widely-used open-source RTFM implementation, uses SNMPv2C for configuration and data collection. SNMP, of course, normally uses UDP as its transport protocol. Since RTFM requires a reliable flow data transport system,an RTFM meter reader must time out and resend unanswered SNMP requests. Apart from being clumsy, this can limit the maximum data transfer rate from meter to meter reader. SNMP over TCP would be a better approach, but that is currently an IRTF project. On the other hand, RTFM does not specify an application protocol in its architecture, leaving this as an implementation issue. For example, a team at IBM Research implemented a RTFM meter and meter reader in a single host, with the reader storing the flow data directly into a large database system. Simlarly, many NeTraMet user run the meter and meter reader on the same host system. A need for high flow data rates highlights the need for careful systems design when building a flow data collection system. When data rates are high, and it is not possible to use a high level of aggregation, then it makes sense to have the collectors very close to their exporters. Once the data is safely on a dedicated host machine, large volumes of it can be moved using 'background' techniques such as FTP. The RTFM architecture only specifies a pull model for getting data out of a meter. To implement push mode data transfer would require specification of triggers to indicate when data should be sent for each flow. 3.3 IPFIX Considerations for Middleboxes A Middlebox is a network intermediate device that implements one or more of the middlebox services. Policy based packet filtering (a.k.a. firewall), Network address translation (NAT), Intrusion Expires December 2003 [Page 10] IPFIX Applicability June 2003 detection, Load balancing, Policy based tunneling and IPsec security are all examples of a middlebox function (or service). [MCFW]. For instance, a NAT middlebox is a middlebox implementing NAT service and a firewall middlebox is a middlebox implementing firewall service. It is expected that the exporter in the IPFIX architecture will probably implement some form of middlebox service given its ubiquity today. Since some of these middlebox services might affect flow exportation and how the collector interprets them, there is a need to provide an analysis of these implications in relation to the IPFIX architecture and a set of recommendations. The following sections provide a non-exhaustive analysis of middlebox services, its implications on the IPFIX architecture and a corresponding set of recommendations. 3.3.1 Firewall Firewall is a policy based packet filtering middlebox function, typically used for restricting access to/from specific devices and applications. The policies are often termed Access Control Lists (ACLs)[MCFW]. The firewall middlebox service allows the exporter to explicitly drop packets based on some administrative policy. In this case, the exporter can take one of the following actions that will have a direct impact on the information provided by the collector to the user. * Silently Discard In this case the packet is discarded and no flow information record is sent to the collector. * Discard and export flow In this case the packet is discarded, and the flow information record is sent to the collector. * Discard and export flow with discard notification In this case the packet is discarded, and the flow information record is sent to the collector with an indication that the packet was discarded. 3.3.2 Network Address Translation Network Address Translation is a method by which IP addresses are mapped from one address realm to another, providing transparent routing to end hosts. Transparent routing here refers to modifying end-node addresses en-route and maintaining state for these updates so that when a datagram leaves one realm and enters another, datagrams pertaining to a session are forwarded to the right end-host in either realm [NAT-TERM]. >From an exporter (middlebox) perspective, a NAT is composed of two flows, one from the client to the NAT middlebox and another from the NAT middlebox to the destination. Based on this fact, the exporter has several modes of operation, i.e., it can export the private realm flow, the public realm, or both. This is further constrained by the flavor of NAT implemented, meaning that in order for the exported information to be useful for the collector, sometimes the associated flows on the two realms need to be exported in the same flow record. Although there are many flavors of address translation that lend themselves to different applications, this section will only address the IPFIX architecture implications of traditional NAT, bi- directional NAT and twice NAT. 3.3.2.1 Traditional NAT Expires December 2003 [Page 11] IPFIX Applicability June 2003 Traditional NAT would allow hosts within a private network to transparently access hosts in the external network, in most cases. In a traditional NAT, sessions are unidirectional, outbound from the private network. This is in contrast with bi- directional NAT, which permits sessions in both inbound and outbound directions. A detailed description of traditional NAT may be found in section [NAT-TERM]. If the exporter is providing traditional NAT service and only the private realm flow is exported, only destination based information can be inferred from the collector. The reason for this is twofold. First, the collector will not be able to find the reverse flow (when applicable) associated with a private realm flow record, and second is that in the more general scenario the collector can be connected to several exporters providing NAT service and there might be overlapping private realm addresses between the networks connected to these exporters. In a traditional NAT scenario the exporter SHOULD export private and public realm information in the same flow record or provide the collector with a unique key to associate the two if exported on different flow records. 3.3.2.2 Bi-Directional NAT With a bi-directional NAT, sessions can be initiated from hosts in the public network as well as the private network. Private network addresses are bound to globally unique addresses, statically or dynamically as connections are established in either direction. Detailed description of Bi-Directional may be found in section [NAT- TERM]. 3.3.2.3 Twice NAT Twice NAT is a variation of NAT in that both the source and destination addresses are modified by NAT as a datagram crosses address realms. This is in contrast to Traditional-NAT and Bi- Directional NAT, where only one of the addresses (either source or destination) is translated. Note, there is no such term as 'Once- NAT'. Detailed description of Bi-Directional may be found in section [NAT-TERM]. In the case of twice NAT the exporter MUST export private and public realm information in the same flow record or provide the collector with a unique key to associate the two if exported on different flow records. 3.3.3 Traffic Conditioners A traffic conditioner may contain the following elements: meter, marker, shaper, and dropper. A traffic stream is selected by a classifier, which steers the packets to a logical instance of a traffic conditioner[DIFF-ARCH]. From an IPFIX architecture perspective we are going to address marking, shaping and dropping services. Marking Diffserv packet markers set the DS field of a packet to a particular codepoint, adding the marked packet to a particular DS behavior aggregate. The marker may be configured to mark all packets which are steered to it to a single codepoint, or may be configured to mark a packet to one of a set of codepoints used to select a PHB in a PHB group, according to the state of a Expires December 2003 [Page 12] IPFIX Applicability June 2003 meter. When the marker changes the codepoint in a packet it is said to have "re-marked" the packet [DIFF-ARCH]. From and IPFIX architecture perspective, the exporter can take one of the following actions when it needs to remark a packet. * Unmarked flow The exporter can export the flow before it was remarked. This mode of operation is strongly discouraged. * Remarked flow The exporter can export the flow after it was remarked. * Unmarked and remarked flow. The exporter can export the flow before and after it was remarked or export the flow before it was remarked and an indication of what was the DSCP after it was remarked. 3.3.3.1 Shapers Shapers delay some or all of the packets in a traffic stream in Order to bring the stream into compliance with a traffic profile. A shaper usually has a finite-size buffer, and packets may be discarded if there is not sufficient buffer space to hold the delayed packets. For an IPFIX perspective, since the discard of a packet by a shaper is not voluntary, no indication should be sent to the collector. 3.3.3.2 Droppers Droppers discard some or all of the packets in a traffic stream in order to bring the stream into compliance with a traffic profile. This process is known as "policing" the stream. Note that a dropper can be implemented as a special case of a shaper by setting the shaper buffer size to zero (or a few) packets. In a manner analogous to the middlebox firewall service, middlebox policing services also allow the exporter to explicitly drop packets based on some administrative policy. The three possible export behaviors described for the firewall service when a packet needs to be dropped are also applicable to here, i.e., silent discard, discard and export flow, discard and export flow with discard notification. 3.3.4 Tunneling The exporter can export the flows before and/or after they get tunneled. In the later case the encapsulated flow information might not be available due to confidentiality precautions such as those used by IPsec, or due to the fact the exporter lacks the necessary intelligence to inspect the encapsulated packet. Moreover, depending on where in the network the exporter is located, it might only be able to export flows associated with the tunnel, without visibility into the encapsulated packet. Apart from what was said above, it should also be factored in the fact that flows exported before they get tunneled, will provide information about the private network sites, but not necessarily about the backbone, since the route taken by the packet it's now know at that point in time (and vice-versa). 3.3.5 VPNs Expires December 2003 [Page 13] IPFIX Applicability June 2003 The term "Virtual Private Network" (VPN) refers to the communication between a set of sites, making use of a shared network infrastructure. Multiple sites of a private network may therefore communicate via the public infrastructure, in order to facilitate the operation of the private network. The logical structure of the VPN, such as addressing, topology, connectivity, reachability, and access control, is equivalent to part of or all of a conventional private network using private facilities [RFC2764] [VPN-2547BIS]. There are multiple flavors of VPNs, the one with more relevance to the IPFIX architecture is the PE-based-VPN. A PE-based VPN (or Provider Edge-based Virtual Private Network) is one in which PE devices in the SP network provide the VPN. This allows the existence of the VPN to be hidden from the CE devices, which can operate as if part of a normal customer network. A detailed discussion of VPNs can be found in [PPVPN-FR]. 3.3.5.1 Layer 3 PE-based VPN A layer 3 PE-based VPN is one in which the SP takes part in IP level forwarding based on the customer network's IP address space. In general, the customer network is likely to make use of private and/or non-unique IP addresses. This implies that at least some devices in the provider network needs to understand the IP address space as used in the customer network. Typically this knowledge is limited to the PE device [PPVPN-FR] which is directly attached to the customer. In a layer 3 PE-based VPN the provider will need to participate in some aspects of management and provisioning of the VPNs, such as ensuring that the PE devices are configured to support the correct VPNs. This implies that layer 3 PE-based VPNs are by definition provider provisioned VPNs [PPVPN-FR]. In order to connect the different VPN sites belonging to the same VPN the SP uses a tunneling technique such as MPLS, L2TP or IPsec. These tunnels originate and terminate on PE devices. One of the characteristics of a layer 3 PE-based VPNs is that they offload some aspects of VPN management from the customer network. From an IPFIX architecture perspective, this means that the SP is the one that potentially will be providing the IPFIX service for the VPNs that it provides connectivity. The exporter in Layer 3 PE-based VPN can be located on the customer's network, on the SP's backbone (P Router) or on the edge (PE router). The premise of this discussion is that the exporter is the one providing middlebox services, so in the case of VPNs we assume that the exporter is located in a PE device. Overlapping Address Realms In the case the exporter plays the role of a PE router [VPN- 2547BIS] in a provider provisioned VPN scenario and has VPNs with overlapping private address realms, it can only provide useful non-conflicting information to the provider for intra-VPN traffic if it uses a technique that allows the collector to uniquely identify to which VPN the flow belongs. Several techniques could be used to accomplish this goal. One of these techniques is to include the VPN Global unique identifier [VPN-ID] as one of the keys in the flow record. In the case the exporter supports VPNs with overlapping private address realms, it MUST include the VPN-ID [VPN-ID] in the exported flow record. Expires December 2003 [Page 14] IPFIX Applicability June 2003 3.3.5.2 Layer 2 PE-based VPN [TBD] A layer 2 PE-based VPN is one in which the network is aware of the VPN, but does only layer 2 forwarding and signaling. This implies that the SP provisions and maintains layer 2 connectivity between CE devices [VPN-L2]. Forwarding options include MAC addresses (such as LAN emulation), use of point-to-point link layer connections (FR or ATM), multipoint-to-point (using MPLS multipoint to point LSPs), and point-to-multipoint (e.g., ATM VCCs). For a layer 2 PE-based VPN, the PE device may be a router, LSR, or IP switch. From the CE's perspective, the PE will be operating as a switch. 4. Security Consideration This document describes the usage of IPFIX in various scenarios. The security requirements for the IPFIX target applications are addressed in the IPFIX requirements draft. These requirements must be considered for the specification of the IPFIX protocol. The IPFIX extensions proposed in this document do not induce further security hazards. The second section of this document describes how IPFIX can be used in combination with other frameworks. New security hazards can arise when two individually secure frameworks are combined. For the combination of AAA with IPFIX an ASM or an IPFIX collector can function as transit point for the messages. It has to be ensured that at this point the applied security mechanisms (e.g. encryption of messages) are maintained. 5. References [QuZC03] J. Quittek ,et. Al "Requirements for IP Flow Information Export ", (work in progress) ,Internet Draft, Internet Engineering Task Force, , June 2003 [Wood02] M. Wood ,et al.," Intrusion Detection Message Exchange Requirements",(work in progress), Internet Draft, Internet Engineering Task Force, draft-ietf-idwg-requirements-06, February 2002. [MaPZ03] L. Mark, G. Pohl, T. Zseby, K. Sugauchi: Passive One- way Delay Measurements, (work in progress), Internet Draft , June 2003 [Awdu02] Daniel O. Awduche, et. al.," Overview and Principles of Internet Traffic Engineering", (work in progress), Internet Draft, Internet Engineering Task Force, draft-ietf-tewg- principles-02.txt, May 2002 [Brow00] Nevil Brownlee: Packet Matching for NeTraMet Distributions, http://www2.auckland.ac.nz/net//Internet/rtfm/meetings/47- adelaide/pp-dist/ [RFC3393] C. Demichelis, P. Cimento: IP Packet Delay Variation Metric for IPPM, RFC 3393, November 2002 [RFC2680] G. Almes, S. Kalidindi, M. Zekauskas: A One-way Packet Loss Metric for IPPM, September 1999 [ClPB93] K.C. Claffy, George C Polyzos, Hans-Werner Braun: Application of Sampling Methodologies to Network Traffic Expires December 2003 [Page 15] IPFIX Applicability June 2003 Characterization, Proceedings of ACM SIGCOMM'93, San Francisco, CA, USA, September 13 - 17, 1993 [GrDM98] Ian D. GRAHAM, Stephen F. DONNELLY, Stele MARTIN, Jed MARTENS, John G. CLEARY: Nonintrusive and Accurate Measurement of Unidirectional Delay and Delay Variation on the Internet, INET'98, Geneva, Switzerland, 21-24 July, 1998 [DuGr00] Nick Duffield, Matthias Grossglauser: "Trajectory Sampling for Direct Traffic Observation", Proceedings of ACM SIGCOMM 2000, Stockholm, Sweden, August 28 - September 1, 2000. [RFC2679] G. Almes, S. Kalidindi, M. Zekauskas: A One-way Delay Metric for IPPM, Request for Comments: 2679, September 1999 [ZsZC01] Tanja Zseby, Sebastian Zander, Georg Carle: Evaluation of Building Blocks for Passive One-way-delay Measurements, Proceedings of Passive and Active Measurement Workshop (PAM 2001), Amsterdam, The Netherlands, April 23-24, 2001 [MCFW] Srisuresh, S. et al. "Middlebox Communication Architecture and framework," work in progress. October 2001. [NAT-TERM] Srisuresh, P. and M. Holdrege, "IP Network Address Translator (NAT) Terminology and Considerations", RFC 2663, August 1999. [NAT-TRAD] Srisuresh, P. and K. Egevang, "Traditional IP Network Address Translator (Traditional NAT)", RFC 3022, January 2001. [PPVPN-FR] Callon, R., Suzuki, M., et al. "A Framework for Provider Provisioned Virtual Private Networks ", work in progress, , January 2002. [VPN-L2] Rosen, E., "An Architecture for L2VPNs," Internet-draft , July 2001. [RFC2475] Black, D., Blake, S., Carlson, M., Davies, E., Wang, Z. and W. Weiss, "An Architecture for Differentiated Services", RFC 2475, December 1998. [RFC2903] C. de Laat, G. Gross, L. Gommans, J. Vollbrecht, D. Spence, "Generic AAA Architecture", RFC 2903, August 2000 7. Acknowledgements We would like to thank the following persons for their contribution, discussion on the mailing list and valuable comments: Robert Loewe 8. Author's Addresses Tanja Zseby Fraunhofer Institute for Open Communication Systems(FOKUS) Kaiserin-Augusta-Allee 31 10589 Berlin Germany Phone: +49 30 3463 7153 Email: zseby@fokus.fhg.de Reinaldo Penno Nortel Networks, Inc. 2305 Mission College Boulevard Building SC9-B1240 Santa Clara, CA 95134 Email: rpenno@nortelnetworks.com Nevil Brownlee CAIDA (UCSD/SDSC) 9500 Gilman Drive La Jolla, CA 92093-0505 Expires December 2003 [Page 16] IPFIX Applicability June 2003 Phone : +1 858 534 8338 Email : nevil@caida.org Benoit Claise Cisco Systems De Kleetlaan 6a b1 1831 Diegem Belgium Phone: +32 2 704 5622 Email: bclaise@cisco.com 9. Full Copyright Statement "Copyright (C) The Internet Society (date). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into. Expires December 2003 [Page 17]