Internet Draft                                            Anwar Siddiqui
draft-ietf-rmonmib-raqmon-pdu-06.txt                          Avaya Inc.
Category: Standards Track                                  Dan Romascanu
Expires January 2005                                               Avaya
                                                       Eugene Golovinsky
                                                            BMC Software
                                                             8 July 2004
                    SNMP Notification Transport for
      Real-time Application Quality of Service Monitoring (RAQMON)
                        Protocol Data Unit (PDU)

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other intellectual property right (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 RFC 3668.

   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

   To view the list Internet-Draft Shadow Directories, see
   http://www.ietf.org/shadow.html.

Copyright Notice

   Copyright (C) The Internet Society (2004).  All Rights Reserved.

Abstract

   A common Protocol Data Unit (PDU) has been defined to be used between
   a Real-Time Application Quality of Service (QoS) Monitoring (RAQMON)
   Data Source (RDS) and a RAQMON Report Collector (RRC) to report
   application level Quality of Service (QoS) information.  This allows
   monitoring of end devices such as IP phones, pagers, Instant
   Messaging clients, mobile phones, and various other hand-held
   computing devices.  This model fits into the Remote Monitoring (RMON)



RMON WG                   Expires January 2005                  [Page 1]


INTERNET DRAFT                 RAQMON PDU                      July 2004


   family of specifications.

   This memo specifies how the Simple Network Management Protocol (SNMP)
   is used to transport RAQMON PDUs between a RAQMON Data Source (RDS)
   and a RAQMON Report Collector (RRC).

   Distribution of this memo is unlimited.

Table of Contents

   Status of this Memo..................................................1
   Abstract.............................................................1
   1 Introduction.......................................................3
   2 Transporting RAQMON Protocol Data Units............................3
   3 Congestion Safe RAQMON Operation..................................16
   4 Normative References..............................................17
   5 Informative References............................................17
   6 Intellectual Property.............................................18
   7 Security Considerations...........................................18
   8 Authors' Addresses................................................20
   Full Copyright Statement............................................21






























RMON WG                   Expires January 2005                  [Page 2]


INTERNET DRAFT                 RAQMON PDU                      July 2004


1. Introduction

   There is a need to add mechanisms within RMON [RFC2819] family of
   specifications to monitor end devices such as IP phones, pagers,
   Instant Messaging clients, mobile phones, and various other hand-held
   computing devices.  The Real-Time Application QoS Monitoring (RAQMON)
   Framework as outlined by [RAQMON-FRAMEWORK] extends RMON by defining
   entities such as RAQMON Data Source (RDS) and RAQMON Report Collector
   (RRC) to perform various application monitoring in real time.
   [RAQMON-FRAMEWORK] defines an informational model in the format of a
   common protocol data unit (PDU) used between a RDS and RRC to report
   QoS statistics.  This memo contains a syntactical description of the
   RAQMON PDU structure and of the usage of SNMP as underlying transport
   protocol to carry RAQMON PDUs between RDSs and RRCs.

   The RAQMON Protocol Data Unit (PDU) utilizes a common data format
   understood by the RDS and the RRC. A RAQMON PDU does not transport
   application data but rather occupies the place of a payload
   specification at the application layer of the protocol stack.
   Mechanisms outlined in this draft can be used by many real-time and
   non-real-time applications managed within the RMON family of
   specifications which allows network appliances to report application
   level QoS parameters in real time.  Voice over IP, Fax over IP, Video
   over IP, Instant Messaging (IM), Email, software download
   applications, e-business style transactions, web access from
   computing devices are a few examples of applications that can
   potentially use the RAQMON Framework for monitoring purposes.

   The following sections of this memo contain detailed specifications
   of the usage of SNMP to carry RAQMON PDUs.

   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].

2. Transporting RAQMON Protocol Data Units

   It is an inherent objective of the RAQMON Framework to re-use
   existing application level transport protocols to maximize the usage
   of existing installations as well as to avoid transport protocol
   level complexities in the design process.  A RAQMON PDU does not
   transport application data but rather occupies the place of a payload
   specification at the application layer of the protocol stack.  As
   outlined in [RAQMON-FRAMEWORK] both the Simple Network Management
   Protocol (SNMP) MUST be used as a transport protocol, while other
   transport protocols meeting the transport requirements MAY also be
   used.




RMON WG                   Expires January 2005                  [Page 3]


INTERNET DRAFT                 RAQMON PDU                      July 2004


2.1 SNMP INFORM PDUs as an RDS/RRC Network Transport Protocol

   If SNMP is chosen as a mechanism to transport RAQMON PDUs, the
   following specification applies:

      +  RDSs implement the capability of embedding RAQMON parameters in
         SNMP INFORM Requests, re-using well known SNMP mechanisms to
         report RAQMON Statistics.  The RAQMON RDS MIB module as
         specified in 2.1.1 MUST be used in order to map the RAQMON PDUs
         onto the SNMP Notifications transport.

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  For a detailed overview
   of the documents that describe the current Internet-Standard
   Management Framework, please refer to section 7 of RFC 3410
   [RFC3410].

      +  Since RDSs are not computationally rich and to keep the RDS
         realization as lightweight as possible, RDSs MAY fail to
         respond to SNMP requests like GET, SET, etc., with the
         exception of the GET and SET commands required to implement the
         User-Based Security Model (USM) defined by [RFC 3414].

      +  In order to meet congestion safety requirements, RDSs MUST
         process the SNMP INFORM responses from RRCs, and MAY serialize
         the PDU transmission rate, i.e. limit the number of PDUS sent
         in a specific time tinterval.

      +  Standard UDP port 162 SHOULD be used for SNMP Notifications.

2.1.1 Encoding RAQMON PDUs using the RAQMON RDS MIB module

   The RAQMON RDS MIB module is used to map RAQMON PDUs onto SNMP
   Notifications for transport purposes.  The MIB modules defines the
   objects needed for mapping the Basic part of RAQMON PDU defined in
   [RAQMON-FRAMEWOK] as well as the Notifications themselves.  In order
   to incorporate any application-specific extensions in the Application
   (APP) part of RAQMON PDU as defined in [RAQMON-FRAMEWOK], additional
   variable bindings MAY be included in RAQMON notifications as
   described in the MIB module.

   This section specifies a MIB module that is compliant to the SMIv2,
   which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579
   [RFC2579] and STD 58, RFC 2580 [RFC2580].




RMON WG                   Expires January 2005                  [Page 4]


INTERNET DRAFT                 RAQMON PDU                      July 2004


      RAQMON-RDS-MIB DEFINITIONS ::= BEGIN

      IMPORTS
          MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
          Counter32, Integer32, Unsigned32
              FROM SNMPv2-SMI

          DateAndTime
              FROM SNMPv2-TC

          rmon
              FROM RMON-MIB

          SnmpAdminString
              FROM SNMP-FRAMEWORK-MIB

          InetAddressType, InetAddress
              FROM INET-ADDRESS-MIB

          Dscp
              FROM DIFFSERV-DSCP-TC

          MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
              FROM SNMPv2-CONF;

      raqmonDs MODULE-IDENTITY
          LAST-UPDATED "200406150000Z"      -- June 15. 2004
          ORGANIZATION "RMON Working Group"
          CONTACT-INFO
              "WG EMail: rmonmib@ietf.org
               Subscribe: rmonmib-request@ietf.org

               MIB Editor:
               Eugene Golovinsky
               Postal: BMC Software, Inc.
                       2101 CityWest Boulevard,
                       Houston, TX, 77094
                       USA
               Tel:    +713-918-1816
               Email:  egolovin@bmc.com
              "
          DESCRIPTION
              "This is the RAQMON Data Source notification MIB Module.  It
               provides a mapping of RAQMON PDUs to SNMP Notifications.

               Ds stands for data source.

               Note that all of the object types defined in this module are



RMON WG                   Expires January 2005                  [Page 5]


INTERNET DRAFT                 RAQMON PDU                      July 2004


               accessible-for-notify, and would consequently not be
               available to a browser using simple Get, GetNext, or GetBulk
               requests.

               Copyright (c) The Internet Society (2004).

               -- RFC EDITOR: please replace yyyy with actual number
               This version of this MIB module is part of RFC yyyy; See the
               RFC itself for full legal notices.
              "

          REVISION      "200406150000Z"     -- June 15, 2004
          DESCRIPTION
              "Changes after the 59th IETF."

          REVISION      "200311111150Z"     -- November 11, 2003
          DESCRIPTION
              "Changes after the 58th IETF."

          ::= { rmon 32 }


      raqmonDsEvents OBJECT IDENTIFIER ::= { raqmonDs 0 }
      raqmonDsMIBObjects OBJECT IDENTIFIER ::= { raqmonDs 1 }
      raqmonDsConformance OBJECT IDENTIFIER ::= { raqmonDs 2 }

      raqmonDsNotificationTable OBJECT-TYPE
          SYNTAX SEQUENCE OF RaqmonDsNotificationEntry
          MAX-ACCESS not-accessible
          STATUS     current
          DESCRIPTION
              "This conceptual table provides the SNMP mapping of the
               RAQMON Basic PDU.  It is indexed by the RAQMON Data Source,
               sub-session, and address of the peer entity.

               Note that there is no concern about the indexation of this
               table exceeding the limits defined by RFC 2578 Section 3.5.
               According to [RAQMON-FRAMEWORK], Section 5.1, only IPv4 and
               IPv6 addresses can be reported as participant addresses.
              "
          ::= { raqmonDsMIBObjects 1 }

      raqmonDsNotificationEntry OBJECT-TYPE
          SYNTAX     RaqmonDsNotificationEntry
          MAX-ACCESS not-accessible
          STATUS     current
          DESCRIPTION
              "The entry (row) is not retrievable and is not kept by RDSs.



RMON WG                   Expires January 2005                  [Page 6]


INTERNET DRAFT                 RAQMON PDU                      July 2004


               It serves data organization purpose only.
              "
          INDEX { raqmonDSRC, raqmonRCN, raqmonPeerAddrType,
                  raqmonPeerAddr }
          ::= { raqmonDsNotificationTable 1 }

      RaqmonDsNotificationEntry ::= SEQUENCE {
              raqmonDSRC                      Unsigned32,
              raqmonRCN                       Integer32,
              raqmonPeerAddrType              InetAddressType,
              raqmonPeerAddr                  InetAddress,
              raqmonAppName                   SnmpAdminString,
              raqmonDataSourceDevicePort      Unsigned32,
              raqmonReceiverDevicePort        Unsigned32,
              raqmonSessionSetupDateTime      DateAndTime,
              raqmonSessionSetupDelay         Unsigned32,
              raqmonSessionDuration           Unsigned32,
              raqmonSessionSetupStatus        SnmpAdminString,
              raqmonRoundTripEndtoEndDelay    Unsigned32,
              raqmonOneWayEndtoEndDelay       Unsigned32,
              raqmonJitterType                INTEGER,
              raqmonJitterValue               Unsigned32,
              raqmonTotalPacketsReceived      Counter32,
              raqmonTotalPacketsSent          Counter32,
              raqmonTotalOctetsReceived       Counter32,
              raqmonTotalOctetsSent           Counter32,
              raqmonCumulativePacketLoss      Counter32,
              raqmonPacketLossFraction        Unsigned32,
              raqmonSourcePayloadType         Unsigned32,
              raqmonReceiverPayloadType       Unsigned32,
              raqmonSourceLayer2Priority      Unsigned32,
              raqmonDestinationLayer2Priority Unsigned32,
              raqmonSourceDscp                Dscp,
              raqmonDestinationDscp           Dscp,
              raqmonCpuUtilization            Unsigned32,
              raqmonMemoryUtilization         Unsigned32 }

      raqmonDSRC OBJECT-TYPE
          SYNTAX     Unsigned32
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "Data Source identifier represents a unique session
               descriptor that points to a specific communication session
               between communicating entities. Identifiers unique for
               sessions conducted between two entities are
               generated by the communicating entities."
          ::= { raqmonDsNotificationEntry 1 }



RMON WG                   Expires January 2005                  [Page 7]


INTERNET DRAFT                 RAQMON PDU                      July 2004


      raqmonRCN OBJECT-TYPE
           SYNTAX      Integer32 (0..15)
           MAX-ACCESS  accessible-for-notify
           STATUS      current
           DESCRIPTION
             "The Record Count Number indicates a sub-session
              within a communication session. A maximum number of 16
              sub-sessions are supported - this limitation is dictated
              by reasons of compatibility with other transport protocols."
             ::= { raqmonDsNotificationEntry 2 }

      raqmonPeerAddrType OBJECT-TYPE
          SYNTAX InetAddressType
          MAX-ACCESS accessible-for-notify
          STATUS current
          DESCRIPTION
              "The type of the Internet address of the peer participant
               for this session."
          REFERENCE
              "Section 5.2 of [RAQMON-FRAMEWORK]"
              ::= { raqmonDsNotificationEntry 3 }

      raqmonPeerAddr OBJECT-TYPE
          SYNTAX InetAddress
          MAX-ACCESS accessible-for-notify
          STATUS current
          DESCRIPTION
              "The Internet Address of the peer participant for this
               session."
          REFERENCE
              "Section 5.2 of [RAQMON-FRAMEWORK]"
              ::= { raqmonDsNotificationEntry 4 }

      raqmonAppName  OBJECT-TYPE
          SYNTAX     SnmpAdminString
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "This is a text string giving the name and possibly version
               of the application associated with that session,
               e.g., 'XYZ VoIP Agent 1.2'."
          REFERENCE
              "Section 5.28 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 5 }

      raqmonDataSourceDevicePort OBJECT-TYPE
          SYNTAX     Unsigned32 (0..65535)
          MAX-ACCESS accessible-for-notify



RMON WG                   Expires January 2005                  [Page 8]


INTERNET DRAFT                 RAQMON PDU                      July 2004


          STATUS     current
          DESCRIPTION
              "The port number from which data for this session was sent
               by the Data Source device."
          REFERENCE
              "Section 5.5 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 6 }

      raqmonReceiverDevicePort OBJECT-TYPE
          SYNTAX     Unsigned32 (0..65535)
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "The port number where the data for this session was received."
          REFERENCE
              "Section 5.6 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 7 }

      raqmonSessionSetupDateTime OBJECT-TYPE
          SYNTAX     DateAndTime
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "The time when session was initiated."
          REFERENCE
            "Section 5.7 of [RAQMON-FRAMEWORK]"
      ::= { raqmonDsNotificationEntry 8 }

      raqmonSessionSetupDelay OBJECT-TYPE
          SYNTAX     Unsigned32
          UNITS      "milliseconds"
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "Session setup time."
          REFERENCE
              "Section 5.8 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 9 }

      raqmonSessionDuration OBJECT-TYPE
          SYNTAX     Unsigned32
          UNITS      "seconds"
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "Session duration, including setup time. The SYNTAX of this
               object allows to express the duration of sessions that do
               not exceed 4660 hours and 20 minutes."



RMON WG                   Expires January 2005                  [Page 9]


INTERNET DRAFT                 RAQMON PDU                      July 2004


          REFERENCE
              "Section 5.9 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 10 }

      raqmonSessionSetupStatus OBJECT-TYPE
          SYNTAX     SnmpAdminString
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "Describes appropriate communication session states e.g.
               Call Established successfully, RSVP reservation
               failed etc."
          REFERENCE
              "Section 5.10 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 11 }

      raqmonRoundTripEndtoEndDelay OBJECT-TYPE
          SYNTAX     Unsigned32
          UNITS      "milliseconds"
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "Most recent available information about the
               round trip end to end delay."
          REFERENCE
              "Section 5.11 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry  12}

      raqmonOneWayEndtoEndDelay OBJECT-TYPE
          SYNTAX     Unsigned32
          UNITS      "milliseconds"
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              " Most recent available information about the
                one way end to end delay."
          REFERENCE
              "Section 5.12 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry  13}

      raqmonJitterType OBJECT-TYPE
          SYNTAX    INTEGER
                    {
                       interArrival(1),
                       absolute(2)
                    }
          MAX-ACCESS accessible-for-notify
          STATUS     current



RMON WG                   Expires January 2005                 [Page 10]


INTERNET DRAFT                 RAQMON PDU                      July 2004


          DESCRIPTION
              "The type of jitter measurement as reported by the RDS.
               A value of interArrival(1) indicates relative jitter measurement
               and reporting.
               A value of absolute(2) indicates absolute jitter measurement
               and reporting."
          REFERENCE
              "Section 5.13 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry  14}

      raqmonJitterValue OBJECT-TYPE
          SYNTAX     Unsigned32
          UNITS      "milliseconds"
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "An estimate of the jitter."
          REFERENCE
              "Section 5.13 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry  15}

      raqmonTotalPacketsReceived OBJECT-TYPE
          SYNTAX     Counter32
          UNITS     "packets"
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "The number of packets transmitted within a communication
               session by the receiver since starting transmission up until
               the time this RAQMON PDU was generated.
              "
          REFERENCE
              "Section 5.14 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 16 }

      raqmonTotalPacketsSent OBJECT-TYPE
          SYNTAX     Counter32
          UNITS     "packets"
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "The number of packets transmitted within a communication
               session by the sender since starting transmission up until
               the time this RAQMON PDU was generated.
              "
          REFERENCE
              "Section 5.15 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 17 }



RMON WG                   Expires January 2005                 [Page 11]


INTERNET DRAFT                 RAQMON PDU                      July 2004


      raqmonTotalOctetsReceived OBJECT-TYPE
          SYNTAX     Counter32
          UNITS      "octets"
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "The total number of payload octets (i.e., not including
               header or padding octets) transmitted in packets by the
               receiver within a communication session since starting
               transmission up until the time this RAQMON PDU was
               generated.
              "
          REFERENCE
              "Section 5.16 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 18 }

      raqmonTotalOctetsSent OBJECT-TYPE
          SYNTAX     Counter32
          UNITS      "octets"
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "The number of payload octets (i.e., not including headers
               or padding) transmitted in packets by the sender within
               a communication session since starting transmission up
               until the time this RAQMON notification was generated."
          REFERENCE
              "Section 5.17 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 19 }

      raqmonCumulativePacketLoss OBJECT-TYPE
          SYNTAX     Counter32
          UNITS      "packets"
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "The number of packets from this session whose loss had been
               detected when this notification was generated.
              "
          REFERENCE
               "Section 5.18 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 20 }

      raqmonPacketLossFraction OBJECT-TYPE
          SYNTAX     Unsigned32 (0..100)
          UNITS      "percentage of packets sent"
          MAX-ACCESS accessible-for-notify
          STATUS     current



RMON WG                   Expires January 2005                 [Page 12]


INTERNET DRAFT                 RAQMON PDU                      July 2004


          DESCRIPTION
              "The percentage of lost packets with respect to the overall
               packets sent.  This is defined to be 100 times the number
               of packets lost divided by the number of packets expected."
          REFERENCE
            "Section 5.19 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 21 }

      raqmonSourcePayloadType OBJECT-TYPE
          SYNTAX     Unsigned32 (0..127)
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "The payload type of the packet sent by this RDS."
          REFERENCE
            "RFC 1890, Section 5.20 of [RAQMON-FRAMEWORK] "
          ::= { raqmonDsNotificationEntry 22 }

      raqmonReceiverPayloadType OBJECT-TYPE
          SYNTAX     Unsigned32 (0..127)
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "The payload type of the packet received by this RDS."
          REFERENCE
              "RFC 1890, Section 5.21 of [RAQMON-FRAMEWORK] "
      ::= { raqmonDsNotificationEntry 23 }

      raqmonSourceLayer2Priority OBJECT-TYPE
          SYNTAX     Unsigned32 (0..7)
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "Source Layer 2 priority used by the sata source to send
               packets to the receiver by this data source during this
               communication session.
              "
          REFERENCE
              "Section 5.22 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 24 }

      raqmonDestinationLayer2Priority OBJECT-TYPE
          SYNTAX     Unsigned32 (0..7)
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "Destination Layer 2 priority.  This is the priority use by
               the peer communicating entity to send packets to the data



RMON WG                   Expires January 2005                 [Page 13]


INTERNET DRAFT                 RAQMON PDU                      July 2004


               source.
              "
          REFERENCE
              "Section 5.24 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 25 }

      raqmonSourceDscp OBJECT-TYPE
          SYNTAX     Dscp
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "Layer 3 TOS/DSCP values used by the Data Source to
               prioritize traffic sent."
          REFERENCE
              "Section 5.23 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 26 }

      raqmonDestinationDscp OBJECT-TYPE
          SYNTAX     Dscp
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "Layer 3 TOS/DSCP values used by the
               peer communicating entiy to prioritize traffic
               sent to the source."
          REFERENCE
              "Section 5.25 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 27 }

      raqmonCpuUtilization OBJECT-TYPE
          SYNTAX     Unsigned32 (0..100)
          UNITS      "percent"
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "Latest available information about the total CPU utilization."
          REFERENCE
              "Section 5.26 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 28 }

      raqmonMemoryUtilization OBJECT-TYPE
          SYNTAX     Unsigned32 (0..100)
          UNITS      "percent"
          MAX-ACCESS accessible-for-notify
          STATUS     current
          DESCRIPTION
              "Latest available information about the total memory utilization."
          REFERENCE



RMON WG                   Expires January 2005                 [Page 14]


INTERNET DRAFT                 RAQMON PDU                      July 2004


              "Section 5.27 of [RAQMON-FRAMEWORK]"
          ::= { raqmonDsNotificationEntry 29 }

      -- definitions of the notifications
      --
      -- The object lists include only the OBJECTS that will be sent by an
      -- RD every time the notification is generated.
      -- Other objects from the raqmonDsNotificationTable may be included
      -- in the variable binding list.
      --

      raqmonDsNotification NOTIFICATION-TYPE
          OBJECTS { raqmonDSRC,
                    raqmonRCN,
                    raqmonPeerAddrType,
                    raqmonPeerAddr
                  }
          STATUS current
          DESCRIPTION
              "This notification maps the Basic RAQMON PDU onto an SNMP
               transport.
              "
          ::= { raqmonDsEvents  1 }

      raqmonDsByeNotification NOTIFICATION-TYPE
          OBJECTS { raqmonDSRC,
                    raqmonPeerAddrType,
                    raqmonPeerAddr
                  }
          STATUS current
          DESCRIPTION
              "The BYE Notification. This Notification is the equivalent of
               the RAQMON BYE PDU, which signals the end of a RAQMON
               session.
              "
          ::= { raqmonDsEvents  2 }


      --
      -- conformance information
      -- These don't show up on the wire, so they only need to be unique.
      --
      raqmonDsCompliances OBJECT IDENTIFIER ::= { raqmonDsConformance 1 }
      raqmonDsGroups OBJECT IDENTIFIER ::= { raqmonDsConformance 2 }

      raqmonDsBasicCompliances MODULE-COMPLIANCE
          STATUS current
          DESCRIPTION



RMON WG                   Expires January 2005                 [Page 15]


INTERNET DRAFT                 RAQMON PDU                      July 2004


              "The compliance statement for SNMP entities which
               implement this MIB module."
          MODULE  -- this module
              MANDATORY-GROUPS { raqmonDsNotificationGroup,
                                 raqmonDsPayloadGroup }
          ::= { raqmonDsCompliances 1 }

      raqmonDsNotificationGroup NOTIFICATION-GROUP
          NOTIFICATIONS { raqmonDsNotification,
                          raqmonDsByeNotification }
          STATUS current
          DESCRIPTION
              "The notifications implemented by an SNMP entity claiming
               conformance to this MIB.
              "
          ::= { raqmonDsGroups 1 }

      raqmonDsPayloadGroup OBJECT-GROUP
          OBJECTS { raqmonDSRC,
                    raqmonRCN,
                    raqmonPeerAddrType,
                    raqmonPeerAddr,
                    raqmonAppName,
                    raqmonDataSourceDevicePort,
                    raqmonReceiverDevicePort,
                    raqmonSessionSetupDateTime,
                    raqmonSessionSetupDelay,
                    raqmonSessionDuration,
                    raqmonSessionSetupStatus,
                    raqmonRoundTripEndtoEndDelay,
                    raqmonOneWayEndtoEndDelay,
                    raqmonJitterType,
                    raqmonJitterValue,
                    raqmonTotalPacketsReceived,
                    raqmonTotalPacketsSent,
                    raqmonTotalOctetsReceived,
                    raqmonTotalOctetsSent,
                    raqmonCumulativePacketLoss,
                    raqmonPacketLossFraction,
                    raqmonSourcePayloadType,
                    raqmonReceiverPayloadType,
                    raqmonSourceLayer2Priority,
                    raqmonDestinationLayer2Priority,
                    raqmonSourceDscp,
                    raqmonDestinationDscp,
                    raqmonCpuUtilization,
                    raqmonMemoryUtilization }
          STATUS current



RMON WG                   Expires January 2005                 [Page 16]


INTERNET DRAFT                 RAQMON PDU                      July 2004


          DESCRIPTION
              "These objects are required for entities claiming conformance
               to this MIB."
          ::= { raqmonDsGroups 2 }

      END


3. Congestion-Safe RAQMON Operation

   The transport of RAQMON PDUs in SNMP can be handled by any underlying
   network transport protocols that can be used by SNMP.

   One of the more widely deployed transport protocols for SNMP is UDP,
   which might lead to network congestion under heavy network load.  To
   ensure congestion safety, clearly the best thing to do is to use a
   congestion-safe transport protocol, such as TCP or DCCP.  If this is
   not feasible, it may be necessary to fall back to UDP.  Implementers
   MUST follow section 3.0 of the [RAQMON-FRAMEWORK] guidelines, which
   outlines measures that MUST be taken to use RAQMON in a congestion-
   safe manner, especially when using UDP.

4. Normative References

   [RFC2578]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
               Rose, M. and S. Waldbusser, "Structure of Management
               Information Version 2 (SMIv2)", STD 58, RFC 2578, April
               1999.

   [RFC2579]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
               Rose, M. and S. Waldbusser, "Textual Conventions for
               SMIv2", STD 58, RFC 2579, April 1999.

   [RFC2580]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
               Rose, M. and S. Waldbusser, "Conformance Statements for
               SMIv2", STD 58, RFC 2580, April 1999.

   [RFC2819]   Waldbusser, S., "Remote Network Monitoring Management
               Information Base", STD 59, RFC 2819, May 2000.

   [RAQMON-FRAMEWORK] Siddiqui, A., Romascanu, D. and E. Golovinsky,
               "Framework for Real-time Application Quality of Service
               Monitoring (RAQMON)", Internet-Draft, draft-ietf-raqmon-
               framework-06.txt, July 2004.

5. Informative References

   [RFC1321]   Rivest, R., "Message Digest Algorithm MD5", RFC 1321,



RMON WG                   Expires January 2005                 [Page 17]


INTERNET DRAFT                 RAQMON PDU                      July 2004


               April 1992.

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

   [RFC3410]   Case, J., Mundy, R., Partain, D. and B. Stewart,
               "Introduction and Applicability Statements for Internet-
               Standard Management Framework", RFC 3410, December 2002.

   [RFC3414]   Blumenthal U., and B. Weijnen, "User-based Security Model
               (USM) for version 3 of the Simple Network Management
               Protocol (SNMPv3)", RFC 3414, December 2002.

   [3DES]     American National Standards Institute, ANSI X9.52-1998,
               "Triple Data Encryption Algorithm Modes of Operation"
               1998.

   [AES]     Federal Information Processing Standard (FIPS),
               "Specification for the ADVANCED ENCRYPTION
               STANDARD(AES)", Publication 197, November 2001.




6. Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   intellectual property 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; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication 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 implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.

   By submitting this Internet-Draft, we certify that any applicable
   patent or other IPR claims of which we are aware have been disclosed,



RMON WG                   Expires January 2005                 [Page 18]


INTERNET DRAFT                 RAQMON PDU                      July 2004


   and any of which we become aware will be disclosed, in accordance
   with RFC 3668.

7.  Security Considerations

   [RAQMON-FRAMEWORK] outlines a threat model associated with RAQMON and
   security considerations to be taken into account in the RAQMON
   specification to mitigate against those threats.  It is imperative
   that RAQMON PDU implementations be able to provide the following
   protection mechanisms in order to attain end-to-end security:

   1. Authentication - the RRC SHOULD be able to verify that a RAQMON
      report was originated by the RDS claiming to have sent it.  At
      minimum, an RDS/RRC pair MUST use a digest-based authentication
      procedure to authenticate, like the one defined in [RFC 1321].

   2. Privacy - RAQMON information includes identification of the
      parties participating in a communication session.  RAQMON
      deployments SHOULD be able to provide protection from
      eavesdropping, and to prevent an unauthorized third party from
      gathering potentially sensitive information.  This can be achieved
      by using payload encryption technologies such as DES (Data
      Encryption Standard), 3-DES [3DES], and AES (Advanced Encryption
      Standard) [AES].

   3. Protection from Denial of Service attacks directed at the RRC -
      RDSs send RAQMON reports as a side effect of external events (for
      example, receipt of a phone call).  An attacker can try to
      overwhelm the RRC (or the network) by initiating a large number of
      events in order to swamp the RRC with excessive numbers of RAQMON
      PDUs.

      To prevent DoS (denial-of-service) attacks against the RRC, the
      RDS will send the first report for a session only after the
      session has been established, so that the session set-up process
      is not affected.

   4. NAT and Firewall Friendly Design: the presence of IP addresses and
      TCP/UDP port information in RAQMON PDUs may be NAT unfriendly.
      Where NAT-friendliness is a requirement, the RDS MAY omit IP
      address information from the RAQMON PDU.  Another way to avoid
      this problem is by using NAT-Aware Application Layer Gateways
      (ALGs) to ensure that correct IP addresses appear in RAQMON PDUs.

   This memo also defines an RDS SNMP MIB module with the purpose of
   mapping the RAQMON PDUs into SNMP Notifications.  To attain end-to-
   end security the following measures have been taken in RDS MIB module
   design:



RMON WG                   Expires January 2005                 [Page 19]


INTERNET DRAFT                 RAQMON PDU                      July 2004


   There are no management objects defined in this MIB module that have
   a MAX-ACCESS clause of read-write and/or read-create.  Consequently,
   if this MIB module is implemented correctly, there is no risk that an
   intruder can alter or create any management objects of this MIB
   module via direct SNMP SET operations.

   Some of the readable objects in this MIB module (i.e., objects with a
   MAX-ACCESS other than not-accessible) may be considered sensitive or
   vulnerable in some network environments.  It is thus important to
   control even GET and/or NOTIFY access to these objects and possibly
   to even encrypt the values of these objects when sending them over
   the network via SNMP.  These are the tables and objects and their
   sensitivity/vulnerability:

   raqmonDsNotificationTable

   The objects in this table contain user session information, and their
   disclosure may be sensitive in some environments.

   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPSec),
   even then, there is no control as to who on the secure network is
   allowed to access and GET/SET (read/change/create/delete) the objects
   in this MIB module.

   It is RECOMMENDED that implementers consider the security features as
   provided by the SNMPv3 framework (see [RFC3410], section 8),
   including full support for the SNMPv3 cryptographic mechanisms (for
   authentication and privacy).

   It is 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) that have legitimate rights to indeed GET or SET
   (change/create/delete) them.

8.  Authors' Addresses

   Anwar A. Siddiqui
   Avaya Labs
   307 Middletown Lincroft Road
   Lincroft, New Jersey 07738
   USA
   Tel: +1 732 852-3200
   E-mail: anwars@avaya.com

   Dan Romascanu
   Avaya



RMON WG                   Expires January 2005                 [Page 20]


INTERNET DRAFT                 RAQMON PDU                      July 2004


   Atidim Technology Park, Bldg. #3
   Tel Aviv, 61131
   Israel
   Tel: +972-3-645-8414
   Email: dromasca@avaya.com

   Eugene Golovinsky
   BMC Software
   2101 CityWest Blvd.
   Houston, Texas 77042
   USA
   Tel: +1 713 918-1816
   Email: eugene_golovinsky@bmc.com

A.  Full Copyright Statement

   Copyright (C) The Internet Society (2004).  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 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 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; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.

   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 implementors or users of this
   specification can be obtained from the IETF on-line 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 which may cover technology
   that may be required to practice this standard.  Please address the



RMON WG                   Expires January 2005                 [Page 21]


INTERNET DRAFT                 RAQMON PDU                      July 2004


   information to the IETF at ietf-ipr@ietf.org.

Acknowledgement:

   Funding for the RFC Editor function is currently provided by the
   Internet Society.













































RMON WG                   Expires January 2005                 [Page 22]