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-ippm-framework-01.txt < prev    next >
Text File  |  1997-08-01  |  81KB  |  1,857 lines

  1.  
  2. Network Working Group          V. Paxson, Lawrence Berkeley National Lab
  3. Internet Draft                     G. Almes, Advanced Network & Services
  4.                              J. Mahdavi, Pittsburgh Supercomputer Center
  5.                               M. Mathis, Pittsburgh Supercomputer Center
  6. Expiration Date: January 1998                                  July 1997
  7.  
  8.  
  9.                   Framework for IP Performance Metrics
  10.                 <draft-ietf-bmwg-ippm-framework-01.txt>
  11.  
  12.  
  13. 1. Status of this Memo
  14.  
  15.    This document is an Internet Draft.  Internet Drafts are working doc-
  16.    uments  of the Internet Engineering Task Force (IETF), its areas, and
  17.    its working groups.  Note that other groups may also distribute work-
  18.    ing documents as Internet Drafts.
  19.  
  20.    Internet  Drafts  are  draft  documents  valid  for  a maximum of six
  21.    months, and may be updated, replaced, or obsoleted by other documents
  22.    at any time.  It is inappropriate to use Internet Drafts as reference
  23.    material or to cite them other than as ``work in progress''.
  24.  
  25.    To learn the current status of any Internet Draft, please  check  the
  26.    ``1id-abstracts.txt'' listing contained in the Internet Drafts shadow
  27.    directories  on  ftp.is.co.za   (Africa),   nic.nordu.net   (Europe),
  28.    munnari.oz.au  (Pacific  Rim),  ds.internic.net  (US  East Coast), or
  29.    ftp.isi.edu (US West Coast).
  30.  
  31.    This memo provides information for the Internet community.  This memo
  32.    does  not  specify an Internet standard of any kind.  Distribution of
  33.    this memo is unlimited.
  34.  
  35.  
  36. 2. Introduction
  37.  
  38.    The purpose of this memo is to define a general framework for partic-
  39.    ular  metrics  to  be  developed by the IETF's IP Performance Metrics
  40.    effort, begun by the Benchmarking Methodology Working Group (BMWG) of
  41.    the Operational Requirements Area, and being continued by the IP Per-
  42.    formance Metrics Working Group (IPPM) of the Transport Area.
  43.  
  44.    We begin by laying out several  criteria  for  the  metrics  that  we
  45.    adopt.   These  criteria  are designed to promote an IPPM effort that
  46.    will maximize an accurate common understanding by Internet users  and
  47.    Internet providers of the performance and reliability both of end-to-
  48.    end paths through the Internet and of specific 'IP clouds' that  com-
  49.    prise portions of those paths.
  50.  
  51.  
  52.  
  53. Paxson et al.                                                   [Page 1]
  54.  
  55.  
  56.  
  57.  
  58.  
  59. ID                Framework for IP Performance Metrics         July 1997
  60.  
  61.  
  62.    We  next  define some Internet vocabulary that will allow us to speak
  63.    clearly about Internet components such as routers, paths, and clouds.
  64.  
  65.    We  then define the fundamental concepts of 'metric' and 'measurement
  66.    methodology', which allow  us  to  speak  clearly  about  measurement
  67.    issues.   Given  these  concepts, we proceed to discuss the important
  68.    issue of measurement uncertainties and errors,  and  develop  a  key,
  69.    somewhat subtle notion of how they relate to the analytical framework
  70.    shared by many aspects of the Internet  engineering  discipline.   We
  71.    then  introduce the notion of empirically defined metrics, and give a
  72.    general discussion of how metrics can be 'composed'.  We finish  this
  73.    part  of  the  document with a brief discussion of the criteria to be
  74.    employed when considering whether to advance  a  proposed  metric  or
  75.    methodology to a status of official standing.
  76.  
  77.    The  remainder of the document deals with a variety of issues related
  78.    to defining sound metrics and methodologies:  how to deal with imper-
  79.    fect  clocks; the notion of 'wire time' as distinct from 'host time';
  80.    how to aggregate sets of singleton metrics into  samples  and  derive
  81.    sound  statistics  from those samples; why it is recommended to avoid
  82.    thinking about Internet properties in probabilistic  terms  (such  as
  83.    the  probability  that  a packet is dropped), since these terms often
  84.    include implicit assumptions about how the network behaves; the util-
  85.    ity  of  defining  metrics in terms of packets of a generic type; the
  86.    benefits of preferring IP addresses to DNS host names; and the notion
  87.    of 'standard-formed' packets.
  88.  
  89.    In  some  sections of the memo, we will surround some commentary text
  90.    with the brackets {Comment: ... }.  We stress that this commentary is
  91.    only  commentary, and is not itself part of the framework document or
  92.    a proposal of particular metrics.  In some cases this commentary will
  93.    discuss  some  of the properties of metrics that might be envisioned,
  94.    but the reader should assume that any  such  discussion  is  intended
  95.    only  to shed light on points made in the framework document, and not
  96.    to suggest any specific metrics.
  97.  
  98.  
  99.  
  100. 3. Criteria for IP Performance Metrics
  101.  
  102.    The overarching goal of the  IP  Performance  Metrics  effort  is  to
  103.    achieve  a  situation in which users and providers of Internet trans-
  104.    port service have an accurate common understanding of the performance
  105.    and   reliability  of  the  Internet  component  'clouds'  that  they
  106.    use/provide.
  107.  
  108.    To achieve  this,  performance  and  reliability  metrics  for  paths
  109.    through  the  Internet  must  be developed.  In several IETF meetings
  110.  
  111.  
  112.  
  113. Paxson et al.                                                   [Page 2]
  114.  
  115.  
  116.  
  117.  
  118.  
  119. ID                Framework for IP Performance Metrics         July 1997
  120.  
  121.  
  122.    criteria for these metrics have been specified:
  123.  +    The metrics must be concrete and well-defined,
  124.  +    A methodology for a metric should have the  property  that  it  is
  125.       repeatable:  if the methodology is used multiple times under iden-
  126.       tical conditions, the same measurements should result in the  same
  127.       measurements.
  128.  +    The  metrics  must  exhibit no bias for IP clouds implemented with
  129.       identical technology,
  130.  +    The metrics must exhibit understood and fair bias  for  IP  clouds
  131.       implemented with non-identical technology,
  132.  +    The metrics must be useful to users and providers in understanding
  133.       the performance they experience or provide,
  134.  +    The metrics must avoid inducing artificial performance goals.
  135.  
  136.  
  137. 4. Terminology for Paths and Clouds
  138.  
  139.    The following list defines terms that  need  to  be  precise  in  the
  140.    development  of  path  metrics.   We  begin with low-level notions of
  141.    'host', 'router', and 'link', then proceed to define the  notions  of
  142.    'path',  'IP  cloud',  and 'exchange' that allow us to segment a path
  143.    into relevant pieces.
  144.  
  145.  
  146. host A computer capable of communicating using the  Internet  protocols;
  147.      includes "routers".
  148.  
  149. link A  single  link-level  connection  between  two  (or  more)  hosts;
  150.      includes leased lines, ethernets, frame relay clouds, etc.
  151.  
  152. router
  153.      A host which facilitates network-level communication between  hosts
  154.      by forwarding IP packets.
  155.  
  156. path A  sequence  of the form < h0, l1, h1, ..., ln, hn >, where n >= 0,
  157.      each hi is a host, each li is a link  between  hi-1  and  hi,  each
  158.      h1...hn-1  is  a router.  A pair <li, hi> is termed a 'hop'.  In an
  159.      appropriate operational configuration, the links and routers in the
  160.      path  facilitate  network-layer communication of packets from h0 to
  161.      hn.  Note that path is a unidirectional concept.
  162.  
  163. subpath
  164.      Given a path, a subpath is any subsequence of the given path  which
  165.      is  itself  a path.  (Thus, the first and last element of a subpath
  166.      is a host.)
  167.  
  168. cloud
  169.      An undirected (possibly cyclic) graph whose  vertices  are  routers
  170.  
  171.  
  172.  
  173. Paxson et al.                                                   [Page 3]
  174.  
  175.  
  176.  
  177.  
  178.  
  179. ID                Framework for IP Performance Metrics         July 1997
  180.  
  181.  
  182.      and whose edges are links that connect pairs of routers.  Formally,
  183.      ethernets, frame relay clouds, and other links  that  connect  more
  184.      than  two  routers  are modelled as fully-connected meshes of graph
  185.      edges.  Note that to connect to a  cloud  means  to  connect  to  a
  186.      router  of  the  cloud over a link; this link is not itself part of
  187.      the cloud.
  188.  
  189. exchange
  190.      A special case of a link, an exchange directly  connects  either  a
  191.      host to a cloud and/or one cloud to another cloud.
  192.  
  193. cloud subpath
  194.      A  subpath  of  a  given  path, all of whose hosts are routers of a
  195.      given cloud.
  196.  
  197. path digest
  198.      A sequence of the form < h0, e1, C1, ..., en, hn >, where n  >=  0,
  199.      h0 and hn are hosts, each e1 ... en is an exchange, and each C1 ...
  200.      Cn-1 is a cloud subpath.
  201.  
  202.  
  203. 5. Fundamental Concepts
  204.  
  205.  
  206. 5.1. Metrics
  207.  
  208.    In the operational Internet, there are several quantities related  to
  209.    the  performance  and  reliability  of the Internet that we'd like to
  210.    know the value of.  When such a quantity is carefully  specified,  we
  211.    term  the  quantity a metric.  We anticipate that there will be sepa-
  212.    rate RFCs for each metric (or for each closely related group of  met-
  213.    rics).
  214.  
  215.    In some cases, there might be no obvious means to effectively measure
  216.    the metric; this is allowed, and even understood to be very useful in
  217.    some  cases.   It is required, however, that the specification of the
  218.    metric be as clear as possible about what quantity  is  being  speci-
  219.    fied.    Thus,  difficulty  in  practical  measurement  is  sometimes
  220.    allowed, but ambiguity in meaning is not.
  221.  
  222.    Each metric will be defined in terms of standard  units  of  measure-
  223.    ment.  The international metric system will be used, with the follow-
  224.    ing points specifically noted:
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233. Paxson et al.                                                   [Page 4]
  234.  
  235.  
  236.  
  237.  
  238.  
  239. ID                Framework for IP Performance Metrics         July 1997
  240.  
  241.  
  242.  +    When a unit is expressed in simple meters (for distance/length) or
  243.       seconds  (for  duration), appropriate related units based on thou-
  244.       sands or thousandths of acceptable units  are  acceptable.   Thus,
  245.       distances  expressed  in  kilometers  (km), durations expressed in
  246.       milliseconds (ms), or microseconds (us) are allowed, but not  cen-
  247.       timeters (because the prefix is not in terms of thousands or thou-
  248.       sandths).
  249.  +    When a unit is expressed in a combination  of  units,  appropriate
  250.       related  units  based  on  thousands  or thousandths of acceptable
  251.       units are acceptable, but all such thousands/thousandths  must  be
  252.       grouped  at the beginning.  Thus, kilo-meters per second (km/s) is
  253.       allowed, but meters per millisecond is not.
  254.  +    The unit of information is the bit.
  255.  +    When metric prefixes are  used  with  bits  or  with  combinations
  256.       including  bits,  those  prefixes  will  have their metric meaning
  257.       (related to decimal 1000), and not the meaning  conventional  with
  258.       computer  storage  (related  to  decimal  1024).   In any RFC that
  259.       defines a metric whose units include bits, this convention will be
  260.       followed and will be repeated to ensure clarity for the reader.
  261.  +    When a time is given, it will be expressed in UTC.
  262.    Note  that  these  points apply to the specifications for metrics and
  263.    not, for example, to packet formats where octets will likely be  used
  264.    in preference/addition to bits.
  265.  
  266.    Finally,  we note that some metrics may be defined purely in terms of
  267.    other metrics; such metrics are call 'derived metrics'.
  268.  
  269.  
  270. 5.2. Measurement Methodology
  271.  
  272.    For a given set of well-defined metrics, a number  of  distinct  mea-
  273.    surement methodologies may exist.  A partial list includes:
  274.  +    Direct  measurement  of  a  performance metric using injected test
  275.       traffic.  Example: measurement of the round-trip delay  of  an  IP
  276.       packet of a given size over a given route at a given time.
  277.  +    Projection  of  a  metric from lower-level measurements.  Example:
  278.       given accurate measurements of propagation delay and bandwidth for
  279.       each  step  along a path, projection of the complete delay for the
  280.       path for an IP packet of a given size.
  281.  +    Estimation of a consituent metric from a set  of  more  aggregated
  282.       measurements.  Example: given accurate measurements of delay for a
  283.       given one-hop path for IP packets of different  sizes,  estimation
  284.       of propagation delay for the link of that one-hop path.
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293. Paxson et al.                                                   [Page 5]
  294.  
  295.  
  296.  
  297.  
  298.  
  299. ID                Framework for IP Performance Metrics         July 1997
  300.  
  301.  
  302.  +    Estimation  of  a  given  metric at one time from a set of related
  303.       metrics at other times.  Example: given an accurate measurement of
  304.       flow  capacity  at  a  past  time, together with a set of accurate
  305.       delay measurements for that past time and the  current  time,  and
  306.       given  a  model  of flow dynamics, estimate the flow capacity that
  307.       would be observed at the current time.
  308.    This list is by no means exhaustive.  The purpose is to point out the
  309.    variety of measurement techniques.
  310.  
  311.    When  a given metric is specified, a given measurement approach might
  312.    be noted and discussed.  That approach, however, is not formally part
  313.    of the specification.
  314.  
  315.    A  methodology  for  a  metric  should  have  the property that it is
  316.    repeatable: if the methodology is used multiple times under identical
  317.    conditions, it should result in consistent measurements.
  318.  
  319.    Backing  off a little from the word 'identical' in the previous para-
  320.    graph, we could more accurately use the word 'continuity' to describe
  321.    a  property  of a given methodology: a methodology for a given metric
  322.    exhibits continuity  if,  for  small  variations  in  conditions,  it
  323.    results  in small variations in the resulting measurements.  Slightly
  324.    more precisely, for every positive epsilon, there exists  a  positive
  325.    delta,  such  that if two sets of conditions are within delta of each
  326.    other, then the resulting measurements will be within epsilon of each
  327.    other.   At  this  point, this should be taken as a heuristic driving
  328.    our intuition about one kind of robustness property rather than as  a
  329.    precise notion.
  330.  
  331.    A  metric  that has at least one methodology that exhibits continuity
  332.    is said itself to exhibit continuity.
  333.  
  334.    Note that some metrics, such as hop-count along a path, are  integer-
  335.    valued  and  therefore  cannot  exhibit continuity in quite the sense
  336.    given above.
  337.  
  338.    Note further that, in practice, it may not be practical to  know  (or
  339.    be  able  to  quantify) the conditions relevant to a measurement at a
  340.    given time.  For example, since the instantaneous load (in packets to
  341.    be  served)  at  a given router in a high-speed wide-area network can
  342.    vary widely over relatively brief periods and will be very  hard  for
  343.    an  external observer to quantify, various statistics of a given met-
  344.    ric may be more repeatable, or may  better  exhibit  continuity.   In
  345.    that  case  those  particular statistics should be specified when the
  346.    metric is specified.
  347.  
  348.    Finally, some measurement methodologies may be 'conservative' in  the
  349.    sense  that  the act of measurement does not modify, or only slightly
  350.  
  351.  
  352.  
  353. Paxson et al.                                                   [Page 6]
  354.  
  355.  
  356.  
  357.  
  358.  
  359. ID                Framework for IP Performance Metrics         July 1997
  360.  
  361.  
  362.    modifies,  the  value  of  the  performance  metric  the  methodology
  363.    attempts to measure.  {Comment: for example, in a wide-are high-speed
  364.    network under modest load, a test using several small 'ping'  packets
  365.    to  measure  delay  would  likely not interfere (much) with the delay
  366.    properties of that network as observed by others.  The  corresponding
  367.    statement  about  tests  using  a large flow to measure flow capacity
  368.    would likely fail.}
  369.  
  370.  
  371. 5.3. Measurements, Uncertainties, and Errors
  372.  
  373.    Even the very best measurement methodologies for the very  most  well
  374.    behaved metrics will exhibit errors.  Those who develop such measure-
  375.    ment methodologies, however, should strive to:
  376.  +    minimize their uncertainties/errors,
  377.  +    understand and document the sources of uncertainty/error, and
  378.  +    quantify the amounts of uncertainty/error.
  379.  
  380.    For example, when developing a method for measuring delay, understand
  381.    how  any  errors in your clocks introduce errors into your delay mea-
  382.    surement, and quantify this effect as  well  as  you  can.   In  some
  383.    cases,  this will result in a requirement that a clock be at least up
  384.    to a certain quality if it is to be used to make a  certain  measure-
  385.    ment.
  386.  
  387.    As  a  second  example,  consider the timing error due to measurement
  388.    overheads within the computer making the measurement, as  opposed  to
  389.    delays due to the Internet component being measured.  The former is a
  390.    measurement error, while the latter reflects the metric of  interest.
  391.    Note  that one technique that can help avoid this overhead is the use
  392.    of a packet filter/sniffer,  running  on  a  separate  computer  that
  393.    records  network packets and timestamps them accurately (see the dis-
  394.    cussion of 'wire time' below).  The resulting trace can then be anal-
  395.    ysed to assess the test traffic, minimising the effect of measurement
  396.    host delays, or at least allowing those delays to be  accounted  for.
  397.    We  note  that this technique may prove beneficial even if the packet
  398.    filter/sniffer runs on the same machine,  because  such  measurements
  399.    generally  provide  'kernel-level'  timestamping  as opposed to less-
  400.    accurate 'application-level' timestamping.
  401.  
  402.    Finally, we note that derived metrics (defined above) or metrics that
  403.    exhibit spatial or temporal composition (defined below) offer partic-
  404.    ular occasion for the analysis of measurement  uncertainties,  namely
  405.    how  the uncertainties propagate (conceptually) due to the derivation
  406.    or composition.
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413. Paxson et al.                                                   [Page 7]
  414.  
  415.  
  416.  
  417.  
  418.  
  419. ID                Framework for IP Performance Metrics         July 1997
  420.  
  421.  
  422. 6. Metrics and the Analytical Framework
  423.  
  424.    As the Internet has evolved from the early  packet-switching  studies
  425.    of the 1960s, the Internet engineering community has evolved a common
  426.    analytical framework of concepts.  This analytical framework,  or  A-
  427.    frame,  used  by  designers  and  implementers of protocols, by those
  428.    involved in measurement, and by those who study computer network per-
  429.    formance using the tools of simulation and analysis, has great advan-
  430.    tage to our work.  A major objective  here  is  to  generate  network
  431.    characterizations  that are consistent in both analytical and practi-
  432.    cal settings, since this will maximize the chances that non-empirical
  433.    network  study can be better correlated with, and used to further our
  434.    understanding of, real network behavior.
  435.  
  436.    Whenever possible, therefore, we would like to develop  and  leverage
  437.    off  of  the  A-frame.   Thus,  whenever  a metric to be specified is
  438.    understood to be closely related to concepts within the  A-frame,  we
  439.    will attempt to specify the metric in the A-frame's terms.  In such a
  440.    specification we will develop the A-frame by precisely  defining  the
  441.    concepts  needed  for the metric, then leverage off of the A-frame by
  442.    defining the metric in terms of those concepts.
  443.  
  444.    Such a metric will be called an 'analytically specified  metric'  or,
  445.    more simply, an analytical metric.
  446.  
  447.    {Comment: Examples of such analytical metrics might include:
  448.  
  449. propagation time of a link
  450.      The  time,  in seconds, required by a single bit to travel from the
  451.      output port on one Internet host across a single  link  to  another
  452.      Internet host.
  453.  
  454. bandwidth of a link for packets of size k
  455.      The  capacity,  in  bits/second,  where  only  those bits of the IP
  456.      packet are counted, for packets of size k bytes.
  457.  
  458. route
  459.      The path, as defined in Section 4, from A to B at a given time.
  460.  
  461. hop count of a route
  462.      The value 'n' of the route path.
  463.      }
  464.  
  465.      Note that we make no a priori list of just  what  A-frame  concepts
  466.      will  emerge in these specifications, but we do encourage their use
  467.      and urge that they be carefully specified so that, as  our  set  of
  468.      metrics develops, so will a specified set of A-frame concepts tech-
  469.      nically consistent with each other and consonent  with  the  common
  470.  
  471.  
  472.  
  473. Paxson et al.                                                   [Page 8]
  474.  
  475.  
  476.  
  477.  
  478.  
  479. ID                Framework for IP Performance Metrics         July 1997
  480.  
  481.  
  482.      understanding  of those concepts within the general Internet commu-
  483.      nity.
  484.  
  485.      These A-frame concepts will be intended  to  abstract  from  actual
  486.      Internet components in such a way that:
  487.  +    the essential function of the component is retained,
  488.  +    properties of the component relevant to the metrics we aim to cre-
  489.       ate are retained,
  490.  +    a subset of these component properties are potentially defined  as
  491.       analytical metrics, and
  492.  +    those  properties  of  actual  Internet components not relevant to
  493.       defining the metrics we aim to create are dropped.
  494.  
  495.    For example, when considering a router in the context of packet  for-
  496.    warding, we might model the router as a component that receives pack-
  497.    ets on an input link, queues them on a FIFO packet  queue  of  finite
  498.    size,  employs  tail-drop when the packet queue is full, and forwards
  499.    them on an output link.  The transmission speed (in  bits/second)  of
  500.    the  input  and output links, the latency in the router (in seconds),
  501.    and the maximum size of the packet queue (in bits) are relevant  ana-
  502.    lytical metrics.
  503.  
  504.    In  some  cases, such analytical metrics used in relation to a router
  505.    will be very closely related to specific metrics of  the  performance
  506.    of Internet paths.  For example, an obvious formula (L + P/B) involv-
  507.    ing the latency in the router (L), the packet size (in bits) (P), and
  508.    the  transmission speed of the output link (B) might closely approxi-
  509.    mate the increase in packet delay due to the  insertion  of  a  given
  510.    router along a path.
  511.  
  512.    We  stress, however, that well-chosen and well-specified A-frame con-
  513.    cepts and their analytical metrics will support more  general  metric
  514.    creation efforts in less obvious ways.
  515.  
  516.    {Comment:  for example, when considering the flow capacity of a path,
  517.    it may be of real value to be able to model each of the routers along
  518.    the  path  as  packet forwarders as above.  Techniques for estimating
  519.    the flow capacity of a path might use the maximum packet  queue  size
  520.    as  a  parameter  in decidedly non-obvious ways.  For example, as the
  521.    maximum queue size increases, so will the ability of  the  router  to
  522.    continuously  move  traffic along an output link despite fluctuations
  523.    in traffic from an input link.  Estimating  this  increase,  however,
  524.    remains a research topic.}
  525.  
  526.    Note  that,  when we specify A-frame concepts and analytical metrics,
  527.    we will inevitably make simplifying assumptions.   The  key  role  of
  528.    these  concepts  is to abstract the properties of the Internet compo-
  529.    nents relevant to given metrics.   Judgement  is  required  to  avoid
  530.  
  531.  
  532.  
  533. Paxson et al.                                                   [Page 9]
  534.  
  535.  
  536.  
  537.  
  538.  
  539. ID                Framework for IP Performance Metrics         July 1997
  540.  
  541.  
  542.    making  assumptions  that  bias the modeling and metric effort toward
  543.    one kind of design.
  544.  
  545.    {Comment: for example, routers might not use tail-drop,  even  though
  546.    tail-drop might be easier to model analytically.}
  547.  
  548.    Finally,  note that different elements of the A-frame might well make
  549.    different simplifying assumptions.  For example, the abstraction of a
  550.    router  used  to further the definition of path delay might treat the
  551.    router's packet queue as a single FIFO queue, but the abstraction  of
  552.    a  router  used to further the definition of the handling of an RSVP-
  553.    enabled packet might treat the router's packet  queue  as  supporting
  554.    bounded delay -- a contradictory assumption.  This is not to say that
  555.    we make contradictory assumptions at the same time, but that two dif-
  556.    ferent parts of our work might refine the simpler base concept in two
  557.    divergent ways for different purposes.
  558.  
  559.    {Comment: in more mathematical terms, we would say that  the  A-frame
  560.    taken as a whole need not be consistent; but the set of particular A-
  561.    frame elements used to define a particular metric must be.}
  562.  
  563.  
  564. 7. Empirically Specified Metrics
  565.  
  566.    There are useful performance and reliability metrics that do not  fit
  567.    so  neatly  into  the  A-frame, usually because the A-frame lacks the
  568.    detail or power for dealing with them.  For example, "the  best  flow
  569.    capacity  achievable  along  a  path using an RFC-2001-compliant TCP"
  570.    would be good to be able to measure, but we have no analytical frame-
  571.    work of sufficient richness to allow us to cast that flow capacity as
  572.    an analytical metric.
  573.  
  574.    These notions can still be well specified  by  instead  describing  a
  575.    reference methodology for measuring them.
  576.  
  577.    Such  a  metric  will be called an 'empirically specified metric', or
  578.    more simply, an empirical metric.
  579.  
  580.    Such empirical metrics should have three properties:
  581.  +    we should have a clear definition for each in  terms  of  Internet
  582.       components,
  583.  +    we should have at least one effective means to measure them, and
  584.  +    to the extent possible, we should have an (necessarily incomplete)
  585.       understanding of the metric in terms of the A-frame so that we can
  586.       use our measurements to reason about the performance and reliabil-
  587.       ity of A-frame components and of aggregations  of  A-frame  compo-
  588.       nents.
  589.  
  590.  
  591.  
  592.  
  593. Paxson et al.                                                  [Page 10]
  594.  
  595.  
  596.  
  597.  
  598.  
  599. ID                Framework for IP Performance Metrics         July 1997
  600.  
  601.  
  602. 8. Two Forms of Composition
  603.  
  604.  
  605. 8.1. Spatial Composition of Metrics
  606.  
  607.    In  some  cases,  it may be realistic and useful to define metrics in
  608.    such a fashion that they exhibit spatial composition.
  609.  
  610.    By spatial composition, we mean a characteristic of  some  path  met-
  611.    rics, in which the metric as applied to a (complete) path can also be
  612.    defined for various subpaths, and in which  the  appropriate  A-frame
  613.    concepts for the metric suggest useful relationships between the met-
  614.    ric applied to these various subpaths (including the  complete  path,
  615.    the  various  cloud  subpaths of a given path digest, and even single
  616.    routers along the path).  The effectiveness  of  spatial  composition
  617.    depends:
  618.  +    on the usefulness in analysis of these relationships as applied to
  619.       the relevant A-frame components, and
  620.  +    on the practical use of the corresponding relationships as applied
  621.       to metrics and to measurement methodologies.
  622.  
  623.    {Comment:  for  example, consider some metric for delay of a 100-byte
  624.    packet across a path P, and consider further a path digest  <h0,  e1,
  625.    C1, ..., en, hn> of P.  The definition of such a metric might include
  626.    a conjecture that the delay across P is very nearly the  sum  of  the
  627.    corresponding  metric across the exhanges (ei) and clouds (Ci) of the
  628.    given path digest.  The definition would further include  a  note  on
  629.    how  a corresponding relation applies to relevant A-frame components,
  630.    both for the path P and for the exchanges  and  clouds  of  the  path
  631.    digest.}
  632.  
  633.    When the definition of a metric includes a conjecture that the metric
  634.    across the path is related to the metric across the subpaths  of  the
  635.    path,  that  conjecture  constitutes a claim that the metric exhibits
  636.    spatial composition.  The definition should then include:
  637.  +    the specific conjecture applied to the metric,
  638.  +    a justification of the practical utility  of  the  composition  in
  639.       terms of making accurate measurements of the metric on the path,
  640.  +    a  justification  of the usefulness of the composition in terms of
  641.       making analysis of the path using A-frame concepts more effective,
  642.       and
  643.  +    an analysis of how the conjecture could be incorrect.
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653. Paxson et al.                                                  [Page 11]
  654.  
  655.  
  656.  
  657.  
  658.  
  659. ID                Framework for IP Performance Metrics         July 1997
  660.  
  661.  
  662. 8.2. Temporal Composition of Formal Models and Empirical Metrics
  663.  
  664.    In  some  cases,  it may be realistic and useful to define metrics in
  665.    such a fashion that they exhibit temporal composition.
  666.  
  667.    By temporal composition, we mean a characteristic of some  path  met-
  668.    ric,  in  which  the metric as applied to a path at a given time T is
  669.    also defined for various times t0 < t1 < ... < tn < T, and  in  which
  670.    the appropriate A-frame concepts for the metric suggests useful rela-
  671.    tionships between the metric applied at times t0,  ...,  tn  and  the
  672.    metric  applied at time T.  The effectiveness of temporal composition
  673.    depends:
  674.  +    on the usefulness in analysis of these relationships as applied to
  675.       the relevant A-frame components, and
  676.  +    on the practical use of the corresponding relationships as applied
  677.       to metrics and to measurement methodologies.
  678.  
  679.    {Comment: for example, consider  a   metric  for  the  expected  flow
  680.    capacity  across  a  path P during the five-minute period surrounding
  681.    the time T, and suppose further that we have the corresponding values
  682.    for each of the four previous five-minute periods t0, t1, t2, and t3.
  683.    The definition of such a metric might include a conjecture  that  the
  684.    flow  capacity  at  time  T  can  be estimated from a certain kind of
  685.    extrapolation from the values of t0, ..., t3.  The  definition  would
  686.    further  include  a  note  on how a corresponding relation applies to
  687.    relevant A-frame components.
  688.  
  689.    Note: any (spatial or temporal) compositions involving flow  capacity
  690.    are likely to be subtle, and temporal compositions are generally more
  691.    subtle than spatial compositions, so  the  reader  should  understand
  692.    that the foregoing example is intentionally naive.}
  693.  
  694.    When the definition of a metric includes a conjecture that the metric
  695.    across the path at a given time T is related to the metric across the
  696.    path  for  a  set of other times, that conjecture constitutes a claim
  697.    that the metric exhibits temporal composition.  The definition should
  698.    then include:
  699.  +    the specific conjecture applied to the metric,
  700.  +    a  justification  of  the  practical utility of the composition in
  701.       terms of making accurate measurements of the metric on  the  path,
  702.       and
  703.  +    a  justification  of the usefulness of the composition in terms of
  704.       making analysis of the path using A-frame concepts more effective.
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713. Paxson et al.                                                  [Page 12]
  714.  
  715.  
  716.  
  717.  
  718.  
  719. ID                Framework for IP Performance Metrics         July 1997
  720.  
  721.  
  722. 9. Criteria for Granting Official Status to a Metric or a Methodology
  723.  
  724.    The principal goal of the IPPM effort is to develop standardized met-
  725.    rics and methodologies for sound Internet measurement.  In this  sec-
  726.    tion  we  briefly  discuss  the  criteria  we envision being used for
  727.    determining whether  a  proposed  metric  or  methodology  should  be
  728.    advanced to some form of official status.
  729.  
  730.    When standardizing Internet protocols, one requirement often employed
  731.    by the IETF is that each proposed protocol  must  have  two  indepen-
  732.    dently  developed,  interoperating  implementations.   The  main goal
  733.    underlying this requirement is to determine whether the definition of
  734.    the  protocol  is  sufficiently  unambiguous  that  a correct (hence,
  735.    interoperating) implementation can be developed based solely  on  the
  736.    description of the protocol (hence, independently developed).
  737.  
  738.    We  would like to employ a similar requirement for standardizing IPPM
  739.    metrics and methodologies, to ensure that their written  descriptions
  740.    are  unambiguous.   However, for metrics the analog of an implementa-
  741.    tion is a methodology, but we do not want  to  require  two  separate
  742.    methodologies  for  each  metric we standardize, because some metrics
  743.    might lend themselves only to one obvious methodology.
  744.  
  745.    We address this problem by first considering the criteria  for  stan-
  746.    dardizing  a  methodology.  Each description of a methodology is sup-
  747.    posed to lend itself to the development of an  implementation  (i.e.,
  748.    computer  program) that then executes the methodology.  Consequently,
  749.    we require that two such implementations exist,  independently  writ-
  750.    ten,  before a methodology can be considered for standardization.  We
  751.    then allow a metric to be standardized if we have at least one  stan-
  752.    dardized methodology for measuring the metric.
  753.  
  754.    The  one  remaining issue is how to define an analog for 'interopera-
  755.    ble'.  This is not as easy as it might first appear.  For  a  method-
  756.    olgy,  a  natural  definition  of interoperable is "produces the same
  757.    results". However, it may be very hard to show that  two  implementa-
  758.    tions  of  a methodology do in fact produce the same results, because
  759.    of the difficulties with arranging to use each implementation to mea-
  760.    sure exactly the same network conditions.  As soon as the implementa-
  761.    tions are used under slightly different  conditions,  we  immediately
  762.    face the problem of determining whether any differences in their mea-
  763.    surements are due to the different  network  conditions,  or  due  to
  764.    incompatibilities  in how the two implementations execute the method-
  765.    olgy.
  766.  
  767.    In light of these problems, we instead fall back on a less  stringent
  768.    requirement:  to  show  that two implementations of a methodology are
  769.    comparable, we require that the chair of the IPPM working group  find
  770.  
  771.  
  772.  
  773. Paxson et al.                                                  [Page 13]
  774.  
  775.  
  776.  
  777.  
  778.  
  779. ID                Framework for IP Performance Metrics         July 1997
  780.  
  781.  
  782.    rough consensus among the working group members that they are equiva-
  783.    lent.  Presumably, such consensus will be sought for following a pre-
  784.    sentation  to  the group as to the results obtained using each of the
  785.    implementations, and an analysis of how the results  agree  with  one
  786.    another.
  787.  
  788.  
  789. 10. Issues related to Time
  790.  
  791.  
  792. 10.1. Clock Issues
  793.  
  794.    Measurements  of  time  lie  at  the  heart of many Internet metrics.
  795.    Because of this, it will often be crucial when designing a  methodol-
  796.    ogy  for  measuring  a  metric  to  understand the different types of
  797.    errors and uncertainties introduced by  imperfect  clocks.   In  this
  798.    section  we  define terminology for discussing the characteristics of
  799.    clocks and touch upon related measurement issues  which  need  to  be
  800.    addressed by any sound methodology.
  801.  
  802.    The  Network Time Protocol (NTP; RFC 1305) defines a nomenclature for
  803.    discussing clock characteristics, which we will also use when  appro-
  804.    priate [Mi92].  The main goal of NTP is to provide accurate timekeep-
  805.    ing over fairly long time scales, such as minutes to days, while  for
  806.    measurement purposes often what is more important is short-term accu-
  807.    racy, between the beginning of the measurement and the end,  or  over
  808.    the course of gathering a body of measurements (a sample).  This dif-
  809.    ference in goals sometimes leads to different definitions  of  termi-
  810.    nology as well, as discussed below.
  811.  
  812.    To  begin, we define a clock's "offset" at a particular moment as the
  813.    difference between the time reported by the clock and the "true" time
  814.    as  defined by UTC.  If the clock reports a time Tc and the true time
  815.    is Tt, then the clock's offset is Tc - Tt.
  816.  
  817.    We will refer to a clock as "accurate" at a particular moment if  the
  818.    clock's  offset  is  zero, and more generally a clock's "accuracy" is
  819.    how close the absolute value of the offset  is  to  zero.   For  NTP,
  820.    accuracy  also  includes  a notion of the frequency of the clock; for
  821.    our purposes, we instead incorporate this notion into that of "skew",
  822.    because we define accuracy in terms of a single moment in time rather
  823.    than over an interval of time.
  824.  
  825.    A clock's "skew" at a particular moment is the  frequency  difference
  826.    (first  derivative  of  its offset with respect to true time) between
  827.    the clock and true time.
  828.  
  829.    As noted in RFC 1305, real clocks exhibit  some  variation  in  skew.
  830.  
  831.  
  832.  
  833. Paxson et al.                                                  [Page 14]
  834.  
  835.  
  836.  
  837.  
  838.  
  839. ID                Framework for IP Performance Metrics         July 1997
  840.  
  841.  
  842.    That  is, the second derivative of the clock's offset with respect to
  843.    true time is generally non-zero.  In keeping with RFC 1305, we define
  844.    this quantity as the clock's "drift".
  845.  
  846.    A clock's "resolution" is the smallest unit by which the clock's time
  847.    is updated.  It gives a  lower  bound  on  the  clock's  uncertainty.
  848.    (Note  that  clocks  can have very fine resolutions and yet be wildly
  849.    inaccurate.)  Resolution is defined in terms  of  seconds.   However,
  850.    resolution  is  relative to the clock's reported time and not to true
  851.    time, so for example a resolution of 10 ms only means that the  clock
  852.    updates  its  notion of time in 0.01 second increments, not that this
  853.    is the true amount of time between updates.
  854.  
  855.    {Comment: Systems differ on how an application interface to the clock
  856.    reports  the  time on subsequent calls during which the clock has not
  857.    advanced.  Some systems simply return  the  same  unchanged  time  as
  858.    given  for  previous  calls.  Others may add a small increment to the
  859.    reported time to maintain monotonic increasing timestamps.  For  sys-
  860.    tems  that do the latter, we do *not* consider these small increments
  861.    when defining the clock's resolution.  They are instead an impediment
  862.    to assessing the clock's resolution, since a natural method for doing
  863.    so is to repeatedly query the clock to determine  the  smallest  non-
  864.    zero difference in reported times.}
  865.  
  866.    It  is  expected  that  a clock's resolution changes only rarely (for
  867.    example, due to a hardware upgrade).
  868.  
  869.    There are a number of interesting metrics for which some natural mea-
  870.    surement  methodologies  involve comparing times reported by two dif-
  871.    ferent clocks.  An example is  one-way  packet  delay  (currently  an
  872.    Internet  Draft  [AK96]).   Here,  the  time required for a packet to
  873.    travel through the network is measured by comparing the time reported
  874.    by a clock at one end of the packet's path, corresponding to when the
  875.    packet first entered the network, with the time reported by  a  clock
  876.    at  the  other end of the path, corresponding to when the packet fin-
  877.    ished traversing the network.
  878.  
  879.    We are thus also interested in terminology  for  describing  how  two
  880.    clocks  C1  and  C2 compare.  To do so, we introduce terms related to
  881.    those above in which the notion of "true time"  is  replaced  by  the
  882.    time  as  reported by clock C1.  For example, clock C2's offset rela-
  883.    tive to C1 at a particular moment is Tc2  -  Tc1,  the  instantaneous
  884.    difference  in  time  reported by C2 and C1.  To disambiguate between
  885.    the use of the terms to compare two clocks  versus  the  use  of  the
  886.    terms  to  compare  to  true time, we will in the former case use the
  887.    phrase "relative".  So the offset defined earlier in  this  paragraph
  888.    is the "relative offset" between C2 and C1.
  889.  
  890.  
  891.  
  892.  
  893. Paxson et al.                                                  [Page 15]
  894.  
  895.  
  896.  
  897.  
  898.  
  899. ID                Framework for IP Performance Metrics         July 1997
  900.  
  901.  
  902.    When  comparing  clocks,  the analog of "resolution" is not "relative
  903.    resolution", but instead "joint resolution", which is the sum of  the
  904.    resolutions of C1 and C2.  The joint resolution then indicates a con-
  905.    servative lower bound on the accuracy of any time intervals  computed
  906.    by subtracting timestamps generated by one clock from those generated
  907.    by the other.
  908.  
  909.    If two clocks are "accurate" with respect to one another (their rela-
  910.    tive  offset  is  zero), we will refer to the pair of clocks as "syn-
  911.    chronized".  Note that clocks can be highly  synchronized  yet  arbi-
  912.    trarily  inaccurate  in  terms of how well they tell true time.  This
  913.    point is important because for many Internet  measurements,  synchro-
  914.    nization  between  two  clocks is more important than the accuracy of
  915.    the clocks.  The is somewhat true of skew, too: as long as the  abso-
  916.    lute skew is not too great, then minimal relative skew is more impor-
  917.    tant, as it can induce systematic trends in packet transit times mea-
  918.    sured by comparing timestamps produced by the two clocks.
  919.  
  920.    These  distinctions  arise  because  for Internet measurement what is
  921.    often most important are differences in time as computed by comparing
  922.    the  output  of  two clocks.  The process of computing the difference
  923.    removes any error due to clock  inaccuracies  with  respect  to  true
  924.    time;  but  it  is crucial that the differences themselves accurately
  925.    reflect differences in true time.
  926.  
  927.    Measurement methodologies will often begin with the step of  assuring
  928.    that  two  clocks  are  synchronized and have minimal skew and drift.
  929.    {Comment: An effective way to assure these conditions (and also clock
  930.    accuracy) is by using clocks that derive their notion of time from an
  931.    external source, rather than only the host computer's clock.   (These
  932.    latter  are often subject to large errors.)  It is further preferable
  933.    that the clocks directly derive their time,  for  example  by  having
  934.    immediate access to a GPS (Global Positioning System) unit.}
  935.  
  936.    Two  important  concerns  arise if the clocks indirectly derive their
  937.    time using a network time synchronization protocol such as NTP:
  938.  +    First, NTP's accuracy depends in part on the properties  (particu-
  939.       larly  delay)  of  the  Internet  paths used by the NTP peers, and
  940.       these might be exactly the properties that we wish to measure,  so
  941.       it would be unsound to use NTP to calibrate such measurements.
  942.  +    Second,  NTP  focuses  on  clock  accuracy,  which can come at the
  943.       expense of short-term clock skew and drift.  For example,  when  a
  944.       host's  clock  is indirectly synchronized to a time source, if the
  945.       synchronization intervals occur infrequently, then the  host  will
  946.       sometimes  be faced with the problem of how to adjust its current,
  947.       incorrect time, Ti, with a considerably different,  more  accurate
  948.       time  it  has just learned, Ta.  Two general ways in which this is
  949.       done are to either immediately set the current time to Ta,  or  to
  950.  
  951.  
  952.  
  953. Paxson et al.                                                  [Page 16]
  954.  
  955.  
  956.  
  957.  
  958.  
  959. ID                Framework for IP Performance Metrics         July 1997
  960.  
  961.  
  962.       adjust  the  local  clock's  update frequency (hence, its skew) so
  963.       that at some point in the future the local  time  Ti'  will  agree
  964.       with  the  more accurate time Ta'.  The first mechanism introduces
  965.       discontinuities and  can  also  violate  common  assumptions  that
  966.       timestamps  are  monotone  increasing.  If the host's clock is set
  967.       backward in time, sometimes this can be easily detected.   If  the
  968.       clock  is  set forward in time, this can be harder to detect.  The
  969.       skew induced by the second  mechanism  can  lead  to  considerable
  970.       inaccuracies  when  computing  differences  in  time, as discussed
  971.       above.
  972.  
  973.    To illustrate why skew is a crucial concern, consider samples of one-
  974.    way  delays  between two Internet hosts made at one minute intervals.
  975.    The true transmission delay between the hosts might plausibly  be  on
  976.    the  order of 50 ms for a transcontinental path.  If the skew between
  977.    the two clocks is 0.01%, that is, 1 part in  10,000,  then  after  10
  978.    minutes  of  observation the error introduced into the measurement is
  979.    60 ms.  Unless corrected, this error is enough to completely wipe out
  980.    any accuracy in the transmission delay measurement.  Finally, we note
  981.    that assessing skew errors between unsynchronized network  clocks  is
  982.    an open research area.  (See [Pa97] for a discussion of detecting and
  983.    compensating for these sorts of errors.) This shortcoming  makes  use
  984.    of  a  solid,  independent clock source such as GPS especially desir-
  985.    able.
  986.  
  987.  
  988. 10.2. The Notion of "Wire Time"
  989.  
  990.    Internet measurement is often complicated  by  the  use  of  Internet
  991.    hosts  themselves to perform the measurement.  These hosts can intro-
  992.    duce delays, bottlenecks, and the like that are due  to  hardware  or
  993.    operating  system  effects  and  have  nothing to do with the network
  994.    behavior we would like to  measure.   This  problem  is  particularly
  995.    acute  when  timestamping of network events occurs at the application
  996.    level.
  997.  
  998.    In order to provide a general way of talking about these effects,  we
  999.    introduce two notions of "wire time".  These notions are only defined
  1000.    in terms of an Internet host H observing an Internet link L at a par-
  1001.    ticular location:
  1002.  +    For  a  given  packet P, the 'wire arrival time' of P at H on L is
  1003.       the first time T at which any bit of P has appeared at H's  obser-
  1004.       vational position on L.
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013. Paxson et al.                                                  [Page 17]
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019. ID                Framework for IP Performance Metrics         July 1997
  1020.  
  1021.  
  1022.  +    For  a  given packet P, the 'wire exit time' of P at H on L is the
  1023.       first time T at which all the bits  of  P  have  appeared  at  H's
  1024.       observational position on L.
  1025.    Note  that  intrinsic to the definition is the notion of where on the
  1026.    link we are observing.  This distinction  is  important  because  for
  1027.    large-latency  links, we may obtain very different times depending on
  1028.    exactly where we are observing the link.  We could allow the observa-
  1029.    tional  position to be an arbitrary location along the link; however,
  1030.    we define it to be in terms of an Internet host because we anticipate
  1031.    in  practice  that,  for  IPPM  metrics, all such timing will be con-
  1032.    strained to be performed by Internet hosts, rather  than  specialized
  1033.    hardware  devices  that  might be able to monitor a link at locations
  1034.    where a host cannot.  This definition also takes care of the  problem
  1035.    of  links  that are comprised of multiple physical channels.  Because
  1036.    these multiple channels are not visible at the IP layer, they  cannot
  1037.    be individually observed in terms of the above definitions.
  1038.  
  1039.    It is possible, though one hopes uncommon, that a packet P might make
  1040.    multiple trips over a particular link L, due to  a  forwarding  loop.
  1041.    These  trips  might  even  overlap, depending on the link technology.
  1042.    Whenever this occurs, we define a separate wire time associated  with
  1043.    each instance of P seen at H's position on the link.  This definition
  1044.    is worth making because it serves as a  reminder  that  notions  like
  1045.    *the*  unique time a packet passes a point in the Internet are inher-
  1046.    ently slippery.
  1047.  
  1048.    The term wire time has historically been used to loosely  denote  the
  1049.    time at which a packet appeared on a link, without exactly specifying
  1050.    whether this refers to the first bit, the last  bit,  or  some  other
  1051.    consideration.   This  informal  definition is generally already very
  1052.    useful, as it is usually used to make a distinction between when  the
  1053.    packet's  propagation delays begin and cease to be due to the network
  1054.    rather than the endpoint hosts.
  1055.  
  1056.    When appropriate, metrics should be defined in terms  of  wire  times
  1057.    rather  than  host  endpoint  times,  so that the metric's definition
  1058.    highlights the issue of separating delays due to the host from  those
  1059.    due to the network.
  1060.  
  1061.    We  note  that  these notions have not, to our knowledge, been previ-
  1062.    ously defined in exact terms for Internet traffic.  Consequently,  we
  1063.    may  find with experience that these definitions require some adjust-
  1064.    ment in the future.
  1065.  
  1066.    {Comment: It can sometimes be difficult to measure wire  times.   One
  1067.    technique  is  to  use  a packet filter to monitor traffic on a link.
  1068.    The architecture of these filters often attempts  to  associate  with
  1069.    each  packet  a  timestamp as close to the wire time as possible.  We
  1070.  
  1071.  
  1072.  
  1073. Paxson et al.                                                  [Page 18]
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079. ID                Framework for IP Performance Metrics         July 1997
  1080.  
  1081.  
  1082.    note however that one common source of error is  to  run  the  packet
  1083.    filter  on  one  of  the  endpoint  hosts.  In this case, it has been
  1084.    observed that some packet filters receive for some packets timestamps
  1085.    corresponding  to when the packet was *scheduled* to be injected into
  1086.    the network, rather than when it actually was  *sent*  out  onto  the
  1087.    network  (wire  time).  There can be a substantial difference between
  1088.    these two times.  A technique for dealing with this problem is to run
  1089.    the  packet  filter  on  a  separate host that passively monitors the
  1090.    given link.  This can be problematic however for some link  technolo-
  1091.    gies.  See also [Pa97] for a discussion of the sorts of errors packet
  1092.    filters can exhibit.}
  1093.  
  1094.  
  1095. 11. Singletons, Samples, and Statistics
  1096.  
  1097.    With experience we have found it useful  to  introduce  a  separation
  1098.    between three distinct -- yet related -- notions:
  1099.  +    By a 'singleton' metric, we refer to metrics that are, in a sense,
  1100.       atomic.  For example, a single instance of "bulk throughput capac-
  1101.       ity" from one host to another might be defined as a singleton met-
  1102.       ric, even though the instance involves measuring the timing  of  a
  1103.       number of Internet packets.
  1104.  +    By  a  'sample'  metric,  we refer to metrics derived from a given
  1105.       singleton  metric  by  taking  a  number  of  distinct   instances
  1106.       together.  For example, we might define a sample metric of one-way
  1107.       delays from one host to another as an  hour's  worth  of  measure-
  1108.       ments,  each  made at Poisson intervals with a mean spacing of one
  1109.       second.
  1110.  +    By a 'statistical' metric, we refer  to  metrics  derived  from  a
  1111.       given  sample  metric  by  computing  some statistic of the values
  1112.       defined by the singleton metric on the sample.  For  example,  the
  1113.       mean  of  all  the  one-way delay values on the sample given above
  1114.       might be defined as a statistical metric.
  1115.    By applying these notions of singleton, sample, and  statistic  in  a
  1116.    consistent way, we will be able to reuse lessons learned about how to
  1117.    define samples and statistics on various metrics.  The  orthogonality
  1118.    among  these three notions will thus make all our work more effective
  1119.    and more intelligible by the community.
  1120.  
  1121.    In the remainder of this section, we will cover some topics  in  sam-
  1122.    pling  and  statistics that we believe will be important to a variety
  1123.    of metric definitions and measurement efforts.
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133. Paxson et al.                                                  [Page 19]
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139. ID                Framework for IP Performance Metrics         July 1997
  1140.  
  1141.  
  1142. 11.1. Methods of Collecting Samples
  1143.  
  1144.    The main reason for collecting samples is to see what sort of  varia-
  1145.    tions  and  consistencies  are  present in the metric being measured.
  1146.    These variations might be with respect to  different  points  in  the
  1147.    Internet,  or different measurement times.  When assessing variations
  1148.    based on a sample, one generally makes an assumption that the  sample
  1149.    is  "unbiased",  meaning  that the process of collecting the measure-
  1150.    ments in the sample did not skew the sample  so  that  it  no  longer
  1151.    accurately reflects the metric's variations and consistencies.
  1152.  
  1153.    One  common  way  of collecting samples is to make measurements sepa-
  1154.    rated by fixed amounts of time: periodic sampling.  Periodic sampling
  1155.    is  particularly attractive because of its simplicity, but it suffers
  1156.    from two potential problems:
  1157.  +    If the metric being measured itself  exhibits  periodic  behavior,
  1158.       then  there  is  a possibility that the sampling will observe only
  1159.       part of the periodic behavior  if  the  periods  happen  to  agree
  1160.       (either  directly, or if one is a multiple of the other).  Related
  1161.       to this problem is the notion that periodic sampling can be easily
  1162.       anticipated.   Predictable sampling is susceptible to manipulation
  1163.       if there are mechanisms by which a  network  component's  behavior
  1164.       can  be  temporarily  changed such that the sampling only sees the
  1165.       modified behavior.
  1166.  +    The act of measurement can perturb what  is  being  measured  (for
  1167.       example,  injecting  measurement traffic into a network alters the
  1168.       congestion level of the network), and repeated periodic  perturba-
  1169.       tions  can  drive  a  network into a state of synchronization (cf.
  1170.       [FJ94]), greatly  magnifying  what  might  individually  be  minor
  1171.       effects.
  1172.  
  1173.    A more sound approach is based on "random additive sampling": samples
  1174.    are separated by independent, randomly generated intervals that  have
  1175.    a  common  statistical distribution G(t) [BM92].  The quality of this
  1176.    sampling depends on the distribution G(t).  For example, if G(t) gen-
  1177.    erates  a  constant  value  g with probability one, then the sampling
  1178.    reduces to periodic sampling with a period of g.
  1179.  
  1180.  
  1181. 11.1.1. Poisson Sampling
  1182.  
  1183.    It can be proved that if G(t) is  an  exponential  distribution  with
  1184.    rate lambda, that is
  1185.    G(t) = 1 - exp(-lambda * t)
  1186.    then  the  arrival of new samples *cannot* be predicted, and the sam-
  1187.    pling is unbiased.  Furthermore, the sampling is asymptotically unbi-
  1188.    ased  even  if the act of sampling affects the network's state.  Such
  1189.    sampling is referred to as "Poisson sampling".  It is  not  prone  to
  1190.  
  1191.  
  1192.  
  1193. Paxson et al.                                                  [Page 20]
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199. ID                Framework for IP Performance Metrics         July 1997
  1200.  
  1201.  
  1202.    inducing  synchronization,  it can be used to accurately collect mea-
  1203.    surements of periodic behavior, and it is not prone  to  manipulation
  1204.    by anticipating when new samples will occur.
  1205.  
  1206.    Because  of  these  valuable properties, samples of Internet measure-
  1207.    ments should be gathered using Poisson sampling  unless  there  is  a
  1208.    compelling reason to use a different approach.
  1209.  
  1210.    In  its  purest form, Poisson sampling is done by generating indepen-
  1211.    dent, exponentially distributed intervals and gathering a single mea-
  1212.    surement  after  each  interval has elapsed.  It can be shown that if
  1213.    starting at time T one performs Poisson sampling over an interval dT,
  1214.    during  which a total of N measurements happen to be made, then those
  1215.    measurements will be uniformly  distributed  over  the  interval  [T,
  1216.    T+dT].   So  another way of conducting Poisson sampling is to pick dT
  1217.    and N and generate N random sampling times uniformly over the  inter-
  1218.    val [T, T+dT].  The two approaches are equivalent, except if N and dT
  1219.    are externally known.  In that case, the property of not  being  able
  1220.    to  predict measurement times is weakened (the other properties still
  1221.    hold).  The N/dT approach has an advantage that  dealing  with  fixed
  1222.    values  of  N  and dT can be simpler than dealing with a fixed lambda
  1223.    but variable numbers of measurements over variably-sized intervals.
  1224.  
  1225.  
  1226. 11.1.2. Geometric Sampling
  1227.  
  1228.    Closely related to Poisson sampling is "geometric sampling", in which
  1229.    external  events  are measured with a fixed probability p.  For exam-
  1230.    ple, one might capture all the packets over a link  but  only  record
  1231.    the  packet  to a trace file if a randomly generated number uniformly
  1232.    distributed between 0 and 1 is less than a given p.   Geometric  sam-
  1233.    pling  has  the same properties of being unbiased and not predictable
  1234.    in advance as Poisson sampling, so if it fits a  particular  Internet
  1235.    measurement  task, it too is sound.  See [CPB93] for more discussion.
  1236.  
  1237.  
  1238. 11.1.3. Generating Poisson Sampling Intervals
  1239.  
  1240.    To generate Poisson sampling intervals, one first determines the rate
  1241.    lambda  at  which  the  samples will on average be made (e.g., for an
  1242.    average sampling interval of 30 seconds, we have lambda  =  1/30,  if
  1243.    the units of time are seconds).  One then generates a series of expo-
  1244.    nentially-distributed (pseudo-)random numbers E1, E2, ...,  En.   The
  1245.    first  measurement is made at time E1, the next at time E1+E2, and so
  1246.    on.
  1247.  
  1248.    One    technique     for     generating     exponentially-distributed
  1249.    (pseudo-)random  numbers  is based on the ability to generate U1, U2,
  1250.  
  1251.  
  1252.  
  1253. Paxson et al.                                                  [Page 21]
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259. ID                Framework for IP Performance Metrics         July 1997
  1260.  
  1261.  
  1262.    ..., Un,  (pseudo-)random  numbers  that  are  uniformly  distributed
  1263.    between  0 and 1.  Many computers provide libraries that can do this.
  1264.    Given such Ui, to generate Ei one uses:
  1265.        Ei = -log(Ui) / lambda
  1266.    where log(Ui) is the natural logarithm of Ui.  {Comment:  This  tech-
  1267.    nique  is  an instance of the more general "inverse transform" method
  1268.    for generating random numbers with a given distribution.}
  1269.  
  1270.    Implementation details:
  1271.  
  1272.    There are at least three different methods for approximating  Poisson
  1273.    sampling, which we describe here as Methods 1 through 3.  Method 1 is
  1274.    the easiest to implement and has the most error, and method 3 is  the
  1275.    most  difficult  to  implement  and  has the least error (potentially
  1276.    none).
  1277.  
  1278.    Method 1 is to proceed as follows:
  1279.    1.  Generate E1 and wait that long.
  1280.    2.  Perform a measurement.
  1281.    3.  Generate E2 and wait that long.
  1282.    4.  Perform a measurement.
  1283.    5.  Generate E3 and wait that long.
  1284.    6.  Perform a measurement ...
  1285.  
  1286.    The problem with this approach is that the  "Perform  a  measurement"
  1287.    steps  themselves take time, so the sampling is not done at times E1,
  1288.    E1+E2, etc., but rather at E1, E1+M1+E2, etc., where Mi is the amount
  1289.    of  time required for the i'th measurement.  If Mi is very small com-
  1290.    pared to 1/lambda then the potential error introduced by  this  tech-
  1291.    nique  is likewise small.  As Mi becomes a non-negligible fraction of
  1292.    1/lambda, the potential error increases.
  1293.  
  1294.    Method 2 attempts to correct this error by taking  into  account  the
  1295.    amount  of  time  required  by  the measurements (i.e., the Mi's) and
  1296.    adjusting the waiting intervals accordingly:
  1297.    1.  Generate E1 and wait that long.
  1298.    2.  Perform a measurement and measure M1, the time it took to do so.
  1299.    3.  Generate E2 and wait for a time E2-M1.
  1300.    4.  Perform a measurement and measure M2 ..
  1301.  
  1302.    This approach works fine as long as E{i+1} >= Mi.  But if E{i+1} < Mi
  1303.    then  it is impossible to wait the proper amount of time.  (Note that
  1304.    this case corresponds to needing to perform two measurements simulta-
  1305.    neously.)
  1306.  
  1307.    Method  3  is  generating  a schedule of measurement times E1, E1+E2,
  1308.    etc., and then sticking to it:
  1309.    1.  Generate E1, E2, ..., En.
  1310.  
  1311.  
  1312.  
  1313. Paxson et al.                                                  [Page 22]
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319. ID                Framework for IP Performance Metrics         July 1997
  1320.  
  1321.  
  1322.    2.  Compute measurement times T1, T2, ..., Tn, as Ti = E1 + ... + Ei.
  1323.    3.  Arrange that at times T1, T2, ..., Tn, a measurement is made.
  1324.  
  1325.    By allowing simultaneous measurements, Method 3 avoids the  shortcom-
  1326.    ings  of  Methods  1  and  2.  If, however, simultaneous measurements
  1327.    interfere with one another, then Method 3 does not gain  any  benefit
  1328.    and may actually prove worse than Methods 1 or 2.
  1329.  
  1330.    For  Internet phenomena, it is not known to what degree the inaccura-
  1331.    cies of these methods are significant.  If the  Mi's  are  much  less
  1332.    than 1/lambda, then any of the three should suffice.  If the Mi's are
  1333.    less than 1/lambda but perhaps not greatly less,  then  Method  2  is
  1334.    preferred to Method 1.  If simultaneous measurements do not interfere
  1335.    with one another, then Method 3 is preferred, though it can  be  con-
  1336.    siderably harder to implement.
  1337.  
  1338.  
  1339. 11.2. Self-Consistency
  1340.  
  1341.    A fundamental requirement for a sound measurement methodology is that
  1342.    measurement be made using as few unconfirmed assumptions as possible.
  1343.    Experience  has  painfully  shown  how  easy  it is to make an (often
  1344.    implicit) assumption that turns out to be incorrect.  An  example  is
  1345.    incorporating  into a measurement the reading of a clock synchronized
  1346.    to a highly accurate source.  It is easy to assume that the clock  is
  1347.    therefore  accurate; but due to software bugs, a loss of power in the
  1348.    source, or a loss of communication between the source and the  clock,
  1349.    the clock could actually be quite inaccurate.
  1350.  
  1351.    This  is  not  to argue that one must not make *any* assumptions when
  1352.    measuring, but rather that, to the extent which is practical, assump-
  1353.    tions  should  be  tested.   One  powerful  way for doing so involves
  1354.    checking for self-consistency.  Such checking  applies  both  to  the
  1355.    observed value(s) of the measurement *and the values used by the mea-
  1356.    surement process itself*.  A simple example of  the  former  is  that
  1357.    when  computing  a  round trip time, one should check to see if it is
  1358.    negative.  Since negative time intervals are non-physical, if it ever
  1359.    is negative that finding immediately flags an error.  *These sorts of
  1360.    errors should then be investigated!*   It  is  crucial  to  determine
  1361.    where  the  error  lies,  because  only by doing so diligently can we
  1362.    build up faith in a methodology's fundamental soundness.   For  exam-
  1363.    ple,  it could be that the round trip time is negative because during
  1364.    the measurement the clock was set backward in the process of synchro-
  1365.    nizing  it  with  another source.  But it could also be that the mea-
  1366.    surement program accesses uninitialized memory in one of its computa-
  1367.    tions and, only very rarely, that leads to a bogus computation.  This
  1368.    second error is more serious, if the same program is used  by  others
  1369.    to perform the same measurement, since then they too will suffer from
  1370.  
  1371.  
  1372.  
  1373. Paxson et al.                                                  [Page 23]
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379. ID                Framework for IP Performance Metrics         July 1997
  1380.  
  1381.  
  1382.    incorrect results.  Furthermore, once uncovered it can be  completely
  1383.    fixed.
  1384.  
  1385.    A  more  subtle  example  of  testing for self-consistency comes from
  1386.    gathering samples of one-way Internet delays.  If  one  has  a  large
  1387.    sample of such delays, it may well be highly telling to, for example,
  1388.    fit a line to the pairs of (time of measurement, measured delay),  to
  1389.    see  if  the  resulting  line has a clearly non-zero slope.  If so, a
  1390.    possible interpretation is that one of the clocks used  in  the  mea-
  1391.    surements is skewed relative to the other.  Another interpretation is
  1392.    that the slope is actually due to genuine network effects.  Determin-
  1393.    ing which is indeed the case will often be highly illuminating.  (See
  1394.    [Pa97] for a discussion of distinguishing between relative clock skew
  1395.    and  genuine  network effects.)  Furthermore, if making this check is
  1396.    part of the methodology, then a finding that the long-term  slope  is
  1397.    very  near zero is positive evidence that the measurements are proba-
  1398.    bly not biased by a difference in skew.
  1399.  
  1400.    A final example illustrates checking the measurement  process  itself
  1401.    for  self-consistency.  Above we outline Poisson sampling techniques,
  1402.    based on generating  exponentially-distributed  intervals.   A  sound
  1403.    measurement methodology would include testing the generated intervals
  1404.    to see whether they are indeed exponentially distributed (and also to
  1405.    see if they suffer from correlation).  In the appendix we discuss and
  1406.    give C code for one such technique, a general-purpose,  well-regarded
  1407.    goodness-of-fit test called the Anderson-Darling test.
  1408.  
  1409.    Finally,  we note that what is truly relevant for Poisson sampling of
  1410.    Internet metrics is often not when the  measurements  began  but  the
  1411.    wire  times  corresponding  to  the measurement process.  These could
  1412.    well be different, due to complications on the hosts used to  perform
  1413.    the  measurement.   Thus,  even  those  with  complete faith in their
  1414.    pseudo-random number generators and subsequent algorithms are encour-
  1415.    aged to consider how they might test the assumptions of each measure-
  1416.    ment procedure as much as possible.
  1417.  
  1418.  
  1419. 11.3. Defining Statistical Distributions
  1420.  
  1421.    One way of describing a collection of measurements (a sample) is as a
  1422.    statistical  distribution  --  informally, as percentiles.  There are
  1423.    several slightly different ways of doing  so.   In  this  section  we
  1424.    define  a  standard  definition  to give uniformity to these descrip-
  1425.    tions.
  1426.  
  1427.    The "empirical distribution function" (EDF) of a set of  scalar  mea-
  1428.    surements  is  a  function  F(x) which for any x gives the fractional
  1429.    proportion of the total measurements that were <= x.  If  x  is  less
  1430.  
  1431.  
  1432.  
  1433. Paxson et al.                                                  [Page 24]
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439. ID                Framework for IP Performance Metrics         July 1997
  1440.  
  1441.  
  1442.    than the minimum value observed, then F(x) is 0.  If it is greater or
  1443.    equal to the maximum value observed, then F(x) is 1.
  1444.  
  1445.    For example, given the 6 measurements:
  1446.    -2, 7, 7, 4, 18, -5
  1447.    Then F(-8) = 0, F(-5) = 1/6, F(-5.0001) = 0, F(-4.999) = 1/6, F(7)  =
  1448.    5/6, F(18) = 1, F(239) = 1.
  1449.  
  1450.    Note  that  we can recover the different measured values and how many
  1451.    times each occurred from F(x) -- no information regarding  the  range
  1452.    in values is lost.  Summarizing measurements using histograms, on the
  1453.    other hand, in general loses information about the  different  values
  1454.    observed, so the EDF is preferred.
  1455.  
  1456.    Using  either the EDF or a histogram, however, we do lose information
  1457.    regarding the order in which the values were observed.  Whether  this
  1458.    loss  is potentially significant will depend on the metric being mea-
  1459.    sured.
  1460.  
  1461.    We will use the term "percentile" to refer to the smallest value of x
  1462.    for  which F(x) >= a given percentage.  So the 50th percentile of the
  1463.    example above is 4, since F(4) = 3/6 = 50%; the  25th  percentile  is
  1464.    -2,  since  F(-5) = 1/6 < 25%, and F(-2) = 2/6 >= 25%; the 100th per-
  1465.    centile is 18; and the 0th percentile is -infinity, as  is  the  15th
  1466.    percentile.
  1467.  
  1468.    Care  must  be  taken  when  using percentiles to summarize a sample,
  1469.    because they can lend an unwarranted  appearance  of  more  precision
  1470.    than  is  really available.  Any such summary MUST include the sample
  1471.    size N, because any percentile difference finer than 1/N is below the
  1472.    resolution of the sample.
  1473.  
  1474.    See [DS86] for more details regarding EDF's.
  1475.  
  1476.    We close with a note on the common (and important!) notion of median.
  1477.    In statistics, the median of a distribution  is  defined  to  be  the
  1478.    point  X for which the probability of observing a value <= X is equal
  1479.    to the probability of observing a value >  X.   When  estimating  the
  1480.    median  of a set of observations, the estimate depends on whether the
  1481.    number of observations, N, is odd or even:
  1482.  +    If N is odd, then the 50th percentile as defined above is used  as
  1483.       the estimated median.
  1484.  +    If N is even, then the estimated median is the average of the cen-
  1485.       tral two observations; that is, if the observations are sorted  in
  1486.       ascending  order and numbered from 1 to N, where N = 2*K, then the
  1487.       estimated median is the average of the (K)'th and (K+1)'th  obser-
  1488.       vations.
  1489.    Usually  the  term  "estimated" is dropped from the phrase "estimated
  1490.  
  1491.  
  1492.  
  1493. Paxson et al.                                                  [Page 25]
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499. ID                Framework for IP Performance Metrics         July 1997
  1500.  
  1501.  
  1502.    median" and this value is simply referred to as the "median".
  1503.  
  1504.  
  1505. 11.4. Testing For Goodness-of-Fit
  1506.  
  1507.    For some forms of measurement calibration we need to test  whether  a
  1508.    set  of  numbers  is  consistent with those numbers having been drawn
  1509.    from a particular distribution.  An example is that to apply a  self-
  1510.    consistency  check  to measurements made using a Poisson process, one
  1511.    test is to see whether the spacing between the  sampling  times  does
  1512.    indeed  reflect  an exponential distribution; or if the dT/N approach
  1513.    discussed above was used, whether the times are uniformly distributed
  1514.    across [T, dT].
  1515.  
  1516.    There  are  a  large number of statistical goodness-of-fit techniques
  1517.    for performing such tests.  See [DS86]  for  a  thorough  discussion.
  1518.    That  reference  recommends  the Anderson-Darling EDF test as being a
  1519.    good all-purpose test, as well as one  that  is  especially  good  at
  1520.    detecting deviations from a given distribution in the lower and upper
  1521.    tails of the EDF.
  1522.  
  1523.    It is important to understand  that  the  nature  of  goodness-of-fit
  1524.    tests  is that one first selects a "significance level", which is the
  1525.    probability that the test will erroneously declare that the EDF of  a
  1526.    given  set  of  measurements fails to match a particular distribution
  1527.    when in fact the measurements do indeed  reflect  that  distribution.
  1528.    Unless otherwise stated, IPPM goodness-of-fit tests are done using 5%
  1529.    significance.  This means that if the test is applied to 100  samples
  1530.    and  5  of those samples are deemed to have failed the test, then the
  1531.    samples are all consistent with the distribution  being  tested.   If
  1532.    significantly  more of the samples fail the test, then the assumption
  1533.    that the samples are consistent with the  distribution  being  tested
  1534.    must  be  rejected.   If  significantly fewer of the samples fail the
  1535.    test, then the samples have potentially been doctored too well to fit
  1536.    the  distribution.   Similarly, some goodness-of-fit tests (including
  1537.    Anderson-Darling) can detect whether it is likely that a given sample
  1538.    was  doctored.   We also use a significance of 5% for this case; that
  1539.    is, the test will report that a given honest sample is "too  good  to
  1540.    be true" 5% of the time, so if the test reports this finding signifi-
  1541.    cantly more often than one time out of twenty, it  is  an  indication
  1542.    that something unusual is occurring.
  1543.  
  1544.    The  appendix  gives  sample  C  code  for implementing the Anderson-
  1545.    Darling test, as well as further discussing its use.
  1546.  
  1547.    See [Pa94] for a discussion of goodness-of-fit  and  closeness-of-fit
  1548.    tests in the context of network measurement.
  1549.  
  1550.  
  1551.  
  1552.  
  1553. Paxson et al.                                                  [Page 26]
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559. ID                Framework for IP Performance Metrics         July 1997
  1560.  
  1561.  
  1562. 12. Avoiding Stochastic Metrics
  1563.  
  1564.    When  defining  metrics  applying to a path, subpath, cloud, or other
  1565.    network element, we in general do not define them in stochastic terms
  1566.    (probabilities).   We instead prefer a deterministic definition.  So,
  1567.    for example, rather than defining a metric about a "packet loss prob-
  1568.    ability  between  A  and B", we would define a metric about a "packet
  1569.    loss rate between A and B".  (A measurement given by the first  defi-
  1570.    nition might be "0.73", and by the second "73 packets out of 100".)
  1571.  
  1572.    The  reason for this distinction is as follows.  When definitions are
  1573.    made in terms of probabilities, there are often hidden assumptions in
  1574.    the  definition  about  a stochastic model of the behavior being mea-
  1575.    sured.  The fundamental goal with avoiding probabilities in our  met-
  1576.    ric  definitions  is to avoid biasing our definitions by these hidden
  1577.    assumptions.
  1578.  
  1579.    For example, an easy hidden assumption to make is that packet loss in
  1580.    a  network  component  due  to queueing overflows can be described as
  1581.    something that happens to any given packet with a  particular  proba-
  1582.    bility.   Usually,  however, queueing drops are actually *determinis-
  1583.    tic*, and assuming that they should  be  described  probabilistically
  1584.    can  obscure  crucial correlations between queueing drops among a set
  1585.    of packets.  So it's better to  explicitly  note  stochastic  assump-
  1586.    tions, rather than have them sneak into our definitions implicitly.
  1587.  
  1588.    This  does  *not*  mean  that we abandon stochastic models for under-
  1589.    standing network performance! It only means  that  when  defining  IP
  1590.    metrics  we avoid terms such as "probability" for terms like "propor-
  1591.    tion" or "rate".  We will still use, for example, random sampling  in
  1592.    order  to estimate probabilities used by stochastic models related to
  1593.    the IP metrics.  We also do not rule out the possibility of  stochas-
  1594.    tic  metrics when they are truly appropriate (for example, perhaps to
  1595.    model transmission errors caused by certain types of line noise).
  1596.  
  1597.  
  1598. 13. Packets of Type P
  1599.  
  1600.    A fundamental property of many Internet metrics is that the value  of
  1601.    the  metric depends on the type of IP packet(s) used to make the mea-
  1602.    surement.  Consider an IP-connectivity metric: one obtains  different
  1603.    results  depending  on  whether one is interested in connectivity for
  1604.    packets destined for well-known TCP ports or unreserved UDP ports, or
  1605.    those with invalid IP checksums, or those with TTL's of 16, for exam-
  1606.    ple.  In some circumstances these distinctions will be highly  inter-
  1607.    esting  (for  example, in the presence of firewalls, or RSVP reserva-
  1608.    tions).
  1609.  
  1610.  
  1611.  
  1612.  
  1613. Paxson et al.                                                  [Page 27]
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619. ID                Framework for IP Performance Metrics         July 1997
  1620.  
  1621.  
  1622.    Because of this distinction, we introduce the  generic  notion  of  a
  1623.    "packet  of  type  P",  where  in  some contexts P will be explicitly
  1624.    defined (i.e., exactly  what  type  of  packet  we  mean),  partially
  1625.    defined  (e.g., "with a payload of B octets"), or left generic.  Thus
  1626.    we may talk about generic IP-type-P-connectivity or more specific IP-
  1627.    port-HTTP-connectivity.  Some metrics and methodologies may be fruit-
  1628.    fully defined using generic type P definitions which  are  then  made
  1629.    specific when performing actual measurements.
  1630.  
  1631.    Whenever a metric's value depends on the type of the packets involved
  1632.    in the metric, the metric's name will include either a specific  type
  1633.    or  a  phrase  such  as  "type-P".   Thus  we will not define an "IP-
  1634.    connectivity" metric but instead an  "IP-type-P-connectivity"  metric
  1635.    and/or  perhaps  an  "IP-port-HTTP-connectivity" metric.  This naming
  1636.    convention serves as an important reminder that one must be conscious
  1637.    of the exact type of traffic being measured.
  1638.  
  1639.    A  closely  related  note: it would be very useful to know if a given
  1640.    Internet component treats equally a class C  of  different  types  of
  1641.    packets.   If  so, then any one of those types of packets can be used
  1642.    for subsequent measurement of the component.  This suggests we devise
  1643.    a metric or suite of metrics that attempt to determine C.
  1644.  
  1645.  
  1646. 14. Internet Addresses vs. Hosts
  1647.  
  1648.    When  considering  a metric for some path through the Internet, it is
  1649.    often natural to think about it as being for the path  from  Internet
  1650.    host  H1  to  host  H2.   A definition in these terms, though, can be
  1651.    ambiguous, because Internet hosts can be attached to  more  than  one
  1652.    network.  In this case, the result of the metric will depend on which
  1653.    of these networks is actually used.
  1654.  
  1655.    Because of this ambiguitiy, usually such definitions  should  instead
  1656.    be defined in terms of Internet IP addresses.  For the common case of
  1657.    a unidirectional path through the Internet,  we  will  use  the  term
  1658.    "Src"  to  denote  the  IP  address of the beginning of the path, and
  1659.    "Dst" to denote the IP address of the end.
  1660.  
  1661.  
  1662. 15. Standard-Formed Packets
  1663.  
  1664.    Unless otherwise stated, all metric definitions that concern IP pack-
  1665.    ets  include  an  implicit  assumption  that  the packet is *standard
  1666.    formed*.  A packet is standard formed if it meets all of the  follow-
  1667.    ing criteria:
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673. Paxson et al.                                                  [Page 28]
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679. ID                Framework for IP Performance Metrics         July 1997
  1680.  
  1681.  
  1682.  +    Its  length  as  given in the IP header corresponds to the size of
  1683.       the IP header plus the size of the payload.
  1684.  +    It includes a valid IP header: the version field is 4  (later,  we
  1685.       will  expand  this  to  include 6); the header length is >= 5; the
  1686.       checksum is correct.
  1687.  +    It is not an IP fragment.
  1688.  +    The source and destination addresses correspond to  the  hosts  in
  1689.       question.
  1690.  +    Either  the  packet  possesses  sufficient  TTL to travel from the
  1691.       source to the destination if the TTL is decremented by one at each
  1692.       hop, or it possesses the maximum TTL of 255.
  1693.  +    It does not contain IP options unless explicitly noted.
  1694.  +    If a transport header is present, it too contains a valid checksum
  1695.       and other valid fields.
  1696.    We further require that if a packet is described as having a  "length
  1697.    of B octets", then 0 <= B <= 65535; and if B is the payload length in
  1698.    octets, then B <= (65535-IP header size in octets).
  1699.  
  1700.    So, for example, one might imagine defining an IP connectivity metric
  1701.    as  "IP-type-P-connectivity  for  standard-formed packets with the IP
  1702.    TOS field set to 0",  or,  more  succinctly,  "IP-type-P-connectivity
  1703.    with  the  IP  TOS  field set to 0", since standard-formed is already
  1704.    implied by convention.
  1705.  
  1706.    A particular type of standard-formed packet often useful to  consider
  1707.    is  the  "minimal  IP packet from A to B" - this is an IP packet with
  1708.    the following properties:
  1709.    - It is standard-formed.
  1710.    - Its data payload is 0 octets.
  1711.    - It contains no options.
  1712.    - Its protocol field is 0 (Reserved).
  1713.  
  1714.    When defining IP metrics we keep in mind that no  packet  smaller  or
  1715.    simpler  than  this  can be transmitted over a correctly operating IP
  1716.    network.
  1717.  
  1718.  
  1719. 16. Acknowledgements
  1720.  
  1721.    The comments of Brian Carpenter, Bill Cerveny, Padma Krishnaswamy and
  1722.    Jeff Sedayao are appreciated.
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733. Paxson et al.                                                  [Page 29]
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739. ID                Framework for IP Performance Metrics         July 1997
  1740.  
  1741.  
  1742. 17. Security Considerations
  1743.  
  1744.    This memo raises no security issues.
  1745.  
  1746.  
  1747. 18. Appendix
  1748.  
  1749.    Need Anderson-Darling C code here.
  1750.  
  1751.    Perhaps  add  C  code  for testing for independence via minimal lag-1
  1752.    autocorrelation.
  1753.  
  1754.    FIX ME
  1755.  
  1756.  
  1757. 19. References
  1758.  
  1759.    [AK96] G. Almes and S. Kalidindi, "A One-way Delay Metric for  IPPM",
  1760.    Internet Draft <draft-ietf-bmwg-ippm-delay-00.txt>, November 1996.
  1761.  
  1762.    [BM92]  I.  Bilinskis and A. Mikelsons, Randomized Signal Processing,
  1763.    Prentice Hall International, 1992.
  1764.  
  1765.    [DS86] R. D'Agostino and M. Stephens, editors, Goodness-of-Fit  Tech-
  1766.    niques, Marcel Dekker, Inc., 1986.
  1767.  
  1768.    [CPB93]  K. Claffy, G. Polyzos, and H-W. Braun, ``Application of Sam-
  1769.    pling Methodologies to Network Traffic Characterization,'' Proc. SIG-
  1770.    COMM '93, pp. 194-203, San Francisco, September 1993.
  1771.  
  1772.    [FJ94]  S.  Floyd  and V. Jacobson, ``The Synchronization of Periodic
  1773.    Routing Messages,'' IEEE/ACM Transactions on  Networking,  2(2),  pp.
  1774.    122-136, April 1994.
  1775.  
  1776.    [Mi92] D. Mills, "Network Time Protocol (v3)", April 1992
  1777.  
  1778.    [Pa94]  V. Paxson, ``Empirically-Derived Analytic Models of Wide-Area
  1779.    TCP Connections,'' IEEE/ACM Transactions  on  Networking,  2(4),  pp.
  1780.    316-336, August 1994.
  1781.  
  1782.    [Pa96] V. Paxson, ``Towards a Framework for Defining Internet Perfor-
  1783.    mance      Metrics,''      Proceedings       of       INET       '96,
  1784.    ftp://ftp.ee.lbl.gov/papers/metrics-framework-INET96.ps.Z
  1785.  
  1786.    [Pa97]  V. Paxson, ``Measurements and Analysis of End-to-End Internet
  1787.    Dynamics,''    Ph.D.    dissertation,    U.C.     Berkeley,     1997,
  1788.    ftp://ftp.ee.lbl.gov/papers/vp-thesis/dis.ps.gz.
  1789.  
  1790.  
  1791.  
  1792.  
  1793. Paxson et al.                                                  [Page 30]
  1794.  
  1795.  
  1796.  
  1797.  
  1798.  
  1799. ID                Framework for IP Performance Metrics         July 1997
  1800.  
  1801.  
  1802. 20. Authors' Addresses
  1803.  
  1804.    Vern Paxson <vern@ee.lbl.gov>
  1805.    MS 50B/2239
  1806.    Lawrence Berkeley National Laboratory
  1807.    University of California
  1808.    Berkeley, CA  94720
  1809.    USA
  1810.    Phone: +1 510/486-7504
  1811.  
  1812.    Guy Almes <almes@advanced.org>
  1813.    Advanced Network & Services, Inc.
  1814.    200 Business Park Drive
  1815.    Armonk, NY  10504
  1816.    USA
  1817.    Phone: +1 914/273-7863
  1818.  
  1819.    Jamshid Mahdavi <mahdavi@psc.edu>
  1820.    Pittsburgh Supercomputing Center
  1821.    4400 5th Avenue
  1822.    Pittsburgh, PA  15213
  1823.    USA
  1824.    Phone: +1 412/268-6282
  1825.  
  1826.    Matt Mathis <mathis@psc.edu>
  1827.    Pittsburgh Supercomputing Center
  1828.    4400 5th Avenue
  1829.    Pittsburgh, PA  15213
  1830.    USA
  1831.    Phone: +1 412/268-3319
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853. Paxson et al.                                                  [Page 31]
  1854.  
  1855.  
  1856.  
  1857.