home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_q_t / draft-ietf-rtfm-new-traffic-flow-01.txt < prev    next >
Text File  |  1997-03-26  |  22KB  |  563 lines

  1.  
  2.  
  3.  
  4.  
  5. Real Time Flow Measurement Working Group        S.W. Handelman
  6. Internet-draft                                  IBM
  7.                                                 Hawthorne, NY USA
  8.  
  9.                                                 N. Brownlee
  10.                                                 U of Auckland, NZ
  11.  
  12.                                                 Greg Ruth
  13.                                                 GTE Laboratories, Inc
  14.                                                 Waltham, MA USA
  15.  
  16.  
  17.                                                 March 25, 1997
  18.                                                 expires
  19.                                                 September 25, 1997
  20.  
  21.  
  22. Real Time Flow Measurement Working Group - New Attributes for 
  23. Traffic Flow Measurement
  24.  
  25.  
  26. draft-ietf-rtfm-new-traffic-flow-01.txt
  27.  
  28.  
  29. 1. Status of this Memo
  30.  
  31.    This document is an Internet Draft.  Internet Drafts are working
  32.    documents of the Internet Engineering Task Force (IETF), its areas,
  33.    and its working groups.  Note that other groups may also distribute
  34.    working documents as Internet Drafts.
  35.  
  36.    Internet  Drafts  are  draft  documents  valid  for  a maximum of six
  37.    months, and may be updated, replaced, or obsoleted by other documents
  38.    at any time.  It is inappropriate to use Internet Drafts as reference
  39.    material or to cite them other than as "work in progress".
  40.  
  41.    To learn the current status of any Internet Draft, please  check  the
  42.    "1id-abstracts.txt" listing contained in the Internet Drafts shadow
  43.    directories  on  ftp.is.co.za   (Africa),   nic.nordu.net   (Europe),
  44.    munnari.oz.au  (Pacific  Rim),  ds.internic.net  (US  East Coast), or
  45.    ftp.isi.edu (US West Coast).
  46.  
  47.    This memo provides information for the Internet community.  This memo
  48.    does  not  specify an Internet standard of any kind.  Distribution of
  49.    this memo is unlimited.
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57. Handelman, Brownlee, Ruth                                       [Page 1]
  58.  
  59. Internet-Draft                                            March 25, 1997
  60.  
  61.  
  62. 2.1 Introduction
  63.  
  64.    The Real-time Traffic Flow Measurement (RTFM) working group has
  65.    developed a system for measuring and reporting information about
  66.    traffic flows in the Internet.  This document explores the definition
  67.    of extensions to the flow measurements as currently defined in [1]
  68.    and [5].  The new attributes described in this document will be
  69.    useful for monitoring network performance and expand the scope of
  70.    RTFM beyond traffic measurement. Performance attributes typically
  71.    deal with throughput, packet loss, and delays. We will explore the
  72.    methods in which RTFM can extract values from flows which measure
  73.    these attributes. We will also look at capturing information on
  74.    jitter and congestion control.
  75.  
  76.    The RTFM Working Group has defined the concept of a standardized
  77.    meter which records flows from a traffic stream according to Rule
  78.    Sets which are active in the meter[1].
  79.     Implementations of this meter have been done by Nevil Brownlee in
  80.    the University of Auckland, NZ, and Stephen Stibler and Sig Handelman
  81.    at IBM in Hawthorne, NY, USA. The RTFM WG has also discussed the
  82.    Meter Reader  Program whose job is to fetch the completed group of
  83.    flows active in the Meter.
  84.  
  85. 2.1.1  RTFM's Definition of Flows
  86.  
  87.    The RTFM Meter architecture views a flow as a set of packets between
  88.    two end-points (as defined by their source and destination attribute
  89.    values), and as BI-DIRECTIONAL (i.e. the meter effectively monitors
  90.    two sub-flows, one in each direction).
  91.  
  92.    Reasons why RTFM flows are bi-directional:
  93.  
  94.    - We are interested in understanding the behavior of sessions between
  95.    end-points.
  96.  
  97.    - We want to perform as much data reduction as possible, so as to
  98.    reduce the amount of data to be retrieved from a remote meter.
  99.  
  100.    - The endpoint attribute values (the "Address" and "Type" ones) are
  101.    the same for both directions; storing them in bi-directional flows
  102.    reduces the meter's memory demands.
  103.  
  104. 2.2 RTFM's Current Definition of  Flows and their Attributes
  105.  
  106.    Flows, as described in the "Architecture" I-D have the following
  107.    properties:
  108.  
  109.    a. They occur between two endpoints, specified as sets of attribute
  110.  
  111.  
  112.  
  113. Handelman, Brownlee, Ruth                                       [Page 2]
  114.  
  115. Internet-Draft                                             March 25, 1997
  116.  
  117.  
  118.    values in the meter's current rule set.  A flow is completely
  119.    identified by its set of endpoint attribute values.
  120.  
  121.    b. Each flow may also have values for "computed" attributes (Class
  122.    and Kind).  These are directly derived from the endpoint attribute
  123.    values.
  124.  
  125.    c. A new flow comes into being when the a packet is seen which is not
  126.    classified by the Rule Set into an existing flow. The meter records
  127.    the time  when this new flow is created.
  128.  
  129.    d. Attribute values in (a), (b) and (c) are set when the meter sees
  130.    the first packet for the flow, and are never changed.
  131.  
  132.    e. Each flow has a "LastTime" attribute, which indicates the time the
  133.    meter last saw a packet for the flow.
  134.  
  135.    f. Each flow has two packet and byte counters, one for each flow
  136.    direction (Forward and Backward).  These are updated as packets are
  137.    observed by the meter.
  138.  
  139.    g. ALL the attributes have (more or less) the same meaning for a
  140.    variety of protocols; IPX, AppleTalk, DECnet and CLNS as well as
  141.    TCP/IP.
  142.  
  143.    Current flow attributes as described above, fit very well into the
  144.    SNMP data model.  They are either static, or are continuously updated
  145.    counters.  They are NEVER reset.  In this document they will be
  146.    referred to as "old-style" attributes.
  147.  
  148.    It is easy to add further "old-style" attributes, since they don't
  149.    require any new features in the architecture.  For example:
  150.  
  151.    - Count of the number of "lost" packets (determined by watching
  152.    sequence number fields for packets in each direction; only available
  153.    for protocols which have sequence numbers).
  154.  
  155.    - In the future, RTFM could coordinate directly with the Flow number
  156.    from the IPv6 header.
  157.  
  158.    At the June, 1996 meeting of the RTFM WG, in Montreal, Canada, a
  159.    proposal was put forth to extend the work of the group to produce an
  160.    Internet Draft "New Attributes for Traffic Flow Measurement".  That
  161.    proposal has brought forth this document. The goal of this work is to
  162.    produce a simple set of abstractions, which can be easily implemented
  163.    and at the same time enhance the value of RTFM meters. This document
  164.    also defines a method for organizing the flow abstractions to
  165.    preserve the existing RTFM flow table.
  166.  
  167.  
  168.  
  169. Handelman, Brownlee, Ruth                                       [Page 3]
  170.  
  171. Internet-Draft                                             March 25, 1997
  172.  
  173.  
  174.    At the December, 1996 meeting of the RTFM WG and at a joint meeting
  175.    of the RTFM and IPPM working groups the concepts of this document
  176.    were discussed. The suggestions given at these discussions are
  177.    included in this document.
  178.  
  179.    An addition to the main architecture document of RTFM is the use of
  180.    High Watermarks, to set up Alerts when the value of a flow record
  181.    variable  exceeds a watermark, e.g. the total byte count exceeds a
  182.    preset amount, such as no user should send more than 2,000,000
  183.    packets.  This is a generalization of the concept defined in RTFM to
  184.    send Traps when a  Meter finds an exception condition in its own
  185.    processing (The Architecture Document refers to running out of buffer
  186.    space).
  187.  
  188. 2.3 RTFM Flows, Integrated Services, IPPM and Research in Flows
  189.  
  190.  
  191.    The concept of flows has been studied in various different contexts.
  192.    For the purpose of extending RTFM, a starting point is the work of
  193.    the Integrated Services WG. We will measure quantities that are often
  194.    set by Integrated Services and configuration programs. We will look
  195.    at the work of the Benchmarking - Internet Provider Performance
  196.    Metrics Working Group, and also look at the work of Claffy, Braun and
  197.    Polyzos. We will demonstrate how RTFM can compute throughput, packet
  198.    loss, and delays from flows.
  199.  
  200.    An example of the use of capacity and performance information is
  201.    found in "The Use of RSVP with IETF Integrated Services".  [2].
  202.    RSVP's use of Integrated Services revolves around Token Bucket Rate,
  203.    Token Bucket Size, Peak Data Rate, Minimum Policed Unit, Maximum
  204.    Packet Size, and the Slack term. These are set by TSpec, ADspec and
  205.    FLowspec (Integrated Services Keywords), and are used in
  206.    configuration and operation of Integrated Services. RTFM could
  207.    monitor explicitly Peak Data Rate,
  208.     Minimum Policed Unit, Maximum Packet Size, and the Slack term. RTFM
  209.    could infer details of the Token Bucket. We will develop measures to
  210.    work with these service metrics.
  211.  
  212.    RTFM will work with several traffic measurements identified by IPPM
  213.    [3]. There are three broad areas in which RTFM is useful for IPPM.
  214.  
  215.    1) RTFM could act as a passive device that can gather traffic and
  216.    performance statistics at appropriate places in TCP/IP networks
  217.    (servers or client locations).
  218.  
  219.    2) RTFM could give detailed analyses of IPPM test flows that pass
  220.    through the Network segment that RTFM is monitoring.
  221.  
  222.  
  223.  
  224.  
  225. Handelman, Brownlee, Ruth                                       [Page 4]
  226.  
  227. Internet-Draft                                            March 25, 1997
  228.  
  229.  
  230.    3) RTFM could be used to identify most used paths in a network mesh,
  231.    such that detailed IPPM work could be applied to the most used paths.
  232.  
  233. 3. Flow Abstractions
  234.  
  235.    Performance attributes include throughput, packet loss, delays,
  236.    jitter, and congestion analysis. RTFM will calculate these attributes
  237.    in the form of extensions to the RTFM flow attributes according to
  238.    three general classes:
  239.  
  240.    o 'packet traces' - collections of individual packets in a flow or a
  241.    segment of a flow
  242.  
  243.    o 'aggregates' - statistics derived from the flow taken as a whole
  244.    (e.g. mean rate, max packet size).
  245.  
  246.    o 'series'- sequences of attributes that depend on more than one
  247.    packet (e.g. inter-arrival times)
  248.  
  249.    The following sections suggest implementations for each of these
  250.    classes of extensions.
  251.  
  252.    As an introduction to flow abstractions one fact must be emphasized.
  253.    Several of the measurements enumerated below can be implemented by a
  254.    Meter Reader that is tied to the meter with instantaneous response,
  255.    and very high bandwidth.  If the Meter Reader and Meter can be
  256.    arranged in such a way, RTFM could collect Packet Traces with time
  257.    stamps, and provide them to the Meter Reader for processing by the
  258.    Meter Reader.
  259.  
  260.    A more useful alternative is to have the meter calculate some flow
  261.    statistics locally. This allows a looser coupling between the meter
  262.    and Meter Reader. RTFM will create an 'extended attribute' depending
  263.    upon settings in the Rules table of RTFM. By default, RTFM will not
  264.    create any extensions without explicit instructions in the Rule
  265.    table.
  266.  
  267.    RTFM's traditional flows can be analyzed at two levels. The first is
  268.    to analyze the Network traffic in terms of time, e.g. traffic load of
  269.    a particular flow, to be called Network Flows. These flows can be
  270.    looked at as an extension of the "old-style" flow attributes. The
  271.    second, is to derive a value from the flow, e.g. analyzing packet
  272.    sequence numbers and ACKS and estimating delay.  This second type
  273.    will be called Derived Attributes.
  274.  
  275. 3.1. Packet Traces
  276.  
  277.  
  278.  
  279.  
  280.  
  281. Handelman, Brownlee, Ruth                                      [Page 5]
  282.  
  283. Internet-Draft                                           March 25, 1997
  284.  
  285.  
  286.    The simplest way of doing this in the meter would be to have a new
  287.    attribute called, say, "PacketTrace."  This would be a table, with a
  288.    column for each property of interest.  For example, one could have
  289.  
  290.    - Arrival time (TimeTicks from SysUptime, or microseconds from
  291.    FirstTime for the flow).
  292.  
  293.    - Direction (Forward or Backward)
  294.  
  295.    - Sequence number (for protocols with sequence numbers)
  296.  
  297.    - Flags (for TCP at least).
  298.  
  299.    To add a row to the table, we only have to have a rule which PushPkts
  300.    the PacketTrace attribute.
  301.  
  302.  
  303.    To use this, one would write a rule set which selected out a small
  304.    number of flows of interest, and PushPkted PacketTrace for each of
  305.    them.  A MaxTraceRows default value of 2000 would be enough to allow
  306.    a Meter Reader to read 1-second ping traces every 10 minutes or so.
  307.    More realistically, a MaxTraceRows of 500 would be enough for one-
  308.    minute pings, read once each hour.
  309.  
  310. 3.2. Aggregate Attributes
  311.  
  312.  
  313.    Performance aspects of flows are interesting  in the case of a flow
  314.    between a server and client. RTFM could find the same data in TCP/IP
  315.    and UDP flows, and can find additional data in TCP flows.  The
  316.    performance data found by this method define the flow capacity used
  317.    by the individual flow, as experienced in the locale of the RTFM
  318.    meter.
  319.  
  320.    For both TCP/IP and UDP, RTFM's "old-style" flow attributes count the
  321.    bytes/packets for packets which match the rule set for an individual
  322.    flow.  In addition to these totals, RTFM could calculate Packet size
  323.    and Bit rate statistics. Bit rate statistics point to the throughput
  324.    of performance metrics.
  325.  
  326.    Packet size - RTFM's packet flows can be examined to determine the
  327.    maximum packet size found in a flow. This will give the Network
  328.    Operator an indication of the MTU being used in a flow. It will also
  329.    give an indication of the sensitivity to loss of a flow, for losing
  330.    large packets causes more data to be repeated.
  331.  
  332.    Bit rate  - The data could also be recorded as the maximum and
  333.    minimum data rate of the flow, found over specific time periods
  334.  
  335.  
  336.  
  337. Handelman, Brownlee, Ruth                                       [Page 6]
  338.  
  339. Internet-Draft                                            March 25, 1997
  340.  
  341.  
  342.    during the lifetime of a flow. Bit rate could be used to define the
  343.    he throughput of a flow, and if the RTFM flow is defined to be the
  344.    sum of all traffic in a network, one can find the throughput of the
  345.    network.
  346.  
  347.    Note that aggregate attributes are a simple extension of the their
  348.    values are never reset.  For example, an array of counters could hold
  349.    a 'total bits observed' distribution.  The counters continue to
  350.    increase, a meter reader will collect their values at regular
  351.    intervals, and an analysis application will compute and display
  352.    distributions of the data rate for each interval.  In this situation,
  353.    the interval will be specified by the manager which controls the
  354.    meter and meter reader.
  355.  
  356. 3.3 Series Attributes
  357.  
  358.  
  359.    The notion of series attributes, is to keep simple statistics that
  360.    involve more than one packet. Methods to derive simple percentiles,
  361.    means, and other statistics can be developed for each flow. The
  362.    notation to construct such an attribute would be a command in the
  363.    rule set, instructing the meter to compute the attribute. This is
  364.    similar to the definition above of creating an aggregate attribute.
  365.  
  366.    Whereas aggregate attributes (see above) only require the meter to
  367.    increment counters, series attributes require the meter to compute
  368.    attribute values.  For example, if we want to produce a distribution
  369.    of '10-second' forward data rates, the meter might compute this for
  370.    each flow of interest as follows:  - maintain an array of counters to
  371.    hold the flow's 10-second data rate distribution.
  372.  
  373.    - every 10 seconds, compute the 10-second octet count, and save a
  374.    copy of the flow's forward octet counter.  To achieve this, the meter
  375.    will have to keep a list of aggregate flows and the intervals at
  376.    which they require processing.  It will require careful programming
  377.    to achieve this, but provided the meter is not asked to do this for
  378.    very large numbers of flows, it should not be too difficult!
  379.  
  380.    TCP and UDP
  381.  
  382.    Inter-arrival statistics - TCP and UDP. RTFM knows the time that it
  383.    encounters each individual packet. Statistics can be kept to record
  384.    the inter-arrival times of the packets, which would give an
  385.    indication of the jitter found in the Flow.
  386.  
  387.    TCP Only - Packet loss  - RTFM can calculate packet loss performance
  388.    metrics. This is an area for further study. TCP packets have byte
  389.    sequence numbers and SYNS, FINS, and ACK's associated with them. RTFM
  390.  
  391.  
  392.  
  393. Handelman, Brownlee, Ruth                                        [Page 7]
  394.  
  395. Internet-Draft                                             March 25, 1997
  396.  
  397.  
  398.    could track the sequence numbers in the flows, and calculate the
  399.    packet loss occurring in a flow, and thus we can develop a metric of
  400.    lost packets and useful traffic.
  401.  
  402.    Delay analysis -  TCP flows could be examined for the timing between
  403.    Transmissions and ACKS and thus we can get some measure of delay of
  404.    performance metrics . This assumes the forward and reverse packets
  405.    are both visible to the meter. In the case of asymmetric flows, RTFM
  406.    can be run on multiple paths, and with precise timing create packet
  407.    traces, which can be compared at later times.
  408.  
  409.    Subflow analysis - TCP flows, e.g. a Web server's httpd flows
  410.    actually contain many individual sub flows. Given, a well known Web
  411.    Server WW, and a  client CC, RTFM would normally pick up an
  412.    aggregation of all the flows of text, graphics, Java programs, etc.
  413.    that are sent between WW and CC. By analyzing the Sequence numbers,
  414.    RTFM could estimate when each subflow occurs, and thus maintain
  415.    statistics about the subflows on a network.
  416.  
  417.    Congestion Analysis - In a TCP/IP flow we have information on the
  418.    negotiation of Window sizes which are used by TCP/IP to control
  419.    congestion. Well behaved flows  honor these requests and in the vast
  420.    majority of cases the sender will slow down and thus decrease its
  421.    rate of injecting packets into the congested network.  We will look
  422.    for cases where flows do not honor these congestion control and are
  423.    not slowing down. We will also look for flows which have the
  424.    "precedence" fields turned on and thus are aggressively competing for
  425.    network resources.
  426.  
  427.    3.4 Action on Exceptions
  428.  
  429.    The user of RTFM will have the ability to define Network and Derived
  430.    flows, as having High Watermarks. The existence of abnormal service
  431.    conditions, such as non-ending flow, a flow that exceeds a given
  432.    limit in traffic (e.g. a flow that is exhausting the capacity of the
  433.    line that carries it) causes an ALERT to be sent to the Meter Reader
  434.    for forwarding to the Manager. Operations Support may define service
  435.    situations in many different environments. This is an area for
  436.    further discussion on Alert and Trap handling.
  437.  
  438. 4. Packet Flow Table
  439.  
  440.    The architecture of RTFM has defined the structure of flows, and this
  441.    draft does not change that structure. The flow table could have
  442.    ancillary tables called "Packet Flow Tables", which would contain
  443.    rows of values and or actions as defined under packet traces,
  444.    aggregate attributes and series attributes. Each Packet Flow table
  445.    would be marked with the number of its corresponding flow in the RTFM
  446.  
  447.  
  448.  
  449. Handelman, Brownlee, Ruth                                         [Page 8]
  450.  
  451. Internet-Draft                                               March 25, 1997
  452.  
  453.  
  454.    flow table.  In order to identify the data in a Packet Flow Table,
  455.    the value of the Rules Table Extension will be pushed into a string
  456.    at the head of each row. For example, if a Packet Flow table entry
  457.    has Bit Rates for a particular flow, the "BitRate" string would be
  458.    found at the head of the row.
  459.  
  460.    A method of bundling the Packet Flow table and the packet data will
  461.    be developed such that an SNMP manager can retrieve whole flow table
  462.    entries, and whole Packet Flow Tables, with SNMP v2 Getbulk
  463.    instructions. This will be accomplished by creating a flow attribute
  464.    called FlowDataPackage. This will be an encoded sequence of all the
  465.    objects such that the Getbulk could operate on the whole structure.
  466.  
  467. 4.1 Note on Interchange between Meter and Meter Reader
  468.  
  469.    The above information on Getbulk could be superseded in the near
  470.    future by the work of the RMONMIB Bulk Data Transfer.
  471.  
  472. 5. Extensions to the Rules Table
  473.  
  474.    The Rules Table of "old-style" attributes will be extended for the
  475.    new flow types. A list of actions, and Keywords, such as "BitRate"-
  476.    for Bit Rate, "MaxPack", for Max Packet size will be developed and
  477.    used to inform RTFM to collect a set of extended values for a
  478.    particular flow (or set of flows).
  479.  
  480. 6. Acknowledgments
  481.  
  482.    We thank Stephen Stibler of IBM for his comments on this draft.
  483.  
  484. 7. Security Considerations
  485.  
  486.    Security considerations are not discussed in this memo.
  487.  
  488. 8. Author's  Address:
  489.  
  490.    Sig Handelman
  491.    IBM Research Division
  492.    Hawthorne, NY
  493.    Phone: 1-914-784-7626
  494.    E-mail: handel@watson.ibm.com
  495.  
  496.    Nevil Brownlee
  497.    The University of Auckland
  498.    New Zealand
  499.    Phone: +64 9 373 7599 x8941
  500.    E-mail: n.brownlee@auckland.ac.nz
  501.  
  502.  
  503.  
  504.  
  505. Handelman, Brownlee, Ruth                                         [Page 9]
  506.  
  507. Internet-Draft                                              March 25, 1997
  508.  
  509.  
  510.    Greg Ruth
  511.    GTE Laboratories
  512.    Waltham, MA
  513.    Phone: 1 617 466 2448
  514.    E-mail: grr1@gte,com
  515.  
  516. 9. References:
  517.  
  518.    [1] Brownlee, N, Mills, C., Ruth, G.: "Traffic Flow Measurement:
  519.    Architecture",  RFC 2063, 1997
  520.  
  521.    [2] Wroclawski, J., : "The Use of RSVP with IETF Integrated Services
  522.    Internet" Draft,  October, 1996
  523.  
  524.    [3] Almes, G. et al: "Framework for IP Provider Metrics" Internet
  525.    Draft. July 1996
  526.  
  527.    [4] Claffy, K., Braun, H-W, Polyzos, G. "A Parameterizable
  528.    Methodology for Internet Traffic Flow Profiling," IEEE Journal on
  529.    Selected Areas in Communications, Vol. 13, No. 8, October 1995.
  530.  
  531.    [5] Mills, C., Ruth, G.: "Internet Accounting Background," RFC 1272,
  532.    1992
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561. Handelman, Brownlee, Ruth                                         [Page 10]
  562.  
  563.