Network Working Group                                           A. Fessi
Internet-Draft                                                  G. Carle
Expires: September 6, 2007                       University of Tuebingen
                                                             F. Dressler
                                                  University of Erlangen
                                                              J. Quittek
                                                                     NEC
                                                              C. Kappler
                                                           H. Tschofenig
                                                              Siemens AG
                                                           March 5, 2007


               NSLP for Metering Configuration Signaling
               <draft-dressler-nsis-metering-nslp-05.txt>

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on September 6, 2007.

Copyright Notice

   Copyright (C) The IETF Trust (2007).

Abstract

   Monitoring, metering and accounting of packets are increasingly



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt        [Page 1]


Internet-Draft                Metering NSLP                   March 2007


   important functionality that needs to be provided in the Internet.
   This document proposes the definition of a new NSIS Signaling Layer
   Protocol (NSLP), named Metering NSLP (M-NSLP), which allows the
   dynamic configuration of Metering Entities on the data path.  An
   accompanying document [I-D.fessi-nsis-m-nslp-framework] provides a
   problem statement, describes scenarios where such a path-coupled
   configuration of Metering Entities is useful, elaborates requirements
   for a path-coupled protocol for the configuration of Metering
   Entities and discusses the applicability of NSIS for this purpose.
   This document defines a Metering NSLP protocol design and messages,
   and describes the protocol operation.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  5

   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  5

   3.  Protocol Overview  . . . . . . . . . . . . . . . . . . . . . .  7
     3.1.  Model of operation . . . . . . . . . . . . . . . . . . . .  7
     3.2.  Metering NSLP Messages . . . . . . . . . . . . . . . . . .  9
       3.2.1.  CONFIGURE  . . . . . . . . . . . . . . . . . . . . . .  9
       3.2.2.  REFRESH  . . . . . . . . . . . . . . . . . . . . . . .  9
       3.2.3.  OPTIONS  . . . . . . . . . . . . . . . . . . . . . . .  9
       3.2.4.  RESPONSE . . . . . . . . . . . . . . . . . . . . . . . 10
       3.2.5.  NOTIFY . . . . . . . . . . . . . . . . . . . . . . . . 10

   4.  Design Decisions . . . . . . . . . . . . . . . . . . . . . . . 10
     4.1.  Soft State . . . . . . . . . . . . . . . . . . . . . . . . 10
     4.2.  Message Sequencing . . . . . . . . . . . . . . . . . . . . 10
     4.3.  Message Scoping  . . . . . . . . . . . . . . . . . . . . . 10
     4.4.  Selection of MNEs  . . . . . . . . . . . . . . . . . . . . 11
     4.5.  Coordination of Metering Tasks . . . . . . . . . . . . . . 11
     4.6.  Aggregation  . . . . . . . . . . . . . . . . . . . . . . . 11
     4.7.  Reaction to Route Changes  . . . . . . . . . . . . . . . . 11
     4.8.  Metering Configuration Information . . . . . . . . . . . . 12
     4.9.  Required State Information . . . . . . . . . . . . . . . . 12

   5.  Metering NSLP Messages and Objects . . . . . . . . . . . . . . 13
     5.1.  Metering NSLP Objects  . . . . . . . . . . . . . . . . . . 13
       5.1.1.  The 'Session Identifier' Object (SID)  . . . . . . . . 13
       5.1.2.  The 'Message Sequence Number' Object (MSN) . . . . . . 13
       5.1.3.  The 'Selection of Metering Entities' Object
               (MNE_Selection)  . . . . . . . . . . . . . . . . . . . 13
       5.1.4.  The 'Session Lifetime' Object (Session_LT) . . . . . . 14
       5.1.5.  The 'MNSLP Hop Count' Object (MNSLP_Hop_Count) . . . . 14
       5.1.6.  The 'Information Code' Object (INFO) . . . . . . . . . 14



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt        [Page 2]


Internet-Draft                Metering NSLP                   March 2007


       5.1.7.  MSPEC Objects  . . . . . . . . . . . . . . . . . . . . 15
     5.2.  Metering NSLP Messages . . . . . . . . . . . . . . . . . . 15
       5.2.1.  CONFIGURE  . . . . . . . . . . . . . . . . . . . . . . 15
       5.2.2.  REFRESH  . . . . . . . . . . . . . . . . . . . . . . . 15
       5.2.3.  OPTIONS  . . . . . . . . . . . . . . . . . . . . . . . 15
       5.2.4.  RESPONSE . . . . . . . . . . . . . . . . . . . . . . . 16
       5.2.5.  NOTIFY . . . . . . . . . . . . . . . . . . . . . . . . 16
     5.3.  MSPEC Objects  . . . . . . . . . . . . . . . . . . . . . . 16
       5.3.1.  IPFIX MSPEC Object . . . . . . . . . . . . . . . . . . 17

   6.  Processing Rules . . . . . . . . . . . . . . . . . . . . . . . 18
     6.1.  Session State Machine  . . . . . . . . . . . . . . . . . . 18
     6.2.  Standard Message Processing Rules  . . . . . . . . . . . . 21
       6.2.1.  Message Parsing  . . . . . . . . . . . . . . . . . . . 21
       6.2.2.  Authentication and Authorization . . . . . . . . . . . 21
       6.2.3.  Message Sequencing . . . . . . . . . . . . . . . . . . 21
       6.2.4.  MNSLP Hop Counting . . . . . . . . . . . . . . . . . . 22
     6.3.  Message Processing Rules . . . . . . . . . . . . . . . . . 23
       6.3.1.  CONFIGURE  . . . . . . . . . . . . . . . . . . . . . . 23
       6.3.2.  REFRESH  . . . . . . . . . . . . . . . . . . . . . . . 24
       6.3.3.  OPTIONS  . . . . . . . . . . . . . . . . . . . . . . . 24
       6.3.4.  RESPONSE . . . . . . . . . . . . . . . . . . . . . . . 25
       6.3.5.  NOTIFY . . . . . . . . . . . . . . . . . . . . . . . . 25
     6.4.  Message Forwarding . . . . . . . . . . . . . . . . . . . . 26
     6.5.  Interaction with GIST  . . . . . . . . . . . . . . . . . . 26

   7.  Examples of Operation  . . . . . . . . . . . . . . . . . . . . 27
     7.1.  Example with MNE_Selection is ANY  . . . . . . . . . . . . 27
     7.2.  Example with MNE_Selection is ALL  . . . . . . . . . . . . 28
     7.3.  Example with MNE_Selection is FIRST_and_LAST . . . . . . . 29
     7.4.  Example with a Route Changes . . . . . . . . . . . . . . . 30

   8.  Bit-Level Formats and Error Messages . . . . . . . . . . . . . 30
     8.1.  Metering NSLP Messages . . . . . . . . . . . . . . . . . . 30
     8.2.  Metering NSLP Objects  . . . . . . . . . . . . . . . . . . 31
       8.2.1.  MSN  . . . . . . . . . . . . . . . . . . . . . . . . . 32
       8.2.2.  Session_LT . . . . . . . . . . . . . . . . . . . . . . 32
       8.2.3.  MNE_Selection  . . . . . . . . . . . . . . . . . . . . 32
       8.2.4.  INFO . . . . . . . . . . . . . . . . . . . . . . . . . 33
       8.2.5.  MSPEC Objects  . . . . . . . . . . . . . . . . . . . . 33

   9.  Mapping onto M-NSLP Requirements . . . . . . . . . . . . . . . 34

   10. Security considerations  . . . . . . . . . . . . . . . . . . . 36

   11. Open Issues  . . . . . . . . . . . . . . . . . . . . . . . . . 36

   12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 36



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt        [Page 3]


Internet-Draft                Metering NSLP                   March 2007


   13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 36
     13.1. Normative References . . . . . . . . . . . . . . . . . . . 36
     13.2. Informative References . . . . . . . . . . . . . . . . . . 37

   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 38
   Intellectual Property and Copyright Statements . . . . . . . . . . 41













































Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt        [Page 4]


Internet-Draft                Metering NSLP                   March 2007


1.  Introduction

   Monitoring, metering and accounting of packets is an important
   functionality in many networks today.  Several working groups have
   described mechanisms to collect and report usage data for resource
   consumption in a network by a particular entity.  For example, the
   IPFIX WG defines a protocol for this purpose.  The PSAMP WG defines a
   standard to sample subsets of packets by statistical and other
   methods.  RADIUS (see [RFC2865] and [RFC2866]) and DIAMETER (see
   [RFC3588] and [I-D.ietf-aaa-diameter-cc]) are also protocols which
   provide information about consumed resources.  The Meter MIB
   [RFC2720] is a MIB for collecting flow information.

   However, it is also necessary to configure and coordinate the
   entities performing the metering.  RADIUS, DIAMETER and SNMP are
   candidates for this configuration.  Nevertheless, these protocols
   require some knowledge about the location of the appropriate Metering
   Entities to configure them.

   In more complex network topologies and architectures, the appropriate
   entities to meter the properties of a given data flow can be
   discovered dynamically using path-coupled signaling.  If more than
   one Metering Entity is required, all of them can potentially be
   configured and coordinated with a single message along the path.

   Scenarios and requirements for Metering NSLP are described in
   [I-D.fessi-nsis-m-nslp-framework].

   This draft defines the Metering NSLP for configuration and
   coordination of Metering Entities in a path-coupled fashion.


2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

   Furthermore, the terminology defined by GIST [I-D.ietf-nsis-ntlp]
   applies to this draft.

   Moreover, this document uses the following terms:

   Metering Record

      A Metering Record describes flow characteristics for a particular
      flow.  Examples of such data are packet counter and time
      information.



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt        [Page 5]


Internet-Draft                Metering NSLP                   March 2007


   Monitoring Probe

      A Monitoring Probe is an entity that examines data flows in order
      to gather Metering Records.

   Metering Entity

      A Metering Entity is a node that is equipped with one or more
      Monitoring Probes.  A Metering Entity MAY process the Metering
      Records, e.g. by aggregating them or by sampling them, before they
      are exported elsewhere, typically to a Collector.  A Metering
      Entity MAY host other functions, for example, for processing of
      NSIS signaling.

   Collector

      A Collector receives Metering Records from one or multiple
      Metering Entities.  These Metering Records can be aggregated
      and/or correlated by the Collector.  The Collector is typically
      not co-located with a Metering Entity.  Another protocol (e.g.
      IPFIX) is needed to transport the Metering Records from the
      Metering Entity to the Collector.

   Metering Configuration State

      A State used/kept by the Metering Manager to configure the
      Monitoring Probe.

   Metering Manager

      A unit co-located with the Monitoring Probe that communicates with
      M-NSLP processing.  It holds Metering Configuration State which is
      used to configure the Monitoring Probe.

   Metering NSIS Entity (MNE)

      A Metering Entity which supports the Metering NSLP.

   Metering NSIS Initiator (MNI)

      The first node in the sequence of MNEs that issues a configuration
      message for a flow or aggregate.

   Metering NSIS Responder (MNR)

      The last node in the sequence of MNEs that receives a
      configuration message for a flow or aggregate.




Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt        [Page 6]


Internet-Draft                Metering NSLP                   March 2007


   Metering NSIS Forwarder (MNF)

      A MNE that is neither MNI nor MNR.



3.  Protocol Overview

   The design for the Metering NSLP and the processing of M-NSLP
   messages is in some aspects similar to QoS NSLP
   [I-D.ietf-nsis-qos-nslp] and in other aspects to the NATFW NSLP
   [I-D.ietf-nsis-nslp-natfw].  One of the main differences compared to
   the QoS NSLP and the NATFW NSLP is that only a subset (in some cases
   even only one) of the Metering Entities in the signaling path will
   take part in the actual Metering.  This fact has several consequences
   on the signaling itself and therefore on the protocol design.

3.1.  Model of operation

   Figure 1 shows an example logical model of the operation of the
   Metering NSLP and the associated metering mechanism in a MNE.






























Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt        [Page 7]


Internet-Draft                Metering NSLP                   March 2007


                      +---------------+
                      |     Local     |
                      | Management    |
                      +---------------+
                              ^
                              V
          +---------+    +----------+    +----------+
          | Policy  |    |  M-NSLP  |    | Metering |
          | Control |<<>>|Processing|<<>>|  Manager |
          +---------+    +----------+    +----------+
                           .  ^   |        V
                           |  ^   .        V
                           |  V   .        V
                           |  V   .        V
                          +----------+     V
                          |   GIST   |     V
                .-.-.-.-.-|Processing|-.-.-v.-.-.-.-.-.-.-
                .         +----------+     V             |
                |                          v             .
                .                          v             |
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                |                          v             |
                .                          v             .
                |        +---------------------+         |
          +----------+   |                     |    +-----------+
      <-.-|  Input   |   |   Monitoring        |    | Outgoing  |-.->
          |  Packet  |   |                     |    | Interface |
      ===>|Processing|===|     Probe           |====|           |==>
          +----------+   |                     |    +-----------+
                         +---------------------+

              <.-.-> = signaling flow
              =====> = data flow (sender --> receiver)
              <<<>>> = control and configuration operations

                Figure 1: Metering-NSLP in Metering Entity

   The Monitoring Probe collects metering data and processes them into
   Metering Records, which can be sent to the Collector.  The Monitoring
   Probe is co-located with the Input Packet Processing and the Outgoing
   Interface.

   A M-NSLP message called CONFIGURE transports:
   o  Control information objects for the M-NSLP Processing, such as
      message sequence numbers and whether the MNE should actually take
      part in the metering process





Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt        [Page 8]


Internet-Draft                Metering NSLP                   March 2007


   o  Metering configuration information objects, also called MSPEC
      objects, that describe the actual configuration information.  The
      MSPEC objects are interpreted by the Metering Manager and SHOULD
      be opaque to the M-NSLP Processing.
   o  Policy information to authenticate and authorize the configuration
      request

   The M-NSLP Processing decides if the current MNE is addressed by this
   configuring message.  If yes, the MSPEC objects are extracted from
   the M-NSLP message and passed to the Metering Manager, where they are
   interpreted and used to install Metering Configuration State.  The
   Metering Manager uses this state to configure the Monitoring Probe.

   The Policy Control determines whether the sender of the M-NSLP
   message is authorized to configure the Monitoring Probe.

   From the perspective of a single node, the request for configuration
   of Metering Entities may result from processing a local management
   request, or from processing an incoming M-NSLP message.  The local
   management may in turn be triggered by a local application, e.g. when
   a video is requested from a video server, or by a physically separate
   network node.

3.2.  Metering NSLP Messages

   The Metering NSLP messages are classified into 3 categories:
   o  request messages
   o  response messages
   o  asynchronous notifications

3.2.1.  CONFIGURE

   CONFIGURE is a M-NSLP request message.  It is used to create Metering
   Configuration State in a Metering Entity.

3.2.2.  REFRESH

   REFRESH is a M-NSLP request message.  It is used:
   o  to extend the lifetime of an existing M-NSLP session.
   o  for terminating a session (with session lifetime zero).
   o  to detect route changes at the NSLP layer.

3.2.3.  OPTIONS

   OPTIONS is a M-NSLP request message.  It is used to inquire the
   metetering capabilities of MNEs along the signaling path.





Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt        [Page 9]


Internet-Draft                Metering NSLP                   March 2007


3.2.4.  RESPONSE

   The RESPONSE message is used to provide information about the result
   of a previous M-NSLP request.  This includes explicit confirmation of
   the state manipulation signaled in the CONFIGURE/REFRESH message or
   an error code.

3.2.5.  NOTIFY

   The NOTIFY message is an asynchronous notifications message used to
   convey information to a MNE.  It differs from RESPONSE messages in
   that it is sent asynchronously and does not need to refer to any
   particular state or previously received message.  The information
   conveyed by a NOTIFY message is typically related to error
   conditions.  An example would be a notification to the MNI about
   state being torn down.


4.  Design Decisions

4.1.  Soft State

   NSIS state is always soft state and needs to be refreshed.  The
   control information in CONFIGURE/REFRESH messages carry an object
   that determines the lifetime of a M-NSLP session.  The MNI suggests a
   lifetime for the session that it is being signaled for.  Each MNE
   participating in the metering process MAY or MAY not accept the
   suggested lifetime or MAY start the metering with a reduced lifetime,
   depending on the local policies of the MNEs.  This behavior is
   similar to the calculation of session lifetime in the NATFW-NSLP
   [I-D.ietf-nsis-nslp-natfw].

4.2.  Message Sequencing

   The order in which M-NSLP requests arrive influences the eventual
   configuration state that will be stored at a MNE.  Therefore the
   M-NSLP supports the detection of message duplication and re-ordering
   using a Message Sequence Number (MSN) object.  More Details on
   Message Sequencing are provided in Section 6.2.3

4.3.  Message Scoping

   Metering Entities at the edge of a signaling scope (for example, at
   the edge of the administrative domain of an ISP) MUST be marked
   accordingly.  The Metering NSLP does not provide means by itself to
   discover dynamically the border of the signaling scope.

   When a MNE recognize that it is at the edge of the signaling scope,



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 10]


Internet-Draft                Metering NSLP                   March 2007


   it MUST terminate the signaling and act as NSIS Responder (NR).

4.4.  Selection of MNEs

   An interesting feature of the Metering NSLP is that only a subset of
   MNEs on the data path might take part in the actual metering.
   Metering Entities taking part in the metering process are determined
   based, for example, on their type or position on the path.

   When a CONFIGURE message is sent, each MNE on the data path needs to
   determine whether it will take part in the metering process.  For
   this reason, the 'Selection of Metering Entities' object is included
   in CONFIGURE messages.

4.5.  Coordination of Metering Tasks

   The M-NSLP allocates different metering tasks to different Metering
   Entities on the signaling path depending on their position and
   metering capabilities.  A 'Correlation ID' is included in the MSPEC
   and distributed to the Metering Entities during the configuration
   process.  This 'Correlation ID' can be forwarded to the Collector,
   which can correlate Metering Records coming from different Metering
   Entities and belonging to the same session/measurement.

4.6.  Aggregation

   The metering configuration SHOULD allow aggregation of Metering
   Records belonging to the same user or application.  The information
   required for the aggregation must be specified in the MSPEC.  Such
   aggregation can be done in two ways.
   o  A Monitoring Probe separately collects and reports data for each
      micro flow (e.g., given for all different combinations of port
      numbers) contained in the macro flow that is signaled by the NTLP.
   o  A Monitoring Probe separately collects micro flows but reports all
      flows in a single record.

4.7.  Reaction to Route Changes

   M-NSLP automatically adapts to re-routing events.  State along the
   old path times out automatically.  When a new REFRESH message is
   initiated by the MNI and hits a MNE that is a new on the signaling
   path, the MNE sends a negative RESPONSE with error code "Unknown
   Session" backwards to the MNI.  The MNI MAY re-initiate the signaling
   along the new path.

   Since metering tasks are allocated dynamically to MNEs on the path,
   when a MNE receives a CONFIGURE message for an existing session, old
   state for this session MUST be torn down and a new session is created



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 11]


Internet-Draft                Metering NSLP                   March 2007


   in order to avoid inconsistencies with an old configuration.

4.8.  Metering Configuration Information

   The actual configuration information for the Metering Entities is
   carried within the MSPEC objects.  MSPEC objects are interpreted by
   the Metering Manager and SHOULD be opaque to M-NSLP Processing.  Each
   MSPEC object contains a meter configuration.  A single CONFIGURE
   message MAY contain multiple MSPEC objects describing different
   metering tasks, which MAY be allocated to different MNEs.

   The Metering NSLP does not provide its own format for encoding the
   MSPEC objects.  Instead, formats of existing protocols, such as IPFIX
   [I-D.ietf-ipfix-protocol], Diameter [RFC3588], or NetFlow [RFC3954],
   are re-used.  The encoding of an MSPEC object depends on the metering
   and reporting technology.  For example, the MSPEC object used for the
   configuration of an IPFIX device is encoded in IPFIX format.
   Technology-specific encoding avoids the problems of mapping the
   different semantics of information models for these technologies to
   each other.

4.9.  Required State Information

   For each M-NSLP session, the required state information at each MNE
   consists of:

   NTLP state

      NTLP state is required for each M-NSLP session at each MNE on the
      signaling path, even if the MNE is not taking part in the metering
      process, in order to avoid GIST re-discovering the MNE each time
      when it refreshes its routing state [I-D.ietf-nsis-ntlp].

   M-NSLP state

      M-NSLP state is required for each M-NSLP session at each MNE on
      the signaling path.  Even if the MNE is not taking part in the
      metering process a minimal session state is required, which
      consists of the Session Identifier (SID) and the Session Lifetime
      (Session_LT).
      Assume MNEs located on the signaling path, which are not taking
      part in the metering process, would not save M-NSLP state for this
      M-NSLP session.  Then when a MNE receives a REFRESH message with
      an unknown Session ID, it would not be able to make the
      difference:
      *  whether the MNE is new on the signaling path due to a route
         change




Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 12]


Internet-Draft                Metering NSLP                   March 2007


      *  or whether the MNE has been already on the signaling path but
         is not taking part in the metering process.
      Therefore, the MNE needs to keep M-NSLP state for this session in
      order to be aware of it.  Implementations of the M-NSLP MAY
      include optimizations to reduce the amount of memory required if
      the session is known but the MNE is not taking part in the
      metering process.

   Metering Configuration State (Optional)

      Metering Configuration State is required for each M-NSLP only if
      the MNE is taking part in the metering process.  It includes the
      MSPEC objects which describe the metering tasks that are allocated
      to the MNE.



5.  Metering NSLP Messages and Objects

5.1.  Metering NSLP Objects

5.1.1.  The 'Session Identifier' Object (SID)

   SID is globally statistically unique identifier for a MNSLP session.
   SID is not carried explicitly by MNSLP messages.  It is rather
   carried by GIST.

   SID MUST be generated for each new MNSLP session by the MNI and
   provided to GIST via the GIST API.  All MNFs and the MNR receive the
   SID via the GIST API and MUST NOT modify it.

   Note that this is conform to the specification of GIST
   [I-D.ietf-nsis-ntlp]: Section 3.5.  (Signaling Sessions): "Signaling
   applications provide the session identifier (SID) whenever they wish
   to send a message, and GIST reports the SID when a message is
   received."

5.1.2.  The 'Message Sequence Number' Object (MSN)

   MSN is used to detect duplicate and lost Metering NSLP messages.  It
   is also used to to mach an incoming RESPONSE message to the
   appropriate request.

5.1.3.  The 'Selection of Metering Entities' Object (MNE_Selection)

   This object is required to determine which MNEs will actually take
   part in the metering.  The value of MNE_Selection can be one of the
   following:



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 13]


Internet-Draft                Metering NSLP                   March 2007


   o  FIRST: the first MNE in the signaling path, i.e. the NI.

   o  LAST: the last MNE signaling in the signaling path, i.e. the NR

   o  'FIRST_and_LAST': both the NI and the NR take part in the
      signaling.

   o  ANY: any available MNE can perform the metering.

   o  ALL: Each MNE capable of executing this metering request MUST
      perform it.  "ALL" must be interpreted here as "as many as
      possible".

   o  Enterprise-specific: Enterprises may wish to define their own
      methods to decide which Metering Entities should perform the
      metering.  In this case, the parameter 'Selection of Metering
      Entities' needs to be combined with an enterprise-specific
      identifier.  (See also
      http://www.iana.org/assignments/enterprise-numbers) If enterprises
      use their own defined methods for the MNE selection, some other
      M-NSLP objects not defined in this document may be required to
      take the decision which MNE will take part in the metering
      process.

5.1.4.  The 'Session Lifetime' Object (Session_LT)

   This object carries the requested lifetime for a M-NSLP session in a
   CONFIGURE / REFRESH message or the granted session lifetime in a
   RESPONSE message, in milliseconds.  When a M-NSLP session expires,
   the Metering Manager MUST configure the Monitoring Probe to stop the
   Metering.

   A value of zero for the 'Session Lifetime' object leads to immediate
   termination of the corresponding session.

5.1.5.  The 'MNSLP Hop Count' Object (MNSLP_Hop_Count)

   This object carries the number of previous MNEs on the signaling path
   for this session.  This object is a integer which starts by zero at
   the MNI and MUST be incremented by one at each MNSLP hop on the
   signaling path.

5.1.6.  The 'Information Code' Object (INFO)

   This object carries the response code, which may be an indication for
   either a successful or failed request depending on the value of the
   'response code' field (See Section 8.2.4 for more details).




Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 14]


Internet-Draft                Metering NSLP                   March 2007


5.1.7.  MSPEC Objects

   The MSPEC objects describe the actual Configuration information.
   They are interpreted in the Metering Manager and SHOULD be opaque to
   M-NSLP Processing.  MSPEC objects are described separately in
   Section 5.3.

5.2.  Metering NSLP Messages

   This section defines which objects are carried in each Metering NSLP
   message.  The description is provided in Augmented Backus-Naur Form
   (ABNF) specified in [RFC4234].  Message format at the bit-level is
   provided in Section 8

   The ABNF implies an order for the objects in a message.  However, in
   many (but not all) cases, object order makes no logical difference.
   An implementation should create messages with the objects in the
   order shown here, but accept the objects in any order, except for
   MSPEC object(s) which always appear last in the message, and whose
   mutual order matters.

   All M-NSLP messages start with a common header 'HEADER' which is
   defined in Section 8

   Note that the Session ID (SID) is not explicitly mentioned in this
   notation, since it is provided in GIST.

5.2.1.  CONFIGURE

   The format of a CONFIGURE message is as follows:

   CONFIGURE = HEADER MSN Session_LT MNE_Selection [MNSLP_Hop_Count]
   <1>*MSPEC

   (According to [RFC4234] '<1>*MSPEC' means 'one or more MSPEC
   objects')

5.2.2.  REFRESH

   The format of a REFRESH message is as follows:

   REFRESH = HEADER MSN Session_LT

5.2.3.  OPTIONS

   The format of a OPTIONS message is as follows:

   OPTIONS = HEADER MSN



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 15]


Internet-Draft                Metering NSLP                   March 2007


5.2.4.  RESPONSE

   The format of a RESPONSE message is as follows:

   RESPONSE = HEADER MSN INFO Session_LT <0>*MSPEC

   (According to [RFC4234] '<0>*MSPEC' means 'zero or more MSPEC
   objects')

   The MSN MUST be the same as in the corresponding M-NSLP request in
   order to match a RESPONSE message to the appropriate request

   Session_LT carries the granted session lifetime, which might be lower
   than the session lifetime requested by the MNI.

   NO MSPEC object MUST be included if INFO indicates a successful
   confirmation of the request.  The MSPEC objects are required only to
   report a failure in case the MSPEC objects list in the CONFIGURE
   message, or a sub-set of it, can not be processed.

5.2.5.  NOTIFY

   The format of a NOTIFY message is as follow:

   NOTIFY = HEADER INFO

   The INFO indicates the reason for the notification.

5.3.  MSPEC Objects

   As mentioned above, the MSPEC objects describe the actual
   configuration information.  They are interpreted in the Metering
   Manager and SHOULD be opaque to M-NSLP Processing.  Each MSPEC object
   contains a meter configuration.  The MRI provides additional
   information to the MSPEC object on the flows/packets to be metered.
   The combination of the MRI and an MSPEC object contains a complete
   description of a requested metering task.  A single CONFIGURE message
   may contain multiple MSPEC objects describing different metering
   tasks.

   There is no common format or semantics for encoding metering tasks
   within an MSPEC object.  The encoding of an MSPEC object depends on
   the requested metering and reporting technology, such as IPFIX,
   Diameter, or NetFlow.

   There are different types of MSPEC objects depending on the metering
   and reporting technology.  For example, there are IPFIX MSPEC
   objects, Diamter MSPEC objects, etc.  The object type, which is



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 16]


Internet-Draft                Metering NSLP                   March 2007


   provided in the object header as described in Section 8.2, implicits
   the requested metering and reporting technology.

   Independently of the encoding, each MSPEC object MUST, in combination
   with the MRI, contain sufficient information for configuring an MNE
   to peform a metering task.  Specifications of MSPEC objects MUST
   ensure that they provide sufficient means for configuring the MNE as
   described in sections 4.1.2 and 4.2.2 of
   [I-D.fessi-nsis-m-nslp-framework].

   Below the MSPEC object for IPFIX metering tasks is specified.  MSPEC
   objects for other meters may be defined in further standards
   documents.  Proprietary MSPEC objects MAY be also used.

5.3.1.  IPFIX MSPEC Object

   The IPFIX MSPEC object uses structure, semantics and encoding of
   IPFIX Messages as defined in [I-D.ietf-ipfix-protocol] and
   [I-D.ietf-ipfix-info].  An IPFIX MSPEC object consists of a single
   IPFIX Message that contains three Sets, a Template Set, an Option
   Template Set, and a Data Set. Each set contains a single record only.

   Fields of the header of the contained IPFIX Message are filled with
   values according to section 3.1 of [I-D.ietf-ipfix-protocol] except
   for fields "Export Time" and "Observation Domain ID" which must be
   both set to 0x00000000.

   The Template Record in the Template Set defines the requested
   reporting.  Except for the Template ID in the Template Record Header,
   the MNE MUST use exactly this Template Record for reporting metering
   results.  The MNE also MUST use the Template ID received in the
   Template record for its metering reports.  But if there is a
   collision caused by two different MSPEC objects (potentially from
   different NSIS sessions) that would violate the uniqueness of
   Template IDs as specified in section 3.4.1 of
   [I-D.ietf-ipfix-protocol], then the MNE MUST solve this conflict by
   modifying Template IDs.  In order to keep the probability of such a
   collision low, the Template ID SHOULD be a randomly generated number.

   The Option Template Record in the Option Template Set describes the
   format of the single Data Record in the Data Set. To the Template ID
   the same rules apply as for the Template Record.  The Scope Field
   Count is always 0.

   The Data Record in the Data Set contains the requested metering
   configuration.  It is structured according to the Option Template
   Record in the Option Template Set. It MUST contain the following
   Information Elements that are specified in [I-D.ietf-ipfix-info].



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 17]


Internet-Draft                Metering NSLP                   March 2007


   flowKeyIndicator

      This Information Element identifies which of the reported Flow
      properties are Flow Keys.

   collectorIPv4Address or collectorIPv6Address, respectively

      The IPv4 or IPv6 address, respectively, to which metering results
      are requested to be reported.

   collectorProtocolVersion

      The version of the IPFIX protocol to be used.

   collectorTransportProtocol and collectorTransportPort

      The transport protocol and transport port number to be used for
      reporting metering results

   The Data record MAY contain further Information Elements for
   specifying the metering task, for example, the flowIdleTimeout.

   If flow properties to be measured are specified in the Data record,
   they serve as filter.  Only Flows that match the values of all these
   Information Element MUST be reported by the MNE.  If multiple values
   are contained for the same property, i.e. it multiple Information
   Elements with the same Information Element identifier are contained,
   then it is sufficient if one of these values is matched by a Flow.


6.  Processing Rules

6.1.  Session State Machine

   The hereby presented state machine of a M-NSLP session outlines the
   operation of the M-NSLP.  It has three main states:

   'closed':

      At this state, the MNE does not keep any state for the session.

   'pending':

      At this state a CONFIGURE message has been received.  The
      'pending' state consists of 2 sub-states






Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 18]


Internet-Draft                Metering NSLP                   March 2007


      pending.forward

         The MNE is not taking part in the metering process.  Instead,
         it is just expecting a confirmation to know that the session is
         active and some other MNEs will be metering.

      pending.participating

         The MNE is actively taking part in the metering process.  The
         MNE has been configured.  However, the configuration has not
         been activated yet, i.e. metering function has not been
         started.

   'metering':

      At this state the configuration request has been successfully
      confirmed with an appropriate RESPONSE message.  The 'metering'
      state consists also of 2 sub-states.

      metering.forward

         The MNE is not actively taking part in the metering process.
         Instead, it is informed that the session is active and there
         are some other MNEs along the signaling path for this session
         that took over the metering process.

      metering.participating

         The MNE is actively taking part in the metering process The MNE
         is metering according to a metering configuration received by a
         CONFIGURE message.


   A session is uniquely identified by the SID.  All sessions start in
   state 'closed'.  Transitions between states are caused by events:

   CONF:

      This transition is triggered by a CONFIGURE message that is
      received and processed successfully by the MNE and that identifies
      a new session.

   CONF-O:

      This transition is triggered by a CONFIGURE message that is
      received and processed successfully by the MNE and that identifies
      an existing session in state 'pending' or 'metering'.  This
      transition leads always to the state 'closed' in order to avoid



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 19]


Internet-Draft                Metering NSLP                   March 2007


      inconsistencies with old configurations.  Furthermore, this
      transition MUST be immediately followed by a 'CONF' transition,
      i.e. after the old session is torn down, a new session is created.

   REFR:

      This transition is triggered by a REFRESH message that identifies
      an existing session in state 'pending' or 'metering'.

   RESP-P:

      This transition is triggered by a positive RESPONSE message that
      indicates that a metering configuration request or a refreshing
      request can be activated.  This transaction always leads to state
      'metering'.

   RESP-N:

      This transition is triggered by a negative RESPONSE message.  This
      transaction always leads to state 'closed'.

   T-OUT-1:

      This transition is triggered by a timeout of a session in state
      'pending'.  The time interval for this timeout is typically large
      enough in order to tolerate network failures, network congestion
      and slow MNEs along the signaling path.  This transition always
      leads to state 'closed'.

   T-OUT-2:

      This transition is triggered by a timeout of a session in state
      'metering'.  The time interval for this timeout is defined by the
      MNSLP session lifetime.  This transition always leads to state
      'closed'.
















Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 20]


Internet-Draft                Metering NSLP                   March 2007


            REFR +----+
                 |    v
              +----------+
              | session  |
              | closed   |<---------------+
              +----------+                |
                 |    ^                   |
                 |    | CONF-O            | CONF-O
            CONF |    | RESP-N            | RESP-N
                 v    | T-OUT-1           | T-OUT-2
              +----------+           +----------+
              | pending  |  RESP-P   | metering |
              |          |---------->|          |
              +----------+           +----------+
                 |    ^                 |    ^
            REFR |    |            REFR |    |
                 +----+          RESP-P +----+



                  Figure 2: M-NSLP Session State Machine

6.2.  Standard Message Processing Rules

6.2.1.  Message Parsing

   When a M-NSLP message is received, the MNE first checks the message
   format.  In case of a malformed message or a mandatory object is
   missing, the MNE MUST NOT propagate the message any further.  If the
   message has been a request the MNE MUST construct an RESPONSE message
   indicating the error condition and send it back to towards the MNI.
   If it has been a response, the message is discarded silently.

   If a message contains an object of an unrecognized type, then the
   behavior depends on the object type value.

6.2.2.  Authentication and Authorization

   When a M-NSLP message is received, the MNE MUST determine whether the
   sender of the request is authenticated and authorized before any
   state changing actions are performed.

6.2.3.  Message Sequencing

   Message sequencing in the Metering NSLP is identical to message
   sequencing in the NATFW NSLP.

   In more details:



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 21]


Internet-Draft                Metering NSLP                   March 2007


   M-NSLP messages need to carry an identifier so that all MNEs along
   the path can distinguish messages sent at different points in time.
   Messages can be lost along the path or duplicated.  So all MNEs
   should be able to identify either old messages that have been
   received before (duplicated), or the case that messages have been
   lost before (loss).  This requires every Metering message to carry a
   message sequence number (MSN), see also Section 5.1.2.

   The MSN MUST be set by the NI and MUST NOT be set or modified by any
   other MNE.  The initial value for the MSN MUST be generated randomly
   and MUST be unique only within the session for which it is used.  The
   NI MUST increment the MSN by one for every message sent.  Once the
   MSN has reached the maximum value, the next value it takes is zero.
   All MNEs MUST use the algorithm defined in [RFC1982] to detect MSN
   wrap-arounds.

   NSIS forwarders and the responder store the MSN from the initial
   CONFIGURE packet which creates the session as the start value for the
   session.  NFs and NRs MUST include the received MSN value in the
   corresponding RESPONSE message that they generate.

   When receiving a request message, a MNE uses the MSN given in the
   message to determine whether the state being requested is different
   to the state already installed.  If the received MSN value is equal
   to or lower than the stored MSN value, this can indicate a duplicated
   or replayed message.  In this case, the message MUST NOT have any
   impact the state of the MNE or the MNSLP session.  However, the
   message MUST be forwarded towards the next MNSLP hop, since one or
   more of the MNEs on the rest of the signaling path may have not
   received this message yet.

   If the received MSN value is greater than the already stored MSN
   value, the MNE MUST update its stored state accordingly, if permitted
   by all security checks, and stores the updated MSN value accordingly.

6.2.4.  MNSLP Hop Counting

   Depending on the application scenario for the MNSLP, MNEs may need to
   know their position on the signaling path.  In this case, a MNE needs
   to make the difference between:
   o  the number of IP hops between the MNI and itself
   o  the number of GIST hops between the MNI and itself
   o  the number of MNSLP hops between the MNI and itself

   The GIST-hop-count and IP-TTL can be provided by the GIST API as
   described in [I-D.ietf-nsis-ntlp] (Section B.1 and Section B.2).

   The MNI MAY introduce an 'MNSLP Hop Count' object in the CONFIGURE



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 22]


Internet-Draft                Metering NSLP                   March 2007


   message.  In cases it does, it MUST set the 'MNSLP Hop Count' to
   zero.

   If a 'MNSLP Hop Count' object is included in a CONFIGURE message,
   MNFs and MNRs MUST increment the 'MNSLP Hop Count' by one before the
   message is forwarded to the next MNSLP hop.

6.3.  Message Processing Rules

6.3.1.  CONFIGURE

   When a MNE receives a CONFIGURE message, and after successful message
   parsing and authentication/authorization are performed, the MNE
   performs a lookup in its M-NSLP session table.  If the session
   already exists, the state for this session MUST be torn down and a
   new session MUST be created in order to avoid inconsistencies with
   earlier configurations due to the dynamic allocation of the MSPEC
   objects to the MNEs.

   Now, regardless of whether the session is new or has been renewed,
   the MNE needs to figure out if it will take part in the metering
   process based on the MNE_Selection object, the MSPEC objects list and
   the capabilities of the MNE.

6.3.1.1.  MNE_Selection is ALL

   o  If the MNE is capable of metering the objects in the MSPEC objects
      list, then the MNE is taking part in the metering process.  The
      MNE MUST change the current session state to
      'pending.participating'.

   o  If the MNE is NOT capable of metering the objects in the MSPEC
      objects list, then the MNE is NOT taking part in the metering
      process.  The MNE MUST change the current session state to
      'pending.forward'

6.3.1.2.  MNE_Selection is FIRST_and_LAST

   If MNE_Selection is FIRST_and_LAST and the MNE is the first or the
   last on the signaling path:

   o  If the MNE is capable of metering the objects in the MSPEC objects
      list, then the MNE is taking part in the metering process.  The
      MNE MUST change the current session state to
      'pending.participating'.






Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 23]


Internet-Draft                Metering NSLP                   March 2007


   o  If MSPEC objects can not be metered, i.e. the MNE is the first or
      the last on the signaling path but is not capable to measure the
      objects given in the MSPEC objects list, the MNE generates a
      negative RESPONSE message with the appropriate INFO object.  The
      MNE changes the current session state to 'closed'.
   o  EDITORIAL NOTE: The case FIRST_and_LAST is different from the
      cases ALL and ANY here.

   If MNE_Selection is FIRST_and_LAST and the MNE is NOT the first NOR
   the last on the signaling path, the MNE MUST change the current
   session state to 'pending.forward'.

6.3.1.3.  MNE_Selection is ANY

   In case MNE_Selection is 'ANY', the MNE inspects the MSPEC objects
   list and removes those objects that it is capable to meter and adds
   them to its local MSPEC objects list for this session.  This local
   MSPEC objects list represents the list of metering tasks allocated to
   this MNE for this session.
   o  After inspecting the MSPEC objects list in the CONFIGURE message,
      if the local MSPEC objects list is empty, i.e. the MNE is not able
      to meter any of the given objects in the MSPEC objects list, the
      MNE MUST change the current session state to 'pending.forward'.
   o  If the local MSPEC objects list is NOT empty, i.e. the MNE has
      been allocated some metering tasks from the MSPEC objects list,
      the MNE MUST change the current session state to
      'pending.participating'.  The local MSPEC objects is stored in the
      Metering Configuration State in order to use when the
      configuration will be activated.

6.3.2.  REFRESH

   When a MNE receives a REFRESH message, and after successful message
   parsing and authentication/authorization are performed, the MNE
   performs a lookup in its M-NSLP session table.
   o  If the Session ID is not known, the MNE constructs a negative
      RESPONSE message with the appropriate error code and sends it
      upstream towards the MNI.
   o  If the Session ID is found, the MNE remembers the requested
      lifetime in the REFRESH message and waits for a confirmation with
      a RESPONSE message.  The current session state remains the same.

6.3.3.  OPTIONS

   tbd.






Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 24]


Internet-Draft                Metering NSLP                   March 2007


6.3.4.  RESPONSE

   When a MNE receives a RESPONSE message and after successful message
   parsing and authentication/authorization are performed, the remaining
   processing of the RESPONSE message depends on whether it is a
   negative RESPONSE or a positive RESPONSE.  If it is a negative
   RESPONSE with the appropriate INFO object:
   o  The MNE MUST change the current state for this session to
      'closed'.
   o  The MNE MAY keep state information for this session for
      optimization purposes, since the the MNI may re-initiate the
      signaling with different parameters soon.
   o  The MNE MUST forward the message upstream towards the MNI as
      described in Section 6.4.

   When the MNI receives this message it MAY take the appropriate action
   based on the content of the INFO object.

   If the RESPONSE message is a positive RESONSE, the processing of the
   message depends on the type of the corresponding M-NSLP request:

   RESPONSE to a CONFIGURE message

      The pending configuration can be activated.  If the session is
      currently in state 'pending.participating' the MNE MUST change the
      session state to 'metering.participating', and the Monitoring
      Probe MUST be configured to start the metering.
      If the session is in state 'pending.forward' the MNE MUST change
      the session state to 'metering.forward'.  No configuration action
      with the Monitoring Probe is taken.

   RESPONSE to a REFRESH message

      All existing timeouts for this session are reset.  The session
      lifetime is extended with the lifetime given in the RESPONSE
      message.  Note that this can be different from the session
      lifetime given in the previous REFRESH message.

   In both cases, the MNE updates the session lifetime.  If the session
   lifetime is zero, this implies that the session state is changed
   immediately to 'closed'.

6.3.5.  NOTIFY

   tbd.






Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 25]


Internet-Draft                Metering NSLP                   March 2007


6.4.  Message Forwarding

   CONFIGURE / REFRESH

      After a M-NSLP request is successfully processed as described in
      Section 6.3 (no error has been generated), then the session can be
      either in state 'pending' or 'metering'.  Now, MNE needs to decide
      whether to forward the M-NSLP request towards the MNR or to
      construct a positive RESPONSE message.  M-NSLP requests MUST be
      forwarded downstream except if:
      *  the M-NSLP request has reached the MNR
      *  the 'scoping' flag is set and the signaling scope has been
         reached.
      *  all the involved MNEs in the metering process for this session
         have been reached.

      The latter case can occur with a CONFIGURE request if
      MNE_Selection is 'ANY' and the MSPEC objects list has become
      empty, i.e. an appropriate MNE has been already found for each
      object in the MSPEC objects list and all the metering tasks have
      been allocated to some Metering Entities.

      EDITORIAL NOTE: it has to verified whether this is the only case.

      In this case, the MNE MUST act as a MNR for this session from now
      on.  All the remaining requests MUST NOT be forwarded any further.

   RESPONSE / NOTIFY

      M-NSLP response messages and asynchronous notifications are
      forwarded upstream, i.e. the reverse direction of the data flow,
      until they reach the MNI.

6.5.  Interaction with GIST

   M-NSLP request messages (CONFIGURE or REFRESH) are initiated by the
   MNI and forwarded downstream, i.e. in the same direction as the data
   flow, towards the MNR, using the GIST API.

   M-NSLP response messages can be initiated by the MNR or by any MNF on
   the signaling path and forwarded upstream, i.e. in the reverse
   direction as the data flow, towards the MNI, using the GIST API.

   M-NSLP asynchronous notifications can be initiated by any MNE on the
   signaling path and forwarded upstream, i.e. in the reverse direction
   as the data flow, towards the MNI, using the GIST API.

   All M-NSLP signaling is transported using GIST C-mode.



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 26]


Internet-Draft                Metering NSLP                   March 2007


   EDITORIAL NOTE: it should be verified whether D-mode might be also an
   option for initial configuration messages.  However, authentication/
   authorization issues need to be considered.


7.  Examples of Operation

7.1.  Example with MNE_Selection is ANY

   The MNI constructs a CONFIGURE message with the required MSPEC
   objects, and sends it towards the MNR.  Assume 2 MSPEC objects are
   included, for example, MSPEC1 for 'counting bytes', and MSPEC2 for
   'reporting the usage of the wireless link'.  Assume further that MNI
   itself can perform MSPEC1 while and MNF2 can perform MSPEC2, for
   example, because it is an access router managing a range of WLAN
   networks.  MNR can be, for example, the WLAN access point.

   The CONFIGURE message is interpreted by the MNEs along the data path.

   MNI removes MSPEC1 from the MSPEC objects list, changes its session
   state from 'closed' to 'pending.participating' and forwards the
   CONFIGURE message to MNF1.

   MNF1 receives the CONFIGURE message with only MSPEC2 in the MSPEC
   objects list.  However, MNF1 does not have the capabilities to meter
   and report the usage of the wireless link.  MNF1 changes its session
   state from 'closed' to 'pending.forward' and forwards the CONFIGURE
   message to MNF2.

   MNF2 interprets the CONFIGURE, removes MSPEC2 from the MSPEC objects
   list.  Furthermore, it notices that the MSPEC object lists is now
   empty.  Therefore, MNF2 replies with a positive RESPONSE message and
   becomes Responder for this session.  Subsequent signaling for this
   session is stopped at MNF2 as shown in Figure 4.  MNF2 starts the
   metering, changes the session state to 'metering.participating',
   constructs a positive RESPONSE message and sends it to MN1.

   MNF1 receives the RESPONSE message and changes the session state to
   'metering.forward'.

   MNI receives the RESPONSE message, starts the metering and changes
   the session state to 'metering.participating'.









Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 27]


Internet-Draft                Metering NSLP                   March 2007


       +---+  CONFIGURE  +--- +  CONFIGURE  +-- -+          +---+
       |   |------------>|    |------------>|    |          |   |
       |MNI|             |MNF1|             |MNF2|          |MNR|
       |   |<------------|    |<------------|    |          |   |
       +---+   RESPONSE  +--- +   RESPONSE  +----+          +---+

    Figure 3: CONFIGURE-RESPONSE Message Flow with MNE_Selection 'ANY'


       +---+    REFRESH  +---+    REFRESH  +---+          +---+
       |   |------------>|   |------------>|   |          |   |
       |MNI|             |MNF|             |MNF|          |MNR|
       |   |<------------|   |<------------|   |          |   |
       +---+   RESPONSE  +---+   RESPONSE  +---+          +---+

     Figure 4: REFRESH-RESPONSE Message Flow with MNE_Selection 'ANY'

7.2.  Example with MNE_Selection is ALL

   The MNI constructs a CONFIGURE message with the required MSPEC
   objects, and sends it towards the MNR.  The message is interpreted by
   each MNEs on the data path.  Each MNE changes its state for this
   session to 'pending.participating' or 'pending.forward' depending on
   whether they are taking part of the metering process.

   The MNR replies with a positive RESPONSE message.  The RESPONSE
   message is interpreted by each MNE.  Each MNE changes the session
   state to 'metering.participating' or 'metering.forward' depending on
   whether they are taking part of the metering process.



       +---+  CONFIGURE  +---+  CONFIGURE  +---+  CONFIGURE  +---+
       |   |------------>|   |------------>|   |------------>|   |
       |MNI|             |MNF|             |MNF|             |MNR|
       |   |<------------|   |<------------|   |<------------|   |
       +---+   RESPONSE  +---+   RESPONSE  +---+   RESPONSE  +---+

    Figure 5: CONFIGURE-RESPONSE Message Flow with MNE_Selection 'ALL'

   Similarly, a REFRESH message is initiated by MNI, travels towards the
   MNR where a RESPONSE is issued and sent back.









Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 28]


Internet-Draft                Metering NSLP                   March 2007


       +---+    REFRESH  +---+    REFRESH  +---+    REFRESH  +---+
       |   |------------>|   |------------>|   |------------>|   |
       |MNI|             |MNF|             |MNF|             |MNR|
       |   |<------------|   |<------------|   |<------------|   |
       +---+   RESPONSE  +---+   RESPONSE  +---+   RESPONSE  +---+

     Figure 6: REFRESH-RESPONSE Message Flow with MNE_Selection 'ALL'

7.3.  Example with MNE_Selection is FIRST_and_LAST

   The MNI constructs a CONFIGURE message with the required MSPEC
   objects, and sends it towards the MNR.  The message is interpreted by
   each MNEs on the data path.  Each MNE changes its state for this
   session to 'pending.forward' except MNI itself and MNR, which perform
   a transition to the state 'pending.participating'.

   The MNR replies with a positive RESPONSE message.  The RESPONSE
   message is interpreted by each MNE.  Each MNE changes the session
   state to 'metering.forward' except MNR and MNI, which perform a
   transition to the state 'metering.participating'.


       +---+  CONFIGURE  +---+  CONFIGURE  +---+  CONFIGURE  +---+
       |   |------------>|   |------------>|   |------------>|   |
       |MNI|             |MNF|             |MNF|             |MNR|
       |   |<------------|   |<------------|   |<------------|   |
       +---+   RESPONSE  +---+   RESPONSE  +---+   RESPONSE  +---+

       Figure 7: CONFIGURE-RESPONSE Message Flow with MNE_Selection
                             'FIRST_and_LAST'

   Similarly, a REFRESH message is initiated by MNI, travels towards the
   MNR where a RESPONSE is issued and sent back.


       +---+    REFRESH  +---+    REFRESH  +---+    REFRESH  +---+
       |   |------------>|   |------------>|   |------------>|   |
       |MNI|             |MNF|             |MNF|             |MNR|
       |   |<------------|   |<------------|   |<------------|   |
       +---+   RESPONSE  +---+   RESPONSE  +---+   RESPONSE  +---+

        Figure 8: REFRESH-RESPONSE Message Flow with MNE_Selection
                             'FIRST_and_LAST'








Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 29]


Internet-Draft                Metering NSLP                   March 2007


7.4.  Example with a Route Changes

   Assume a topology as in Figure 9:



           +-------+    +-------+     +-------+    +-------+
           |  MNI  |----|  MNF1 |-----|  MNF2 |----|  MNR1 |
           +-------+    +-------+ |   +-------+    +-------+
                                  |
                                  |   +-------+    +-------+    +-----+
                                  +---|  MNF3 |----|  MNR2 |----|host |
                                      +-------+    +-------+    +-----+


                  Figure 9: Example with a Route Change'

   After a route change MNF2 and MNR1 are not on the signaling path
   anymore.  MNF3 is new on the signaling path and receives a REFRESH
   message with an unknown Session ID.  It sends a negative RESPONSE
   with error code "Unknown Session".

   MNI receives the negative RESPONSE and re-initiates the signaling
   with a CONFIGURE message with the same Session ID.

   When the MNE receives a CONFIGURE message with the same Session ID it
   re-starts the configuration process: the session is considered as a
   new session.


8.  Bit-Level Formats and Error Messages

8.1.  Metering NSLP Messages

   All Metering NSLP messages start with a common header 'HEADER'.  The
   Metering NSLP common header is similar to the QoS NSLP header.  Note
   that it is not the same as the GIST Common Header.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Message Type  | Message Flags |      Generic Flags            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Figure 10: M-NSLP Message Common Header

   The fields in the common header are as follows:




Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 30]


Internet-Draft                Metering NSLP                   March 2007


   Message Type: 8 bits

         1 = CONFIGURE
         2 = RESPONSE
         3 = NOTIFY

   Message-specific flags: 8 bits
      These flags are defined as part of the specification of individual
      messages.

   Generic flags: 16 bits
      There exists currently one generic flag, the Scoping bit (S).  The
      use of the S-bit is described with each message that makes use of
      it.

      The set of appropriate flags depends on the particular message
      being processed.  Any bit not defined as a flag for a particular
      message MUST be set to zero on sending and MUST be ignored on
      receiving.

8.2.  Metering NSLP Objects

   The Metering NSLP uses the Type-Length-Value (TLV) object format
   defined by GIST [I-D.ietf-nsis-ntlp].  Every object consists of one
   or more 32-bit words with a one-word header.  For convenience the
   standard object header is shown here:


       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |A|B|r|r|         Type          |r|r|r|r|        Length         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Figure 11: M-NSLP Object Common Header

   The value for the Type field comes from Metering NSLP object type
   space, the various objects are presented in subsequent sections.  The
   Length field is given in units of 32 bit words and measures the
   length of the Value component of the TLV object (i.e., it does not
   include the standard header).

   The bits marked 'A' and 'B' are extensibility flags, and used to
   signal the desired treatment for objects whose treatment has not been
   defined in the protocol specification (i.e., whose Type field is
   unknown at the receiver).

   EDITORIAL NOTE: include text here for the explanation of the meaning



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 31]


Internet-Draft                Metering NSLP                   March 2007


   of the A and B bits.

8.2.1.  MSN

   Type:   MNSLP_MSN

   Length: 1


       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    Message Sequence Number                    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Figure 12: Message Sequence Number Object

8.2.2.  Session_LT

   Type:   MNSLP_Session_LT

   Length: 1


       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Session Lifetime                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Figure 13: Session Lifetime Object

8.2.3.  MNE_Selection

   Type:   MNSLP_MNE_Selection

   Length: 1


       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |              Selection of Metering Entities                   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Figure 14: Selection of Metering Entities Object

   Possible values are:
      1 = ALL
      2 = ANY
      3 = FIRST
      4 = LAST





Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 32]


Internet-Draft                Metering NSLP                   March 2007


      5 = FIRST_and_LAST
      greater than 1024 : Enterprise Specific

   EDITORIAL NOTE: it still needs to be defined in the case Enterprise
   Specific, how MNSLP_SelectionMNEs is encoded.

8.2.4.  INFO

   This object carries the response code, which may be indications for
   either a successful request or failed request depending on the value
   of the 'response code' field.

   Note that the format of this object is similar the INFO object for
   the NATFW NSLP.

   Type:   MNSLP_INFO

   Length: 1


       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Resv. | Class | Response Code |         Object Type           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Figure 15: Information Code Object

   The field 'Resv.' is reserved for future extensions and MUST be set
   to zero when generating such an object and MUST be ignored when
   receiving.  The 'Object Type' field contains the type of the object
   causing the error.  The value of 'Object Type' is set to 0, if no
   object is concerned.  The 4 bit class field contains the severity
   class.  The following classes are defined:
   o  0x1: Informational (NOTIFY only)
   o  0x2: Success
   o  0x3: Protocol error
   o  0x4: Transient failure
   o  0x5: Permanent failure
   o  0x6: Signaling session failures

   EDITORIAL NOTE: Response Codes need to be defined here.

8.2.5.  MSPEC Objects

   Type:

      Different types are possible.





Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 33]


Internet-Draft                Metering NSLP                   March 2007


      *  MNSLP_IPFIX_MSPEC
      *  MNSLP_DIAMETER_MSPEC
      *  MNSLP_NETFLOW9
      Note that this list is extensible.
   Length: Variable.



9.  Mapping onto M-NSLP Requirements

   EDITORIAL NOTE: This section needs to be updated.

   With the design described above, the requirements from
   [I-D.fessi-nsis-m-nslp-framework] are at this point satisfied as
   follows:

   Extensibility:

      The actual configuration information is encapsulated in the MSPEC.
      The MSPEC is designed such as it is interpreted by the Metering
      Manager and can be opaque to the M-NSLP processing.  Furthermore,
      the MSPEC can be easily extended.  Therefore, from the point of
      view of the configuration information, this requirement is
      fulfilled.  Note however, that the Metering NSLP in its current
      design might show some lack of extensibility.  For example,
      considering the selection of the MNEs, it might be useful for
      future application of the Metering NSLP to have the option "ANY
      N", where N is greater than one.

   Interoperability:

      Again, whether different metering solutions can interwork depends
      on how the MSPEC is designed.  In QoS NSLP, the QSpec template
      design [I-D.ietf-nsis-qspec] aims at similar extensibility and
      interoperability.  It needs to be studied whether or not the
      solutions chosen by the QSpec can also be applied to the MSPEC.

   Flexible metering models:

      As above, this is an issue of MSPEC design.

   Distinguishing flows

      The aggregation feature detailed in this requirement can be
      realized as described in Section 4.6.






Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 34]


Internet-Draft                Metering NSLP                   March 2007


   Flexible data collection:

      Another issue that can be fixed in the MSPEC.

   Location of Metering Entities:

      MNEs, including MNI and MNR can be located anywhere on the data
      path.

   Access parameters of the Collector Information:

      Access parameters of the Collector Information on how to deliver
      flow records to the Collector is coded in the MSPEC.

   Configuration of Metering Entities:

      The protocol can configure Metering Entities that are MNEs, or
      that are controlled by MNEs.

   Selection of Metering Entities:

      As described in Section 4.4, a MNE should be able to decide to
      pull out of the metering process.  This is realized by the
      'Selection of Metering Entities' object.

   Metering Configuration State installation and removal:

      By means of the CONFIGURE message, the protocol can install and
      remove Metering Configuration State.

   Initiation and maintenance of metering tasks:

      Triggers and correlation identifier are transported in the MSPEC.

   Reaction to Route Changes:

      The protocol detects route changes by a REFRESH or a refreshing
      CONFIGURE message and installs state along the new route, as
      described in Section 4.7.

   Scoping of configuration:

      The M-NSLP needs to provide sufficient means for flexible scoping
      signaling messages.

   Requirements not mentioned in this list are not yet addressed.





Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 35]


Internet-Draft                Metering NSLP                   March 2007


10.  Security considerations

   The process of configuring entities to start and stop metering and to
   transmit collected resource records to a third party introduces
   security challenges.

   An extensive analysis of security issues related to the Metering NSLP
   is presented in Section 7 of [I-D.fessi-nsis-m-nslp-framework].
   Based on this section, future versions of the M-NSLP protocol
   specification will elaborate the required security mechanisms for the
   M-NSLP.


11.  Open Issues

   Open issues for the Metering NSLP are discussed here:
   https://www.ri.uni-tuebingen.de/cgi-bin/roundup.cgi/mnslp/


12.  Acknowledgements

   The authors would like to thank Robert Hancock, Martin Stiemerling
   and Andreas Klenk for their valuable input.

   Furthermore, the authors would like to thank Angie So.  By providing
   the first running prototype of the Metering NSLP, she gave us a
   helpful feedback for the protocol specification.


13.  References

13.1.  Normative References

   [I-D.ietf-nsis-ntlp]
              Schulzrinne, H. and R. Hancock, "GIST: General Internet
              Signalling Transport", draft-ietf-nsis-ntlp-12 (work in
              progress), March 2007.

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

   [RFC2234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", RFC 2234, November 1997.

   [RFC4234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", RFC 4234, October 2005.

   [RFC1982]  Elz, R. and R. Bush, "Serial Number Arithmetic", RFC 1982,



Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 36]


Internet-Draft                Metering NSLP                   March 2007


              August 1996.

13.2.  Informative References

   [RFC2720]  Brownlee, N., "Traffic Flow Measurement: Meter MIB",
              RFC 2720, October 1999.

   [RFC2865]  Rigney, C., Willens, S., Rubens, A., and W. Simpson,
              "Remote Authentication Dial In User Service (RADIUS)",
              RFC 2865, June 2000.

   [RFC2866]  Rigney, C., "RADIUS Accounting", RFC 2866, June 2000.

   [RFC3588]  Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J.
              Arkko, "Diameter Base Protocol", RFC 3588, September 2003.

   [RFC3954]  Claise, B., "Cisco Systems NetFlow Services Export Version
              9", RFC 3954, October 2004.

   [RFC4080]  Hancock, R., Karagiannis, G., Loughney, J., and S. Van den
              Bosch, "Next Steps in Signaling (NSIS): Framework",
              RFC 4080, June 2005.

   [I-D.ietf-ipfix-protocol]
              Claise, B., "Specification of the IPFIX Protocol for the
              Exchange", draft-ietf-ipfix-protocol-24 (work in
              progress), November 2006.

   [I-D.ietf-ipfix-info]
              Quittek, J., "Information Model for IP Flow Information
              Export", draft-ietf-ipfix-info-15 (work in progress),
              February 2007.

   [I-D.ietf-psamp-sample-tech]
              Zseby, T., "Sampling and Filtering Techniques for IP
              Packet Selection", draft-ietf-psamp-sample-tech-07 (work
              in progress), July 2005.

   [I-D.ietf-psamp-mib]
              Dietz, T. and B. Claise, "Definitions of Managed Objects
              for Packet Sampling", draft-ietf-psamp-mib-06 (work in
              progress), June 2006.

   [I-D.ietf-psamp-info]
              Dietz, T., "Information Model for Packet Sampling
              Exports", draft-ietf-psamp-info-05 (work in progress),
              October 2006.




Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 37]


Internet-Draft                Metering NSLP                   March 2007


   [I-D.dressler-ipfix-aggregation]
              Dressler, F., "IPFIX Aggregation",
              draft-dressler-ipfix-aggregation-03 (work in progress),
              June 2006.

   [RFC3917]  Quittek, J., Zseby, T., Claise, B., and S. Zander,
              "Requirements for IP Flow Information Export (IPFIX)",
              RFC 3917, October 2004.

   [I-D.ietf-nsis-qos-nslp]
              Manner, J., "NSLP for Quality-of-Service Signaling",
              draft-ietf-nsis-qos-nslp-12 (work in progress),
              October 2006.

   [I-D.ietf-nsis-fw]
              Hancock, R., "Next Steps in Signaling: Framework",
              draft-ietf-nsis-fw-07 (work in progress), December 2004.

   [I-D.ietf-nsis-nslp-natfw]
              Stiemerling, M., "NAT/Firewall NSIS Signaling Layer
              Protocol (NSLP)", draft-ietf-nsis-nslp-natfw-13 (work in
              progress), October 2006.

   [I-D.ietf-nsis-qspec]
              Ash, J., "QoS NSLP QSPEC Template",
              draft-ietf-nsis-qspec-15 (work in progress),
              February 2007.

   [I-D.fessi-nsis-m-nslp-framework]
              Fessi, A., "Framework for Metering NSLP",
              draft-fessi-nsis-m-nslp-framework-03 (work in progress),
              June 2006.

   [I-D.ietf-aaa-diameter-cc]
              Mattila, L., Koskinen, J., Stura, M., Loughney, J., and H.
              Hakala, "Diameter Credit-control Application",
              draft-ietf-aaa-diameter-cc-06 (work in progress),
              August 2004.

   [3GPP.32.240]
              3GPP, "Telecommunication management; Charging management;
              Charging architecture and principles", 3GPP TS 32.240
              6.0.0, September 2004.








Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 38]


Internet-Draft                Metering NSLP                   March 2007


Authors' Addresses

   Ali Fessi
   University of Tuebingen
   Wilhelm-Schickard-Institute for Computer Science
   Sand 13
   Tuebingen  72072
   Germany

   Phone: +49 7071 29-70576
   Email: fessi@informatik.uni-tuebingen.de
   URI:   http://net.informatik.uni-tuebingen.de/


   Georg Carle
   University of Tuebingen
   Wilhelm-Schickard-Institute for Computer Science
   Sand 13
   Tuebingen  72072
   Germany

   Phone: +49 7071 29-70505
   Email: carle@informatik.uni-tuebingen.de
   URI:   http://net.informatik.uni-tuebingen.de/


   Falko Dressler
   University of Erlangen
   Department of Computer Science 7
   Martensstr. 3
   Erlangen  91058
   Germany

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


   Juergen Quittek
   NEC
   Kurfuersten-Anlage 36
   Heidelberg  69115
   Germany

   Phone: +49 6221 90511-15
   Email: quittek@netlab.nec.de
   URI:   http://www.netlab.nec.de/




Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 39]


Internet-Draft                Metering NSLP                   March 2007


   Cornelia Kappler
   Siemens AG
   Siemensdamm 62
   Berlin  13627
   Germany

   Phone: +49 30 386-32894
   Email: cornelia.kappler@siemens.com


   Hannes Tschofenig
   Siemens AG
   Otto-Hahn-Ring 6
   Munich, Bayern  81739
   Germany

   Email: Hannes.Tschofenig@siemens.com


































Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 40]


Internet-Draft                Metering NSLP                   March 2007


Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Acknowledgment

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).





Fessi, et al.   draft-dressler-nsis-metering-nslp-05.txt       [Page 41]