home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_a_c / draft-ietf-bmwg-loss-01.txt < prev    next >
Text File  |  1997-08-04  |  20KB  |  597 lines

  1.  
  2. Network Working Group              G. Almes, Advanced Network & Services
  3. Internet Draft                 S. Kalidindi, Advanced Network & Services
  4. Expiration Date: January 1998                                  July 1997
  5.  
  6.  
  7.                      A Packet Loss Metric for IPPM
  8.                    <draft-ietf-bmwg-ippm-loss-01.txt>
  9.  
  10.  
  11. 1. Status of this Memo
  12.  
  13.    This document is an Internet Draft.  Internet Drafts are working doc-
  14.    uments  of the Internet Engineering Task Force (IETF), its areas, and
  15.    its working groups.  Note that other groups may also distribute work-
  16.    ing documents as Internet Drafts.
  17.  
  18.    Internet  Drafts  are  draft  documents  valid  for  a maximum of six
  19.    months, and may be updated, replaced, or obsoleted by other documents
  20.    at any time.  It is inappropriate to use Internet Drafts as reference
  21.    material or to cite them other than as ``work in progress''.
  22.  
  23.    To learn the current status of any Internet Draft, please  check  the
  24.    ``1id-abstracts.txt'' listing contained in the Internet Drafts shadow
  25.    directories  on  ftp.is.co.za   (Africa),   nic.nordu.net   (Europe),
  26.    munnari.oz.au  (Pacific  Rim),  ds.internic.net  (US  East Coast), or
  27.    ftp.isi.edu (US West Coast).
  28.  
  29.    This memo provides information for the Internet community.  This memo
  30.    does  not  specify an Internet standard of any kind.  Distribution of
  31.    this memo is unlimited.
  32.  
  33.  
  34. 2. Introduction
  35.  
  36.    This memo defines a metric for packet loss across Internet paths.  It
  37.    builds on notions introduced and discussed in the IPPM Framework doc-
  38.    ument (currently 'Framework for  IP  Provider  Metrics'  <draft-ietf-
  39.    bmwg-ippm-framework-01.txt>);  the  reader  is assumed to be familiar
  40.    with that document.
  41.  
  42.    This memo is intended to be very parallel in structure to a companion
  43.    document  for  One-way  Delay  (currently 'A One-way Delay Metric for
  44.    IPPM' <draft-ietf-bmwg-ippm-delay-01.txt>); the reader is assumed  to
  45.    be familiar with that document.
  46.  
  47.    The structure of the memo is as follows:
  48.  
  49.  
  50.  
  51.  
  52.  
  53. Almes and Kalidindi                                             [Page 1]
  54.  
  55.  
  56.  
  57.  
  58.  
  59. ID                             Packet Loss                     July 1997
  60.  
  61.  
  62.  +    A 'singleton' analytic metric, called Type-P-One-way-Loss, will be
  63.       introduced to measure a single observation of packet  transmission
  64.       or loss.
  65.  +    Using  this  singleton  metric, a 'sample', called Type-P-One-way-
  66.       Loss-Stream, will be introduced to measure a sequence of singleton
  67.       transmissions and/or losses measured at times taken from a Poisson
  68.       process.
  69.  +    Using this sample, several 'statistics'  of  the  sample  will  be
  70.       defined and discussed.
  71.    This  progression  from singleton to sample to statistics, with clear
  72.    separation among them, is important.
  73.  
  74.    Whenever a technical term from the IPPM Framework document  is  first
  75.    used  in  this  memo,  it will be tagged with a trailing asterisk, as
  76.    with >>term*<<.
  77.  
  78.  
  79. 2.1. Motivation:
  80.  
  81.    Understanding one-way packet loss of type-P  packets  from  a  source
  82.    host* to a destination host is useful for several reasons:
  83.  +    Some  applications  do  not perform well (or at all) if end-to-end
  84.       loss between hosts is large relative to some threshold value.
  85.  +    Excessive packet loss may make it  difficult  to  support  certain
  86.       real-time applications (where the precise threshold of 'excessive'
  87.       depends on the application).
  88.  +    The larger the value of packet loss, the more difficult it is  for
  89.       transport-layer protocols to sustain high bandwidths.
  90.  +    The  sensitivity  of real-time applications and of transport-layer
  91.       protocols to loss become  especially  important  when  very  large
  92.       delay-bandwidth products must be supported.
  93.    It  is  outside  the scope of this document to say precisely how loss
  94.    metrics would be applied to specific problems.
  95.  
  96.  
  97. 2.2. General Issues Regarding Time
  98.  
  99.    Whenever a time (i.e., a moment in history) is mentioned here, it  is
  100.    understood to be measured in seconds (and fractions) relative to UTC.
  101.  
  102.    As described more fully in the Framework  document,  there  are  four
  103.    distinct, but related notions of clock uncertainty:
  104.  
  105. synchronization
  106.      measures  the  extent to which two clocks agree on what time it is.
  107.      For example, the clock on one host might be 5.4 msec ahead  of  the
  108.      clock on a second host.
  109.  
  110.  
  111.  
  112.  
  113. Almes and Kalidindi                                             [Page 2]
  114.  
  115.  
  116.  
  117.  
  118.  
  119. ID                             Packet Loss                     July 1997
  120.  
  121.  
  122. accuracy
  123.      measures  the  extent  to which a given clock agrees with UTC.  For
  124.      example, the clock on a host might be 27.1 msec behind UTC.
  125.  
  126. resolution
  127.      measures the precision of a given clock.  For example, the clock on
  128.      an  old  Unix  host might advance only once every 10 msec, and thus
  129.      have a resolution of only 10 msec.
  130.  
  131. skew measures the change of accuracy, or of synchronization, with  time.
  132.      For example, the clock on a given host might gain 1.3 msec per hour
  133.      and thus be 27.1 msec behind UTC at one time and only 25.8 msec  an
  134.      hour  later.  In this case, we say that the clock of the given host
  135.      has a skew of 1.3 msec per hour relative to UTC, and this threatens
  136.      accuracy.  We might also speak of the skew of one clock relative to
  137.      another clock, and this threatens synchronization.
  138.  
  139.  
  140. 3. A Singleton Definition for One-way Packet Loss
  141.  
  142.  
  143. 3.1. Metric Name:
  144.  
  145.    Type-P-One-way-Packet-Loss
  146.  
  147.  
  148. 3.2. Metric Parameters:
  149.  +    Src, the IP address of a host
  150.  +    Dst, the IP address of a host
  151.  +    T, a time
  152.  +    Path, the path* from Src to Dst; in cases where there is only  one
  153.       path from Src to Dst, this optional parameter can be omitted
  154.    {Comment:  the  presence  of  path is motivated by cases such as with
  155.    Merit's NetNow setup, in which a Src on one NAP can reach  a  Dst  on
  156.    another NAP by either of several different backbone networks.  Gener-
  157.    ally, this optional parameter is useful only when  several  different
  158.    routes are possible from Src to Dst.  Using the loose source route IP
  159.    option is avoided since it would often artificially worsen  the  per-
  160.    formance  observed,  and  since  it might not be supported along some
  161.    paths.}
  162.  
  163.  
  164. 3.3. Metric Units:
  165.  
  166.    The value of a type-P-One-way-Packet-Loss is either a zero  (signify-
  167.    ing  successful  transmission  of  the  packet)  or a one (signifying
  168.    loss).
  169.  
  170.  
  171.  
  172.  
  173. Almes and Kalidindi                                             [Page 3]
  174.  
  175.  
  176.  
  177.  
  178.  
  179. ID                             Packet Loss                     July 1997
  180.  
  181.  
  182. 3.4. Definition:
  183.  
  184.    >>The *Type-P-One-way-Packet-Loss* from Src to Dst at T [via path] is
  185.    0<<  means  that Src sent a type-P packet [via path] to Dst at time T
  186.    and that Dst received that packet.
  187.  
  188.    >>The *Type-P-One-way-Packet-Loss* from Src to Dst at T [via path] is
  189.    1<<  means  that Src sent a type-P packet [via path] to Dst at time T
  190.    and that Dst did not receive that packet.
  191.  
  192.  
  193. 3.5. Discussion:
  194.  
  195.    Thus, Type-P-One-way-Packet-Loss is 0  exactly  when  Type-P-One-way-
  196.    Delay  is  a  finite positive value, and it is 1 exactly when Type-P-
  197.    One-way-Delay is undefined.
  198.  
  199.    The following issues are likely to come up in practice:
  200.  +    A given methodology will have to  include  a  way  to  distinguish
  201.       between  a  packet  loss  and a very large (but finite) delay.  As
  202.       noted by Mahdavi and Paxson, simple upper bounds (such as the  255
  203.       seconds  theoretical  upper  bound  on the lifetimes of IP packets
  204.       [Postel: RFC 791]) could be used, but good engineering,  including
  205.       an  understanding of packet lifetimes, will be needed in practice.
  206.       {Comment: Note that, for many applications of these metrics, there
  207.       may be no harm in treating a large delay as packet loss.  An audio
  208.       playback packet, for example, that arrives only after the playback
  209.       point may as well have been lost.}
  210.  +    As with other 'type-P' metrics, the value of the metric may depend
  211.       on such properties of the packet as protocol, (UDP  or  TCP)  port
  212.       number,  size,  and  arrangement for special treatment (as with IP
  213.       precedence or with RSVP).
  214.  +    If the packet arrives, but is corrupted, then  it  is  counted  as
  215.       lost.   {Comment:  one  is tempted to count the packet as received
  216.       since corruption and packet loss are related but distinct  phenom-
  217.       ena.   If  the IP header is corrupted, however, one cannot be sure
  218.       about the source or destination IP addresses and is thus on  shaky
  219.       grounds  about  knowing  that the corrupted received packet corre-
  220.       sponds to a given sent test packet.  Similarly, if other parts  of
  221.       the  packet  needed  by the methodology to know that the corrupted
  222.       received packet corresponds to a given sent test packet, then such
  223.       a packet would have to be counted as lost.  Counting these packets
  224.       as lost but packet with corruption in other parts of the packet as
  225.       not lost would be confusing.}
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233. Almes and Kalidindi                                             [Page 4]
  234.  
  235.  
  236.  
  237.  
  238.  
  239. ID                             Packet Loss                     July 1997
  240.  
  241.  
  242.  +    If  the  packet  is  duplicated along the path (or paths!) so that
  243.       multiple non-corrupt copies arrive at the  destination,  then  the
  244.       packet is counted as received.
  245.  
  246.  
  247. 3.6. Methodologies:
  248.  
  249.    As  with other Type-P-* metrics, the detailed methodology will depend
  250.    on the Type-P (e.g., protocol  number,  UDP/TCP  port  number,  size,
  251.    precedence).
  252.  
  253.    Generally, for a given Type-P, one possible methodology would proceed
  254.    as follows:
  255.  +    Arrange that Src and Dst are  moderately  synchronized;  that  is,
  256.       that  they  have  clocks  that  are closely synchronized with each
  257.       other and each fairly close to the actual time.
  258.  +    At the Src host, select Src and Dst IP addresses, and form a  test
  259.       packet of Type-P with these addresses.
  260.  +    Optionally, select a specific path and arrange for Src to send the
  261.       packet over that path.  {Comment: This could be done, for example,
  262.       by  installing  a  temporary  host-route  for Dst in Src's routing
  263.       table.}
  264.  +    At the Dst host, arrange to receive the packet.
  265.  +    At the Src host, place a timestamp in the prepared Type-P  packet,
  266.       and send it towards Dst [via first-hop].
  267.  +    If the packet arrives within a reasonable period of time, the one-
  268.       way packet-loss is taken to be zero.
  269.  +    If the packet fails to arrive within a reasonable period of  time,
  270.       the one-way packet-loss is taken to be one.  Note that the thresh-
  271.       old of 'reasonable' here is a parameter of the methodology.  {Com-
  272.       ment:  Or it could be part of the metric.  If, however, we make it
  273.       part of the metric, so that packets arriving after a given reason-
  274.       able  period must be counted as lost, then we reintroduce the need
  275.       for a degree of clock synchronization similar to that  needed  for
  276.       one-way  delay.   If  a  measure of packet loss parameterized by a
  277.       specific non-huge 'reasonable' time-out value is needed,  one  can
  278.       always  measure  one-way  delay and see what percentage of packets
  279.       from a given stream exceed a given time-out value.}
  280.    Issues such as the packet format, the means  by  which  the  path  is
  281.    ensured, the means by which Dst knows when to expect the test packet,
  282.    and the means by which Src and Dst are synchronized are  outside  the
  283.    scope  of this document.  {Comment: We plan to document elsewhere our
  284.    own work in describing such more detailed  implementation  techniques
  285.    and we encourage others to as well.}
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293. Almes and Kalidindi                                             [Page 5]
  294.  
  295.  
  296.  
  297.  
  298.  
  299. ID                             Packet Loss                     July 1997
  300.  
  301.  
  302. 3.7. Errors and Uncertainties:
  303.  
  304.    The  description of any specific measurement method should include an
  305.    accounting and analysis of various sources of error/uncertainty.  The
  306.    Framework document provides general guidance on this point.
  307.  
  308.    Errors  due  to gross lack of synchronization between the Src and Dst
  309.    hosts should be dealt with.  Since the  sensitivity  of  packet  loss
  310.    measurement  to  lack of synchronization is much less than for delay,
  311.    we refer the reader to the treatment of synchronization errors in the
  312.    One-way Delay metric.
  313.  
  314.  
  315. 4. A Definition for Samples of One-way Packet Loss
  316.  
  317.    Given  the singleton metric Type-P-One-way-Packet-Loss, we now define
  318.    one particular sample of such singletons.  The idea of the sample  is
  319.    to  select a particular binding of the parameters Src, Dst, path, and
  320.    Type-P, then define a sample of values of parameter T.  The means for
  321.    defining  the  values  of T is to select a beginning time T0, a final
  322.    time Tf, and an average rate  lambda,  then  define  a  pseudo-random
  323.    Poisson  arrival process of rate lambda, whose values fall between T0
  324.    and Tf.  The time interval between successive values of T  will  then
  325.    average 1/lambda.
  326.  
  327.  
  328. 4.1. Metric Name:
  329.  
  330.    Type-P-One-way-Packet-Loss-Stream
  331.  
  332.  
  333. 4.2. Metric Parameters:
  334.  +    Src, the IP address of a host
  335.  +    Dst, the IP address of a host
  336.  +    Path,  the path* from Src to Dst; in cases where there is only one
  337.       path from Src to Dst, this optional parameter can be omitted
  338.  +    T0, a time
  339.  +    Tf, a time
  340.  +    lambda, a rate in reciprocal seconds
  341.  
  342.  
  343. 4.3. Metric Units:
  344.  
  345.    A sequence of pairs; the elements of each pair are:
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353. Almes and Kalidindi                                             [Page 6]
  354.  
  355.  
  356.  
  357.  
  358.  
  359. ID                             Packet Loss                     July 1997
  360.  
  361.  
  362.  +    T, a time, and
  363.  +    L, either a zero or a one
  364.    The values of T in the sequence are monotonic increasing.  Note  that
  365.    T  would be a valid parameter to Type-P-One-way-Packet-Loss, and that
  366.    L would be a valid value of Type-P-One-way-Packet-Loss.
  367.  
  368.  
  369. 4.4. Definition:
  370.  
  371.    Given T0, Tf, and lambda, we compute a pseudo-random Poisson  process
  372.    beginning at or before T0, with average arrival rate lambda, and end-
  373.    ing at or after Tf.  Those time values greater than or  equal  to  T0
  374.    and less than or equal to Tf are then selected.  At each of the times
  375.    in this process, we obtain the value of Type-P-One-way-Packet-Loss at
  376.    this  time.   The  value of the sample is the sequence made up of the
  377.    resulting <time, loss> pairs.   If  there  are  no  such  pairs,  the
  378.    sequence is of length zero and the sample is said to be empty.
  379.  
  380.  
  381. 4.5. Discussion:
  382.  
  383.    Note  first  that, since a pseudo-random number sequence is employed,
  384.    the sequence of times, and hence the value  of  the  sample,  is  not
  385.    fully  specified.   Pseudo-random  number  generators of good quality
  386.    will be needed to achieve the desired qualities.
  387.  
  388.    The sample is defined in terms of a Poisson process both to avoid the
  389.    effects  of  self-synchronization  and  also capture a sample that is
  390.    statistically as  unbiased  as  possible.   {Comment:  there  is,  of
  391.    course,  no  claim  that real Internet traffic arrives according to a
  392.    Poisson arrival process.
  393.  
  394.    It is important to note that, in contrast to this metric, loss  rates
  395.    observed  by  transport  connections do not reflect unbiased samples.
  396.    For example, TCP transmissions both (1) occur in  bursts,  which  can
  397.    induce  loss  due  to  the burst volume that would not otherwise have
  398.    been observed, and (2) adapt their transmission rate in an attempt to
  399.    minimize the loss rate observed by the connection.}
  400.  
  401.    All  the singleton Type-P-One-way-Packet-Loss metrics in the sequence
  402.    will have the same values of Src, Dst, [path,] and Type-P.
  403.  
  404.    Note also that, given one sample that runs from T0 to Tf,  and  given
  405.    new  time  values  T0'  and Tf' such that T0 <= T0' <= Tf' <= Tf, the
  406.    subsequence of the given sample whose time values  fall  between  T0'
  407.    and Tf' are also a valid Type-P-One-way-Packet-Loss-Stream sample.
  408.  
  409.  
  410.  
  411.  
  412.  
  413. Almes and Kalidindi                                             [Page 7]
  414.  
  415.  
  416.  
  417.  
  418.  
  419. ID                             Packet Loss                     July 1997
  420.  
  421.  
  422. 4.6. Methodologies:
  423.  
  424.    The methodologies follow directly from:
  425.  +    the  selection  of  specific  times,  using  the specified Poisson
  426.       arrival process, and
  427.  +    the methodologies discussion already given for the singleton Type-
  428.       P-One-way-Packet-Loss metric.
  429.  
  430.    Care  must  be given to correctly handle out-of-order arrival of test
  431.    packets; it is possible that the Src could send one  test  packet  at
  432.    TS[i], then send a second one (later) at TS[i+1], while the Dst could
  433.    receive the second test packet at TR[i+1], and then receive the first
  434.    one (later) at TR[i].
  435.  
  436.  
  437. 4.7. Errors and Uncertainties:
  438.  
  439.    In  addition  to  sources of errors and uncertainties associated with
  440.    methods employed to measure the singleton values  that  make  up  the
  441.    sample,  care  must  be  given to analyze the accuracy of the Poisson
  442.    arrival process of the wire-time of the sending of the test  packets.
  443.    Problems  with  this  process  could  be  caused by either of several
  444.    things, including problems with the pseudo-random  number  techniques
  445.    used to generate the Poisson arrival process.  The Framework document
  446.    shows how to use an Anderson-Darling test for this.
  447.  
  448.  
  449. 5. Some Statistics Definitions for One-way Packet Loss
  450.  
  451.    Given the sample  metric  Type-P-One-way-Packet-Loss-Stream,  we  now
  452.    offer  several  statistics  of  that  sample.   These  statistics are
  453.    offered mostly to be illustrative of what could be done.
  454.  
  455.  
  456. 5.1. Type-P-One-way-Packet-Loss-Average
  457.  
  458.    Given a Type-P-One-way-Packet-Loss-Stream, the average of all  the  L
  459.    values  in  the Stream.  In addition, the Type-P-One-way-Packet-Loss-
  460.    Average is undefined if the sample is empty.
  461.  
  462.    Example: suppose we take a sample and the results are:
  463.         Stream1 = <
  464.         <T1, 0>
  465.         <T2, 0>
  466.         <T3, 1>
  467.         <T4, 0>
  468.         <T5, 0>
  469.         >
  470.  
  471.  
  472.  
  473. Almes and Kalidindi                                             [Page 8]
  474.  
  475.  
  476.  
  477.  
  478.  
  479. ID                             Packet Loss                     July 1997
  480.  
  481.  
  482.    Then the average would be 0.2.
  483.  
  484.    Note that, since healthy Internet paths should be operating  at  loss
  485.    rates  below 1% (particularly if high delay-bandwidth products are to
  486.    be sustained), the sample sizes needed might be largr than one  would
  487.    like.   Thus, for example, if one wants to discriminate between vari-
  488.    ous fractions of 1% over one-minute  periods,  then  several  hundred
  489.    samples per minute might be needed.  This would result in larger val-
  490.    ues of lambda than one would ordinarily want.
  491.  
  492.  
  493. 6. Security Considerations
  494.  
  495.    This memo raises no security issues.
  496.  
  497.  
  498. 7. Acknowledgements
  499.  
  500.    Thanks are due to Matt Mathis for encouraging this work and for call-
  501.    ing  attention  on  so  many  occasions to the significance of packet
  502.    loss.
  503.  
  504.    Thanks are due also to Vern Paxson for his valuable comments on early
  505.    drafts.
  506.  
  507.  
  508. 8. References
  509.  
  510.    V.  Paxson,  G.  Almes,  J. Mahdavi, and M. Mathis, "Framework for IP
  511.    Provider    Metrics",    Internet    Draft     <draft-ietf-bmwg-ippm-
  512.    framework-01.txt>, July 1997.
  513.  
  514.    G.  Almes and S. Kalidindi, "A One-way Delay Metric for IPPM", Inter-
  515.    net Draft <draft-ietf-bmwg-ippm-delay-01.txt>, July 1997.
  516.  
  517.    D. Mills, "Network Time Protocol (v3)", RFC 1305, April 1992.
  518.  
  519.    J. Postel, "Internet Protocol", RFC 791, September 1981.
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533. Almes and Kalidindi                                             [Page 9]
  534.  
  535.  
  536.  
  537.  
  538.  
  539. ID                             Packet Loss                     July 1997
  540.  
  541.  
  542. 9. Authors' Addresses
  543.  
  544.    Guy Almes <almes@advanced.org>
  545.    Advanced Network & Services, Inc.
  546.    200 Business Park Drive
  547.    Armonk, NY  10504
  548.    USA
  549.    Phone: +1 914/273-7863
  550.  
  551.    Sunil Kalidindi <kalidindi@advanced.org>
  552.    Advanced Network & Services, Inc.
  553.    200 Business Park Drive
  554.    Armonk, NY  10504
  555.    USA
  556.    Phone: +1 914/273-1219
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593. Almes and Kalidindi                                            [Page 10]
  594.  
  595.  
  596.  
  597.