Internet Engineering Task Force                           Nevil Brownlee
INTERNET-DRAFT                                The University of Auckland
                                                              April 1999
                                                    Expires October 1999





                     RTFM: Applicability Statement

          <draft-ietf-rtfm-applicability-statement-02.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."

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

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

This Internet Draft is a product of the Realtime Traffic Flow
Measurement Working Group of the IETF.




Abstract

This document provides an overview covering all aspects of Realtime
Traffic Flow Measurement, including its area of applicability and its
limitations.





INTERNET-DRAFT          RTFM: Applicability Statement         April 1999




Contents


 1 The RTFM Documents                                                  2

 2 Brief Technical Specification (TS)                                  4

 3 Applicability Statement (AS)                                        4

 4 Limitations                                                         5

 5 Security Considerations                                             6

 6 Policy Considerations                                               6

 7 Soundness                                                           7

 8 Appendix A: WG Report on the Meter MIB                              8

 9 References                                                          9

10 Author's Address                                                   10





1 The RTFM Documents


The RTFM Traffic Measurement System has been developed by the Realtime
Traffic Flow Measurement Working Group.  It is described in six other
documents (references [1] to [6]), as follows:


 [1] Internet Accounting: Background                  (Informational)

       Sets out the requirements for a usage reporting system for
       network traffic.  Sketches out the RTFM Architecture (meters,
       meter readers and managers) allowing for multiple meters
       and meter readers, with asynchronous reading from the meters.
       Proposes methods of classifying traffic flows, the need for
       flows to be bi-directional (with separate sets of counters
       for each direction) and the need for each packet to be counted
       in a single flow (the 'count in one bucket' principle).





Nevil Brownlee                                                  [Page 2]


INTERNET-DRAFT          RTFM: Applicability Statement         April 1999



 [2] RTFM Architecture                                (Informational)

       Defines the RTFM Architecture, giving descriptions of each
       component.  Explains how traffic flows are viewed as logical
       entities described in terms of their address-attribute values,
       so that each is defined by the attributes of its end-points.
       Gives a detailed description of the RTFM traffic meter, with
       full details of how flows are stored in the meter's flow table,
       and how packets are matched in accordance with rules stored in
       a ruleset.

 [3] RTFM Meter MIB                               (Proposed Standard)

       Describes the SNMP Management Information Base for an RTFM
       meter, including its flow table, rule table (storing the
       meter's rulesets) and the control tables used for managing
       a meter and reading flow data from it.

 [4] SRL: A Language for Describing Traffic Flows     (Informational)
            and Specifying Actions for Flow Groups

       An RTFM ruleset is an array of rules, used by the meter to
       decide which flows are of interest, which end-point is the
       flow source, and how much detail (i.e. what attribute values)
       must be saved for each flow.  SRL is a high-level language
       providing a clear, logical way to write rulesets.  It should
       also be useful for other applications which select flows
       and perform actions upon them, e.g. packet-marking gateways,
       RSVP policy agents, etc.

 [5] RTFM New Attributes                               (Experimental)

       There has been considerable interest from users in extending
       the RTFM Architecture so as to allow a meter to report on
       an increased number of flow-related measures.  This
       RFC documents work on specifying such measures (the 'new'
       attributes) and reports on experience of implementing them.

 [6] RTFM: Experiences with NeTraMet                  (Informational)

       NeTraMet is a free software implementation of the RTFM
       Architecture which has been available since 1993.  This RFC
       records RTFM implementation experience gained with NeTraMet
       up to late 1996.  One particularly important result is the
       realisation that groups of rules which test the same attribute
       using the same mask can be implemented as a single hashed
       comparison, allowing the meter to rapidly determine whether a
       packet belongs to one of a large number of networks.



Nevil Brownlee                                                  [Page 3]


INTERNET-DRAFT          RTFM: Applicability Statement         April 1999


2 Brief Technical Specification (TS)

RTFM provides for the measurement of network traffic 'flows,' i.e.


 - a method of specifying traffic flows within
      a network
 - a hierarchy of devices (meters, meter readers, managers)
      for measuring the specified flows
 - a mechanism for configuring meters and meter readers,
      and for collecting the flow data from remote meters


RTFM provides high time resolution for flow first- and last-packet
times.  Counters for long-duration flows may be read at intervals
determined by a manager.  The RTFM Meter is designed so as to do as much
data reduction work as possible, which minimizes the amount of data to
be read and the amount of processing needed to produce useful reports
from it.

RTFM flow data can be used for a wide range of purposes, such as usage
accounting, long-term recording of network usage (classified by IP
address attributes) and real-time analysis of traffic flows at remote
metering points.



3 Applicability Statement (AS)


To use RTFM for collecting network traffic information one must first
consider where in the network traffic flows are to be measured.  Once
that is decided, an RTFM Meter must be installed at each chosen
measurement point.

At least one Meter Reader is needed to collect the measured data from
the meters, and a single Manager is needed to control the meters and
meter readers.

RTFM Meters may be single- or multi-user hosts running a meter program
(one such program is available as free software, a second is under
development at IBM Research).  Alternatively, meters could be run as
firmware in switches or routers.  A hybrid approach in which an RTFM
meter takes raw traffic data from a router provides another useful
implementation path.

RTFM Managers are programs running on a host, communicating with meters
and meter readers via the network.  For this purpose meters are SNMP
agents implementing the RTFM Meter MIB, and managers are SNMP clients
using the Meter MIB to store and access the flow data.


Nevil Brownlee                                                  [Page 4]


INTERNET-DRAFT          RTFM: Applicability Statement         April 1999



4 Limitations


RTFM is designed to measure traffic flows for traffic passing a point in
a network.  If packets for a flow pass the metering point in both
directions the meter will match them up, providing counters for each
direction.  If packets only pass in one direction the meter can only
provide counts for that direction.

Users of RTFM should note that installing meters, meter readers and
managers merely provides one with the capability to collect flow data.
Further installation work will be needed to develop configuration files
(RTFM rulesets) for each meter, data processing applications to analyse
the flow data, and various scripts, cron jobs, etc.  so as to create a
useful production-quality measurement system which suits a user's
particular needs.

One of the strengths of RTFM is its ability to collect flow data at
whatever level of detail (or 'granularity') is required.  It can be
tempting to simply collect 'all possible data,' but there are severe
resource constraints.  If one tries to save the complete
address-attribute value for all attributes of every possible flow a very
large amount of data may be produced rapidly, but the meter has only a
finite amount of memory for its flow table.  A better approach is to
save the minimum amount of data required to achieve the measurement
system goals.

For example, to collect usage data so as to bill subscribers identified
by their IP address one could just save the full IP address, nothing
more.  The RTFM meter would produce flow data for each subscriber IP
address, with PDU and Octet counts for data sent and received, which
would be the minimum needed to produce bills.  In practice one would
probably want to save at least part of the Destination IP address, which
would allow the production of usage logs showing subscriber activity
over time.

The simplest way to determine how much detail can be collected is to
create an initial ruleset which collects the minimum amount, then to
modify it step by step, gradually increasing the amount of information
saved for each flow.  An RTFM meter ought to provide some measures of
its own performance (e.g. number of active flows, percentage idle
processor time, packets metered, packets not metered).  Such measures
will be implementation-specific, but should allow a user to assess the
impact of each change to the ruleset.

If the network data rate is too high, i.e. the meter reports that it
cannot meter all the packets even with the initial ruleset above, one
may be able to use other strategies.  For example one could



Nevil Brownlee                                                  [Page 5]


INTERNET-DRAFT          RTFM: Applicability Statement         April 1999


 - run the meter on a faster computer, e.g. move
      from a DOS PC to a workstation, or perhaps use a
      meter implemented in firmware within a switch or router.

 - use sampling.  The details of such sampling are not defined within
      the RTFM Architecture, but the Meter MIB provides one simple
      method by allowing one to specify that only every nth packet
      on an interface will be metered.   This would probably not be
      acceptable for producing billing data, but might well be
      acceptable for traffic engineering purposes.


5 Security Considerations

These are discussed in detail in the Architecture and Meter MIB
documents.  In brief, an RTFM Meter is an SNMP agent which observes a
network and collects flow data from it.  Since it doesn't control the
network directly, it has no direct effect on network security.

On the other hand, the flow data itself may well be valuable - to the
network operator (as billing data) or to an attacker (who may wish to
modify that data, or the meter's ruleset(s).  It is therefore important
to take proper precautions to ensure that access to the meter and its
data is sufficiently secure.

For example, a meter port attached to a network should be passive, so
that it cannot respond to login attempts of any kind.  Control and data
connections to a meter should be via a secure management network.
Finally, suitable security should be established for the meter, as it
would be for any other SNMP agent.

Meters may, like any other network component, be subjected to Denial of
Service and other attacks.  These are outside the RTFM Architecture -
countermeasures for them are available, but are also outside RTFM.



6 Policy Considerations


When collecting traffic data, one must have well-defined operations
policies covering points such as:


 - Exactly what data is to be collected, at what level of detail?
 - How long will the data be kept?
 - What may the data be used for?
 - Who will be allowed to see the raw data?
 - May summaries of the data be shown to other people?



Nevil Brownlee                                                  [Page 6]


INTERNET-DRAFT          RTFM: Applicability Statement         April 1999


Policy issues such as these should normally be considered as part of an
organisation's Network Security Policy.

Other policy issues relating more directly to the traffic data are
essentially part of the measurement system design, such as:


 - How much time resolution is required for the data?
      (Less resolution implies longer collection intervals,
      but that may require more memory in the meters to hold
      flow data between collections).
 - What level of hardware redundancy is needed?
      (A single meter and meter reader is generally enough.
      For greater reliability, meters and meter readers can be
      duplicated).
 - Who is allowed to use the system?  (Approved users will need
      permissions to download rulesets to the meters, and to
      collect their data, possibly via their own meter readers).



7 Soundness

NeTraMet, the first implementation of the RTFM Architecture, has been in
use worldwide since 1994.  Currently there are many organisations, large
and small, using it to collect traffic data for billing purposes.

One example of these is Kawaihiko, the New Zealand Universities'
Network, which has seven RTFM meters located at sites throughout New
Zealand.  One of the sites is NZIX, the New Zealand Internet eXchange at
the University of Waikato, where Kawaihiko has a meter (attached to a
100baseT network) observing traffic flows across the exchange to each of
Kawaihiko's three international Internet Service Providers.  5-minute
Octet counts are collected from all the Kawaihiko meters by a single
meter reader at Auckland.  Traffic data from the meters is used to
determine the cost per month for each of the Kawaihiko sites.

It is difficult to estimate how many organisations are using RTFM
traffic measurement.  There are about 250 people on the NeTraMet mailing
list, which often carries questions like 'why doesn't this ruleset do
what I meant?'  Once new users have the system running, however, they
tend to simply use it without further comment.

>From time to time the list provides useful feedback.  For example, early
in 1998 there were two very significant user contributions:


 - Jacek Kowalski (Telstra, Melbourne) described an improved hash
      algorithm for NeTraMet's flow table, which provided almost an
      order of magnitude improvement in packet-handling performance.


Nevil Brownlee                                                  [Page 7]


INTERNET-DRAFT          RTFM: Applicability Statement         April 1999


 - Kevin Hoadley (JANET, U.K.) reported having problems with very
      large rulesets.  These were resolved, and better methods of
      downloading rules developed, allowing NeTraMet to work well
      for rulesets with more than 32,000 rules.


Perhaps one reason why there is little discussion of NeTraMet's use in
collecting billing data is that users may consider that the way collect
their data is a commercially sensitive matter.



8 Appendix A: WG Report on the Meter MIB


The Meter MIB (in its current form) was developed early in 1996.  It was
produced as an SNMPv2 MIB, following a number of detailed (and
continuing) discussions with David Perkins beginning at the Dallas IETF
meeting in December 1995.

There are two current implementations:


 - NeTraMet (Nevil Brownlee, The University of Auckland)

 - IBM Meter (Sig Handelman & Stephen Stibler, IBM Research, N.Y,
            Bert Wijnen provided further help with SNMP)


The NeTraMet meter is a stand-alone SNMP agent using an SNMPv2C
implementation derived from CMU SNMPv2.

The IBM meter runs as a sub-agent on an AIX system.  All the meter code
has been written by Stephen Stibler - it was not derived from the
NeTraMet code.  Stephen has found it useful to use nifty, one of
NeTraMet's manager/reader programs, to test the IBM meter.

As indicated above, there have only been two implementors to date, and

the Working Group consensus has been very strong.

The MIB has one unusual aspect:  the method used to read large amounts
of data from its Flow Table.  An earlier SNMPv1 version of the MIB was
in use from 1992 to 1997; it used opaque objects to read column slices
from the flow table for flows which had been active since a specified
time.  This was very non-standard (or at least very
application-specific).

With the change to SNMPv2 we were able to use 64-bit counters for PDUs
and Octets, RowStatus variables for control tables and GETBULK requests
to read rows from the flow table.  We also use the TimeFilter convention


Nevil Brownlee                                                  [Page 8]


INTERNET-DRAFT          RTFM: Applicability Statement         April 1999



from the RMON2 MIB to select flows to be read; this gives the meter MIB
a strong resemblance to RMON2.

The current MIB introduces a better way of reading large amounts of data
from the flow table.  This is the 'DataPackage' convention, which
specifies the attribute values to be read from a flow table row.  The
meter returns the values for each required attribute within a
BER-encoded sequence.  This means there is only one object identifier
for the whole sequence, greatly reducing the number of bytes required to
retrieve the data.  The combination of


  TimeFilter:  to select the flows to be read
  DataPackage: to select the attributes required for each flow
  GetBulk:     to read many flows with a single SNMP PDU


provides a very effective way to read flow data from a traffic meter.




9 References


    [1] Mills, C., Hirsch, G. and Ruth, G., "Internet Accounting
    Background", RFC 1272, Bolt Beranek and Newman Inc., Meridian
    Technology Corporation, November 1991.

    [2] Brownlee, N., Mills, C., and Ruth, G., "Traffic Flow
    Measurement:  Architecture", RFC 2063, The University of
    Auckland, GTE Laboratories Inc, January 1997.

    [3] Brownlee, N., "Traffic Flow Measurement:  Meter MIB", RFC
    2064, The University of Auckland, January 1997.

    [4] Brownlee, N., "SRL: A Language for Describing Traffic Flows
    and Specifying Actions for Flow Groups," Internet Draft,
    'Working draft' to become an Informational RFC, The University
    of Auckland.

    [5] Handelman, S.W., Brownlee, N., Ruth, G., Stibler, S., "New
    Attributes for Traffic Flow Measurment," Internet Draft,
    'Working draft' to become an Experimental RFC, IBM, The
    University of Auckland, GTE Laboratories Inc, IBM.

    [6] Brownlee, N., "Traffic Flow Measurement:  Experiences with
    NeTraMet," RFC 2123, The University of Auckland, March 1997.



Nevil Brownlee                                                  [Page 9]


INTERNET-DRAFT          RTFM: Applicability Statement         April 1999




10 Author's Address


    Nevil Brownlee
    Information Technology Systems & Services
    The University of Auckland

    Phone: +64 9 373 7599 x8941
    E-mail: n.brownlee@auckland.ac.nz







































                                                    Expires October 1999

Nevil Brownlee                                                 [Page 10]