Internet Draft                                            Anwar Siddiqui
                                                              Avaya Inc.
                                                           Dan Romascanu
                                                                   Avaya
                                                       Eugene Golovinsky
                                                            BMC Software
                                                         9 February 2004


       Real-time Application Quality of Service Monitoring (RAQMON)
                         Protocol Data Unit (PDU)

              <draft-ietf-rmonmib-raqmon-pdu-05.txt>


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.  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."

   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

   This memo defines a common protocol data unit (PDU) used between a
   Real-Time Application QoS Monitoring (RAQMON) Data Source (RDS) and a
   RAQMON Report Collector (RRC) to report application level Quality of
   Service (QOS) statistics which allows to monitoring of end devices
   such as IP phones, pagers, Instant Messaging clients, mobile phones,
   and various other hand-held computing devices within the Remote
   Monitoring (RMON) family of specifications.

   This memo also outlines mechanisms to use the Real Time Transport
   Control Protocol (RTCP) and the Simple Network Management Protocol
   (SNMP) to transport these PDUs between the RAQMON Data Source (RDS)



RMON WG                    Expires August 2004                  [Page 1]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   and the RAQMON Report Collector (RRC).

   Distribution of this memo is unlimited.

Table of Contents

   Status of this Memo                                             1
   Abstract                                                        1
    1 Introduction                                                 2
    2 RAQMON PDU Format                                            3
    3 Transporting RAQMON Protocol Data Units                     15
    4 Congestion Safe RAQMON Operation                            29
    5 Normative References                                        29
    6 Informative References                                      30
    7 Intellectual Property                                       31
    8 Appendix                                                    32
    9 Security Considerations                                     33
    10 IANA Considerations                                        34
    11 Authors' Addresses                                         34
    A Full Copyright Statement                                    35


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. This
   memo defines 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 RTCP and
   SNMP as underlying transport protocols to carry RAQMON PDUs. Either
   RTCP or SNMP can be used 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



RMON WG                    Expires August 2004                  [Page 2]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   potentially use the RAQMON Framework for monitoring purposes.

   Though transmitted as one Protocol Data Unit, a RAQMON PDU is
   functionally divided into two different parts, namely the basic part
   and the application extensions required for vendor specific
   extensions. Both functional parts trail SMI Network Management
   Private Enterprise Codes that are currently maintained by IANA at
   http://www.iana.org/assignments/enterprise-numbers.

   The Basic Part of RAQMON PDU: The basic part of the RAQMON PDU trails
   the SMI Network Management Private Enterprise Code 0 - reserved by
   convention for use by the IETF RMON Working Group. The RAQMON PDU
   basic part offers an entry-type (a.k.a. "Name") from a pre-defined
   list of QoS parameters defined in table 1 and allows applications to
   fill in appropriate values for those parameters. Application
   developers also have the flexibility to report only a sub-set of the
   parameters listed in table 1 as discussed in later sections.

   The Application Part of RAQMON PDU: Application and vendor specific
   extensibility of RAQMON PDU is provided by the application part of
   the RAQMON PDU to convey application-, vendor-, and device- specific
   parameters for future use. Additional parameters can be defined by
   application developers within the payload of the APP part of the PDU
   as Type Length Value (TLV) tuples. The Application part of the RAQMON
   PDU trails behind the SMI Network Management Private Enterprise Codes
   of the vendor found in http://www.iana.org/assignments/enterprise-
   numbers. Such application-specific extensions should be maintained
   and published by the application vendor. RAQMON PDUs are also capable
   of carrying multiple application parts within a PDU that trails
   multiple SMI Network Management Private Enterprise Codes of the
   vendor.

   Though RDS and RRC are designed to be stateless for RAQMON reporting
   sessions, the framework requires a graceful termination of reporting
   sessions between RDSs and RRCs. Such functionality is achieved by
   NULL PDUs as defined within the RAQMON Framework [RAQMON-FRAMEWORK].
   A syntactical specification of the NULL PDUs is available in section
   2 of this memo.

   The following sections of this memo contain detailed RAQMON PDU
   specifications and usage of RTCP and SNMP to carry a RAQMON PDU.

   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. RAQMON PDU Format



RMON WG                    Expires August 2004                  [Page 3]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   Parameters carried by RAQMON PDUs and their usages are defined in
   Section 5 of [RAQMON-FRAMEWORK] by reference to existing IETF, ITU
   and other standards organizations' documents.

   The RAQMON PDU format specified in this memo provides syntax and
   structure within a RAQMON PDU to report those parameters. A RAQMON
   PDU in the current version is marked as PDU Type (PDT) = 1.

   Vendors SHOULD use the basic part of the PDU to report statistics
   pre-listed here in the specification, which will ensure basic
   interoperability between multiple vendor and application developers.
   Vendors SHOULD also use application specific extension to convey
   application-, vendor-, device- etc. specific parameters not included
   in the basic part of the specification and publish such data
   externally to attain extended interoperability.

         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
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                            DSRC                               |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                   SMI Enterprise Code = 0                     |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         | V |    RT = 0     |   RC  |I|P|           Length              |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |  RC_N | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                   Data Source Address {DA}                    |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                    Receiver's Address (RA)                    |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |               NTP Timestamp, most significant word            |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |               NTP Timestamp, least significant word           |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |  Length       |   Application Name (AN)  ...                  |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                            ...                                |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |  Length       |   Data Source Name (DN)  ...                  |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                            ...                                |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |  Length       |    Receiver's Name (RN)  ...                  |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                            ...                                |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |  Length       |    Session State          ...                 |



RMON WG                    Expires August 2004                  [Page 4]


INTERNET DRAFT                 RAQMON PDU                  February 2004


         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                            ...                                |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                       Session Duration                        |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                      Round Trip End-to-End Delay              |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                      One Way End-to-End Delay                 |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                      Cumulative Packet Loss                   |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                       Total # Packets sent                    |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                       Total # Packets received                |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                       Total # Octets sent                     |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                       Total # Octets received                 |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |    Source Port Used           |    Receiver Port Used         |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |    S_Layer2   |   S_Layer3    |   S_Layer2    |   S_Layer3    |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |Source Payload |Reciver Payload| CPU           | Memory        |
         |Type           | Type          | Utilization   | Utilization   |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |    Session Setup Delay        |j|          Jitter             |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |      Padding                                  |  Packet loss  |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                  SMI Enterprise Code = "xxx"                  |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |     Report Type = "yyy"       | Length of Application Part    |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |               application/vendor specific extension           |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                            ............                       |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                            ...............                    |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                            ...............                    |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                  SMI Enterprise Code = "abc"                  |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |     Report Type = "zzz"       | Length of Application Part    |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |               application/vendor specific extension           |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



RMON WG                    Expires August 2004                  [Page 5]


INTERNET DRAFT                 RAQMON PDU                  February 2004


         |                            ............                       |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 1 - RAQMON Protocol Data Unit


   DSRC: 32 bits - The data source identifier represents a unique RAQMON
   reporting session descriptor that points to a specific reporting
   session between the RDS and the RRC. The uniqueness of DSRC is valid
   only within a reporting session between a RDS and RRC pair. DSRC
   values should be randomly generated using vendor chosen algorithms
   for each communication session. It is not sufficient to obtain a DSRC
   simply by calling random() without carefully initializing the state.
   One could use an algorithm like the one defined in Appendix A.6 in
   [RFC3550] to create a DSRC. Depending on the choice of algorithm,
   there is a finite probability that two DSRCs from two different RDSs
   may be the same. To further reduce the probability that two RDSs pick
   the same DSRC for two different reporting sessions, it is recommended
   that an RRC use parameters like Data Source Address (DA), Data Source
   Name (DN), and MAC Address in the PDU in conjunction with a DSRC
   value. It is not mandatory for RDSs to send parameters like Data
   Source Address (DA), Data Source Name (DN), MAC Address in every PDU
   sent to an RRC, but sending these parameters occasionally will reduce
   the probability of DSRC collision drastically.

2.1 The basic part of RAQMON Protocol Data Unit:

   SMI Enterprise Code: 32 bits.  A value of SMI Enterprise Code = 0 is
   used to indicate the RMON WG compliant basic part of the RAQMON PDU
   format.  The basic part of the RAQMON PDU must trail behind the SMI
   Enterprise Code = 0 to ensure interoperability.

   version (V) : 2 bits - Identifies the version of RAQMON Basic Part
   that follows SMI Enterprise Code = 0. The number of this version is
   1.

   Report Type(RT): 8 bits - Reserved by the RMON WG to define
   appropriate Report type within RMON SMI Enterprise Code = 0. The
   number of this report type is 0.

   record count (RC): 4 bits - The total number of records contained in
   the basic part of the PDU which reflects a sub-session within a
   communication session. A value of zero is considered to be valid as
   it constitutes a NULL PDU.

   IP version (I): 1 bit - While set to 1, IP Version Flag indicates
   that IP addresses contained in the PDU are IP version 6 compatible. A
   value of 0 indicates that IP addresses contained in the PDU are IP



RMON WG                    Expires August 2004                  [Page 6]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   version 4 compatible.

   padding (P): 1 bit - If the padding bit is set, the basic part of the
   RAQMON PDU contains some additional padding octets at the end of the
   basic part of the PDU which are not part of the monitoring
   information as padding may be needed by some applications because
   reporting is based on the intent of RDS to report certain parameters.
   Also some parameters may be reported only once at the beginning of
   the reporting session, e.g. Data Source Name, Receiver Name, Pay Load
   type etc. Actual padding at the end of the Basic part of the PDU is
   either 0,8, 16 or 24 bits to make the basic part of the PDU a
   multiple of 32 bits long.

   length: 16 bits - The length of the basic part of the RAQMON PDU in
   32-bit words minus one which includes the header and any padding.

   A RAQMON PDU MUST contain DSRC, SMI Enterprise Code = 0, V, RT, RC,
   I, P and Length fields at all times. A value of zero for Record Count
   (RC) constitutes a RAQMON NULL PDU (i.e. nothing to report). RDSs
   MUST send a RAQMON NULL PDU to RRC to indicate the end of reporting
   session for a given DSRC. All other header parameters listed in the
   PDU described below are optionally used when RDSs have some
   information to send to RRCs.

         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
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                            DSRC                               |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |                   SMI Enterprise Code = 0                     |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         | V |    RT = 0     |   RC  |I|P|           Length              |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |  RC_N | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 2 - RAQMON Parameter Presence Flag in RAQMON PDU

   The basic part of each RAQMON PDU that trails behind SMI Enterprise
   Code = 0 consists of a Record Count Number (RC_N) and RAQMON
   Parameter Presence Flags (RPPF) to indicate the presence of
   appropriate RAQMON parameters within a record as defined in table 1.

   RC_N: 4 bits - Record Count Number to which the information in this
   record pertains. Since a report from a RDS to a RRC may contain
   information about sub-sessions within a communication session (e.g. a
   Multimedia Call), Record Count Number (RC_N) serves as a sub-session
   index within a reporting session for a given DSRC. A value of zero is



RMON WG                    Expires August 2004                  [Page 7]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   a valid record number. The maximum number of records that can be
   described in one RAQMON Packet is 16 (i.e. 0000 - 1111).

   RAQMON Parameter Presence Flags (RPPF): 28 bits

   Each of these flags while set means that sub-session RC_N contains
   corresponding parameters as specified in table 1 within a sub-
   session.

   A value of ALL zeros is considered to be valid as it constitutes a
   NULL sub-session (i.e. nothing to report within sub-session RC_N). A
   RDS MUST send a NULL sub-session (i.e. RPPF = 0) to a RRC to indicate
   that reporting on a particular sub-session has ended. RRCs MUST not
   treat a NULL sub-session as end of a reporting session; rather an
   explicit Record Count = 0 is used to indicate end of a reporting
   session for a given DSRC.

      Sequence Number             Presence/Absence of corresponding
                                  Parameter within this RAQMON PDU

             1                    Data Source Address (DA)
             2                    Receiver Address (RA)
             3                    NTP Timestamp
             4                    Application Name
             5                    Data Source Name (DN)
             6                    Receiver Name (RN)
             7                    Session Setup Status
             8                    Session Duration
             9                    End-to-End Delay (RTT)
             0                    End-to-End Delay (OWD)
             1                    Cumulative Packet Loss
             2                    Total number of Packets sent
             3                    Total number of Packets received
             4                    Total number of Octets sent
             5                    Total number of Octets received
             6                    Source Port Used
             7                    Receiver Port Used
             8                    S_Layer2
             9                    S_Layer3
             0                    D_Layer2
             1                    D_Layer3
             2                    Source Payload Type
             3                    Receiver Payload Type
             4                    CPU Utilization
             5                    Memory Utilization
             6                    Session Setup Delay
             7                    Jitter
             8                    Packet loss (in fraction)



RMON WG                    Expires August 2004                  [Page 8]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   Table 1: RAQMON Parameters and corresponding RPPF

   Data Source Address (DA): 32 bits or 160 bits - This metrics is
   defined in section 5.1 of [RAQMON-FRAMEWORK]. The standard [RFC 3291]
   octet string representation is used to represent the end device's
   numeric address on the interface used for the communication session.
   The standard representation of an IP Version 4 address is "dotted
   decimal", also known as dotted quad. 135.8.45.178 is an example of a
   valid Data Source Address. IP version 6 addresses are incorporated in
   Data Source Address by setting the IP version flag (I bit) of the
   RAQMON PDU header to 1. Since the Data Source Address is expected to
   remain constant during the entire reporting session, applications
   should avoid sending these parameters too often to ensure efficient
   usage of network resources.

   Receiver Address (RA): 32 bits or 160 bits - This metrics is defined
   in section 5.2 of [RAQMON-FRAMEWORK]. It follows the exact same
   syntax as Data Source Address but is used to indicate a receiver's
   address. Since the Receiver Address is expected to remain constant
   during entire reporting sessions, applications should avoid sending
   these parameters too often to ensure efficient usage of network
   resources.

   Data Source Name (DN): - This metrics is defined in section 5.3 of
   [RAQMON-FRAMEWORK]. The Data Source Name field starts with an 8-bit
   octet count describing the length of the text and the text itself.
   Note that the text can be no longer than 255 octets. The text is
   encoded according to the UTF-2 encoding specified in Annex F of ISO
   standard 10646 [ISO10646], [UNICODE]. This encoding is also known as
   UTF-8 or UTF-FSS. It is described in "File System Safe UCS
   Transformation Format (FSS_UTF)", X/Open Preliminary Specification,
   Document Number P316 and Unicode Technical Report #4. US-ASCII is a
   subset of this encoding and requires no additional encoding. The
   presence of multi-octet encoding is indicated by setting the most
   significant bit of a character to a value of one. Text is not null-
   terminated because some multi-octet encoding include null octets.
   Data Source Name is terminated by one or more null octets, the first
   of which is interpreted to denote the end of the string and the
   remainder as needed to pad until the next 32-bit boundary.
   Applications SHOULD instruct a RDS to send out parameters not too
   frequently to ensure efficient usage of network resources as this
   parameter is expected to remain constant for the duration of the
   reporting session.

   Receiver Name (RN): - This metrics is defined in section 5.4 of
   [RAQMON-FRAMEWORK]. Like Data Source Name, the Receiver Name field
   starts with an 8-bit octet count describing the length of the text
   and the text itself. The Receiver Name is multiple of 32 bits. It



RMON WG                    Expires August 2004                  [Page 9]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   follows the same padding rules that apply to Data Source Name. As
   Data Source Name and Receiver Name are contiguous, items are not
   individually padded to a 32-bit boundary. Since the Receiver name is
   expected to remain constant during entire reporting sessions, this
   information SHOULD be sent out occasionally over random time
   intervals to maximize the chances of reaching a RRC and also conserve
   network bandwidth.

   Source Port Used: 16 bits - This metrics is defined in section 5.5 of
   [RAQMON-FRAMEWORK] and describes the port number used by the Data
   Source as used by the application in the RC_N session while this
   RAQMON PDU was generated. Since sometimes the Source Port Used will
   remain constant during entire reporting sessions, applications in
   that case SHOULD avoid sending these parameters too often to ensure
   an efficient usage of network resources.

   Receiver Port Used: 16 bits - This metrics is defined in section 5.6
   of [RAQMON-FRAMEWORK] and describes the receiver port used by the
   application to communicate to the receiver. It follows same syntax as
   Source Port Used. Since sometimes the Receiver Port Used will remain
   constant during entire reporting sessions, applications in that case
   SHOULD avoid sending these parameters too often to ensure an
   efficient usage of network resources.

   Session Setup Date/Time (NTP timestamp): 64 bits - This metrics is
   defined in section 5.7 of [RAQMON-FRAMEWORK] and is represented using
   the timestamp format of the Network Time Protocol (NTP), which is in
   seconds [RFC 1305]. The full resolution NTP timestamp is a 64-bit
   unsigned fixed-point number with the integer part in the first 32
   bits and the fractional part in the last 32 bits. In some fields
   where a more compact representation is appropriate, only the middle
   32 bits are used; that is, the low 16 bits of the integer part and
   the high 16 bits of the fractional part. The high 16 bits of the
   integer part MUST be determined independently.

   A Data Source that has no notion of wallclock or time SHOULD set the
   appropriate RAQMON flag to 0 to avoid wasting 64 bits in the PDU.
   Since the NTP time stamp is intended to provide Date/Time of a
   session, it is RECOMMENDED that the NTP time stamp be used only in
   the first RAQMON pdu in order to use network resources efficiently.
   However such a recommendation is context sensitive and should be
   enforced as deemed necessary by each application environment.

   Session Setup Delay: 16 bits - Session Setup Delay metrics is defined
   in section 5.8 of [RAQMON-FRAMEWORK] and is expressed in
   milliseconds.

   Session Duration: 32 bits - Session Setup Delay metrics is defined in



RMON WG                    Expires August 2004                 [Page 10]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   section 5.9 of [RAQMON-FRAMEWORK]. Session Duration from sub-session
   RC_N is an unsigned integer expressed in seconds.

   Session Setup Status: - Session Setup Status is defined in section
   5.10 of [RAQMON-FRAMEWORK]. This field starts with an 8-bit octet
   count describing the length of the text and the text itself. Session
   Setup Status is a multiple of 32 bits. Since the Session Setup Status
   is expected to remain constant during entire reporting sessions,
   applications SHOULD avoid sending these parameters too often to
   ensure an efficient usage of network resources.

   Round Trip End-to-End Delay: 32 bits - Round Trip End-to-End Delay is
   defined in section 5.11 of [RAQMON-FRAMEWORK]. This field represents
   the Round Trip End-to-End Delay of sub-session RC_N, which is an
   unsigned integer, expressed in the order of milliseconds.

   One Way End-to-End Delay: 32 bits - One Way End-to-End Delay is
   defined in section 5.12 of [RAQMON-FRAMEWORK]. This field represents
   the One Way End-to-End Delay of sub session RC_N, which is an
   unsigned Integer, expressed in the order of milliseconds.

   Jitter: 16 bits - Jitter is defined in section 5.13 of [RAQMON-
   FRAMEWORK] and is expressed in milliseconds. Out of 16 bits, the
   first 15 bits represent the value of jitter measured in the RDS. The
   16th bit within the jitter field otherwise known as the j bit, while
   set to 0 indicates that the jitter measurement within a PDU reflects
   Inter-Arrival Jitter, and while set to 1 indicates that the jitter
   measurement within a PDU reflects Absolute Jitter.

   Total number of application packets received: 32 bits - This
   parameter is defined in section 5.14 of [RAQMON-FRAMEWORK] as an
   unsigned integer representing the total number of packets received
   within sub session RC_N by the receiver.

   Total number of application packets sent: 32 bits - This parameter is
   defined in section 5.15 of [RAQMON-FRAMEWORK] as an unsigned integer
   representing the total number of packets transmitted within sub
   session RC_N by the sender.

   Total number of application octets received: 32 bits - This parameter
   is defined in section 5.16 of [RAQMON-FRAMEWORK] as an unsigned
   integer representing total number of payload octets (i.e., not
   including header or padding) received in packets by the receiver
   within sub session RC_N.

   Total number of application octets sent: 32 bits - This parameter is
   defined in section 5.17 of [RAQMON-FRAMEWORK] as an unsigned integer
   representing total number of payload octets (i.e., not including



RMON WG                    Expires August 2004                 [Page 11]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   header or padding) transmitted in packets by the sender within sub
   session RC_N.

   Cumulative application packet Loss: 32 bits - This parameter is
   defined in section 5.18 of [RAQMON-FRAMEWORK] as an unsigned integer
   representing the total number of packets that has been lost from the
   beginning of sub-session RC_N till this RAQMON PDU was generated.
   This counter reflects cumulative packet loss within a sub-session
   RC_N.

   Packet Loss in Fraction: 8 bits - This parameter is defined in
   section 5.19 of [RAQMON-FRAMEWORK] expressed as a fixed point number
   with the binary point at the left edge of the field. (That is
   equivalent to taking the integer part after multiplying the loss
   fraction by 256.)  This metrics is defined to be the number of
   packets lost divided by the number of packets expected.

   Source Payload Type: 8 bit - This parameter is defined in section
   5.20 of [RAQMON-FRAMEWORK]. It is an 8-bit field that specifies the
   payload type of the data source of communication in sub session RC_N
   as defined in [RFC 1890]. Since the Source Payload type does not vary
   frequently during reporting sessions, applications SHOULD avoid
   sending these parameters within RAQMON PDUs too often to ensure an
   efficient usage of network resources. However applications such as
   Voice over IP or Video over IP may go through various application
   states as users activate features payload types may change. Example
   of such scenario may include but not limited to call transferred to
   another party, joining a conference bridge or even changing network
   condition (i.e. a VoIP phone call using 64 kbps G.711 codec may have
   to fall back to 8kbps G.729a codec as network bandwidth just became
   scarce) etc. Changes in source payload type driven by various
   application state MUST be reported within a RAQMON PDU.

   Receiver Payload Type: 8 bit - This parameter is defined in section
   5.21 of [RAQMON-FRAMEWORK]. This 8-bit field specifies receiver
   payload type of communication sub session RC_N. Since the Receiver
   Payload type does not vary frequently during reporting sessions,
   applications SHOULD avoid sending these parameters within RAQMON PDU
   too often to ensure an efficient usage of network resources. Changes
   in receiver payload type driven by various application state as
   described in earlier paragraph MUST be reported within a RAQMON PDU.

   S_Layer2: 8 bits - This parameter defined in section 5.22 of [RAQMON-
   FRAMEWORK] is an 8-bit field associated to the source's value of the
   IEEE 802.1Q tag priority field in sub session RC_N. Since the
   priority value is 3 bits, the first 3 bits of this parameter
   represents priority value and the last 5 bits are padded to 0. Since
   this parameter is expected to remain constant most of the time during



RMON WG                    Expires August 2004                 [Page 12]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   entire reporting sessions, applications SHOULD avoid sending these
   parameters too often to ensure an efficient usage of network
   resources.

   S_Layer3: 8 bits - This parameter defined in section 5.23 of [RAQMON-
   FRAMEWORK] is an 8-bit field that represents layer 3 QoS marking used
   to send packets to the receiver by this data source during sub-
   session RC_N. Since most of the time the Source Layer 3 used in sub
   session RC_N will remain constant, applications SHOULD avoid sending
   these parameters within a PDU too often to ensure an efficient usage
   of network resources.

   D_Layer2: 8 bits - This parameter defined in section 5.24 of [RAQMON-
   FRAMEWORK] is an 8-bit field, which represents the value of the IEEE
   802.1Q tag priority field used by the receiver to send packets to the
   data source during sub session RC_N session if the Data Source can
   learn such information. Since the priority value is 3 bits, the first
   3 bits of this parameter represents priority value and the last 5
   bits are padded to 0. Since most of the time the Destination Layer 2
   used will remain constant during entire reporting sessions,
   applications SHOULD avoid sending these parameters within a PDU too
   often to ensure an efficient usage of network resources.

   D_Layer3: 8 bits - This parameter defined in section 5.25 of [RAQMON-
   FRAMEWORK] is an 8-bit field that represents layer 3 QoS marking used
   by the receiver to send packets to the data source during sub session
   RC_N if the Data Source can learn such information. Since most of the
   time the Destination Layer 3 used will remain constant during entire
   reporting sessions, applications SHOULD avoid sending these
   parameters within a PDU too often to ensure an efficient usage of
   network resources.

   CPU Utilization: 8 bits - This parameter defined in section 5.26 of
   [RAQMON-FRAMEWORK] represents total CPU usage by an end device while
   sub-session RC_N is in progress. This parameter represent a time
   average of total CPU utilization from the last RAQMON PDU was sent
   until the time this RAQMON PDU was generated. CPU Utilization value
   SHOULD NOT be limited to CPU utilization associated to sub-session
   RC_N, rather it SHOULD represent total CPU Utilization of the end
   device while sub-session RC_N is in progress.

   Memory Utilization: 8 bits - This parameter defined in section 5.27
   of [RAQMON-FRAMEWORK] represents the percentage of total memory used
   during sub-session RC_N up until the time this RAQMON PDU was
   generated. Memory Utilization value SHOULD NOT be limited to memory
   utilization associated to sub-session RC_N, rather it SHOULD
   represent total memory Utilization of the end device while sub-
   session RC_N is in progress.



RMON WG                    Expires August 2004                 [Page 13]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   Application Name: - This parameter is defined in section 5.28 of
   [RAQMON-FRAMEWORK]. The Application Name field starts with an 8-bit
   octet count describing the length of the text and the text itself.
   The Application Name field is multiple of 32 bits. Since the
   Application Name is expected to remain constant during entire
   reporting sessions, applications SHOULD avoid sending these
   parameters within a PDU too often to ensure an efficient usage of
   network resources.

   padding:  0, 8, 16 or 24 bits - As described earlier in this section,
   if the padding bit (P) is set , the actual padding at the end of the
   Basic part of the PDU is either 0,8, 16 or 24 bits to make the basic
   part of the PDU multiple of 32 bits long.

2.2 APP part of RAQMON Protocol Data Unit (PDU)

   The APP part of the RAQMON PDU is intended for experimental use as
   new applications and new features are developed, without requiring
   PDU type value registration.

   Vendors are responsible for designing RDSs with appropriate SMI
   Enterprise Code and publishing application specific extensions. Any
   RAQMON compliant RRC MUST be able to recognize vendors SMI Enterprise
   Code and Report Type, and MUST recognize the presence of application
   specific extensions that trail behind vendors specific SMI Enterprise
   Code and Report Type. There is no need for the RRC to understand the
   semantics of the Enterprise specific parts of the PDU.

   SMI Enterprise Code: 32 bits - Vendors and Application developers
   SHOULD fill in appropriate SMI Enterprise IDs available here
   http://www.iana.org/assignments/enterprise-numbers. A Non-Zero SMI
   Enterprise Code MUST be treated as a vendor or application specific
   extension.

   RAQMON PDUs are capable of carrying multiple Application Parts within
   a PDU that trails multiple SMI Network Management Private Enterprise
   Codes of the vendor.

   Report Type: 16 bits - Vendors and Application developers SHOULD fill
   in the appropriate Report type within a specified SMI Enterprise
   Code. It is RECOMMENDED that vendors publish application specific
   extensions and maintain such report types for better
   interoperability.

   Length of the Application Part: 16 bits - The length of the
   Application Part of the RAQMON PDU is 32-bit words minus one, which
   includes the header of the Application Part.




RMON WG                    Expires August 2004                 [Page 14]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   application-dependent data: variable length - Application/vendor-
   dependent data to be defined by the application developers. It is
   interpreted by the vendor specific application and not by the RRC
   itself. It must be a multiple of 32 bits long.

2.3 Byte Order, Alignment, and Time Format of RAQMON PDUs

   All integer fields are carried in network byte order, that is, with
   the most significant byte (octet) first. This byte order is commonly
   known as big-endian. The transmission order is described in detail in
   [RFC791].  Unless otherwise noted, numeric constants are in decimal
   (base 10).

   All header data is aligned to its natural length, i.e., 16-bit fields
   are aligned on even offsets, 32-bit fields are aligned at offsets
   divisible by four, etc. Octets designated as padding have the value
   zero.

3. 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 Real-Time Transport Control
   Protocol (RTCP) and the Simple Network Management Protocol (SNMP) can
   be used as a transport protocol. Section 3.1 specifies RTCP APP
   Packets [RFC 3550] to carry RAQMON PDUs between RDS and RRC and
   section 3.2.reflects usage of SNMP INFORM PDUs as transport protocol.
   It is left upon the vendors to choose either RTCP or SNMP to
   transport RAQMON PDU as it fits the deployment need. Guidance in the
   form of pros and cons of using each protocol has been provided in
   appropriate sections.

3.1 Mapping RAQMON PDUs to RTCP as Transport Protocol

   The RAQMON PDU transfer is comprised of a unidirectional transfer of
   a PDU from a RDS to a RRC.  The protocol data units are mapped to an
   APP Packet in Real-Time Transport Control Protocol (RTCP). The RTCP
   APP packets are intended for use as new application layer protocols
   such as RAQMON are developed. As recommended in RFC 3550, an RTCP APP
   packet is redefined as follows for RAQMON usage and registered with
   IANA using an RTCP packet type. The RAQMON Framework makes use of
   such an extension to provide backward compatibility to existing
   deployment.  RTCP APP packets for the purpose of RAQMON usage do not
   include the subtype and name fields as recommended in [RFC3550].



RMON WG                    Expires August 2004                 [Page 15]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   Figure 3 below shows how RAQMON PDUs are mapped into RTCP APP
   Packets.


       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |V=2|P|  XXXXX  |  PT=RMON=20X  |             length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     SSRC = "DSRC"                             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  "Part of RAQMON PDU that trails behind 32 bit DSRC"          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 3 - Using RTCP APP Packets to transport RAQMON PDUs


   version (V): 2 bits As described for the RTCP SR packet in RFC 3550.

   padding (P): 1 bit If the padding bit is set, this RTCP APP packet
   contains some additional padding octets at the end.  The semantics of
   this field are identical to the semantics of the padding field in the
   SR packet, as defined by the RTP/RTCP specification [RFC 3550].

   reserved: 5 bits This field is reserved for future definition.  In
   the absence of such definition, the bits in this field MUST be set to
   zero and MUST be ignored by the receiver.

   packet type (PT): 8 bits Contains the constant 20X to identify this
   as an RTCP Packet carrying RAQMON PDUs.  This value is registered
   with the Internet Assigned Numbers Authority (IANA).

   length: 16 bits As described for the RTCP Sender Report (SR) packet.
   It indicates the length of this RAQMON PDU contained within this RTCP
   packet in 32-bit words minus one, including the RAQMON PDU header and
   any padding.

   SSRC: 32 bits As defined in RFC 3550 SR Packet. While mapping RAQMON
   PDU to RTCP, further optimization MAY be accomplished by re-using
   DSRC values as SSRC for RTCP session.

   RAQMON PDU: variable length The RAQMON Report Collector (RRC) and not
   RTP/RTCP stack will interpret RAQMON PDUs sent by the RDS in the
   format specified in Figure 3. RAQMON PDUs must be a multiple of 32
   bits long.

3.1.1 Port Assignment




RMON WG                    Expires August 2004                 [Page 16]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   As specified in the previous sections, RAQMON PDUs can be transported
   using any underlying network transport protocols used by RTCP or
   SNMP. Examples of such transport protocols are TCP, UDP and DCCP.

   Applications using the RAQMON Framework may use any unreserved UDP
   port. For example, a session management program can allocate the port
   randomly. A single fixed port cannot be required because multiple
   applications within a host sharing a RDS implementation may encounter
   difficulties as there are some operating systems that do not allow
   multiple processes to use the same UDP port with different multicast
   addresses.

   However, port number 5XXX has been registered with IANA for use as
   the default port for RAQMON PDUs over RTCP.  Hosts that run multiple
   applications MAY use this port as an indication to have used RAQMON
   if they are not subject to the constraint described in the previous
   paragraph. RRCs MAY also use this port as a default to receive RAQMON
   PDUs carried over RTCP, which will reduce the amount of configuration
   for RDSs.

   Applications need not have a default port and may require that the
   port be explicitly specified. The particular port number was chosen
   to lie in the range above 5000 to accommodate the port number
   allocation practice within the Unix operating system, where
   privileged processes can only use port numbers below 1024 and port
   numbers between 1024 and 5000 are automatically assigned by the
   operating systems.


3.2 SNMP INFORM PDUs as 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 as specified in 3.2.1 MUST be
   used in order to map the RAQMON PDUs on 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].




RMON WG                    Expires August 2004                 [Page 17]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   + Since RDSs are not computationally rich and to keep the RDS
   realization lightweight, it is not required that RDSs fully implement
   an SNMP-based Internet Management framework. Specifically RDSs MAY
   NOT respond to SNMP requests like GET, SET, etc., as an SNMP
   compliant responder would.

   +  In order to meet congestion safety requirements, RDSs MUST process
   the SNMP INFORM responses from RRCs, and MUST serialize the PDU
   transmission rate.

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

3.2.1 Encoding RAQMON PDU by using the RAQMON RDS MIB

   The RAQMON RDS MIB will be used in order to map the RAQMON PDUs on
   SNMP Notifications transport. The MIB defines the objects needed for
   the basic part of RAQMON PDU mapping, as well as the Notification. In
   order to incorporate any application specific extensions in the APP
   part of RAQMON PDU, varbinds may be included in the RAQMON
   notifications described in the MIB.

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


   RAQMON-RDS-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       Unsigned32,
       MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter32, Integer32
           FROM SNMPv2-SMI
       DateAndTime
          FROM SNMPv2-TC
       rmon
        FROM RMON-MIB
       Utf8String
           FROM SYSAPPL-MIB
       Dscp
           FROM DIFFSERV-DSCP-TC

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

   raqmonDs MODULE-IDENTITY
       LAST-UPDATED "200311111150Z"      -- November 11, 2003
       ORGANIZATION "RMON Working Group"
       CONTACT-INFO



RMON WG                    Expires August 2004                 [Page 18]


INTERNET DRAFT                 RAQMON PDU                  February 2004


               "
               WG EMail: rmonmib@ietf.org
               Subscribe: rmonmib-request@ietf.org
               MIB Editor:
             Eugene Golovinsky
             Postal: BMC Software, Inc.
                  2101 CityWest Blvd,
                  Houston, TX, 77094
                  USA
             Tel: +713-918-1816
             Email:  egolovin@bmc.com
               "
       DESCRIPTION
               "This is RAQMON Data Source notification Module.
                It provides mapping of RAQMON PDU to SNMP Notification.

               Ds is for data source.

                Note that all of the object types defined in this
                module are accessible-for-notify, and would consequently
                not be available to a browser using simple Get, GetNext,
                or GetBulk requests.

   Copyright (c) The Internet Society (2003). This version of this MIB module is part of RFC yyyy; See the RFC itself for full legal notices.
               "

       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.
                 Indexed by RAQMON session
                "



RMON WG                    Expires August 2004                 [Page 19]


INTERNET DRAFT                 RAQMON PDU                  February 2004


           ::= { 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.
                        It serves data organization purpose only.
                       "
                  INDEX { raqmonDSRC,
                          raqmonRCN }
                  ::= { raqmonDsNotificationTable 1 }


           RaqmonDsNotificationEntry ::=
                  SEQUENCE {
                 raqmonDSRC
                  Unsigned32,
                   raqmonRCN
                     Integer32,
                 raqmonAppName
                  Utf8String,
                 raqmonDataSourceDevicePort
                  Unsigned32,
                 raqmonReceiverDevicePort
                  Unsigned32,
                 raqmonSessionSetupDateTime
                  DateAndTime,
                 raqmonSessionSetupDelay
                  Unsigned32,
                 raqmonSessionDuration
                  Unsigned32,
                 raqmonSessionSetupStatus
                  Utf8String,
                 raqmonRoundTripEndtoEndDelay
                  Unsigned32,
                 raqmonOneWayEndtoEndDelay
                  Unsigned32,
                 raqmonJitterType
                  INTEGER,
                 raqmonJitterValue
                  Unsigned32,
                 raqmonTotalPacketsReceived
                  Counter32,
                 raqmonTotalPacketsSent
                  Counter32,



RMON WG                    Expires August 2004                 [Page 20]


INTERNET DRAFT                 RAQMON PDU                  February 2004


                 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."
       ::= { raqmonDsNotificationEntry 1 }

   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."
          ::= { raqmonDsNotificationEntry 2 }

   raqmonAppName  OBJECT-TYPE
       SYNTAX     Utf8String
       MAX-ACCESS accessible-for-notify



RMON WG                    Expires August 2004                 [Page 21]


INTERNET DRAFT                 RAQMON PDU                  February 2004


       STATUS     current
       DESCRIPTION
        "This is a text string giving the name and possibly version
         of the application associated to that session,
         e.g., --XYZ VoIP Agent 1.2."
       REFERENCE
          "Section 5.28 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 3 }

   raqmonDataSourceDevicePort OBJECT-TYPE
       SYNTAX     Unsigned32 (0..65535)
       MAX-ACCESS accessible-for-notify
       STATUS     current
       DESCRIPTION
        "The port number from which data for this session was sent."
       REFERENCE
          "Section 5.5 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 4 }

   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 the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 5 }

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

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



RMON WG                    Expires August 2004                 [Page 22]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   raqmonSessionDuration OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS accessible-for-notify
       STATUS     current
       DESCRIPTION
        "Session duration in seconds."
        REFERENCE
          "Section 5.9 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 8 }

   raqmonSessionSetupStatus OBJECT-TYPE
       SYNTAX     Utf8String
       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 the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 9 }

   raqmonRoundTripEndtoEndDelay OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS accessible-for-notify
       STATUS     current
       DESCRIPTION
        "Round trip end to end delay in milliseconds."
       REFERENCE
          "Section 5.10 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry  10}

   raqmonOneWayEndtoEndDelay OBJECT-TYPE
       SYNTAX     Unsigned32
       MAX-ACCESS accessible-for-notify
       STATUS     current
       DESCRIPTION
        "One way end to end delay in milliseconds."
       REFERENCE
          "Section 5.12 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry  11}

   raqmonJitterType OBJECT-TYPE
       SYNTAX     INTEGER
       {
        interArrival(1),
        absolute(2)
        }



RMON WG                    Expires August 2004                 [Page 23]


INTERNET DRAFT                 RAQMON PDU                  February 2004


       MAX-ACCESS accessible-for-notify
       STATUS     current
       DESCRIPTION
        "The type of the jitter measurement as reported by the RDS."
       REFERENCE
          "Section 5.13 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry  12}

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

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

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

   raqmonTotalOctetsReceived OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS accessible-for-notify
       STATUS     current



RMON WG                    Expires August 2004                 [Page 24]


INTERNET DRAFT                 RAQMON PDU                  February 2004


       DESCRIPTION
        "The total number of payload
         octets (i.e., not including header or padding) transmitted in
          packets by the  receiver within a communication session since
          starting transmission up until the time this RAQMON packet
          was generated."
       REFERENCE
          "Section 5.16 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 16 }

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

   raqmonCumulativePacketLoss OBJECT-TYPE
       SYNTAX     Counter32
       MAX-ACCESS accessible-for-notify
       STATUS     current
       DESCRIPTION
        "The total number of packets from session
         those have been lost while this notification was generated.
          This number is expected to be less the number of packets
          actually received."
        REFERENCE
          "Section 5.18 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 18 }

   raqmonPacketLossFraction OBJECT-TYPE
       SYNTAX     Unsigned32 (0..100)
       MAX-ACCESS accessible-for-notify
       STATUS     current
       DESCRIPTION
        "The percentage of lost packets with respect to the overall packets
          sent. This fraction is defined to be the number of packets lost
          divided by the number of packets expected."
       REFERENCE
          "Section 5.19 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 19 }




RMON WG                    Expires August 2004                 [Page 25]


INTERNET DRAFT                 RAQMON PDU                  February 2004


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

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

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

   raqmonDestinationLayer2Priority OBJECT-TYPE
       SYNTAX     Unsigned32 (0..7)
       MAX-ACCESS accessible-for-notify
       STATUS     current
       DESCRIPTION
        "Destination Layer 2 priority."
       REFERENCE
          "Section 5.24 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 23 }

   raqmonSourceDscp OBJECT-TYPE
       SYNTAX     Dscp
       MAX-ACCESS accessible-for-notify
       STATUS     current
       DESCRIPTION
        "Source DSCP value."



RMON WG                    Expires August 2004                 [Page 26]


INTERNET DRAFT                 RAQMON PDU                  February 2004


       REFERENCE
          "Section 5.23 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 24 }

   raqmonDestinationDscp OBJECT-TYPE
       SYNTAX     Dscp
       MAX-ACCESS accessible-for-notify
       STATUS     current
       DESCRIPTION
        "Destination DSCP value."
       REFERENCE
          "Section 5.25 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 25 }

   raqmonCpuUtilization OBJECT-TYPE
       SYNTAX     Unsigned32 (0..100)
       MAX-ACCESS accessible-for-notify
       STATUS     current
       DESCRIPTION
        "Percentage of total CPU utilization over a time duration."
       REFERENCE
          "Section 5.26 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 26 }

   raqmonMemoryUtilization OBJECT-TYPE
       SYNTAX     Unsigned32 (0..100)
       MAX-ACCESS accessible-for-notify
       STATUS     current
       DESCRIPTION
        "Percentage of total memory utilization over a time duration."
       REFERENCE
          "Section 5.27 of the [RAQMON FRAMEWORK]"
       ::= { raqmonDsNotificationEntry 27 }

   --
   -- definitions of the notifications
   -- The object list includes only the OBJECTS that will be send by a
   -- RD in any notification.
   -- Other objects from the raqmonDsNotificationTable may be included
   -- in the varbind.

   raqmonDsNotification NOTIFICATION-TYPE
       OBJECTS {
            raqmonDSRC,
             raqmonRCN
        }
       STATUS  current
       DESCRIPTION



RMON WG                    Expires August 2004                 [Page 27]


INTERNET DRAFT                 RAQMON PDU                  February 2004


               "This notification maps basic RAQMON PDU into SNMP transport."
       ::= { raqmonDsEvents  1 }

   raqmonDsByeNotification NOTIFICATION-TYPE
       OBJECTS {
            raqmonDSRC }
       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
               "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,
            raqmonAppName,
            raqmonDataSourceDevicePort,
            raqmonReceiverDevicePort,



RMON WG                    Expires August 2004                 [Page 28]


INTERNET DRAFT                 RAQMON PDU                  February 2004


             raqmonSessionSetupDateTime,
            raqmonSessionSetupDelay,
            raqmonSessionDuration,
             raqmonSessionSetupStatus,
            raqmonRoundTripEndtoEndDelay,
            raqmonOneWayEndtoEndDelay,
            raqmonJitterType,
             raqmonJitterValue,
            raqmonTotalPacketsReceived,
            raqmonTotalPacketsSent,
             raqmonTotalOctetsReceived,
            raqmonTotalOctetsSent,
            raqmonCumulativePacketLoss,
             raqmonPacketLossFraction,
            raqmonSourcePayloadType,
             raqmonReceiverPayloadType,
             raqmonSourceLayer2Priority,
             raqmonDestinationLayer2Priority,
            raqmonSourceDscp,
             raqmonDestinationDscp,
            raqmonCpuUtilization,
            raqmonMemoryUtilization
     }
       STATUS  current
       DESCRIPTION
               "These objects are required for entities
                claiming conformance to this MIB.
               "
       ::= { raqmonDsGroups 2 }

   END

4.0 Congestion Safe RAQMON Operation:

   RAQMON PDU can be transmitted over multiple transport protocols. As specified in an earlier section, the transport of RAQMON PDUs can be performed using any underlying network transport protocols that is used by RTCP and SNMP. Examples of transport such protocols are TCP, UDP and DCCP.

   A RAQMON PDU allows the usage of UDP as transport, which might lead to network congestion under heavy network load. To ensure congestion safety clearly the best thing to do is to use a transport protocol like TCP or DCCP, etc. If this is not feasible, it may be necessary to fall back to UDP. Implementers MUST follow section 3.0 of [RAQMON-FRAMEWORK] guidelines that outlines measures that MUST be taken to use RAQMON in congestion safe manner specially when using UDP for network transport that lacks congestion safety functionality at the transport layer.

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



RMON WG                    Expires August 2004                 [Page 29]


INTERNET DRAFT                 RAQMON PDU                  February 2004


[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

[RFC 3550]   Henning Schulzrinne, S. Casner, R. Frederick, and V. Jacobson,
           "RTP: A Transport Protocol for Real-Time Applications"
           RFC 3550, July 2003.

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

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


6. Informative References

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

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

[RFC1890]   H. Schulzrinne, "RTP Profile for Audio and Video
            Conferences with Minimal Control" RFC 1890, January 1996.

[RFC1305]   Mills, D., "Network Time Protocol Version 3", RFC 1305,
            March 1992.

[RFC1034]   Mockapetris, P., "Domain Names - Concepts and Facilities",
            STD 13, RFC 1034, November 1987.

[RFC1035]   Mockapetris, P., "Domain Names - Implementation and
            Specification", STD 13, RFC 1035, November 1987.

[RFC1123]   Braden, R., "Requirements for Internet Hosts - Application
            and Support", STD 3, RFC 1123, October 1989.

[RFC1597]   Rekhter, Y., Moskowitz, R., Karrenberg, D., and G. de Groot,
            "Address Allocation for Private Internets", RFC 1597, March
            1994.




RMON WG                    Expires August 2004                 [Page 30]


INTERNET DRAFT                 RAQMON PDU                  February 2004


[RFC2679]   G. Almes, S.kalidindi and M.Zekauskas, "A One-way Delay
            Metric for IPPM", RFC 2679, September 1999

[RFC2680]   G. Almes, S.kalidindi and M.Zekauskas, "A One-way Packet
            Loss Metric for IPPM", RFC 2680, September 1999

[RFC2681]   G. Almes, S.kalidindi and M.Zekauskas, "A Round-Trip Delay
            Metric for IPPM", RFC 2681, September 1999

[ISO10646]  International Standards Organization, "ISO/IEC DIS
            10646-1:1993information technology -- universal
            multiple-octet coded character set (UCS) -- part I:
            Architecture and basic multilingual plane," 1993.

[UNICODE]   The Unicode Consortium, The Unicode Standard New York,
            New York:Addison-Wesley, 1991.

[IEEE802.1D] Information technology-Telecommunications and information
            exchange between systems--Local and metropolitan area
            networks-Common Specification a--Media access control (MAC)
            bridges:15802-3: 1998 (ISO/IEC) [ANSI/IEEE Std 802.1D,
            1998 Edition]

[RFC1349]   P. Almquist, "Type of Service in the Internet Protocol Suite",
            RFC 1349, July 1992

[RFC1812]   F. Baker, "Requirements for IP Version 4 Routers" RFC1812,
            June 1995

[RFC2474]   K. Nicholas, S. Blake, F. Baker and D. Black, "Definition of
            the Differentiated Services Field (DS Field) in the IPv4 and
            IPv6 Headers", RFC2474, December 1998

[RFC2475]   S. Blake, D. Black, M. Carlson, E.Davies, Z.Wang and W.Weiss,
            "An Architecture for Differentiated Services" RFC2475,
            December 1998

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



RMON WG                    Expires August 2004                 [Page 31]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   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.

8. Appendix

   The implementation notes included in this Appendix are for
   informational purposes only and are meant to clarify the RAQMON
   specification.

Pseudo code for RDS & RRC

   We provide examples of Pseudo code for aspects of RDS and RRC. There
   may be other implementation methods that are faster in particular
   operating environments or have other advantages.

   RDS:
           when (session starts} {
             report.identifier = session.endpoints, session.starttime;
             report.timestamp = 0;
             while (session in progress) {
                  wait interval;
                  report.statistics = update statistics;
                  report.curtimestamp += interval;
                  if encryption required
                      report_data = encrypt(report, encrypt parameters);
                  else
                      report_data = report;
                  raqmon_pdu = header, report_data;
                  send raqmon-pdu;
             }
           } RRC:
           listen on raqmon port
           when ( raqmon_pdu received ) {
               decrypt raqmon_pdu.data if needed

               if report.identifier in database
                  if report.current_time_stamp > last update
                     update session statistics from report.statistics
                  else
                     discard report



RMON WG                    Expires August 2004                 [Page 32]


INTERNET DRAFT                 RAQMON PDU                  February 2004


            }

9.  Security Considerations

   The [RAQMON-FRAMEWORK] memo outlines a threat model associated to
   RAQMON and some security considerations taken into account within the
   RAQMON specification to alleviate those threats. It is imperative
   that the RAQMON PDU implementations be able to provide the following
   protection mechanisms to attain end-to-end security:

   1. Authentication - the RRC SHOULD be able to verify that a RAQMON
   report was originated by the RDS who claims to have sent it. At
   minimum, a RDS/RRC pair MUST use a digest based authentication
   procedure to authenticate.

   2. Privacy - RAQMON information includes identification of the
   parties participating in a communication session. RAQMON deployment
   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 like DES, 3-DES, AES

   3. Protection from Denial of Service attacks directed at the RRC -
   RDSs send RAQMON reports as a side effect of an external event (for
   example, a phone call is being received).  An attacker can try and
   overwhelm the RRC (or the network) by initiating a large number of
   events for the purpose of swamping the RRC with too many RAQMON PDUs.

   To prevent DoS attacks against RRC, the RDS will send the first
   report for a session only after the session has been in progress.

   4. NAT and Firewall Friendly Design: Presence for IP addresses,
   TCP/UDP ports information in RAQMON PDUs may be NAT un-friendly. In
   such a scenario, where NAT Friendliness is a requirement, the RDS may
   opt to not to provide IP Addresses in RAQMON PDU. Another way to
   avoid this problem is by using NAT Aware Application Layer Gateways
   (ALGs) to fill out IP Addresses in RAQMON PDUs.

   This memo also defines a RDS SNMP MIB 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 implementation:

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




RMON WG                    Expires August 2004                 [Page 33]


INTERNET DRAFT                 RAQMON PDU                  February 2004


   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 sessions 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).

   Though not mandatory for RAQMON compliance, it is RECOMMENDED to
   deploy SNMPv3 and to enable cryptographic security for RAQMON PDUs.
   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.

10. IANA Considerations

   This document defines a new RTCP packet type, within the existing
   Internet Assigned Numbers Authority (IANA) registry of RTP RTCP
   Control Packet Types at http://www.iana.org/numbers.html. RTCP Packet
   constant PT=20X as specified in Section 3.1 is reserved for RAQMON
   usage.

   This document also introduces a port for RAQMON usage of RTCP as
   transport protocol.


11.  Authors' Addresses

   Anwar A. Siddiqui
   Avaya Labs



RMON WG                    Expires August 2004                 [Page 34]


INTERNET DRAFT                 RAQMON PDU                  February 2004


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

   Dan Romascanu
   Avaya
   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

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS 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.




RMON WG                    Expires August 2004                 [Page 35]


INTERNET DRAFT                 RAQMON PDU                  February 2004





















































RMON WG                    Expires August 2004                 [Page 36]