Skip to main content

Information Model for Packet Sampling Exports
RFC 5477

Document Type RFC - Proposed Standard (March 2009) Errata
Authors Benoît Claise , Thomas Dietz , Falko Dressler , Georg Carle , Paul Aitken
Last updated 2022-11-30
RFC stream Internet Engineering Task Force (IETF)
Formats
Additional resources Mailing list discussion
IESG Responsible AD Dan Romascanu
Send notices to (None)
RFC 5477
Network Working Group                                           T. Dietz
Request for Comments: 5477                               NEC Europe Ltd.
Category: Standards Track                                      B. Claise
                                                               P. Aitken
                                                     Cisco Systems, Inc.
                                                             F. Dressler
                                        University of Erlangen-Nuremberg
                                                                G. Carle
                                          Technical University of Munich
                                                              March 2009

             Information Model for Packet Sampling Exports

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Dietz, et al.               Standards Track                     [Page 1]
RFC 5477                PSAMP Information Model               March 2009

Abstract

   This memo defines an information model for the Packet SAMPling
   (PSAMP) protocol.  It is used by the PSAMP protocol for encoding
   sampled packet data and information related to the Sampling process.
   As the PSAMP protocol is based on the IP Flow Information eXport
   (IPFIX) protocol, this information model is an extension to the IPFIX
   information model.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  PSAMP Documents Overview . . . . . . . . . . . . . . . . . . .  4
   3.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  4
     3.1.  Conventions Used in This Document  . . . . . . . . . . . .  5
   4.  Relationship between PSAMP and IPFIX . . . . . . . . . . . . .  5
   5.  Properties of a PSAMP Information Element  . . . . . . . . . .  5
   6.  Type Space . . . . . . . . . . . . . . . . . . . . . . . . . .  5
   7.  Overloading Information Elements . . . . . . . . . . . . . . .  6
   8.  The PSAMP Information Elements . . . . . . . . . . . . . . . .  6
     8.1.  Identifiers (301-303)  . . . . . . . . . . . . . . . . . .  7
       8.1.1.  selectionSequenceId  . . . . . . . . . . . . . . . . .  7
       8.1.2.  selectorId . . . . . . . . . . . . . . . . . . . . . .  8
       8.1.3.  informationElementId . . . . . . . . . . . . . . . . .  8
     8.2.  Sampling Configuration (304-311) . . . . . . . . . . . . .  9
       8.2.1.  selectorAlgorithm  . . . . . . . . . . . . . . . . . .  9
       8.2.2.  samplingPacketInterval . . . . . . . . . . . . . . . . 11
       8.2.3.  samplingPacketSpace  . . . . . . . . . . . . . . . . . 11
       8.2.4.  samplingTimeInterval . . . . . . . . . . . . . . . . . 12
       8.2.5.  samplingTimeSpace  . . . . . . . . . . . . . . . . . . 12
       8.2.6.  samplingSize . . . . . . . . . . . . . . . . . . . . . 13
       8.2.7.  samplingPopulation . . . . . . . . . . . . . . . . . . 13
       8.2.8.  samplingProbability  . . . . . . . . . . . . . . . . . 13
     8.3.  Hash Configuration (326-334) . . . . . . . . . . . . . . . 14
       8.3.1.  digestHashValue  . . . . . . . . . . . . . . . . . . . 14
       8.3.2.  hashIPPayloadOffset  . . . . . . . . . . . . . . . . . 15
       8.3.3.  hashIPPayloadSize  . . . . . . . . . . . . . . . . . . 15
       8.3.4.  hashOutputRangeMin . . . . . . . . . . . . . . . . . . 15
       8.3.5.  hashOutputRangeMax . . . . . . . . . . . . . . . . . . 16
       8.3.6.  hashSelectedRangeMin . . . . . . . . . . . . . . . . . 16
       8.3.7.  hashSelectedRangeMax . . . . . . . . . . . . . . . . . 16
       8.3.8.  hashDigestOutput . . . . . . . . . . . . . . . . . . . 17
       8.3.9.  hashInitialiserValue . . . . . . . . . . . . . . . . . 17
     8.4.  Timestamps (322-325) . . . . . . . . . . . . . . . . . . . 18
       8.4.1.  observationTimeSeconds . . . . . . . . . . . . . . . . 18
       8.4.2.  observationTimeMilliseconds  . . . . . . . . . . . . . 18
       8.4.3.  observationTimeMicroseconds  . . . . . . . . . . . . . 19
       8.4.4.  observationTimeNanoseconds . . . . . . . . . . . . . . 19

Dietz, et al.               Standards Track                     [Page 2]
RFC 5477                PSAMP Information Model               March 2009

     8.5.  Packet Data (313-314, 316-317) . . . . . . . . . . . . . . 19
       8.5.1.  ipHeaderPacketSection  . . . . . . . . . . . . . . . . 20
       8.5.2.  ipPayloadPacketSection . . . . . . . . . . . . . . . . 20
       8.5.3.  mplsLabelStackSection  . . . . . . . . . . . . . . . . 21
       8.5.4.  mplsPayloadPacketSection . . . . . . . . . . . . . . . 21
     8.6.  Statistics (318-321, 336-338)  . . . . . . . . . . . . . . 22
       8.6.1.  selectorIdTotalPktsObserved  . . . . . . . . . . . . . 22
       8.6.2.  selectorIdTotalPktsSelected  . . . . . . . . . . . . . 23
       8.6.3.  absoluteError  . . . . . . . . . . . . . . . . . . . . 23
       8.6.4.  relativeError  . . . . . . . . . . . . . . . . . . . . 24
       8.6.5.  upperCILimit . . . . . . . . . . . . . . . . . . . . . 24
       8.6.6.  lowerCILimit . . . . . . . . . . . . . . . . . . . . . 25
       8.6.7.  confidenceLevel  . . . . . . . . . . . . . . . . . . . 26
   9.  Security Considerations  . . . . . . . . . . . . . . . . . . . 26
   10. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 27
     10.1. Related Considerations . . . . . . . . . . . . . . . . . . 27
     10.2. PSAMP-Related Considerations . . . . . . . . . . . . . . . 27
   11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 27
     11.1. Normative References . . . . . . . . . . . . . . . . . . . 27
     11.2. Informative References . . . . . . . . . . . . . . . . . . 28
   Appendix A.  Formal Specification of PSAMP Information Elements  . 29

1.  Introduction

   Packet Sampling techniques are required for various measurement
   scenarios.  The Packet Sampling (PSAMP) protocol provides mechanisms
   for packet selection using different Filtering and Sampling
   techniques.  A standardized way for the export and storage of the
   Information Elements defined in Section 8 is required.  The
   definition of the PSAMP information and data model is based on the
   IPFIX information model [RFC5102].  The PSAMP protocol document
   [RFC5476] specifies how to use the IPFIX protocol in the PSAMP
   context.

   This document examines the IPFIX information model [RFC5102] and
   extends it to meet the PSAMP requirements.  Therefore, the structure
   of this document is strongly based on the IPFIX document.  It
   complements the PSAMP protocol specification by providing an
   appropriate PSAMP information model.  The main part of this document,
   Section 8, defines the list of Information Elements to be transmitted
   by the PSAMP protocol.  Sections 5 and 6 describe the data types and
   Information Element properties used within this document and their
   relationship to the IPFIX information model.

   Although the PSAMP charter specified no requirements for measuring
   packet errors (such as drops, malformed, etc.), and this document
   does not cover such data, if there is need for collecting and
   exporting packet error information, the appropriate Information

Dietz, et al.               Standards Track                     [Page 3]
RFC 5477                PSAMP Information Model               March 2009

   Elements can be requested from IANA, and exported with the PSAMP
   protocol.

   The main body of Section 8 was generated from an XML document.  The
   XML-based specification of the PSAMP Information Elements can be used
   for automatically checking syntactical correctness of the
   specification.  Furthermore it can be used -- in combination with the
   IPFIX information model -- for automated code generation.  The
   resulting code can be used in PSAMP protocol implementations to deal
   with processing PSAMP information elements.

   For that reason, the XML document that served as the source for
   Section 8 is attached to this document in Appendix A.

   Note that although partially generated from the attached XML
   documents, the main body of this document is normative while the
   appendix is informational.

2.  PSAMP Documents Overview

   This document is one out of a series of documents from the PSAMP
   group.

   [RFC5474]: "A Framework for Packet Selection and Reporting" 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.

   [RFC5475]: "Sampling and Filtering Techniques for IP Packet
   Selection" describes the set of packet selection techniques supported
   by PSAMP.

   [RFC5476]: "Packet Sampling (PSAMP) Protocol Specifications"
   specifies the export of packet information from a PSAMP Exporting
   Process to a PSAMP Collecting Process.

   RFC 5477 (this document): "Information Model for Packet Sampling
   Exports" defines an information and data model for PSAMP.

3.  Terminology

   IPFIX-specific terminology used in this document is defined in
   Section 2 of [RFC5101].  PSAMP-specific terminology used in this
   document is defined in Section 3.2 of [RFC5476].  In this document,
   as in [RFC5101] and [RFC5476], the first letter of each IPFIX- and
   PSAMP-specific term is capitalized.

Dietz, et al.               Standards Track                     [Page 4]
RFC 5477                PSAMP Information Model               March 2009

3.1.  Conventions Used in This Document

   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 RFC 2119 [RFC2119].

4.  Relationship between PSAMP and IPFIX

   As described in the PSAMP protocol [RFC5476], a PSAMP Report can be
   seen as a very special IPFIX Data Record.  It represents an IPFIX
   Flow containing only a single packet.  Therefore, the IPFIX
   information model can be used as a basis for PSAMP Reports.

   Nevertheless, there are properties required in PSAMP Reports that
   cannot be modeled using the current IPFIX information model.  This
   document describes extensions to the IPFIX information model that
   allow the modeling of information and data required by PSAMP.

   Some of these extensions allow the export of what may be considered
   sensitive information.  Refer to the Security Considerations section
   for a fuller discussion.

   Note that the export of sampled or filtered PSAMP Reports may not
   need all the Information Elements defined by the IPFIX information
   model [RFC5102], as discussed in Sections 6.2 and 6.3 of the PSAMP
   Framework [RFC5474].

5.  Properties of a PSAMP Information Element

   The PSAMP Information Elements are defined in accordance with
   Sections 2.1 to 2.3 of the IPFIX information model [RFC5102] to which
   reference should be made for more information.  Nevertheless, we
   strongly recommend defining the optional "units" property for every
   Information Element (if applicable).

   The Data Types defined in Section 3.1 of the IPFIX information model
   [RFC5102] are also used for the PSAMP Information Elements.

6.  Type Space

   The PSAMP Information Elements MUST be constructed from the basic
   abstract data types and data type semantics described in Section 3 of
   the IPFIX information model [RFC5102].  To ensure consistency between
   IPFIX and PSAMP, the data types are not repeated in this document.
   The encoding of these data types is described in the IPFIX protocol
   [RFC5101].

Dietz, et al.               Standards Track                     [Page 5]
RFC 5477                PSAMP Information Model               March 2009

7.  Overloading Information Elements

   Information Elements SHOULD NOT be overloaded with multiple meanings
   or re-used for multiple purposes.  Different Information Elements
   SHOULD be allocated for each requirement.

   Although the presence of certain other Information Elements allows
   the selection method to be inferred, a separate Information Element
   is provided for the selectorAlgorithm to include as scope for the
   Selector Report Interpretation [RFC5476].

   Even if the Information Elements are specified with a specific
   selection method (i.e., a specific value of selectorAlgorithm) in
   mind, these Information Elements are not restricted to the selection
   method and MAY be used for different selection methods in the future.

8.  The PSAMP Information Elements

   This section describes the Information Elements used by the PSAMP
   protocol.

   For each Information Element specified in Sections 8.1 - 8.6 below, a
   unique identifier is allocated in accordance with Section 4 of the
   IPFIX information model [RFC5102].  The assignments are controlled by
   IANA as an extension of the IPFIX information model.

   The Information Elements specified by the IPFIX information model
   [RFC5102] are used by the PSAMP protocol where applicable.  To avoid
   inconsistencies between the IPFIX and the PSAMP information and data
   models, only those Information Elements that are not already
   described by the IPFIX information model are defined here.

Dietz, et al.               Standards Track                     [Page 6]
RFC 5477                PSAMP Information Model               March 2009

   Below is the list of additional PSAMP Information Elements:

 +-----+----------------------------+-----+----------------------------+
 |  ID | Name                       |  ID | Name                       |
 +-----+----------------------------+-----+----------------------------+
 | 301 | selectionSequenceId        | 321 | relativeError              |
 | 302 | selectorId                 | 322 | observationTimeSeconds     |
 | 303 | informationElementId       | 323 | observationTimeMilliseconds|
 | 304 | selectorAlgorithm          | 324 | observationTimeMicroseconds|
 | 305 | samplingPacketInterval     | 325 | observationTimeNanoseconds |
 | 306 | samplingPacketSpace        | 326 | digestHashValue            |
 | 307 | samplingTimeInterval       | 327 | hashIPPayloadOffset        |
 | 308 | samplingTimeSpace          | 328 | hashIPPayloadSize          |
 | 309 | samplingSize               | 329 | hashOutputRangeMin         |
 | 310 | samplingPopulation         | 330 | hashOutputRangeMax         |
 | 311 | samplingProbability        | 331 | hashSelectedRangeMin       |
 | 313 | ipHeaderPacketSection      | 332 | hashSelectedRangeMax       |
 | 314 | ipPayloadPacketSection     | 333 | hashDigestOutput           |
 | 316 | mplsLabelStackSection      | 334 | hashInitialiserValue       |
 | 317 | mplsPayloadPacketSection   | 336 | upperCILimit               |
 | 318 | selectorIdTotalPktsObserved| 337 | lowerCILimit               |
 | 319 | selectorIdTotalPktsSelected| 338 | confidenceLevel            |
 | 320 | absoluteError              |     |                            |
 +-----+----------------------------+-----+----------------------------+

8.1.  Identifiers (301-303)

   Information Elements in this section serve as identifiers.  All of
   them have an integral abstract data type and data type semantics
   "identifier".

 +-----+----------------------------+-----+----------------------------+
 |  ID | Name                       |  ID | Name                       |
 +-----+----------------------------+-----+----------------------------+
 | 301 | selectionSequenceId        | 303 | informationElementId       |
 | 302 | selectorId                 |     |                            |
 +-----+----------------------------+-----+----------------------------+

8.1.1.  selectionSequenceId

   Description:

      From all the packets observed at an Observation Point, a subset of
      the packets is selected by a sequence of one or more Selectors.
      The selectionSequenceId is a unique value per Observation Domain,
      specifying the Observation Point and the sequence of Selectors
      through which the packets are selected.

Dietz, et al.               Standards Track                     [Page 7]
RFC 5477                PSAMP Information Model               March 2009

   Abstract Data Type:  unsigned64

   Data Type Semantics:  identifier

   ElementId:  301

   Status:  current

8.1.2.  selectorId

   Description:

      The Selector ID is the unique ID identifying a Primitive Selector.
      Each Primitive Selector must have a unique ID in the Observation
      Domain.

   Abstract Data Type:  unsigned16

   Data Type Semantics:  identifier

   ElementId:  302

   Status:  current

8.1.3.  informationElementId

   Description:

      This Information Element contains the ID of another Information
      Element.

   Abstract Data Type:  unsigned16

   Data Type Semantics:  identifier

   ElementId:  303

   Status:  current

Dietz, et al.               Standards Track                     [Page 8]
RFC 5477                PSAMP Information Model               March 2009

8.2.  Sampling Configuration (304-311)

   Information Elements in this section can be used for describing the
   Sampling configuration of a Selection Process.

 +-----+----------------------------+-----+----------------------------+
 |  ID | Name                       |  ID | Name                       |
 +-----+----------------------------+-----+----------------------------+
 | 304 | selectorAlgorithm          | 308 | samplingTimeSpace          |
 | 305 | samplingPacketInterval     | 309 | samplingSize               |
 | 306 | samplingPacketSpace        | 310 | samplingPopulation         |
 | 307 | samplingTimeInterval       | 311 | samplingProbability        |
 +-----+----------------------------+-----+----------------------------+

8.2.1.  selectorAlgorithm

   Description:

      This Information Element identifies the packet selection methods
      (e.g., Filtering, Sampling) that are applied by the Selection
      Process.

      Most of these methods have parameters.  Further Information
      Elements are needed to fully specify packet selection with these
      methods and all their parameters.

      The methods listed below are defined in [RFC5475].  For their
      parameters, Information Elements are defined in the information
      model document.  The names of these Information Elements are
      listed for each method identifier.

      Further method identifiers may be added to the list below.  It
      might be necessary to define new Information Elements to specify
      their parameters.

      The selectorAlgorithm registry is maintained by IANA.  New
      assignments for the registry will be administered by IANA and are
      subject to Expert Review [RFC5226].

      The registry can be updated when specifications of the new
      method(s) and any new Information Elements are provided.

      The group of experts must double check the selectorAlgorithm
      definitions and Information Elements with already defined
      selectorAlgorithms and Information Elements for completeness,
      accuracy, and redundancy.  Those experts will initially be drawn
      from the Working Group Chairs and document editors of the IPFIX
      and PSAMP Working Groups.

Dietz, et al.               Standards Track                     [Page 9]
RFC 5477                PSAMP Information Model               March 2009

      The following packet selection methods identifiers are defined
      here:

           +----+------------------------+------------------------+
           | ID |        Method          |      Parameters        |
           +----+------------------------+------------------------+
           | 1  | Systematic count-based | samplingPacketInterval |
           |    | Sampling               | samplingPacketSpace    |
           +----+------------------------+------------------------+
           | 2  | Systematic time-based  | samplingTimeInterval   |
           |    | Sampling               | samplingTimeSpace      |
           +----+------------------------+------------------------+
           | 3  | Random n-out-of-N      | samplingSize           |
           |    | Sampling               | samplingPopulation     |
           +----+------------------------+------------------------+
           | 4  | Uniform probabilistic  | samplingProbability    |
           |    | Sampling               |                        |
           +----+------------------------+------------------------+
           | 5  | Property Match         | no agreed parameters   |
           |    | Filtering              |                        |
           +----+------------------------+------------------------+
           |   Hash-based Filtering      | hashInitialiserValue   |
           +----+------------------------+ hashIPPayloadOffset    |
           | 6  | using BOB              | hashIPPayloadSize      |
           +----+------------------------+ hashSelectedRangeMin   |
           | 7  | using IPSX             | hashSelectedRangeMax   |
           +----+------------------------+ hashOutputRangeMin     |
           | 8  | using CRC              | hashOutputRangeMax     |
           +----+------------------------+------------------------+

      There is a broad variety of possible parameters that could be used
      for Property match Filtering (5), but currently there are no
      agreed parameters specified.

   Abstract Data Type:  unsigned16

   Data Type Semantics:  identifier

   ElementId:  304

   Status:  current

Dietz, et al.               Standards Track                    [Page 10]
RFC 5477                PSAMP Information Model               March 2009

8.2.2.  samplingPacketInterval

   Description:

      This Information Element specifies the number of packets that are
      consecutively sampled.  A value of 100 means that 100 consecutive
      packets are sampled.

      For example, this Information Element may be used to describe the
      configuration of a systematic count-based Sampling Selector.

   Abstract Data Type:  unsigned32

   Data Type Semantics:  quantity

   ElementId:  305

   Status:  current

   Units:  packets

8.2.3.  samplingPacketSpace

   Description:

      This Information Element specifies the number of packets between
      two "samplingPacketInterval"s.  A value of 100 means that the next
      interval starts 100 packets (which are not sampled) after the
      current "samplingPacketInterval" is over.

      For example, this Information Element may be used to describe the
      configuration of a systematic count-based Sampling Selector.

   Abstract Data Type:  unsigned32

   Data Type Semantics:  quantity

   ElementId:  306

   Status:  current

   Units:  packets

Dietz, et al.               Standards Track                    [Page 11]
RFC 5477                PSAMP Information Model               March 2009

8.2.4.  samplingTimeInterval

   Description:

      This Information Element specifies the time interval in
      microseconds during which all arriving packets are sampled.

      For example, this Information Element may be used to describe the
      configuration of a systematic time-based Sampling Selector.

   Abstract Data Type:  unsigned32

   Data Type Semantics:  quantity

   ElementId:  307

   Status:  current

   Units:  microseconds

8.2.5.  samplingTimeSpace

   Description:

      This Information Element specifies the time interval in
      microseconds between two "samplingTimeInterval"s.  A value of 100
      means that the next interval starts 100 microseconds (during which
      no packets are sampled) after the current "samplingTimeInterval"
      is over.

      For example, this Information Element may used to describe the
      configuration of a systematic time-based Sampling Selector.

   Abstract Data Type:  unsigned32

   Data Type Semantics:  quantity

   ElementId:  308

   Status:  current

   Units:  microseconds

Dietz, et al.               Standards Track                    [Page 12]
RFC 5477                PSAMP Information Model               March 2009

8.2.6.  samplingSize

   Description:

      This Information Element specifies the number of elements taken
      from the parent Population for random Sampling methods.

      For example, this Information Element may be used to describe the
      configuration of a random n-out-of-N Sampling Selector.

   Abstract Data Type:  unsigned32

   Data Type Semantics:  quantity

   ElementId:  309

   Status:  current

   Units:  packets

8.2.7.  samplingPopulation

   Description:

      This Information Element specifies the number of elements in the
      parent Population for random Sampling methods.

      For example, this Information Element may be used to describe the
      configuration of a random n-out-of-N Sampling Selector.

   Abstract Data Type:  unsigned32

   Data Type Semantics:  quantity

   ElementId:  310

   Status:  current

   Units:  packets

8.2.8.  samplingProbability

   Description:

      This Information Element specifies the probability that a packet
      is sampled, expressed as a value between 0 and 1.  The probability
      is equal for every packet.  A value of 0 means no packet was
      sampled since the probability is 0.

Dietz, et al.               Standards Track                    [Page 13]
RFC 5477                PSAMP Information Model               March 2009

      For example, this Information Element may be used to describe the
      configuration of a uniform probabilistic Sampling Selector.

   Abstract Data Type:  float64

   Data Type Semantics:  quantity

   ElementId:  311

   Status:  current

8.3.  Hash Configuration (326-334)

   The following Information Elements can be used for describing the
   Sampling configuration of a Selection Process.  The individual
   parameters are explained in more detail in Sections 6.2, 3.8, and 7.1
   of [RFC5475].

 +-----+----------------------------+-----+----------------------------+
 |  ID | Name                       |  ID | Name                       |
 +-----+----------------------------+-----+----------------------------+
 | 326 | digestHashValue            | 331 | hashSelectedRangeMin       |
 | 327 | hashIPPayloadOffset        | 332 | hashSelectedRangeMax       |
 | 328 | hashIPPayloadSize          | 333 | hashDigestOutput           |
 | 329 | hashOutputRangeMin         | 334 | hashInitialiserValue       |
 | 330 | hashOutputRangeMax         |     |                            |
 +-----+----------------------------+-----+----------------------------+

8.3.1.  digestHashValue

   Description:

      This Information Element specifies the value from the digest hash
      function.

      See also Sections 6.2, 3.8, and 7.1 of [RFC5475].

   Abstract Data Type:  unsigned64

   Data Type Semantics:  quantity

   ElementId:  326

   Status:  current

Dietz, et al.               Standards Track                    [Page 14]
RFC 5477                PSAMP Information Model               March 2009

8.3.2.  hashIPPayloadOffset

   Description:

      This Information Element specifies the IP payload offset used by a
      Hash-based Selection Selector.

      See also Sections 6.2, 3.8, and 7.1 of [RFC5475].

   Abstract Data Type:  unsigned64

   Data Type Semantics:  quantity

   ElementId:  327

   Status:  current

8.3.3.  hashIPPayloadSize

   Description:

      This Information Element specifies the IP payload size used by a
      Hash-based Selection Selector.

      See also Sections 6.2, 3.8, and 7.1 of [RFC5475].

   Abstract Data Type:  unsigned64

   Data Type Semantics:  quantity

   ElementId:  328

   Status:  current

8.3.4.  hashOutputRangeMin

   Description:

      This Information Element specifies the value for the beginning of
      a hash function's potential output range.

      See also Sections 6.2, 3.8, and 7.1 of [RFC5475].

   Abstract Data Type:  unsigned64

   Data Type Semantics:  quantity

Dietz, et al.               Standards Track                    [Page 15]
RFC 5477                PSAMP Information Model               March 2009

   ElementId:  329

   Status:  current

8.3.5.  hashOutputRangeMax

   Description:

      This Information Element specifies the value for the end of a hash
      function's potential output range.

      See also Sections 6.2, 3.8, and 7.1 of [RFC5475].

   Abstract Data Type:  unsigned64

   Data Type Semantics:  quantity

   ElementId:  330

   Status:  current

8.3.6.  hashSelectedRangeMin

   Description:

      This Information Element specifies the value for the beginning of
      a hash function's selected range.

      See also Sections 6.2, 3.8, and 7.1 of [RFC5475].

   Abstract Data Type:  unsigned64

   Data Type Semantics:  quantity

   ElementId:  331

   Status:  current

8.3.7.  hashSelectedRangeMax

   Description:

      This Information Element specifies the value for the end of a hash
      function's selected range.

      See also Sections 6.2, 3.8, and 7.1 of [RFC5475].

   Abstract Data Type:  unsigned64

Dietz, et al.               Standards Track                    [Page 16]
RFC 5477                PSAMP Information Model               March 2009

   Data Type Semantics:  quantity

   ElementId:  332

   Status:  current

8.3.8.  hashDigestOutput

   Description:

      This Information Element contains a boolean value that is TRUE if
      the output from this hash Selector has been configured to be
      included in the packet report as a packet digest, else FALSE.

      See also Sections 6.2, 3.8, and 7.1 of [RFC5475].

   Abstract Data Type:  boolean

   Data Type Semantics:  quantity

   ElementId:  333

   Status:  current

8.3.9.  hashInitialiserValue

   Description:

      This Information Element specifies the initialiser value to the
      hash function.

      See also Sections 6.2, 3.8, and 7.1 of [RFC5475].

   Abstract Data Type:  unsigned64

   Data Type Semantics:  quantity

   ElementId:  334

   Status:  current

Dietz, et al.               Standards Track                    [Page 17]
RFC 5477                PSAMP Information Model               March 2009

8.4.  Timestamps (322-325)

   The Information Elements listed below contain timestamps.  They can
   be used for reporting the observation time of a single packet.

 +-----+----------------------------+-----+----------------------------+
 |  ID | Name                       |  ID | Name                       |
 +-----+----------------------------+-----+----------------------------+
 | 322 | observationTimeSeconds     | 324 | observationTimeMicroseconds|
 | 323 | observationTimeMilliseconds| 325 | observationTimeNanoseconds |
 +-----+----------------------------+-----+----------------------------+

8.4.1.  observationTimeSeconds

   Description:

      This Information Element specifies the absolute time in seconds of
      an observation.

   Abstract Data Type:  dateTimeSeconds

   Data Type Semantics:  quantity

   ElementId:  322

   Status:  current

   Units:  seconds

8.4.2.  observationTimeMilliseconds

   Description:

      This Information Element specifies the absolute time in
      milliseconds of an observation.

   Abstract Data Type:  dateTimeMilliseconds

   Data Type Semantics:  quantity

   ElementId:  323

   Status:  current

   Units:  milliseconds

Dietz, et al.               Standards Track                    [Page 18]
RFC 5477                PSAMP Information Model               March 2009

8.4.3.  observationTimeMicroseconds

   Description:

      This Information Element specifies the absolute time in
      microseconds of an observation.

   Abstract Data Type:  dateTimeMicroseconds

   Data Type Semantics:  quantity

   ElementId:  324

   Status:  current

   Units:  microseconds

8.4.4.  observationTimeNanoseconds

   Description:

      This Information Element specifies the absolute time in
      nanoseconds of an observation.

   Abstract Data Type:  dateTimeNanoseconds

   Data Type Semantics:  quantity

   ElementId:  325

   Status:  current

   Units:  nanoseconds

8.5.  Packet Data (313-314, 316-317)

   The following Information Elements are all used for reporting raw
   content of a packet.  All Information Elements containing sections of
   the observed packet can also be used in IPFIX [RFC5101].  If the
   values for those sections vary for different packets in a Flow, then
   the Flow Report will contain the value observed in the first packet
   of the Flow.

Dietz, et al.               Standards Track                    [Page 19]
RFC 5477                PSAMP Information Model               March 2009

 +-----+----------------------------+-----+----------------------------+
 |  ID | Name                       |  ID | Name                       |
 +-----+----------------------------+-----+----------------------------+
 | 313 | ipHeaderPacketSection      | 316 | mplsLabelStackSection      |
 | 314 | ipPayloadPacketSection     | 317 | mplsPayloadPacketSection   |
 +-----+----------------------------+-----+----------------------------+

8.5.1.  ipHeaderPacketSection

   Description:

      This Information Element, which may have a variable length,
      carries a series of octets from the start of the IP header of a
      sampled packet.

      With sufficient length, this element also reports octets from the
      IP payload, subject to [RFC2804].  See the Security Considerations
      section.

      The size of the exported section may be constrained due to
      limitations in the IPFIX protocol.

      The data for this field MUST NOT be padded.

   Abstract Data Type:  octetArray

   ElementId:  313

   Status:  current

8.5.2.  ipPayloadPacketSection

   Description:

      This Information Element, which may have a variable length,
      carries a series of octets from the start of the IP payload of a
      sampled packet.

      The IPv4 payload is that part of the packet that follows the IPv4
      header and any options, which [RFC0791] refers to as "data" or
      "data octets".  For example, see the examples in [RFC0791],
      Appendix A.

      The IPv6 payload is the rest of the packet following the 40-octet
      IPv6 header.  Note that any extension headers present are
      considered part of the payload.  See [RFC2460] for the IPv6
      specification.

Dietz, et al.               Standards Track                    [Page 20]
RFC 5477                PSAMP Information Model               March 2009

      The size of the exported section may be constrained due to
      limitations in the IPFIX protocol.

      The data for this field MUST NOT be padded.

   Abstract Data Type:  octetArray

   ElementId:  314

   Status:  current

8.5.3.  mplsLabelStackSection

   Description:

      This Information Element, which may have a variable length,
      carries the first n octets from the MPLS label stack of a sampled
      packet.

      With sufficient length, this element also reports octets from the
      MPLS payload, subject to [RFC2804].  See the Security
      Considerations section.

      See [RFC3031] for the specification of MPLS packets.

      See [RFC3032] for the specification of the MPLS label stack.

      The size of the exported section may be constrained due to
      limitations in the IPFIX protocol.

      The data for this field MUST NOT be padded.

   Abstract Data Type:  octetArray

   ElementId:  316

   Status:  current

8.5.4.  mplsPayloadPacketSection

   Description:

      This Information Element, which may have a variable length,
      carries the first n octets from the MPLS payload of a sampled
      packet, being data that follows immediately after the MPLS label
      stack.

      See [RFC3031] for the specification of MPLS packets.

Dietz, et al.               Standards Track                    [Page 21]
RFC 5477                PSAMP Information Model               March 2009

      See [RFC3032] for the specification of the MPLS label stack.

      The size of the exported section may be constrained due to
      limitations in the IPFIX protocol.

      The data for this field MUST NOT be padded.

   Abstract Data Type:  octetArray

   ElementId:  317

   Status:  current

8.6.  Statistics (318-321, 336-338)

   Information Elements in this section can be used for reporting
   statistics from the Metering Process.

 +-----+----------------------------+-----+----------------------------+
 |  ID | Name                       |  ID | Name                       |
 +-----+----------------------------+-----+----------------------------+
 | 318 | selectorIdTotalPktsObserved| 336 | upperCILimit               |
 | 319 | selectorIdTotalPktsSelected| 337 | lowerCILimit               |
 | 320 | absoluteError              | 338 | confidenceLevel            |
 | 321 | relativeError              |     |                            |
 +-----+----------------------------+-----+----------------------------+

8.6.1.  selectorIdTotalPktsObserved

   Description:

      This Information Element specifies the total number of packets
      observed by a Selector, for a specific value of SelectorId.

      This Information Element should be used in an Options Template
      scoped to the observation to which it refers.  See Section 3.4.2.1
      of the IPFIX protocol document [RFC5101].

   Abstract Data Type:  unsigned64

   Data Type Semantics:  totalCounter

   ElementId:  318

   Status:  current

   Units:  packets

Dietz, et al.               Standards Track                    [Page 22]
RFC 5477                PSAMP Information Model               March 2009

8.6.2.  selectorIdTotalPktsSelected

   Description:

      This Information Element specifies the total number of packets
      selected by a Selector, for a specific value of SelectorId.

      This Information Element should be used in an Options Template
      scoped to the observation to which it refers.  See Section 3.4.2.1
      of the IPFIX protocol document [RFC5101].

   Abstract Data Type:  unsigned64

   Data Type Semantics:  totalCounter

   ElementId:  319

   Status:  current

   Units:  packets

8.6.3.  absoluteError

   Description:

      This Information Element specifies the maximum possible
      measurement error of the reported value for a given Information
      Element.  The absoluteError has the same unit as the Information
      Element with which it is associated.  The real value of the metric
      can differ by absoluteError (positive or negative) from the
      measured value.

      This Information Element provides only the error for measured
      values.  If an Information Element contains an estimated value
      (from Sampling), the confidence boundaries and confidence level
      have to be provided instead, using the upperCILimit, lowerCILimit,
      and confidenceLevel Information Elements.

      This Information Element should be used in an Options Template
      scoped to the observation to which it refers.  See section 3.4.2.1
      of the IPFIX protocol document [RFC5101].

   Abstract Data Type:  float64

   Data Type Semantics:  quantity

   ElementId:  320

Dietz, et al.               Standards Track                    [Page 23]
RFC 5477                PSAMP Information Model               March 2009

   Status:  current

   Units:  The units of the Information Element for which the error is
      specified.

8.6.4.  relativeError

   Description:

      This Information Element specifies the maximum possible positive
      or negative error ratio for the reported value for a given
      Information Element as a percentage of the measured value.  The
      real value of the metric can differ by relativeError percent
      (positive or negative) from the measured value.

      This Information Element provides only the error for measured
      values.  If an Information Element contains an estimated value
      (from Sampling), the confidence boundaries and confidence level
      have to be provided instead, using the upperCILimit, lowerCILimit,
      and confidenceLevel Information Elements.

      This Information Element should be used in an Options Template
      scoped to the observation to which it refers.  See Section 3.4.2.1
      of the IPFIX protocol document [RFC5101].

   Abstract Data Type:  float64

   Data Type Semantics:  quantity

   ElementId:  321

   Status:  current

8.6.5.  upperCILimit

   Description:

      This Information Element specifies the upper limit of a confidence
      interval.  It is used to provide an accuracy statement for an
      estimated value.  The confidence limits define the range in which
      the real value is assumed to be with a certain probability p.
      Confidence limits always need to be associated with a confidence
      level that defines this probability p.  Please note that a
      confidence interval only provides a probability that the real
      value lies within the limits.  That means the real value can lie
      outside the confidence limits.

Dietz, et al.               Standards Track                    [Page 24]
RFC 5477                PSAMP Information Model               March 2009

      The upperCILimit, lowerCILimit, and confidenceLevel Information
      Elements should all be used in an Options Template scoped to the
      observation to which they refer.  See Section 3.4.2.1 of the IPFIX
      protocol document [RFC5101].

      Note that the upperCILimit, lowerCILimit, and confidenceLevel are
      all required to specify confidence, and should be disregarded
      unless all three are specified together.

   Abstract Data Type:  float64

   Data Type Semantics:  quantity

   ElementId:  336

   Status:  current

8.6.6.  lowerCILimit

   Description:

      This Information Element specifies the lower limit of a confidence
      interval.  For further information, see the description of
      upperCILimit.

      The upperCILimit, lowerCILimit, and confidenceLevel Information
      Elements should all be used in an Options Template scoped to the
      observation to which they refer.  See Section 3.4.2.1 of the IPFIX
      protocol document [RFC5101].

      Note that the upperCILimit, lowerCILimit, and confidenceLevel are
      all required to specify confidence, and should be disregarded
      unless all three are specified together.

   Abstract Data Type:  float64

   Data Type Semantics:  quantity

   ElementId:  337

   Status:  current

Dietz, et al.               Standards Track                    [Page 25]
RFC 5477                PSAMP Information Model               March 2009

8.6.7.  confidenceLevel

   Description:

      This Information Element specifies the confidence level.  It is
      used to provide an accuracy statement for estimated values.  The
      confidence level provides the probability p with which the real
      value lies within a given range.  A confidence level always needs
      to be associated with confidence limits that define the range in
      which the real value is assumed to be.

      The upperCILimit, lowerCILimit, and confidenceLevel Information
      Elements should all be used in an Options Template scoped to the
      observation to which they refer.  See Section 3.4.2.1 of the IPFIX
      protocol document [RFC5101].

      Note that the upperCILimit, lowerCILimit, and confidenceLevel are
      all required to specify confidence, and should be disregarded
      unless all three are specified together.

   Abstract Data Type:  float64

   Data Type Semantics:  quantity

   ElementId:  338

   Status:  current

9.  Security Considerations

   The PSAMP information model itself does not directly introduce
   security issues.  Rather, it defines a set of attributes that may for
   privacy or business issues be considered sensitive information.

   For example, exporting values of header fields may make attacks
   possible for the receiver of this information, which would otherwise
   only be possible for direct observers of the reported Flows along the
   data path.  Specifically, the Information Elements pertaining to
   packet sections MUST target no more than the packet header, some
   subsequent bytes of the packet, and encapsulating headers if present.
   Full packet capture of arbitrary packet streams is explicitly out of
   scope, per [RFC2804].

   The underlying protocol used to exchange the information described
   here MUST therefore apply appropriate procedures to guarantee the
   integrity and confidentiality of the exported information.  Such
   procedures are defined in separate documents, specifically the IPFIX
   protocol document [RFC5101].

Dietz, et al.               Standards Track                    [Page 26]
RFC 5477                PSAMP Information Model               March 2009

10.  IANA Considerations

   The PSAMP information model, as set out in this document, has two
   sets of assigned numbers.  Considerations for assigning them are
   discussed in this section, using the example policies as set out in
   the "Guidelines for IANA Considerations" document [RFC5226].

10.1.  Related Considerations

   As the PSAMP protocol uses the IPFIX protocol, refer to the IANA
   Considerations section in [RFC5102] for the assignments of numbers
   used in the protocol and for the numbers used in the information
   model.

10.2.  PSAMP-Related Considerations

   This document specifies an initial set of PSAMP Information Elements
   fulfilling the needs specified in [RFC5475], as an extension to the
   IPFIX Information Elements [RFC5102].

   Note that the PSAMP Information Element IDs were initially started at
   value 301, in order to leave a gap for any ongoing IPFIX work
   requiring new Information Elements.  It is expected that this gap in
   the Information Element numbering will be filled in by IANA with new
   IPFIX Information Elements.

   Each new selection method MUST be assigned a unique value in the
   selectorAlgorithm registry.  Its configuration parameter(s), along
   with the way to report them with an Options Template, MUST be clearly
   specified.  The initial content of the selectorAlgorithm registry is
   found in Section 8.2.1.

   New assignments for the PSAMP selection method will be administered
   by IANA and are subject to Expert Review [RFC5226].  The group of
   experts must double check the Information Elements definitions with
   already defined Information Elements for completeness, accuracy, and
   redundancy.  Those experts will initially be drawn from the Working
   Group Chairs and document editors of the IPFIX and PSAMP Working
   Groups.  The selectorAlgorithm registry is maintained by IANA and can
   be updated as long as specifications of the new method(s) and any new
   Information Elements are provided.

11.  References

11.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

Dietz, et al.               Standards Track                    [Page 27]
RFC 5477                PSAMP Information Model               March 2009

   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 5226,
              May 2008.

   [RFC5101]  Claise, B., "Specification of the IP Flow Information
              Export (IPFIX) Protocol for the Exchange of IP Traffic
              Flow Information", RFC 5101, January 2008.

   [RFC5102]  Quittek, J., Bryant, S., Claise, B., Aitken, P., and J.
              Meyer, "Information Model for IP Flow Information Export",
              RFC 5102, January 2008.

   [RFC5475]  Zseby, T., Molina, M., Duffield, D., Niccolini, S., and F.
              Rapall, "Sampling and Filtering Techniques for IP Packet
              Selection", RFC 5475, March 2009.

   [RFC5476]  Claise, B., Ed., "Packet Sampling (PSAMP) Protocol
              Specifications", RFC 5476, March 2009.

11.2.  Informative References

   [RFC0791]  Postel, J., "Internet Protocol", STD 5, RFC 791,
              September 1981.

   [RFC2460]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
              (IPv6) Specification", RFC 2460, December 1998.

   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
              June 1999.

   [RFC2804]  IAB and IESG, "IETF Policy on Wiretapping", RFC 2804,
              May 2000.

   [RFC3031]  Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
              Label Switching Architecture", RFC 3031, January 2001.

   [RFC3032]  Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
              Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
              Encoding", RFC 3032, January 2001.

   [RFC5474]  Duffield, N., Ed., "A Framework for Packet Selection and
              Reporting", RFC 5474, March 2009.

Dietz, et al.               Standards Track                    [Page 28]
RFC 5477                PSAMP Information Model               March 2009

Appendix A.  Formal Specification of PSAMP Information Elements

   This appendix contains a formal description of the PSAMP information
   model XML document.  Note that this appendix is of informational
   nature, while the text in Section 8 generated from this appendix is
   normative.

   Using a formal and machine-readable syntax for the information model
   enables the creation of PSAMP-aware tools that can automatically
   adapt to extensions to the information model, by simply reading
   updated information model specifications.

   The wide availability of XML-aware tools and libraries for client
   devices is a primary consideration for this choice.  In particular,
   libraries for parsing XML documents are readily available.  Also,
   mechanisms such as the Extensible Stylesheet Language (XSL) allow for
   transforming a source XML document into other documents.  This draft
   was authored in XML and transformed according to [RFC2629].

   It should be noted that the use of XML in Exporters, Collectors, or
   other tools is not mandatory for the deployment of PSAMP.  In
   particular, exporting processes do not produce or consume XML as part
   of their operation.  It is expected that PSAMP Collectors MAY take
   advantage of the machine readability of the information model vs.
   hardcoding their behavior or inventing proprietary means for
   accommodating extensions.

<?xml version="1.0" encoding="UTF-8"?>
<!--
  This XML document is a product of the IETF IPFIX Working Group.
  Contact information:
    WG charter:
      http://www.ietf.org/html.charters/ipfix-charter.html

    Mailing Lists:
      General Discussion: ipfix@ietf.org
      To Subscribe: http://www1.ietf.org/mailman/listinfo/ipfix
      Archive:
        http://www1.ietf.org/mail-archive/web/ipfix/current/index.html

    Editor:
      Thomas Dietz
      NEC Europe Ltd.
      NEC Laboratories Europe
      Network Research Division
      Kurfuersten-Anlage 36
      Heidelberg 69115
      Germany

Dietz, et al.               Standards Track                    [Page 29]
RFC 5477                PSAMP Information Model               March 2009

      Phone: +49 6221 4342-128
      Email: Thomas.Dietz@nw.neclab.eu

      Benoit Claise
      Cisco Systems, Inc.
      De Kleetlaan 6a b1
      Degem  1813
      Belgium
      Phone: +32 2 704 5622
      Email: bclaise@cisco.com

      Paul Aitken
      Cisco Systems, Inc.
      96 Commercial Quay
      Edinburgh  EH6 6LX
      Scotland
      Phone: +44 131 561 3616
      Email: paitken@cisco.com
      URI: http://www.cisco.com

      Falko Dressler
      University of Erlangen-Nuremberg
      Dept. of Computer Sciences
      Martensstr. 3
      Erlangen  91058
      Germany
      Phone: +49 9131 85-27914
      Email: dressler@informatik.uni-erlangen.de
      URI: http://www7.informatik.uni-erlangen.de/~dressler

      Georg Carle
      Technical University of Munich
      Institute for Informatics
      Boltzmannstr. 3
      Garching bei Muenchen  85737
      Germany
      Phone: +49 89 289-18030
      EMail: carle@in.tum.de
      URI: http://www.net.in.tum.de/~carle/

  Abstract:
   This memo defines an information model for the Packet SAMPling
   (PSAMP) protocol.  It is used by the PSAMP protocol for encoding
   sampled packet data and information related to the Sampling process.
   As the PSAMP protocol is based on the IPFIX protocol, this
   information model is an extension to the IPFIX information model.

Dietz, et al.               Standards Track                    [Page 30]
RFC 5477                PSAMP Information Model               March 2009

   Copyright (c) 2009 IETF Trust and the persons identified as
   authors of the code.  All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   - Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   - Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in
     the documentation and/or other materials provided with the
     distribution.

   - Neither the name of Internet Society, IETF or IETF Trust, nor the
     names of specific contributors, may be used to endorse or promote
     products derived from this software without specific prior
     written permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

   This version of the XML document is part of RFC 5477;
   see the RFC itself for full legal notices.
-->
<fieldDefinitions xmlns="urn:ietf:params:xml:ns:ipfix-info"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="urn:ietf:params:xml:ns:ipfix-info
             ipfix-info.xsd">
  <field name="selectionSequenceId" dataType="unsigned64"
    dataTypeSemantics="identifier" elementId="301" status="current"
    group="identifiers">
    <description>
      <paragraph>
        From all the packets observed at an Observation Point, a subset
        of the packets is selected by a sequence of one or more
        Selectors.  The selectionSequenceId is a unique value per
        Observation Domain, specifying the Observation Point and the

Dietz, et al.               Standards Track                    [Page 31]
RFC 5477                PSAMP Information Model               March 2009

        sequence of Selectors through which the packets are selected.
      </paragraph>
    </description>
  </field>

  <field name="selectorId" dataType="unsigned16"
    dataTypeSemantics="identifier" elementId="302" status="current"
    group="identifiers">
    <description>
      <paragraph>
        The Selector ID is the unique ID identifying a Primitive
        Selector.  Each Primitive Selector must have a unique ID in the
        Observation Domain.
      </paragraph>
    </description>
  </field>

  <field name="informationElementId" dataType="unsigned16"
    dataTypeSemantics="identifier" elementId="303" status="current"
    group="identifiers">
    <description>
      <paragraph>
        This Information Element contains the ID of another Information
        Element.
      </paragraph>
    </description>
  </field>

  <field name="selectorAlgorithm" dataType="unsigned16"
    dataTypeSemantics="identifier" elementId="304" status="current"
    group="sampling configuration">
    <description>
      <paragraph>
        This Information Element identifies the packet selection
        methods (e.g., Filtering, Sampling) that are applied by
        the Selection Process.

        Most of these methods have parameters.  Further
        Information Elements are needed to fully specify packet
        selection with these methods and all their parameters.

        The methods listed below are defined in
        [RFC5475].  For their parameters,
        Information Elements are defined in the information model
        document.  The names of these Information Elements are
        listed for each method identifier.

Dietz, et al.               Standards Track                    [Page 32]
RFC 5477                PSAMP Information Model               March 2009

        Further method identifiers may be added to the list
        below.  It might be necessary to define new Information
        Elements to specify their parameters.

        The selectorAlgorithm registry is maintained by IANA.  New
        assignments for the registry will be administered by IANA
        and are subject to Expert Review [RFC5226].

        The registry can be updated when specifications of the new
        method(s) and any new Information Elements are provided.

        The group of experts must double check the selectorAlgorithm
        definitions and Information Elements with already defined
        selectorAlgorithms and Information Elements for completeness,
        accuracy, and redundancy.  Those experts will initially be drawn
        from the Working Group Chairs and document editors of the IPFIX
        and PSAMP Working Groups.

        The following packet selection methods identifiers are
        defined here:

        +----+------------------------+------------------------+
        | ID |        Method          |      Parameters        |
        +----+------------------------+------------------------+
        | 1  | Systematic count-based | samplingPacketInterval |
        |    | Sampling               | samplingPacketSpace    |
        +----+------------------------+------------------------+
        | 2  | Systematic time-based  | samplingTimeInterval   |
        |    | Sampling               | samplingTimeSpace      |
        +----+------------------------+------------------------+
        | 3  | Random n-out-of-N      | samplingSize           |
        |    | Sampling               | samplingPopulation     |
        +----+------------------------+------------------------+
        | 4  | Uniform probabilistic  | samplingProbability    |
        |    | Sampling               |                        |
        +----+------------------------+------------------------+
        | 5  | Property Match         | no agreed parameters   |
        |    | Filtering              |                        |
        +----+------------------------+------------------------+
        |   Hash-based Filtering      | hashInitialiserValue   |
        +----+------------------------+ hashIPPayloadOffset    |
        | 6  | using BOB              | hashIPPayloadSize      |
        +----+------------------------+ hashSelectedRangeMin   |
        | 7  | using IPSX             | hashSelectedRangeMax   |
        +----+------------------------+ hashOutputRangeMin     |
        | 8  | using CRC              | hashOutputRangeMax     |
        +----+------------------------+------------------------+

Dietz, et al.               Standards Track                    [Page 33]
RFC 5477                PSAMP Information Model               March 2009

        There is a broad variety of possible parameters that could be
        used for Property Match Filtering (5), but currently there are
        no agreed parameters specified.
      </paragraph>
    </description>
  </field>

  <field name="samplingPacketInterval" dataType="unsigned32"
    dataTypeSemantics="quantity" elementId="305" status="current"
    group="sampling configuration">
    <description>
      <paragraph>
        This Information Element specifies the number of packets that
        are consecutively sampled.  A value of 100 means that
        100 consecutive packets are sampled.

        For example, this Information Element may be used to describe
        the configuration of a systematic count-based Sampling Selector.
      </paragraph>
    </description>
    <units>packets</units>
  </field>

  <field name="samplingPacketSpace" dataType="unsigned32"
    dataTypeSemantics="quantity" elementId="306" status="current"
    group="sampling configuration">
    <description>
      <paragraph>
        This Information Element specifies the number of packets between
        two "samplingPacketInterval"s.  A value of 100 means that the
        next interval starts 100 packets (which are not sampled)
        after the current "samplingPacketInterval" is over.

        For example, this Information Element may be used to describe
        the configuration of a systematic count-based Sampling Selector.
      </paragraph>
    </description>
    <units>packets</units>
  </field>

  <field name="samplingTimeInterval" dataType="unsigned32"
    dataTypeSemantics="quantity" elementId="307" status="current"
    group="sampling configuration">
    <description>
      <paragraph>
        This Information Element specifies the time interval in
        microseconds during which all arriving packets are sampled.

Dietz, et al.               Standards Track                    [Page 34]
RFC 5477                PSAMP Information Model               March 2009

        For example, this Information Element may be used to describe
        the configuration of a systematic time-based Sampling Selector.
      </paragraph>
    </description>
    <units>microseconds</units>
  </field>

  <field name="samplingTimeSpace" dataType="unsigned32"
    dataTypeSemantics="quantity" elementId="308" status="current"
    group="sampling configuration">
    <description>
      <paragraph>
        This Information Element specifies the time interval in
        microseconds between two "samplingTimeInterval"s.  A value of 100
        means that the next interval starts 100 microseconds
        (during which no packets are sampled) after the current
        "samplingTimeInterval" is over.

        For example, this Information Element may used to describe the
        configuration of a systematic time-based Sampling Selector.
      </paragraph>
    </description>
    <units>microseconds</units>
  </field>

  <field name="samplingSize" dataType="unsigned32"
    dataTypeSemantics="quantity" elementId="309" status="current"
    group="sampling configuration">
    <description>
      <paragraph>
        This Information Element specifies the number of elements taken
        from the parent Population for random Sampling methods.

        For example, this Information Element may be used to describe
        the configuration of a random n-out-of-N Sampling Selector.
      </paragraph>
    </description>
    <units>packets</units>
  </field>

  <field name="samplingPopulation" dataType="unsigned32"
    dataTypeSemantics="quantity" elementId="310" status="current"
    group="sampling configuration">
    <description>
      <paragraph>
        This Information Element specifies the number of elements in the
        parent Population for random Sampling methods.

Dietz, et al.               Standards Track                    [Page 35]
RFC 5477                PSAMP Information Model               March 2009

        For example, this Information Element may be used to describe
        the configuration of a random n-out-of-N Sampling Selector.
      </paragraph>
    </description>
    <units>packets</units>
  </field>

  <field name="samplingProbability" dataType="float64"
    dataTypeSemantics="quantity" elementId="311" status="current"
    group="sampling configuration">
    <description>
      <paragraph>
        This Information Element specifies the probability that a packet
        is sampled, expressed as a value between 0 and 1.  The
        probability is equal for every packet.  A value of 0 means no
        packet was sampled since the probability is 0.

        For example, this Information Element may be used to describe
        the configuration of a uniform probabilistic Sampling Selector.
      </paragraph>
    </description>
  </field>

  <field name="ipHeaderPacketSection" dataType="octetArray"
    elementId="313" status="current" group="packet data">
    <description>
      <paragraph>
        This Information Element, which may have a variable length,
        carries a series of octets from the start of the IP header of a
        sampled packet.

        With sufficient length, this element also reports octets from
        the IP payload, subject to [RFC2804].  See the Security
        Considerations section.

        The size of the exported section may be constrained due to
        limitations in the IPFIX protocol.

        The data for this field MUST NOT be padded.
      </paragraph>
    </description>
  </field>

  <field name="ipPayloadPacketSection" dataType="octetArray"
    elementId="314" status="current" group="packet data">
    <description>
      <paragraph>
        This Information Element, which may have a variable length,

Dietz, et al.               Standards Track                    [Page 36]
RFC 5477                PSAMP Information Model               March 2009

        carries a series of octets from the start of the IP payload of a
        sampled packet.

        The IPv4 payload is that part of the packet that follows the
        IPv4 header and any options, which [RFC0791] refers to as "data"
        or "data octets".  For example, see the examples in [RFC0791],
        Appendix A.

        The IPv6 payload is the rest of the packet following the
        40-octet IPv6 header.  Note that any extension headers present
        are considered part of the payload.  See [RFC2460] for the IPv6
        specification.

        The size of the exported section may be constrained due to
        limitations in the IPFIX protocol.

        The data for this field MUST NOT be padded.
      </paragraph>
    </description>
  </field>

  <field name="mplsLabelStackSection" dataType="octetArray"
    elementId="316" status="current" group="packet data">
    <description>
      <paragraph>
        This Information Element, which may have a variable length,
        carries the first n octets from the MPLS label stack of a
        sampled packet.

        With sufficient length, this element also reports octets from
        the MPLS payload, subject to [RFC2804].  See the Security
        Considerations section.

        See [RFC3031] for the specification of MPLS packets.

        See [RFC3032] for the specification of the MPLS label stack.

        The size of the exported section may be constrained due to
        limitations in the IPFIX protocol.

        The data for this field MUST NOT be padded.
      </paragraph>
    </description>
  </field>

  <field name="mplsPayloadPacketSection" dataType="octetArray"
    elementId="317" status="current" group="packet data">
    <description>

Dietz, et al.               Standards Track                    [Page 37]
RFC 5477                PSAMP Information Model               March 2009

      <paragraph>
        This Information Element, which may have a variable length,
        carries the first n octets from the MPLS payload of a sampled
        packet, being data that follows immediately after the MPLS label
        stack.

        See [RFC3031] for the specification of MPLS packets.

        See [RFC3032] for the specification of the MPLS label stack.

        The size of the exported section may be constrained due to
        limitations in the IPFIX protocol.

        The data for this field MUST NOT be padded.
      </paragraph>
    </description>
  </field>

  <field name="selectorIdTotalPktsObserved" dataType="unsigned64"
    dataTypeSemantics="totalCounter" elementId="318" status="current"
    group="statistics">
    <description>
      <paragraph>
        This Information Element specifies the total number of packets
        observed by a Selector, for a specific value of SelectorId.

        This Information Element should be used in an Options Template
        scoped to the observation to which it refers.
        See Section 3.4.2.1 of the IPFIX protocol document [RFC5101].
      </paragraph>
    </description>
    <units>packets</units>
  </field>

  <field name="selectorIdTotalPktsSelected" dataType="unsigned64"
    dataTypeSemantics="totalCounter" elementId="319" status="current"
    group="statistics">
    <description>
      <paragraph>
        This Information Element specifies the total number of packets
        selected by a Selector, for a specific value of SelectorId.

        This Information Element should be used in an Options Template
        scoped to the observation to which it refers.
        See Section 3.4.2.1 of the IPFIX protocol document [RFC5101].
        </paragraph>
    </description>
    <units>packets</units>

Dietz, et al.               Standards Track                    [Page 38]
RFC 5477                PSAMP Information Model               March 2009

  </field>

  <field name="absoluteError" dataType="float64"
    dataTypeSemantics="quantity" elementId="320" status="current"
    group="statistics">
    <description>
      <paragraph>
        This Information Element specifies the maximum possible
        measurement error of the reported value for a given Information
        Element.  The absoluteError has the same unit as the Information
        Element with which it is associated.  The real value of the
        metric can differ by absoluteError (positive or negative) from
        the measured value.

        This Information Element provides only the
        error for measured values.  If an Information Element contains
        an estimated value (from Sampling), the confidence boundaries
        and confidence level have to be provided instead, using the
        upperCILimit, lowerCILimit, and confidenceLevel Information
        Elements.

        This Information Element should be used in an Options Template
        scoped to the observation to which it refers.
        See Section 3.4.2.1 of the IPFIX protocol document [RFC5101].
      </paragraph>
    </description>
    <units>
      The units of the Information Element for which the error is
      specified.
    </units>
  </field>

  <field name="relativeError" dataType="float64"
    dataTypeSemantics="quantity" elementId="321" status="current"
    group="statistics">
    <description>
      <paragraph>
        This Information Element specifies the maximum possible positive
        or negative error ratio for the reported value for a given
        Information Element as a percentage of the measured value.
        The real value of the metric can differ by relativeError percent
        (positive or negative) from the measured value.

        This Information Element provides only the error for measured
        values.  If an Information Element contains an estimated value
        (from Sampling), the confidence boundaries and confidence
        level have to be provided instead, using the upperCILimit,
        lowerCILimit, and confidenceLevel Information Elements.

Dietz, et al.               Standards Track                    [Page 39]
RFC 5477                PSAMP Information Model               March 2009

        This Information Element should be used in an Options Template
        scoped to the observation to which it refers.
        See Section 3.4.2.1 of the IPFIX protocol document [RFC5101].
      </paragraph>
    </description>
  </field>

  <field name="observationTimeSeconds" dataType="dateTimeSeconds"
    dataTypeSemantics="quantity" elementId="322" status="current"
    group="timestamps">
    <description>
      <paragraph>
        This Information Element specifies the absolute time in seconds
        of an observation.
      </paragraph>
    </description>
    <units>seconds</units>
  </field>

  <field name="observationTimeMilliseconds"
    dataType="dateTimeMilliseconds" dataTypeSemantics="quantity"
    elementId="323" status="current" group="timestamps">
    <description>
      <paragraph>
        This Information Element specifies the absolute time in
        milliseconds of an observation.
      </paragraph>
    </description>
    <units>milliseconds</units>
  </field>

  <field name="observationTimeMicroseconds"
    dataType="dateTimeMicroseconds" dataTypeSemantics="quantity"
    elementId="324" status="current" group="timestamps">
    <description>
      <paragraph>
        This Information Element specifies the absolute time in
        microseconds of an observation.
      </paragraph>
    </description>
    <units>microseconds</units>
  </field>

  <field name="observationTimeNanoseconds"
    dataType="dateTimeNanoseconds" dataTypeSemantics="quantity"
    elementId="325" status="current" group="timestamps">
    <description>
      <paragraph>

Dietz, et al.               Standards Track                    [Page 40]
RFC 5477                PSAMP Information Model               March 2009

        This Information Element specifies the absolute time in
        nanoseconds of an observation.
      </paragraph>
    </description>
    <units>nanoseconds</units>
  </field>

  <field name="digestHashValue" dataType="unsigned64"
    dataTypeSemantics="quantity" elementId="326" status="current"
    group="hash configuration">
    <description>
      <paragraph>
        This Information Element specifies the value from the digest
        hash function.

        See also Sections 6.2, 3.8, and 7.1 of
        [RFC5475].
      </paragraph>
    </description>
  </field>

  <field name="hashIPPayloadOffset" dataType="unsigned64"
    dataTypeSemantics="quantity" elementId="327" status="current"
    group="hash configuration">
    <description>
      <paragraph>
        This Information Element specifies the IP payload offset used by
        a Hash-based Selection Selector.

        See also Sections 6.2, 3.8, and 7.1 of
        [RFC5475].
      </paragraph>
    </description>
  </field>

  <field name="hashIPPayloadSize" dataType="unsigned64"
    dataTypeSemantics="quantity" elementId="328" status="current"
    group="hash configuration">
    <description>
      <paragraph>
        This Information Element specifies the IP payload size used by a
        Hash-based Selection Selector.
        See also Sections 6.2, 3.8, and 7.1 of
        [RFC5475]
      </paragraph>
    </description>
  </field>

Dietz, et al.               Standards Track                    [Page 41]
RFC 5477                PSAMP Information Model               March 2009

  <field name="hashOutputRangeMin" dataType="unsigned64"
    dataTypeSemantics="quantity" elementId="329" status="current"
    group="hash configuration">
    <description>
      <paragraph>
        This Information Element specifies the value for the beginning
        of a hash function's potential output range.
        See also Sections 6.2, 3.8, and 7.1 of
        [RFC5475].
      </paragraph>
    </description>
  </field>

  <field name="hashOutputRangeMax" dataType="unsigned64"
    dataTypeSemantics="quantity" elementId="330" status="current"
    group="hash configuration">
    <description>
      <paragraph>
        This Information Element specifies the value for the end of a
        hash function's potential output range.

        See also Sections 6.2, 3.8, and 7.1 of
        [RFC5475].
      </paragraph>
    </description>
  </field>

  <field name="hashSelectedRangeMin" dataType="unsigned64"
    dataTypeSemantics="quantity" elementId="331" status="current"
    group="hash configuration">
    <description>
      <paragraph>
        This Information Element specifies the value for the beginning
        of a hash function's selected range.

        See also Sections 6.2, 3.8, and 7.1 of
        [RFC5475].
      </paragraph>
    </description>
  </field>

  <field name="hashSelectedRangeMax" dataType="unsigned64"
    dataTypeSemantics="quantity" elementId="332" status="current"
    group="hash configuration">
    <description>
      <paragraph>
        This Information Element specifies the value for the end of a
        hash function's selected range.

Dietz, et al.               Standards Track                    [Page 42]
RFC 5477                PSAMP Information Model               March 2009

        See also Sections 6.2, 3.8, and 7.1 of
        [RFC5475].
      </paragraph>
    </description>
  </field>

  <field name="hashDigestOutput" dataType="boolean"
    dataTypeSemantics="quantity" elementId="333" status="current"
    group="hash configuration">
    <description>
      <paragraph>
        This Information Element contains a boolean value that is TRUE
        if the output from this hash Selector has been configured to be
        included in the packet report as a packet digest, else FALSE.

        See also Sections 6.2, 3.8, and 7.1 of
        [RFC5475].
      </paragraph>
    </description>
  </field>

  <field name="hashInitialiserValue" dataType="unsigned64"
    dataTypeSemantics="quantity" elementId="334" status="current"
    group="hash configuration">
    <description>
      <paragraph>
        This Information Element specifies the initialiser value to the
        hash function.

        See also Sections 6.2, 3.8, and 7.1 of
        [RFC5475].
      </paragraph>
    </description>
  </field>

  <field name="upperCILimit" dataType="float64"
    dataTypeSemantics="quantity" elementId="336" status="current"
    group="statistics">
    <description>
      <paragraph>
        This Information Element specifies the upper limit of a
        confidence interval.  It is used to provide an accuracy
        statement for an estimated value.  The confidence limits
        define the range in which the real value is assumed to be
        with a certain probability p.  Confidence limits always need
        to be associated with a confidence level that defines this
        probability p.  Please note that a confidence interval only
        provides a probability that the real value lies within the

Dietz, et al.               Standards Track                    [Page 43]
RFC 5477                PSAMP Information Model               March 2009

        limits.  That means the real value can lie outside the
        confidence limits.

        The upperCILimit, lowerCILimit, and confidenceLevel
        Information Elements should all be used in an Options Template
        scoped to the observation to which they refer.
        See Section 3.4.2.1 of the IPFIX protocol document [RFC5101].

        Note that the upperCILimit, lowerCILimit, and confidenceLevel
        are all required to specify confidence, and should be
        disregarded unless all three are specified together.
      </paragraph>
    </description>
    </field>

  <field name="lowerCILimit" dataType="float64"
    dataTypeSemantics="quantity" elementId="337" status="current"
    group="statistics">
    <description>
      <paragraph>
        This Information Element specifies the lower limit of a
        confidence interval.  For further information, see the
        description of upperCILimit.

        The upperCILimit, lowerCILimit, and confidenceLevel
        Information Elements should all be used in an Options Template
        scoped to the observation to which they refer.
        See Section 3.4.2.1 of the IPFIX protocol document [RFC5101].

        Note that the upperCILimit, lowerCILimit, and confidenceLevel
        are all required to specify confidence, and should be
        disregarded unless all three are specified together.
      </paragraph>
    </description>
  </field>

  <field name="confidenceLevel" dataType="float64"
    dataTypeSemantics="quantity" elementId="338" status="current"
    group="statistics">
    <description>
      <paragraph>
        This Information Element specifies the confidence level.  It is
        used to provide an accuracy statement for estimated values.
        The confidence level provides the probability p with which the
        real value lies within a given range.  A confidence level
        always needs to be associated with confidence limits that
        define the range in which the real value is assumed to be.

Dietz, et al.               Standards Track                    [Page 44]
RFC 5477                PSAMP Information Model               March 2009

        The upperCILimit, lowerCILimit, and confidenceLevel
        Information Elements should all be used in an Options Template
        scoped to the observation to which they refer.
        See Section 3.4.2.1 of the IPFIX protocol document [RFC5101].

        Note that the upperCILimit, lowerCILimit, and confidenceLevel
        are all required to specify confidence, and should be
        disregarded unless all three are specified together.
      </paragraph>
    </description>
  </field>

</fieldDefinitions>

Authors' Addresses

   Thomas Dietz
   NEC Europe Ltd.
   NEC Laboratories Europe
   Network Research Division
   Kurfuersten-Anlage 36
   Heidelberg  69115
   Germany

   Phone: +49 6221 4342-128
   EMail: Thomas.Dietz@nw.neclab.eu
   URI:   http://www.nw.neclab.eu

   Benoit Claise
   Cisco Systems, Inc.
   De Kleetlaan 6a b1
   Degem  1813
   Belgium

   Phone: +32 2 704 5622
   EMail: bclaise@cisco.com

   Paul Aitken
   Cisco Systems, Inc.
   96 Commercial Quay
   Edinburgh  EH6 6LX
   Scotland

   Phone: +44 131 561 3616
   EMail: paitken@cisco.com
   URI:   http://www.cisco.com/

Dietz, et al.               Standards Track                    [Page 45]
RFC 5477                PSAMP Information Model               March 2009

   Falko Dressler
   University of Erlangen-Nuremberg
   Dept. of Computer Sciences
   Martensstr. 3
   Erlangen  91058
   Germany

   Phone: +49 9131 85-27914
   EMail: dressler@informatik.uni-erlangen.de
   URI:   http://www7.informatik.uni-erlangen.de/~dressler

   Georg Carle
   Technical University of Munich
   Institute for Informatics
   Boltzmannstr. 3
   Garching bei Muenchen  85737
   Germany

   Phone: +49 89 289-18030
   EMail: carle@in.tum.de
   URI:   http://www.net.in.tum.de/~carle/

Dietz, et al.               Standards Track                    [Page 46]