From: http://www.ietf.org/internet-drafts/draft-muenz-ipfix-configuration-02.txt Title: Configuration Data Model for IPFIX and PSAMP Reference: IETF Network Working Group, Internet Draft 'draft-muenz-ipfix-configuration-02' Date: June 28, 2007 I-D Tracker: http://ietfreport.isoc.org/idref/draft-muenz-ipfix-configuration/ IP Flow Information Export (IPFIX) Working Group http://www.ietf.org/html.charters/ipfix-charter.html IETF Packet Sampling (PSAMP) Working Group http://www.ietf.org/html.charters/psamp-charter.html Information Model for Packet Sampling Exports http://ietfreport.isoc.org/idref/draft-ietf-psamp-info/ ============================================================================== Network Working Group G. Muenz Internet-Draft University of Tuebingen Expires: December 30, 2007 B. Claise Cisco Systems, Inc. June 28, 2007 Configuration Data Model for IPFIX and PSAMP 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 December 30, 2007. Copyright Notice Copyright (C) The IETF Trust (2007). Abstract This document specifies a data model for the configuration of Metering Processes, Exporting Processes, and Collecting Processes for IPFIX and PSAMP compliant monitoring devices. An implementation of the data model in Extensible Markup Language (XML) is defined using XML Schema language. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 1] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 Table of Contents 1. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. IPFIX Documents Overview . . . . . . . . . . . . . . . . . 4 2.2. PSAMP Documents Overview . . . . . . . . . . . . . . . . . 4 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Structure of the Configuration Data Model . . . . . . . . . . 5 5. Configuration Parameters . . . . . . . . . . . . . . . . . . . 8 5.1. ObservationPoint Class . . . . . . . . . . . . . . . . . . 9 5.2. MeteringProcess Class . . . . . . . . . . . . . . . . . . 10 5.3. SelectionProcess Class . . . . . . . . . . . . . . . . . . 11 5.3.1. Sampler Classes . . . . . . . . . . . . . . . . . . . 12 5.3.2. Filter Classes . . . . . . . . . . . . . . . . . . . . 12 5.4. CacheParameters Class . . . . . . . . . . . . . . . . . . 13 5.4.1. Template Class . . . . . . . . . . . . . . . . . . . . 14 5.5. ExportingProcess Class . . . . . . . . . . . . . . . . . . 14 5.6. Exporter Class . . . . . . . . . . . . . . . . . . . . . . 15 5.6.1. Protocol Parameters Classes . . . . . . . . . . . . . 15 5.6.2. Reporting Class . . . . . . . . . . . . . . . . . . . 16 5.6.3. OptionTemplate Class . . . . . . . . . . . . . . . . . 17 5.7. CollectingProcess Class and Receiver Class . . . . . . . . 17 6. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 7.1. PSAMP Monitoring Device . . . . . . . . . . . . . . . . . 29 7.2. IPFIX Monitoring Device . . . . . . . . . . . . . . . . . 30 7.3. Collector Monitoring Device . . . . . . . . . . . . . . . 33 8. Security Considerations . . . . . . . . . . . . . . . . . . . 33 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 34 9.1. Normative References . . . . . . . . . . . . . . . . . . . 34 9.2. Informative References . . . . . . . . . . . . . . . . . . 34 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 35 Intellectual Property and Copyright Statements . . . . . . . . . . 37 Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 2] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 1. Open Issues General issues: o Find a consensus of common configuration parameters. o Shall we recommend the usage of Netconf protocol, which provides mechanisms for communicating device capabilities, error messages etc.? Specific issues: o Treat observationPointId, meteringProcessId, exportingProcessId, selectorId, selectionSequenceId (all unsigned32) of the IPFIX information model as configurable parameters or identifiers? * Observation Points and Metering Processes do not have identifiers in the configuration data model, but observationPointId and meteringProcessId could be configuration parameters. * exportingProcessId could replace the identifier of the ExportingProcess class in the configuration data model. * selectorId could become a configuration parameter of the selection methods specified within the SelectionProcess class. selectionSequenceId could be a configuration parameter of the SelectionProcess class or replace the identifier of the SelectionProcess class. Yet, the configuration data model allows deploying the same Selection Process at different Observation Points, and in this case, the identifiers would always be the same. o Which are the common SCTP specific export parameters? 2. Introduction IPFIX and PSAMP compliant monitoring devices (routers, switches, monitoring probes, mediators, collectors etc.) offer various configuration possibilities that allow adapting network monitoring to the goals and purposes of the application, e.g. accounting and charging, traffic analysis, performance monitoring, security monitoring etc. The use of a common device-independent configuration data model for IPFIX and PSAMP compliant monitoring devices facilitates network management and configuration, especially if monitoring devices of different implementers and/or manufacturers are deployed simultaneously. The purpose of this document is the specification of such a device-independent configuration data model that covers the commonly available configuration parameters of Metering Processes, Exporting Processes, and Collecting Processes. The specified data model is implemented in Extensible Markup Language (XML) [W3C.REC-xml-20040204], which allows extending it easily with additional device-specific parameters. Furthermore, optional Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 3] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 parameters as well as parameters not supported by a particular monitoring device implementation can be simply omitted. Any restrictions and extensions of the configuration data model should be known to the network management system in order to avoid sending unsupported configuration data to the monitoring device. Note that the communication of monitoring device capabilities to the network management system is currently out of scope of this document. There are various candidate protocols, like the Network Configuration Protocol (Netconf) [RFC4741] or the Simple Object Access Protocol (SOAP) [W3C.REC-soap12-part1-20070427], that are suitable for transferring XML data from a network management system to a monitoring device. However, the configuration data model specified here is not specific to any of these. 2.1. IPFIX Documents Overview The IPFIX protocol [I-D.ietf-ipfix-protocol] provides network administrators with access to IP flow information. The architecture for the export of measured IP flow information out of an IPFIX exporting process to a collecting process is defined in [I-D.ietf-ipfix-architecture], per the requirements defined in [RFC3917]. This document specifies how IPFIX data records and templates are carried via a number of transport protocols from IPFIX exporting processes to IPFIX collecting process. IPFIX has a formal description of IPFIX information elements, their name, type and additional semantic information, as specified in [I-D.ietf-ipfix-info]. [I-D.ietf-ipfix-mib] specifies the IPFIX Management Information Base. Finally [I-D.ietf-ipfix-as] describes what type of applications can use the IPFIX protocol and how they can use the information provided. It furthermore shows how the IPFIX framework relates to other architectures and frameworks. 2.2. PSAMP Documents Overview The document "A Framework for Packet Selection and Reporting" [I-D.ietf-psamp-framework] describes the PSAMP framework for network elements to select subsets of packets by statistical and other methods, and to export a stream of reports on the selected packets to a collector. The set of packet selection techniques (sampling, filtering, and hashing) supported by PSAMP are described in "Sampling and Filtering Techniques for IP Packet Selection" [I-D.ietf-psamp-sample-tech]. The PSAMP protocol [I-D.ietf-psamp-protocol] specifies the export of packet information from a PSAMP exporting process to a PSAMP collecting process. Like IPFIX, PSAMP has a formal description of its information elements, their name, type and additional semantic information. The PSAMP information model is defined in [I-D.ietf-psamp-info]. Finally Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 4] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 [I-D.ietf-psamp-mib] describes the PSAMP Management Information Base. 3. Terminology This document adopts the terminologies used in [I-D.ietf-ipfix-protocol] and [I-D.ietf-psamp-protocol]. [TODO: copy terminology section] 4. Structure of the Configuration Data Model The IPFIX reference model in [I-D.ietf-ipfix-architecture] specifies the role and function of Metering Processes, Exporting Processes, and Collecting Processes. In [I-D.ietf-psamp-framework], the corresponding information is specified for the PSAMP architecture. IPFIX and PSAMP compliant monitoring device implementations usually maintain the separation of Metering Processes, Exporting Processes, and Collecting Processes (although they do not necessarily implement all of them). Furthermore, they provide various configuration possibilities; some of them are required by the IPFIX protocol [I-D.ietf-ipfix-protocol]. The configuration data model enables the setting of commonly available configuration parameters for Metering Processes, Exporting Processes, and Collecting Processes. In addition, it allows specifying the composition of Metering Processes, Exporting Processes, and Collecting Processes within a monitoring device configuration. The selection of commonly available configuration parameters is based on configuration issues discussed in the IPFIX and PSAMP documents [RFC3917], [I-D.ietf-ipfix-protocol], [I-D.ietf-ipfix-architecture], [I-D.ietf-psamp-framework], and [I-D.ietf-psamp-sample-tech]. Furthermore, the structure and content of the IPFIX MIB module [I-D.ietf-ipfix-mib] and the PSAMP MIB module [I-D.ietf-psamp-mib] were taken into consideration. Consistency between the configuration data model and the IPFIX and PSAMP MIB modules is an intended goal. Therefore, parameters in the configuration data model are named according to corresponding managed objects. In the following, we use Unified Modeling Language (UML) class diagrams to explain the structure of the configuration data model. According to UML, different arrow types are used to distinguish two different types of relationship between UML classes: Aggregation and association. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 5] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 +---+ 0..* +---+ +---+ 0..* +---+ | A |<>------| B | | A |------->| B | +---+ +---+ +---+ +---+ (a) Aggregation (b) Unidirectional association Aggregation means that one class is part of the other, e.g. class B is part of class A in example (a). An association is a reference to an instance of another class. In example (b), class A contains a reference to an instance of class B. The indicated numbers define the multiplicity: "1": one only "0..*": zero or more "1..*": one or more In order to identify a specific instance, a class must be identifiable by an identifier, i.e. class B in example (b) must be identifiable. In the data model, identifiers are string attributes named "id". Figure 1 shows the main classes the configuration data model. The role of the classes can be briefly summarized as follows: o The ObservationPoint class identifies an Observation Point (e.g. interface) of the monitoring device which is used for traffic monitoring. Furthermore, it specifies Metering Processes that process the observed packets. o The MeteringProcess class represents a Metering Process. It refers to an instance of the CacheParameters class. In addition, it may refer to one or multiple instances of the SelectionProcess class that form a Selection Sequence. Only those packets passing the sequence of Selection Processes enter the record cache. o The SelectionProcess class contains the configuration parameters of a Selection Process, i.e. sampling and filtering parameters. If no SelectionProcess is specified, all observed packets are selected. o The CacheParameters class contains configuration parameters of a cache which stores the records in the monitoring device. Configuration parameters of the CacheParameters class specify the record format (Template), expiration parameters, and cache size. In addition, references to one or multiple Exporting Processes can be included. o The ExportingProcess class contains configuration parameters of an Exporting Process. It defines a group of exporters with different roles as well as the export destinations. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 6] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 +------------------+ 0..* +-----------------+ | ObservationPoint |<>------| MeteringProcess | +------------------+ +-----------------+ | | | | | | 0..* | V | +------------------+ | | SelectionProcess | | +------------------+ | | | 1 +------------------+ +-->| CacheParameters | +------------------+ | | | 0..* V +------------------+ | ExportingProcess | +------------------+ Figure 1: Main classes of the configuration data model As can be seen in Figure 1, the MeteringProcess class defines references to instances of the SelectionProcess class and the CacheParameters class. This allows deploying the same Selection Processes and record caches in different Metering Processes. An example is given in Section 7.2. Similarly, the CacheParameters class refers to instances of the ExportingProcess class, which enables using the same Exporting Process for different Metering Processes. One the other hand, the MeteringProcess class is not instantiated, but specified as part of the ObservationPoint class. The CollectingProcess class is depicted in Figure 2. It defines one or multiple receiving ports using the Receiver class. If the monitoring device acts as a concentrator, the collector class defines instances of MeteringProcess similar to the ObservationPoint class. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 7] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 +-------------------+ 1..* +---------------+ | |<>------| Receiver | | CollectingProcess | +---------------+ | | | | 0..* +-----------------+ | |<>------| MeteringProcess | +-------------------+ +-----------------+ | | | | | | 0..* | V | +------------------+ | | SelectionProcess | | +------------------+ | | | 1 +------------------+ +-->| CacheParameters | +------------------+ | | | 0..* V +------------------+ | ExportingProcess | +------------------+ Figure 2: CollectingProcess class Each of the presented classes contains specific configuration parameters which are specified in the next section. The implementation of the configuration data model in XML is specified in XML Schema language in Section 6 and illustrated with examples in Section 7. 5. Configuration Parameters This section specifies the configuration parameters of the configuration data model separately for each class. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 8] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 5.1. ObservationPoint Class +---------------------+ | ObservationPoint | +---------------------+ 1 +--------------------+ | observationDomainId |<>--------| Interface/Linecard | | | +--------------------+ | | | | 0..* +--------------------+ | |<>--------| MeteringProcess | +---------------------+ +--------------------+ +-----------------+ +------------------+ | Interface | | Linecard | +-----------------+ +------------------+ | ifIndex | | entPhysicalIndex | | ifName | | entPhysicalName | +-----------------+ +------------------+ Figure 3: ObservationPoint class The ObservationPoint class identifies an Observation Point of the monitoring device, i.e. an interface or a linecard. The ObservationPoint class may specify the Observation Domain ID if the monitoring device implementation supports this configuration. The configuration parameters to identify an interface or a linecard are as follows: o ifIndex, ifName: Index and name of the interface according to corresponding objects in the IF-MIB. Only one of them must be specified to identify the interface. entPhysicalIndex, entPhysicalName: Index and name of the linecard according to the corresponding objects in the ENTITY-MIB. Only one of them must specified to identify the linecard. The ObservationPoint class may specify one or multiple Metering Processes. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 9] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 5.2. MeteringProcess Class +-----------------+ | MeteringProcess | +-----------------+ 0..* +------------------+ | |------>| SelectionProcess | | | +------------------+ | | | | 1 +------------------+ | |------>| CacheParameters | +-----------------+ +------------------+ Figure 4: MeteringProcess class The MeteringProcess class represents a Metering Process. It refers to one instance of the CacheParameters class that specifies a record cache in the monitoring device. In addition, the MeteringProcess class may refer to one or multiple instances of the SelectionProcess class which specify sampling and filtering methods applied to the packets before entering the record cache. If no SelectionProcess is specified, all observed packets are selected. The MeteringProcess class does not contain any parameters. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 10] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 5.3. SelectionProcess Class +------------------+ | SelectionProcess | +------------------+ 0..* +----------------+ | id |<>------+ SampCountBased | | | +----------------+ | | 0..* +----------------+ | |<>------| SampTimeBased | | | +----------------+ | | 0..* +----------------+ | |<>------| SampRandOutOfN | | | +----------------+ | | 0..* +----------------+ | |<>------| SampUniProb | | | +----------------+ | | 0..* +----------------+ | |<>------| SampNonUniProb | | | +----------------+ | | 0..* +----------------+ | |<>------| SampFlowState | | | +----------------+ | | 0..* +----------------+ | |<>------| FilterMatch | | | +----------------+ | | 0..* +----------------+ | |<>------| FilterHash | +------------------+ +----------------+ Figure 5: SelectionProcess class The SelectionProcess class contains the configuration parameters of a Selection Process. A Selection Process is composed of sampling and/or filtering methods as described in [I-D.ietf-psamp-sample-tech]. The configuration parameters of an individual sampling or filtering method are specified in a corresponding sampler (Samp*) or filter (Filter*) class. The order of the specified sampling and filtering methods corresponds to the sequence in which they are applied. Each instance of the Selection Process class is identified by a unique identifier, which allows deploying it in different Metering Processes, i.e. multiple instances of the MeteringProcess class can refer to it. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 11] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 5.3.1. Sampler Classes +----------------+ +----------------+ +----------------+ + SampCountBased | | SampTimeBased | | SampRandOutOfN | +----------------+ +----------------+ +----------------+ | interval | | interval | | population | | spacing | | spacing | | sample | +----------------+ +----------------+ +----------------+ +----------------+ +----------------+ +----------------+ | SampUniProb | | SampNonUniProb | | SampFlowState | +----------------+ +----------------+ +----------------+ | probability | | function | | func | | | | funcParam | | funcParam | +----------------+ +----------------+ +----------------+ Figure 6: Sampler classes The names and semantic of the configuration parameters correspond to the managed objects in the PSAMP MIB module [I-D.ietf-psamp-mib]. 5.3.2. Filter Classes +----------------+ +----------------+ +----------------+ | FilterMatch | | FilterHash | | FilterRState | +----------------+ +----------------+ +----------------+ | infoElementId | | addrType | | function | | startValue | | headerBits | | negate | | stopValue | | payloadBytes | | ifIndex | | mask | | payloadBits | | startAS | | | | function | | stopAS | | | | inputBits | | vendorFunc | | | | outputBits | | | | | | outputMask | | | | | | selection | | | +----------------+ +----------------+ +----------------+ Figure 7: Filter classes The names and semantic of the configuration parameters correspond to the managed objects in the PSAMP MIB module [I-D.ietf-psamp-mib]. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 12] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 5.4. CacheParameters Class +-----------------+ | CacheParameters | +-----------------+ 1 +------------------+ | id |<>------| Template | | cacheType | +------------------+ | cacheSize | | activeTimeout | 0..* +------------------+ | idleTimeout |------->| ExportingProcess | +-----------------+ +------------------+ Figure 8: CacheParameters class The CacheParameters class contains the configuration parameters of a record cache. Each instance of the CacheParameters class is identified by a unique identifier, which allows deploying it in different Metering Processes, i.e. multiple instances of the MeteringProcess class can refer to it. The configuration parameters of the CacheParameters class are as follows: o cacheType: "normal", "immediate", or "permanent". [DISCUSS: Just adopt Cisco CLI names? Use empty tags instead of string element?] o cacheSize: Maximum number of records in the cache. o activeTimeout: Timeout after which an active Flow is timed out anyway, even if there is still a continuous flow of packets. o idleTimeout: A Flow is considered to be timed out if no packets belonging to the Flow have been observed for the amount of time specified by this parameter. The CacheParameters class contains an instance of the Template class which specifies the record format. Furthermore, it may refer to one or multiple instances of the ExportingProcess class, specifying the exporter groups which export the expired records. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 13] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 5.4.1. Template Class +------------+ | Template | +------------+ 0..* +------------------+ | templateId |<>------| FlowKeyField | | | +------------------+ | | | ieId | | | | ieName | | | | length | | | | enterpriseNumber | | | +------------------+ | | | | 0..* +------------------+ | |<>------| NonFlowKeyField | | | +------------------+ | | | ieId | | | | ieName | | | | length | | | | enterpriseNumber | +------------+ +------------------+ Figure 9: Template class The Template class specifies the Flow Key fields and non-Flow Key fields of a Template using instances of the FlowKeyField class and the NonFlowKeyField class respectively. The configuration parameters of the Template class, the FlowKeyField class, and the NonFlowKeyField class are as follows: o templateId: Template ID, will be assigned automatically by the monitoring device if this parameter is omitted. o ieId, ieName, length, enterpriseNumber: Identifier, name, length, and enterprise number of an Information Element. At least, ieId or IeName must be specified. If length is not specified, the default length for the Information Element is used. enterpriseNumber must only be inserted for enterprise-specific Information Elements. 5.5. ExportingProcess Class +------------------+ | ExportingProcess | +------------------+ 0..* +----------------+ | id |<>------| Exporter | +------------------+ +----------------+ Figure 10: ExportingProcess class Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 14] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 The ExportingProcess class specifies a group of exporters using the Exporter class. Each instance of the ExportingProcess class is identified by a unique identifier, which allows referring to the same instances in different instances of the CacheParameters class. 5.6. Exporter Class +----------------+ | Exporter | +----------------+ 1 +--------------+ | type |<>------| Sctp/Udp/Tcp | | | +--------------+ | | 0..* +--------------+ | |<>------| Reporting | | | +--------------+ | | 0..* +--------------+ | |<>------| Destination | +----------------+ +--------------+ Figure 11: Exporter class The Exporter class specifies an exporter in an Exporting Process. It contains configuration parameters that are specific to the transport protocol used (SCTP, UDP, or TCP). Furthermore, it includes destinations where the data are exported to, using the Destination class. Optionally, the Exporter class specifies the export of reporting information with Option Templates, using the Reporting class. The type parameter specifies the role of the exporter within the exporter group (primary, secondary, or load balancing) and corresponds to the ipfixTransportSessionGroupMemberType object in [I-D.ietf-ipfix-mib]. 5.6.1. Protocol Parameters Classes +-------------+ +------------------------------+ +-----------+ | SctpParams | | UdpParams | | TcpParams | +-------------+ +------------------------------+ +-----------+ | reliability | | sourceAddress | | | +-------------+ | templateRefreshTimeout | +-----------+ | templateRefreshPacket | | optionTemplateRefreshTimeout | | optionTemplateRefreshPacket | +------------------------------+ Figure 12: Protocol parameters classes The configuration parameters of the protocol parameters classes are: Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 15] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 o addressType, address, port: Address type, address, and port number of the export destination. o reliability: Reliability level when using SCTP as transport protocol. o sourceAddress: Source address when using UDP as transport protocol. If this parameter is omitted, the address assigned to the outgoing interface is used. o templateRefreshTimeout, templateRefreshPacket, optionTemplateRefreshTimeout, optionTemplateRefreshPacket: Template refresh parameters when using UDP as transport protocol. 5.6.2. Reporting Class +-----------+ | Reporting | +-----------+ 0..1 +----------------+ | type |<>------| OptionTemplate | | timeout | +----------------+ +-----------+ Figure 13: Reporting class The Reporting class defines the type of reporting information (statistics, flow keys, etc.) and the reporting interval (timeout). Optionally, the Option Template can be specified, using the OptionTemplate class. If no Option Template is specified, the Exporter chooses a template definition automatically according to the available information. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 16] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 5.6.3. OptionTemplate Class +----------------+ | OptionTemplate | +----------------+ 0..* +------------------+ | templateId |<>------| ScopeField | | | +------------------+ | | | ieId | | | | ieName | | | | length | | | | enterpriseNumber | | | +------------------+ | | | | 0..* +------------------+ | |<>------| NonScopeField | | | +------------------+ | | | ieId | | | | ieName | | | | length | | | | enterpriseNumber | +----------------+ +------------------+ Figure 14: OptionTemplate class The Option Template class specifies the scope fields and non-scope fields of an Option Template using instances of the ScopeField class and the NonScopeField class respectively. The configuration parameters are the same as for the Template, FlowKeyField, and NonFlowKeyField classes (see Section 5.4.1). 5.7. CollectingProcess Class and Receiver Class Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 17] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 +---------------------+ | CollectingProcess | +---------------------+ | | 1..* +-------------------------+ | |<>--------| Receiver | | | +-------------------------+ | | | addressType | | | | address | | | | protocol | | | | port | | | | defaultTemplateLifetime | | | +-------------------------+ | | | | 0..* +-----------------+ | |<>--------| MeteringProcess | +---------------------+ +-----------------+ Figure 15: CollectingProcess class and Receiver Class The CollectingProcess class contains one or multiple instances of the Receiver class. Each instance of the Receiver class configures a port on the monitoring device to receive data exported by other monitoring devices using the IPFIX Protocol and/or PSAMP Protocol. The CollectingProcess class and the Receiver class contain the following parameters: o addressType, address, protocol, port: Address type, address, transport protocol and port number of the receiving port. o defaultTemplateLifetime: Default template lifetime if UDP is used as transport protocol, ignored otherwise. If the monitoring device is a concentrator, the CollectingProcess class specifies one or multiple MeteringProcess instances. 6. XML Schema XML Schema of the configuration data model is specified as follows: Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 18] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 IPFIX/PSAMP Configuration Data Model Version 2.0 Changes in version 2.0: - new structure without next pointers - packet reporting and flow metering replaced by record cache - added reporting with options This type is used to specify an Information Element in filters and templates. - Instead of ieId, ieName can be used as specified ipfix-info. - If length is omitted, the default length is used. This type is used to specify a reference to a Selection Process, record cache, or Exporting Process identified by the id attribute. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 19] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 This type is used for defaultTemplateLifetime, activeTimeout idleTimeout, templateRefreshTimemout, and optionTemplateRefreshTimeout. This type identifies an Observation Point. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 20] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 This type is used to specify a Metering Process. There must be at least a reference to a record cache. If specified, Selection Processes are applied in the order of their appearance. If no Selection Processes are specified, all observed packets are selected. This type is used to specify a Selection Process. If more than one selection method are specified, they are applied in the order of their appearance. See PSAMP-MIB for details about the selection methods and their parameters. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 21] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 The given value must be divided by 4294967295 Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 22] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 23] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 This type specifies the parameters of a record cache. At least, a Template must be specified. Cache types: - normal: flow expiration after active and idle timeout - immediate: expiration after the first packet (PSAMP export) - permanent: flows never expire, periodical export after active timeout This type is used to specify a Template. If templateId is omitted, the Template ID is assigned by the monitoring device. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 24] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 This type specifies the parameters of an Exporting Process. Exporter types according to IPFIX-MIB. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 25] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 This type comprises UDP specific exporter parameters. There are no TCP specific export parameters. This type comprises SCTP specific exporter parameters. [TODO: which are SCTP specific parameters?] Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 26] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 This type is used to activate reporting using option data. The type determines the reported information. The timeout specifies the time interval for exporting the reporting information. The specification of the Option Template is optional. If no Option Template is defined, the Exporter chooses a template definition according to the available information. Types of reported information using option data. This type is used to specify an Option Template. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 27] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 This type contains IP address and port number of an export destination. The protocol is specified in the exporter This type comprises the parameter of a Collecting Process. This type contains IP address, transport protocol, and port number of an IPFIX collector. defaultTemplateLifetime is only used for UDP. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 28] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 Root element of the IPFIX/PSAMP configuration data model 7. Examples This section shows example configurations conforming to the XML Schema specified in Section 6. 7.1. PSAMP Monitoring Device 12345 3 4 17 17 Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 29] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 100 10 immediate 512 primary partially-reliable 4 192.0.2.1 4739 7.2. IPFIX Monitoring Device 12345 Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 30] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 eth0 12346 eth1 1 99 normal 4096 5 10 primary fully-reliable metering-statistics 5 selection-sequence 5 4 192.0.2.1 4739 secondary 127.0.0.1 60 60 4 192.0.2.2 4739 Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 32] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 7.3. Collector Monitoring Device 4 192.0.2.1 132 4739 8. Security Considerations The XML Schema has been conceived to enable its usage with different device implementations. In order to keep the XML Schema simple and flexible, no precautions have been made to ensure that only complete and meaningful configurations can be specified. For example, most of the elements are declared optional. Furthermore, the necessary communication of device capabilities to the network management system and the corresponding limitations and adaptations of the configuration data model are not specified in this document. Hence, the XML Schema does not ensure that conforming XML documents describe configurations that are both complete and supported by a given device. Users should make sure that configuration data is validated and checked against the capabilities of the device before configuring it. If configuration data is incomplete, invalid or unsupported, it must be rejected by the device and the previous configuration should remain active. In addition, an error message should be returned specifying the reason for the error of any failed configuration attempt. 9. References Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 33] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 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.ietf-ipfix-protocol] Claise, B., "Specification of the IPFIX Protocol for the Exchange", draft-ietf-ipfix-protocol-24 (work in progress), November 2006. [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-psamp-protocol] Claise, B., "Packet Sampling (PSAMP) Protocol Specifications", draft-ietf-psamp-protocol-07 (work in progress), October 2006. [I-D.ietf-psamp-info] Dietz, T., "Information Model for Packet Sampling Exports", draft-ietf-psamp-info-06 (work in progress), June 2007. 9.2. Informative References [W3C.REC-xml-20040204] Bray, T., Maler, E., Paoli, J., Yergeau, F., and C. Sperberg-McQueen, "Extensible Markup Language (XML) 1.0 (Third Edition)", World Wide Web Consortium FirstEdition REC-xml-20040204, February 2004, . [RFC4741] Enns, R., "NETCONF Configuration Protocol", RFC 4741, December 2006. [W3C.REC-soap12-part1-20070427] Moreau, J., Karmarkar, A., Nielsen, H., Hadley, M., Lafon, Y., Gudgin, M., and N. Mendelsohn, "SOAP Version 1.2 Part 1: Messaging Framework (Second Edition)", World Wide Web Consortium Recommendation REC-soap12-part1-20070427, April 2007, . [I-D.ietf-ipfix-as] Zseby, T., "IPFIX Applicability", draft-ietf-ipfix-as-11 (work in progress), February 2007. Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 34] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 [I-D.ietf-ipfix-architecture] Sadasivan, G., "Architecture for IP Flow Information Export", draft-ietf-ipfix-architecture-12 (work in progress), September 2006. [I-D.ietf-ipfix-mib] Dietz, T., "Definitions of Managed Objects for IP Flow Information Export", draft-ietf-ipfix-mib-00 (work in progress), February 2007. [RFC3917] Quittek, J., Zseby, T., Claise, B., and S. Zander, "Requirements for IP Flow Information Export (IPFIX)", RFC 3917, October 2004. [I-D.dressler-ipfix-aggregation] Dressler, F., "IPFIX Aggregation", draft-dressler-ipfix-aggregation-03 (work in progress), June 2006. [I-D.ietf-psamp-framework] Duffield, N., "A Framework for Packet Selection and Reporting", draft-ietf-psamp-framework-11 (work in progress), May 2007. [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. [I-D.ietf-psamp-sample-tech] Zseby, T., "Sampling and Filtering Techniques for IP Packet Selection", draft-ietf-psamp-sample-tech-10 (work in progress), June 2007. Authors' Addresses Gerhard Muenz University of Tuebingen Computer Networks and Internet Sand 13 Tuebingen D-72076 DE Phone: +49 7071 29-70534 Email: muenz@informatik.uni-tuebingen.de URI: http://net.informatik.uni-tuebingen.de/~muenz Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 35] Internet-Draft IPFIX/PSAMP Configuration Data Model June 2007 Benoit Claise Cisco Systems, Inc. De Kleetlaan 6a b1 Diegem 1831 BE Phone: +32 2 704 5622 Email: bclaise@cisco.com Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 36] Internet-Draft IPFIX/PSAMP Configuration Data Model June 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). Muenz & Claise draft-muenz-ipfix-configuration-02.txt [Page 37]