RFC 6727

Definitions of Managed Objects for Packet Sampling

๐Ÿ“… published October 2012, from ietf

RFC 6727: Definitions of Managed Objects for Packet Sampling ๐ŸŽ€

okay bestie, this one is all about packet sampling ๐Ÿฆ‹ It's an IETF Standards Track doc, so it's officially part of the Internet's rulebook. It's from October 2012, ISSN 2070-1721, and it's written by T. Dietz (Ed.) and J. Quittek from NEC Europe Ltd. plus B. Claise from Cisco Systems, Inc. ๐Ÿ’… The header doesn't list anything it obsoletes or updates, so it's standing on its own. The IETF Trust holds the copyright, and the full official page lives at http://www.rfc-editor.org/info/rfc6727 โœจ

Abstract โœจ

This memo defines a chunk of the Management Information Base (MIB) for network management protocols in the Internet community ๐Ÿ’œ It extends the IPFIX-SELECTOR-MIB module. For IP Flow Information eXport (IPFIX) implementations that use Packet Sampling (PSAMP) techniques, it defines the PSAMP-MIB module, which holds managed objects describing the packet selection functions that were applied and their parameters ๐ŸŒธ

Status of This Memo ๐Ÿ“œ

This is an Internet Standards Track document.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community ๐Ÿซถ It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). More on Internet Standards is in Section 2 of RFC 5741.

Want the current status, any errata, or a way to send feedback? Check http://www.rfc-editor.org/info/rfc6727 ๐Ÿ“

Copyright (c) 2012 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 (http://trustee.ietf.org/license-info) as they were in effect on the date of publication. Please read these carefully, because they spell out your rights and restrictions for this document ๐Ÿ™ˆ Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License ๐Ÿ’€

Table of Contents ๐Ÿ—บ๏ธ

1.  The Internet-Standard Management Framework . . . . . . . . . .  3
2.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
3.  Overview of PSAMP Documents  . . . . . . . . . . . . . . . . .  4
4.  Related IPFIX Documents  . . . . . . . . . . . . . . . . . . .  4
5.  Structure of the PSAMP MIB module  . . . . . . . . . . . . . .  4
  5.1.  Textual Conventions  . . . . . . . . . . . . . . . . . . .  5
  5.2.  Packet Selection Functions . . . . . . . . . . . . . . . .  6
    5.2.1.  Systematic Count-Based Sampling  . . . . . . . . . . .  6
    5.2.2.  Systematic Time-Based Sampling . . . . . . . . . . . .  6
    5.2.3.  Random n-out-of-N Sampling . . . . . . . . . . . . . .  7
    5.2.4.  Uniform Probabilistic Sampling . . . . . . . . . . . .  7
    5.2.5.  Property Match Filtering . . . . . . . . . . . . . . .  7
    5.2.6.  Hash-Based Filtering . . . . . . . . . . . . . . . . .  8
6.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  9
7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 25
8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 25
9.  Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . . 26
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  10.1. Normative References . . . . . . . . . . . . . . . . . . . 26
  10.2. Informative References . . . . . . . . . . . . . . . . . . 27

1. The Internet-Standard Management Framework ๐Ÿงš

If you want the full tea on the current Internet-Standard Management Framework, check out section 7 of RFC 3410 [RFC3410] ๐Ÿ’–

Managed objects are accessed through a virtual information store called the Management Information Base, or MIB ๐ŸŒˆ MIB objects are usually accessed through the Simple Network Management Protocol (SNMP) โœจ Objects in the MIB are defined using the Structure of Management Information (SMI) ๐Ÿ‘‘ This memo specifies a MIB module that's compliant with SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58,RFC 2580 [RFC2580] ๐Ÿฆ‹

2. Introduction ๐ŸŒธ

okay this part is a big deal, because the key words are how the doc tells you what's required ๐Ÿซถ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119] ๐Ÿ”ฅ

This document is a product of the IP Flow Information eXport (IPFIX) Working Group (WG). Work on it started in the Packet Sampling (PSAMP) WG and moved over to the IPFIX WG once PSAMP wrapped up ๐Ÿ“

Its purpose is to define managed objects for monitoring PSAMP Devices that do packet selection by Sampling and Filtering, as described in [RFC5475] ๐Ÿ’œ

It's assumed that packet Sampling follows the framework defined in [RFC5474]. In this document, the PSAMP terms that appear capitalized are used as defined in [RFC5475] โœจ

Managed objects in the PSAMP MIB module are defined as an extension of the IPFIX-MIB and IPFIX-SELECTOR-MIB modules [RFC6615] ๐ŸŒˆ Since the IPFIX MIB module is only for monitoring, the same holds true for the PSAMP MIB module defined here ๐Ÿ‘€ The object definitions follow the PSAMP information model [RFC5477] ๐Ÿ’…

Section 3 gives an overview of the PSAMP documents, and Section 4 covers the related IPFIX documents. Section 5 describes the structure of the PSAMP MIB module, and Section 6 has the formal definitions. Security issues are discussed in Section 7 ๐Ÿ”

3. Overview of PSAMP Documents ๐Ÿฆ‹

[RFC5474]: "A Framework for Packet Selection and Reporting" describes the PSAMP framework. Network elements use it to select subsets of packets with statistical and other methods, then export a stream of reports on the selected packets to a Collector ๐Ÿงš

[RFC5475]: "Sampling and Filtering Techniques for IP Packet Selection" covers the set of packet selection techniques PSAMP supports ๐Ÿ’–

[RFC5476]: "Packet Sampling (PSAMP) Protocol Specifications" specifies how packet information gets exported from a PSAMP Exporting Process to a PSAMP Collecting Process ๐Ÿ“ฆ

[RFC5477]: "Information Model for Packet Sampling Exports" defines an information and data model for PSAMP ๐ŸŒธ

And this document: "Definitions of Managed Objects for Packet Sampling" describes the PSAMP Management Information Base โœจ

The IPFIX protocol gives network administrators access to IP Flow information ๐Ÿ‘‘

[RFC5101]: "Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information" explains how IPFIX Data Records and Templates travel from IPFIX Exporting Processes to IPFIX Collecting Processes, over a congestion-aware transport protocol. It also specifies the data types used in the PSAMP MIB module and how they're encoded ๐ŸŽ€

[RFC6615]: The IPFIX-MIB, "Definitions of Managed Objects for IP Flow Information Export", is the basis for this document, since it extends the IPFIX SELECTOR MIB module defined there ๐Ÿซถ

5. Structure of the PSAMP MIB module ๐Ÿงฉ

The IPFIX-MIB module from [RFC6615] has the idea of a packet Selection Process that contains a set of Selector function instances ๐Ÿ’œ Selection Processes and functions are referenced in the ipfixSelectionProcessTable of the IPFIX-MIB module. That table identifies an instance of a Selector function by an OID, and the OID points to an object that describes the Selector function ๐Ÿฆ‹

For simple Selector functions without parameters, the OID refers to an object that holds just one more object, which shows whether the function is currently available ๐Ÿ“ For functions with one or more parameters, the object has a subtree. Along with an availability object, that subtree contains a table with a conceptual column for each parameter. Entries (conceptual rows) in this table stand for different combinations of parameter values for instances of the Selector function ๐ŸŒธ

The object ipfixSelectorFunctions in the IPFIX SELECTOR MIB module is the root for objects that describe instances of packet Selector functions. The IPFIX SELECTOR MIB module is a very small module defined in [RFC6615] โœจ IANA maintains the top-level OIDs of the parameter trees under ipfixSelectorFunctions ๐Ÿ“œ In the IPFIX SELECTOR MIB module as defined by [RFC6615], ipfixSelectorFunctions holds just one trivial packet Selector function called ipfixFuncSelectAll. It selects every packet and has no parameters:

ipfixSelectorMIB
+- ipfixSelectorObjects(1)
   +- ipfixSelectorFunctions(1)
      +- ipfixFuncSelectAll(1)
         +- ipfixFuncSelectAllAvail(1)

The PSAMP MIB module in this document registers extra top-level OIDs for the parameter subtrees of its Selector functions in the IPFIX-SELECTOR-MIB Function sub-registry, following the procedures in [RFC6615] ๐ŸŒˆ It adds six new subtrees beneath ipfixSelectorFunctions. Each one describes a packet Selector function with one or more parameters. Naming and ordering of objects fully follow the guidelines in Section 6.1 of [RFC6615] ๐Ÿ’… Every function and its parameters already appears in the overview table in Section 8.2.1 of [RFC5477] ๐Ÿ‘‘

5.1. Textual Conventions ๐ŸŽ€

The PSAMP MIB module imports two textual conventions that define data types it uses from other MIB modules. The Unsigned64TC data type comes from the APPLICATION MIB module [RFC2564], and the Float64TC data type comes from the FLOAT-TC-MIB module [RFC6340] ๐Ÿฆ‹ Those data types are defined according to [RFC5101] ๐Ÿ’– They aren't an integral part of [RFC2578], but the PSAMP MIB module needs them to define objects that conform to the Information Elements defined for those objects in [RFC5477] ๐Ÿซถ

The Unsigned64TC textual convention describes an unsigned integer of 64 bits, and it's imported from the APPLICATION MIB module โœจ The Float64TC textual convention describes the format used for 64-bit floating point numbers ๐ŸŒธ

5.2. Packet Selection Functions ๐Ÿงš

In general, different packet Selector functions have different parameters ๐ŸŒˆ The PSAMP MIB module contains six objects with subtrees that give information on the parameters of function instances from different Selector functions. Every object is named and structured according to Section 8.2.1 of [RFC5477] ๐Ÿ’œ

ipfixSelectorFunctions(1)
+-- psampSampCountBased(2)
+-- psampSampTimeBased(3)
+-- psampSampRandOutOfN(4)
+-- psampSampUniProb(5)
+-- psampFiltPropMatch(6)
+-- psampFiltHash(7)

Indexing of these functions in the PSAMP MIB module starts at index (2). The function ipfixFuncSelectAll with index (1) is already defined in the IPFIX SELECTOR MIB module, as shown above ๐Ÿ‘‘

The object tree for each of these functions is described below. The semantics of all functions and their parameters are explained in detail in [RFC5475] ๐Ÿฆ‹ More on the Selector Reports can also be found in Section 6.5.2 of [RFC5476] โœจ

5.2.1. Systematic Count-Based Sampling ๐Ÿ’–

okay so the first Selector function is systematic count-based Sampling ๐Ÿฆ‹ its availability shows up in psampSampCountBasedAvail, and it has two parameters, psampSampCountBasedInterval and psampSampCountBasedSpace. every different combo of those values for different Selector instances gets its own conceptual row in psampSampCountBasedParamSetTable:

psampSampCountBased(2)
+-- psampSampCountBasedAvail(1)
+-- psampSampCountBasedParamSetTable(2)
   +-- psampSampCountBasedParamSetEntry(1) [psampSampCountBasedIndex]
      +-- psampSampCountBasedIndex(1)
      +-- psampSampCountBasedInterval(2)
      +-- psampSampCountBasedSpace(3)

5.2.2. Systematic Time-Based Sampling โฐ

the second Selector function is systematic time-based Sampling, and honestly its subtree is giving the same vibe as the count-based one ๐Ÿซถ the parameters are psampSampTimeBasedInterval and psampSampTimeBasedSpace. they look the same as the count-based ones, but the data types are different because these are time values instead of packet counts โœจ

psampSampTimeBased(3)
+-- psampSampTimeBasedAvail(1)
+-- psampSampTimeBasedParamSetTable(2)
   +-- psampSampTimeBasedParamSetEntry(1) [psampSampTimeBasedIndex]
      +-- psampSampTimeBasedIndex(1)
      +-- psampSampTimeBasedInterval(2)
      +-- psampSampTimeBasedSpace(3)

5.2.3. Random n-out-of-N Sampling ๐ŸŽฒ

the third Selector function is random n-out-of-N Sampling ๐ŸŒธ its parameters are psampSampRandOutOfNSize and psampSampRandOutOfNPopulation:

psampSampRandOutOfN(4)
+-- psampSampRandOutOfNAvail(1)
+-- psampSampRandOutOfNParamSetTable(2)
   +-- psampSampRandOutOfNParamSetEntry(1) [psampSampRandOutOfNIndex]
      +-- psampSampRandOutOfNIndex(1)
      +-- psampSampRandOutOfNSize(2)
      +-- psampSampRandOutOfNPopulation(3)

5.2.4. Uniform Probabilistic Sampling ๐Ÿ“

the fourth Selector function is uniform probabilistic Sampling, and it's a minimalist queen ๐Ÿ‘‘ it has just one parameter, psampSampUniProbProbability:

psampSampUniProb(5)
+-- psampSampUniProbAvail(1)
+-- psampSampUniProbParamSetTable(2)
   +-- psampSampUniProbParamSetEntry(1) [psampSampUniProbIndex]
      +-- psampSampUniProbIndex(1)
      +-- psampSampUniProbProbability(2)

5.2.5. Property Match Filtering ๐Ÿ™ˆ

the fifth Selector function is property match Filtering, and ngl this one is a bit of a mystery box. there's a huge variety of parameters it could use, but as stated in Section 8.2.1 of [RFC5477], no agreed parameters are specified ๐Ÿ’€ so the subtree only has an object that shows whether the function is available. the parameters can't be retrieved through the PSAMP MIB module, periodt:

psampFiltPropMatch(6)
+-- psampFiltPropMatchAvail(1)

5.2.6. Hash-Based Filtering ๐Ÿ”ฎ

the sixth Selector function is hash-based Filtering โœจ the object psampFiltHashFunction is an enumeration that says which kind of hash function gets applied. these hash functions come with quite a few parameters, and the exact number can change depending on which hash function you pick ๐Ÿงš the common parameter set for all hash-based Filtering functions has 7 parameters: psampFiltHashInitializerValue, psampFiltHashIpPayloadOffset, psampFiltHashIpPayloadSize, psampFiltHashSelectedRangeMin, psampFiltHashSelectedRangeMax, psampFiltHashOutputRangeMin, and psampFiltHashOutputRangeMax.

psampFiltHash(7)
+-- psampFiltHashAvail(1)
+-- psampFiltHashCapabilities(2)
+-- psampFiltHashParamSetTable(3)
   +-- psampFiltHashParamSetEntry(1) [psampFiltHashIndex]
      +-- psampFiltHashIndex(1)
      +-- psampFiltHashFunction(2)
      +-- psampFiltHashInitializerValue(3)
      +-- psampFiltHashIpPayloadOffset(4)
      +-- psampFiltHashIpPayloadSize(5)
      +-- psampFiltHashSelectedRangeMin(6)
      +-- psampFiltHashSelectedRangeMax(7)
      +-- psampFiltHashOutputRangeMin(8)
      +-- psampFiltHashOutputRangeMax(9)

further parameters depend on which hash function is applied, and those aren't specified inside the PSAMP MIB module ๐Ÿซถ

6. Definitions ๐Ÿ’…

the whole MIB module is below, character for character:

PSAMP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, mib-2
        FROM SNMPv2-SMI                  -- RFC 2578
    TruthValue
        FROM SNMPv2-TC                   -- RFC 2579
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF                 -- RFC 2580
    Unsigned64TC
        FROM APPLICATION-MIB             -- RFC 2564
    Float64TC
        FROM FLOAT-TC-MIB                -- RFC 6340
    ipfixSelectorFunctions
        FROM IPFIX-SELECTOR-MIB;         -- RFC 6615

psampMIB MODULE-IDENTITY
    LAST-UPDATED "201209051200Z"         -- 5 September 2012
    ORGANIZATION "IETF IPFIX Working Group"
    CONTACT-INFO
        "WG charter:
          http://datatracker.ietf.org/wg/ipfix/charter/

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

          Thomas Dietz (editor)
          NEC Europe Ltd.
          NEC Laboratories Europe
          Network Research Division
          Kurfuersten-Anlage 36
          69115 Heidelberg
          Germany
          Phone: +49 6221 4342-128
          EMail: Thomas.Dietz@neclab.eu

          Benoit Claise
          Cisco Systems, Inc.
          De Kleetlaan 6a b1
          Diegem 1831
          Belgium
          Phone:  +32 2 704 5622
          EMail: bclaise@cisco.com
          Juergen Quittek
          NEC Europe Ltd.
          NEC Laboratories Europe
          Network Research Division
          Kurfuersten-Anlage 36
          69115 Heidelberg
          Germany
          Phone: +49 6221 4342-115
          EMail: quittek@neclab.eu"
        DESCRIPTION
        "The PSAMP MIB defines managed objects for packet sampling
        and filtering.

        These objects provide information about managed nodes
        supporting packet sampling, including packet sampling
        capabilities, configuration, and statistics.
        The PSAMP MIB module registers additional top-level OIDs for
        the parameter subtrees of its Selector functions in the
        IPFIX-SELECTOR-MIB Function sub-registry according to the
        procedures defined in RFC 6615.

        Copyright (c) 2012 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, is permitted pursuant to, and subject
        to the license terms contained in, the Simplified BSD License
        set forth in Section 4.c of the IETF Trust's Legal Provisions
        Relating to IETF Documents
        (http://trustee.ietf.org/license-info).

        This version of this MIB module is part of RFC 6727; see the
        RFC itself for full legal notices."
    --  Revision history
    REVISION     "201209051200Z"         -- 5 September 2012
    DESCRIPTION
        "Initial version, published as RFC 6727."
    ::= { mib-2 212 }

-- Top-level structure of the MIB

psampObjects     OBJECT IDENTIFIER ::= { psampMIB 1 }
psampConformance OBJECT IDENTIFIER ::= { psampMIB 2 }

--==================================================================
-- Packet selection sampling methods group of objects
--==================================================================
--==================================================================
--* Method 1: Systematic count-based Sampling
--==================================================================

-- Reference: RFC 5475 (Section 5.1), RFC 5476 (Section 6.5.2.1),
--            and RFC 5477 (Section 8.2)
psampSampCountBased OBJECT IDENTIFIER
    ::= { ipfixSelectorFunctions 2 }

psampSampCountBasedAvail OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the availability of systematic
        count-based sampling at the managed node.

        A Selector may be unavailable if it is implemented but
        currently disabled due to, e.g., administrative reasons, lack
        of resources, or similar."
    ::= { psampSampCountBased 1 }

-- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

psampSampCountBasedParamSetTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF
                PsampSampCountBasedParamSetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists configurations of systematic count-based
        packet sampling.  A parameter set describing a
        configuration contains two parameters: the sampling
        interval length and space."
    ::= { psampSampCountBased 2 }

psampSampCountBasedParamSetEntry OBJECT-TYPE
    SYNTAX      PsampSampCountBasedParamSetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Defines an entry in the psampSampCountBasedParamSetTable."
    INDEX { psampSampCountBasedIndex }
    ::= { psampSampCountBasedParamSetTable 1 }

PsampSampCountBasedParamSetEntry ::=
    SEQUENCE {
        psampSampCountBasedIndex     Integer32,
        psampSampCountBasedInterval  Unsigned32,
        psampSampCountBasedSpace     Unsigned32
    }

psampSampCountBasedIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index of this parameter set in the
        psampSampCountBasedParamSetTable.  It is used in the
        object ipfixSelectionProcessSelectorFunction entries of
        the ipfixSelectionProcessTable in the IPFIX-MIB as reference
        to this parameter set."
    ::= { psampSampCountBasedParamSetEntry 1 }

psampSampCountBasedInterval OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "packets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the number of packets that are
        consecutively sampled.  A value of 100 means that 100
        consecutive packets are sampled."
    REFERENCE
        "RFC 5475 (Section 5.1) and RFC 5477 (Section 8.2)"
    ::= { psampSampCountBasedParamSetEntry 2 }

psampSampCountBasedSpace OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "packets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the number of packets between two
        intervals specified by the object
        psampSampCountBasedInterval.  A value of 100 means that
        the next interval starts 100 packets (which are not sampled)
        after the current psampSampCountBasedInterval is over."
    REFERENCE
        "RFC 5475 (Section 5.1) and RFC 5477 (Section 8.2)"
    ::= { psampSampCountBasedParamSetEntry 3 }

--==================================================================
--* Method 2: Systematic time-based Sampling
--==================================================================
-- Reference: RFC 5475 (Section 5.1), RFC 5476 (Section 6.5.2.2),
--            and RFC 5477 (Section 8.2)
psampSampTimeBased OBJECT IDENTIFIER
    ::= { ipfixSelectorFunctions 3 }

okay so this is the MIB getting into the time-based sampling bits ๐Ÿ•ฐ๏ธโœจ first up is the availability flag, and then the parameter set table that holds the interval and space values

psampSampTimeBasedAvail OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the availability of systematic
        time-based sampling at the managed node.

        A Selector may be unavailable if it is implemented but
        currently disabled due to, e.g., administrative reasons, lack
        of resources, or similar."
    ::= { psampSampTimeBased 1 }

-- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

psampSampTimeBasedParamSetTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF
                PsampSampTimeBasedParamSetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists configurations of systematic time-based
        packet sampling.  A parameter set describing a configuration
        contains two parameters: the sampling interval length and
        the space."
    ::= { psampSampTimeBased 2 }

psampSampTimeBasedParamSetEntry OBJECT-TYPE
    SYNTAX      PsampSampTimeBasedParamSetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Defines an entry in the psampSampTimeBasedParamSetTable."
    INDEX { psampSampTimeBasedIndex }
    ::= { psampSampTimeBasedParamSetTable 1 }

PsampSampTimeBasedParamSetEntry ::=
    SEQUENCE {
        psampSampTimeBasedIndex     Integer32,
        psampSampTimeBasedInterval  Unsigned32,
        psampSampTimeBasedSpace     Unsigned32
    }

psampSampTimeBasedIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index of this parameter set in the
        psampSampTimeBasedParamSetTable.  It is used in the
        object ipfixSelectionProcessSelectorFunction entries of
        the ipfixSelectionProcessTable in the IPFIX-MIB as reference
        to this parameter set."
    ::= { psampSampTimeBasedParamSetEntry 1 }

psampSampTimeBasedInterval OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the time interval in microseconds
        during which all arriving packets are sampled."
    REFERENCE
        "RFC 5475 (Section 5.1) and RFC 5477 (Section 8.2)"
    ::= { psampSampTimeBasedParamSetEntry 2 }

psampSampTimeBasedSpace OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the time interval in microseconds
        between two intervals specified by the object
        psampSampTimeBasedInterval.  A value of 100 means that the
        next interval starts 100 microseconds (during which no
        packets are sampled) after the current
        psampSampTimeBasedInterval is over."
    REFERENCE
        "RFC 5475 (Section 5.1) and RFC 5477 (Section 8.2)"
    ::= { psampSampTimeBasedParamSetEntry 3 }

--==================================================================
--* Method 3: Random n-out-of-N Sampling
--==================================================================

-- Reference: RFC 5475 (Section 5.2.1), RFC 5476 (Section 6.5.2.3),
--            and RFC 5477 (Section 8.2)
psampSampRandOutOfN OBJECT IDENTIFIER
    ::= { ipfixSelectorFunctions 4 }

psampSampRandOutOfNAvail OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the availability of random n-out-of-N
        sampling at the managed node.

        A Selector may be unavailable if it is implemented but
        currently disabled due to, e.g., administrative reasons, lack
        of resources, or similar."
    ::= { psampSampRandOutOfN 1 }

-- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

psampSampRandOutOfNParamSetTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF
                PsampSampRandOutOfNParamSetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists configurations of random n-out-of-N
        sampling.  A parameter set describing a configuration
        contains two parameters: the sampling size and the
        parent population."
    ::= { psampSampRandOutOfN 2 }

psampSampRandOutOfNParamSetEntry OBJECT-TYPE
    SYNTAX      PsampSampRandOutOfNParamSetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Defines an entry in the psampSampRandOutOfNParamSetTable."
    INDEX { psampSampRandOutOfNIndex }
    ::= { psampSampRandOutOfNParamSetTable 1 }

PsampSampRandOutOfNParamSetEntry ::=
    SEQUENCE {
        psampSampRandOutOfNIndex        Integer32,
        psampSampRandOutOfNSize Unsigned32,
        psampSampRandOutOfNPopulation   Unsigned32
    }

psampSampRandOutOfNIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

        "The index of this parameter set in the
        psampSampRandOutOfNParamSetTable.  It is used in the
        object ipfixSelectionProcessSelectorFunction entries of
        the ipfixSelectionProcessTable in the IPFIX-MIB as reference
        to this parameter set."
    ::= { psampSampRandOutOfNParamSetEntry 1 }

psampSampRandOutOfNSize OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "packets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the number of elements taken from the
        parent Population specified in
        psampSampRandOutOfNPopulation."
    REFERENCE
        "RFC 5475 (Section 5.2.1) and RFC 5477 (Section 8.2)"
    ::= { psampSampRandOutOfNParamSetEntry 2 }

psampSampRandOutOfNPopulation OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "packets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the number of elements in the parent
        Population."
    REFERENCE
        "RFC 5475 (Section 5.2.1) and RFC 5477 (Section 8.2)"
    ::= { psampSampRandOutOfNParamSetEntry 3 }

--==================================================================
--* Method 4: Uniform probabilistic Sampling
--==================================================================

-- Reference: RFC 5475 (Section 5.2.2), RFC 5476 (Section 6.5.2.4),
--            and RFC 5477 (Section 8.2)
psampSampUniProb OBJECT IDENTIFIER ::= { ipfixSelectorFunctions 5 }

psampSampUniProbAvail OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the availability of random uniform
        probabilistic sampling at the managed node.

        A Selector may be unavailable if it is implemented but
        currently disabled due to, e.g., administrative reasons, lack
        of resources, or similar."
    ::= { psampSampUniProb 1 }

-- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++

-- Reference: RFC 5475 (Section 5.2.2.1) and RFC 5477 (Section 8.2)
psampSampUniProbParamSetTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF
                PsampSampUniProbParamSetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists configurations of random probabilistic
        sampling.  A parameter set describing a configuration
        contains a single parameter only: the sampling probability."
    ::= { psampSampUniProb 2 }

psampSampUniProbParamSetEntry OBJECT-TYPE
    SYNTAX      PsampSampUniProbParamSetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Defines an entry in the psampSampUniProbParamSetTable."
    INDEX { psampSampUniProbIndex }
    ::= { psampSampUniProbParamSetTable 1 }

PsampSampUniProbParamSetEntry ::=
    SEQUENCE {
        psampSampUniProbIndex       Integer32,
        psampSampUniProbProbability Float64TC
    }

psampSampUniProbIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index of this parameter set in the
        psampSampUniProbParamSetTable.  It is used in the
        object ipfixSelectionProcessSelectorFunction entries of
        the ipfixSelectionProcessTable in the IPFIX-MIB as reference
        to this parameter set."
    ::= { psampSampUniProbParamSetEntry 1 }

psampSampUniProbProbability OBJECT-TYPE
    SYNTAX      Float64TC
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object 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 is sampled since the probability is 0.  A value
        of 1 means all packets are sampled since the
        probability is 1.  NaN (not a number) and infinity MUST NOT
        be used."
    REFERENCE
        "RFC 5475 (Section 5.2.2.1) and RFC 5477 (Section 8.2)"
    ::= { psampSampUniProbParamSetEntry 2 }

--==================================================================
-- Packet selection filtering methods for a group of objects
--==================================================================

--==================================================================
--* Method 5: Property Match filtering
--==================================================================

-- Reserves Method 5; see RFC 5475 (Section 6.1), RFC 5476
-- (Section 6.5.2.5), and RFC 5477
psampFiltPropMatch OBJECT IDENTIFIER
    ::= { ipfixSelectorFunctions 6 }

psampFiltPropMatchAvail OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the availability of property match
        filtering at the managed node.

        A Selector may be unavailable if it is implemented but
        currently disabled due to, e.g., administrative reasons, lack
        of resources, or similar."
    ::= { psampFiltPropMatch 1 }

--==================================================================
--* Method 6: Hash filtering
--==================================================================

-- Reference: RFC 5475 (Section 6.2), RFC 5476 (Section 6.5.2.6),
--            and RFC 5477 (Section 8.3)
psampFiltHash OBJECT IDENTIFIER ::= { ipfixSelectorFunctions 7 }
psampFiltHashAvail OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the availability of hash filtering
        at the managed node.

        A Selector may be unavailable if it is implemented but
        currently disabled due to, e.g., administrative reasons, lack
        of resources, or similar."
    ::= { psampFiltHash 1 }

psampFiltHashCapabilities OBJECT IDENTIFIER
    ::= { psampFiltHash 2 }

-- Parameter Set Table +++++++++++++++++++++++++++++++++++++++++++++
   -- Reference: RFC 5475, Sections 6.2, 3.8, and 7.1
   psampFiltHashParamSetTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF
                   PsampFiltHashParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists configurations of hash filtering.  A
           parameter set describing a configuration contains eight
           parameters describing the hash function."
       ::= { psampFiltHash 3 }

   psampFiltHashParamSetEntry OBJECT-TYPE
       SYNTAX      PsampFiltHashParamSetEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Defines an entry in the psampFiltHashParamSetTable."
       INDEX { psampFiltHashIndex }
       ::= { psampFiltHashParamSetTable 1 }

   PsampFiltHashParamSetEntry ::=
       SEQUENCE {
           psampFiltHashIndex            Integer32,
           psampFiltHashFunction         INTEGER,
           psampFiltHashInitializerValue Unsigned64TC,
           psampFiltHashIpPayloadOffset  Unsigned64TC,
           psampFiltHashIpPayloadSize    Unsigned64TC,
           psampFiltHashSelectedRangeMin Unsigned64TC,
           psampFiltHashSelectedRangeMax Unsigned64TC,
           psampFiltHashOutputRangeMin   Unsigned64TC,
           psampFiltHashOutputRangeMax   Unsigned64TC
       }

   psampFiltHashIndex OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The index of this parameter set in the
           psampFiltHashParamSetTable.  It is used in the
           object ipfixSelectionProcessSelectorFunction entries of
           the ipfixSelectionProcessTable in the IPFIX-MIB as reference
           to this parameter set."
       ::= { psampFiltHashParamSetEntry 1 }

   psampFiltHashFunction OBJECT-TYPE
       SYNTAX      INTEGER {
                       crc32(1),
                       ipsx(2),
                       bob(3)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The hash function used by this filter.  The PSAMP-MIB
           defines the following hash functions:

           crc32(1): The CRC-32 Hash Function as defined in RFC 1141.

           ipsx(2): The IPSX Hash Function as described in RFC 5475,
               Appendix A.1.

           bob(3): The BOB Hash Function as described in RFC 5475,
               Appendix A.2.
           "
       REFERENCE
           "RFC 5475 (Section 6.2 and Appendixes A.1 and A.2)
            and RFC 1141"
       ::= { psampFiltHashParamSetEntry 2 }

   psampFiltHashInitializerValue OBJECT-TYPE
       SYNTAX      Unsigned64TC
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object specifies the initializer value to the hash
           function."

       REFERENCE
           "RFC 5475, Sections 6.2, 3.8, and 7.1"
       ::= { psampFiltHashParamSetEntry 3 }

   psampFiltHashIpPayloadOffset OBJECT-TYPE
       SYNTAX      Unsigned64TC
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object specifies the IP payload offset used by a
           Hash-based Selection Selector."
       REFERENCE
           "RFC 5475, Sections 6.2, 3.8, and 7.1"
       ::= { psampFiltHashParamSetEntry 4 }

   psampFiltHashIpPayloadSize OBJECT-TYPE
       SYNTAX      Unsigned64TC
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object specifies the IP payload size used by a
           Hash-based Selection Selector."
       REFERENCE
           "RFC 5475, Sections 6.2, 3.8, and 7.1"
       ::= { psampFiltHashParamSetEntry 5 }

   psampFiltHashSelectedRangeMin OBJECT-TYPE
       SYNTAX      Unsigned64TC
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object specifies the value for the beginning of a hash
           function's selected range."
       REFERENCE
           "RFC 5475, Sections 6.2, 3.8, and 7.1"
       ::= { psampFiltHashParamSetEntry 6 }

   psampFiltHashSelectedRangeMax OBJECT-TYPE
       SYNTAX      Unsigned64TC
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object specifies the value for the end of a hash
           function's selected range."
       REFERENCE
           "RFC 5475, Sections 6.2, 3.8, and 7.1"
       ::= { psampFiltHashParamSetEntry 7 }

   psampFiltHashOutputRangeMin OBJECT-TYPE
       SYNTAX      Unsigned64TC
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object specifies the value for the beginning of a hash
           function's potential output range."
       REFERENCE
           "RFC 5475, Sections 6.2, 3.8, and 7.1"
       ::= { psampFiltHashParamSetEntry 8 }

   psampFiltHashOutputRangeMax OBJECT-TYPE
       SYNTAX      Unsigned64TC
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object specifies the value for the end of a hash
           function's potential output range."
       REFERENCE
           "RFC 5475, Sections 6.2, 3.8, and 7.1"
       ::= { psampFiltHashParamSetEntry 9 }

   --==================================================================
   -- Conformance information
   --==================================================================

   psampCompliances OBJECT IDENTIFIER ::= { psampConformance 1 }
   psampGroups      OBJECT IDENTIFIER ::= { psampConformance 2 }

   --==================================================================
   -- Compliance statements
   --==================================================================

   psampCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
           "The implementation of all objects is optional and depends
           on the implementation of the corresponding functionality in
           the equipment."
       MODULE  -- this module
           GROUP psampGroupSampCountBased
           DESCRIPTION
               "These objects must be implemented if systematic
               count-based sampling is implemented in the equipment."
           GROUP psampGroupSampTimeBased
           DESCRIPTION
               "These objects must be implemented if systematic
               time-based sampling is implemented in the equipment."

           GROUP psampGroupSampRandOutOfN
           DESCRIPTION
               "These objects must be implemented if random n-out-of-N
               sampling is implemented in the equipment."
           GROUP psampGroupSampUniProb
           DESCRIPTION
               "These objects must be implemented if uniform
               probabilistic sampling is implemented in the equipment."
           GROUP psampGroupFiltPropMatch
           DESCRIPTION
               "These objects must be implemented if the property match
               filtering is implemented in the equipment."
           GROUP psampGroupFiltHash
           DESCRIPTION
               "These objects must be implemented if hash filtering
               is implemented in the equipment."
       ::= { psampCompliances 1 }

   --==================================================================
   -- MIB groupings
   --==================================================================

   psampGroupSampCountBased OBJECT-GROUP
       OBJECTS {
                 psampSampCountBasedAvail,
                 psampSampCountBasedInterval,
                 psampSampCountBasedSpace
               }
       STATUS  current
       DESCRIPTION
           "These objects are needed if count based sampling is
           implemented."
       ::= { psampGroups 1 }

   psampGroupSampTimeBased OBJECT-GROUP
       OBJECTS {
                 psampSampTimeBasedAvail,
                 psampSampTimeBasedInterval,
                 psampSampTimeBasedSpace
               }
       STATUS  current
       DESCRIPTION
           "These objects are needed if time based sampling is
           implemented."
       ::= { psampGroups 2 }

   psampGroupSampRandOutOfN OBJECT-GROUP
       OBJECTS {

                 psampSampRandOutOfNAvail,
                 psampSampRandOutOfNSize,
                 psampSampRandOutOfNPopulation
               }
       STATUS  current
       DESCRIPTION
           "These objects are needed if random n-out-of-N sampling is
           implemented."
       ::= { psampGroups 3 }

   psampGroupSampUniProb OBJECT-GROUP
       OBJECTS {
                 psampSampUniProbAvail,
                 psampSampUniProbProbability
               }
       STATUS  current
       DESCRIPTION
           "These objects are needed if uniform probabilistic sampling
           is implemented."
       ::= { psampGroups 4 }

   psampGroupFiltPropMatch OBJECT-GROUP
       OBJECTS {
                 psampFiltPropMatchAvail
               }
       STATUS  current
       DESCRIPTION
           "These objects are needed if property match filtering is
           implemented."
       ::= { psampGroups 5 }

   psampGroupFiltHash OBJECT-GROUP
       OBJECTS {
                 psampFiltHashAvail,
                 psampFiltHashFunction,
                 psampFiltHashInitializerValue,
                 psampFiltHashIpPayloadOffset,
                 psampFiltHashIpPayloadSize,
                 psampFiltHashSelectedRangeMin,
                 psampFiltHashSelectedRangeMax,
                 psampFiltHashOutputRangeMin,
                 psampFiltHashOutputRangeMax
               }
       STATUS  current
       DESCRIPTION
           "These objects are needed if hash filtering is implemented."
       ::= { psampGroups 6 }

   END

7. Security Considerations โœจ

okay bestie, this part is serious, so listen up ๐Ÿซถ There are no management objects in this MIB module with a read-write and/or read-create MAX-ACCESS clause. So if this MIB module is implemented correctly, an intruder has no way to alter or create any of its management objects with direct SNMP SET operations. that's a lot of protection, no cap ๐Ÿ”’

All of the tables in this MIB module may be considered sensitive or vulnerable in some network environments, because the objects in them can reveal information about the network infrastructure and device configuration ๐Ÿ‘€. So it's important to control even GET and/or NOTIFY access to these objects, and possibly to encrypt their values when sending them over the network via SNMP ๐Ÿ’œ.

SNMP versions before SNMPv3 did not include adequate security ๐Ÿ˜ญ. Even if the network itself is secure (for example, by using IPsec), there is no control over who on that secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module. not me getting anxious about that ๐Ÿ’€

It is RECOMMENDED that implementers consider the security features provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy). this is the glow-up you want ๐ŸŒธ

Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) who have legitimate rights to GET or SET (change/create/delete) them. main character energy: lock it down, keep it private, slay forever ๐Ÿ‘‘โœจ ๐Ÿ’…

8. IANA Considerations โœจ

okay so IANA gets its own little section, and it's giving registry paperwork ๐Ÿ“‹๐Ÿ’… The MIB module in this document uses one IANA-assigned OBJECT IDENTIFIER value, and it's recorded in the SMI Numbers registry:

        Descriptor             OBJECT IDENTIFIER value
        ----------             -----------------------
        psampMIB               { mib-2 212 }

Then IANA also registered a bunch of top-level OIDs in the IPFIX-SELECTOR-MIB Functions sub-registry at http://www.iana.org/assignments/smi-numbers ๐Ÿฆ‹. This happened following the procedures in [RFC6615], and the table below is the lineup:

Decimal Name                Description                      Reference
------- ------------------- -------------------------------- ---------
2       psampSampCountBased Systematic Count-based Sampling  [RFC6727]
3       psampSampTimeBased  Systematic Time-based Sampling   [RFC6727]
4       psampSampRandOutOfN Random n-out-of-N Sampling       [RFC6727]
5       psampSampUniProb    Universal Probabilistic Sampling [RFC6727]
6       psampFiltPropMatch  Property Match Filtering         [RFC6727]
7       psampFiltHash       Hash-based Filtering             [RFC6727]

The prerequisites for adding these OIDs are to be verified based on what's in this document. That's the whole vibe: check the doc, then the OIDs get in. ๐ŸŽ€


9. Acknowledgment ๐Ÿซถ

this document is a product of the PSAMP and IPFIX WGs ๐Ÿ’–. The authors wanted to shout out Paul Aitken for his super detailed review ๐Ÿ™Œ, and Dan Romascanu, the MIB doctors, plus a lot of other people, for the technical reviews and feedback. Everyone who helped make this happen is literally iconic ๐Ÿ‘‘.


10. References ๐Ÿ“š

10.1. Normative References

  • [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
  • [RFC2564] Kalbfleisch, C., Krupczak, C., Presuhn, R., and J. Saperia, "Application Management MIB", RFC 2564, May 1999.
  • [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
  • [RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
  • [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
  • [RFC5101] Claise, B., "Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information", RFC 5101, January 2008.
  • [RFC5477] Dietz, T., Claise, B., Aitken, P., Dressler, F., and G. Carle, "Information Model for Packet Sampling Exports", RFC 5477, March 2009.
  • [RFC6340] Presuhn, R., "Textual Conventions for the Representation of Floating-Point Numbers", RFC 6340, August 2011.
  • [RFC6615] Dietz, T., Kobayashi, A., Claise, B., and G. Muenz, "Definitions of Managed Objects for IP Flow Information Export", RFC 6615, June 2012.

10.2. Informative References

  • [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, December 2002.
  • [RFC5474] Duffield, N., Chiou, D., Claise, B., Greenberg, A., Grossglauser, M., and J. Rexford, "A Framework for Packet Selection and Reporting", RFC 5474, March 2009.
  • [RFC5475] Zseby, T., Molina, M., Duffield, N., Niccolini, S., and F. Raspall, "Sampling and Filtering Techniques for IP Packet Selection", RFC 5475, March 2009.
  • [RFC5476] Claise, B., Johnson, A., and J. Quittek, "Packet Sampling (PSAMP) Protocol Specifications", RFC 5476, March 2009.

Authors' Addresses ๐Ÿ’Œ

Thomas Dietz (editor)

NEC Europe Ltd.
NEC Laboratories Europe
Kurfuersten-Anlage 36
69115 Heidelberg
Germany

Phone: +49 6221 4342-128
EMail: dietz@neclab.eu

Benoit Claise

Cisco Systems, Inc.
De Kleetlaan 6a b1
Diegem  1831
Belgium

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

Juergen Quittek

NEC Europe Ltd.
NEC Laboratories Europe
Kurfuersten-Anlage 36
69115 Heidelberg
Germany

Phone: +49 6221 4342-115
EMail: quittek@neclab.eu
๐Ÿ“ฆ where this page comes from