home *** CD-ROM | disk | FTP | other *** search
/ Internet Core Protocols / Oreilly-InternetCoreProtocols.iso / RFCs / rfc2498.txt < prev    next >
Encoding:
Text File  |  1999-10-14  |  18.0 KB  |  564 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                        J. Mahdavi
  8. Request for Comments: 2498             Pittsburgh Supercomputing Center
  9. Category: Experimental                                        V. Paxson
  10.                                   Lawrence Berkeley National Laboratory
  11.                                                            January 1999
  12.  
  13.  
  14.                 IPPM Metrics for Measuring Connectivity
  15.  
  16. Status of this Memo
  17.  
  18.    This memo defines an Experimental Protocol for the Internet
  19.    community.  It does not specify an Internet standard of any kind.
  20.    Discussion and suggestions for improvement are requested.
  21.    Distribution of this memo is unlimited.
  22.  
  23. Copyright Notice
  24.  
  25.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  26.  
  27. 1. Introduction
  28.  
  29.    Connectivity is the basic stuff from which the Internet is made.
  30.    Therefore, metrics determining whether pairs of hosts (IP addresses)
  31.    can reach each other must form the base of a measurement suite.  We
  32.    define several such metrics, some of which serve mainly as building
  33.    blocks for the others.
  34.  
  35.    This memo defines a series of metrics for connectivity between a pair
  36.    of Internet hosts.  It builds on notions introduced and discussed in
  37.    RFC 2330, the IPPM framework document.  The reader is assumed to be
  38.    familiar with that document.
  39.  
  40.    The structure of the memo is as follows:
  41.  
  42.  +    An analytic metric, called Type-P-Instantaneous-Unidirectional-
  43.       Connectivity, will be introduced to define one-way connectivity at
  44.       one moment in time.
  45.  +    Using this metric, another analytic metric, called Type-P-
  46.       Instantaneous-Bidirectional-Connectivity, will be introduced to
  47.       define two-way connectivity at one moment in time.
  48.  +    Using these metrics, corresponding one- and two-way analytic
  49.       metrics are defined for connectivity over an interval of time.
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Mahdavi & Paxson              Experimental                      [Page 1]
  59.  
  60. RFC 2498        IPPM Metrics for Measuring Connectivity     January 1999
  61.  
  62.  
  63.  +    Using these metrics, an analytic metric, called Type-P1-P2-
  64.       Interval-Temporal-Connectivity, will be introduced to define a
  65.       useful notion of two-way connectivity between two hosts over an
  66.       interval of time.
  67.  +    Methodologies are then presented and discussed for estimating
  68.       Type-P1-P2-Interval-Temporal-Connectivity in a variety of
  69.       settings.
  70.  
  71.    Careful definition of Type-P1-P2-Interval-Temporal-Connectivity and
  72.    the discussion of the metric and the methodologies for estimating it
  73.    are the two chief contributions of the memo.
  74.  
  75. 2. Instantaneous One-way Connectivity
  76.  
  77. 2.1. Metric Name:
  78.  
  79.    Type-P-Instantaneous-Unidirectional-Connectivity
  80.  
  81. 2.2. Metric Parameters:
  82.  
  83.  +    Src, the IP address of a host
  84.  +    Dst, the IP address of a host
  85.  +    T, a time
  86.  
  87. 2.3. Metric Units:
  88.  
  89.    Boolean.
  90.  
  91. 2.4. Definition:
  92.  
  93.    Src has *Type-P-Instantaneous-Unidirectional-Connectivity* to Dst at
  94.    time T if a type-P packet transmitted from Src to Dst at time T will
  95.    arrive at Dst.
  96.  
  97. 2.5. Discussion:
  98.  
  99.    For most applications (e.g., any TCP connection) bidirectional
  100.    connectivity is considerably more germane than unidirectional
  101.    connectivity, although unidirectional connectivity can be of interest
  102.    for some security applications (e.g., testing whether a firewall
  103.    correctly filters out a "ping of death").  Most applications also
  104.    require connectivity over an interval, while this metric is
  105.    instantaneous, though, again, for some security applications
  106.    instantaneous connectivity remains of interest.  Finally, one might
  107.    not have instantaneous connectivity due to a transient event such as
  108.    a full queue at a router, even if at nearby instants in time one does
  109.    have connectivity.  These points are addressed below, with this
  110.    metric serving as a building block.
  111.  
  112.  
  113.  
  114. Mahdavi & Paxson              Experimental                      [Page 2]
  115.  
  116. RFC 2498        IPPM Metrics for Measuring Connectivity     January 1999
  117.  
  118.  
  119.    Note also that we have not explicitly defined *when* the packet
  120.    arrives at Dst.  The TTL field in IP packets is meant to limit IP
  121.    packet lifetimes to 255 seconds (RFC 791).  In practice the TTL field
  122.    can be strictly a hop count (RFC 1812), with most Internet hops being
  123.    much shorter than one second.  This means that most packets will have
  124.    nowhere near the 255 second lifetime.  In principle, however, it is
  125.    also possible that packets might survive longer than 255 seconds.
  126.    Consideration of packet lifetimes must be taken into account in
  127.    attempts to measure the value of this metric.
  128.  
  129.    Finally, one might assume that unidirectional connectivity is
  130.    difficult to measure in the absence of connectivity in the reverse
  131.    direction.  Consider, however, the possibility that a process on
  132.    Dst's host notes when it receives packets from Src and reports this
  133.    fact either using an external channel, or later in time when Dst does
  134.    have connectivity to Src.  Such a methodology could reliably measure
  135.    the unidirectional connectivity defined in this metric.
  136.  
  137. 3. Instantaneous Two-way Connectivity
  138.  
  139. 3.1. Metric Name:
  140.  
  141.    Type-P-Instantaneous-Bidirectional-Connectivity
  142.  
  143. 3.2. Metric Parameters:
  144.  
  145.  +    A1, the IP address of a host
  146.  +    A2, the IP address of a host
  147.  +    T, a time
  148.  
  149. 3.3. Metric Units:
  150.  
  151.    Boolean.
  152.  
  153. 3.4. Definition:
  154.  
  155.    Addresses A1 and A2 have *Type-P-Instantaneous-Bidirectional-
  156.    Connectivity* at time T if address A1 has Type-P-Instantaneous-
  157.    Unidirectional-Connectivity to address A2 and address A2 has Type-P-
  158.    Instantaneous-Unidirectional-Connectivity to address A1.
  159.  
  160. 3.5. Discussion:
  161.  
  162.    An alternative definition would be that A1 and A2 are fully connected
  163.    if at time T address A1 has instantaneous connectivity to address A2,
  164.    and at time T+dT address A2 has instantaneous connectivity to A1,
  165.    where T+dT is when the packet sent from A1 arrives at A2.  This
  166.    definition is more useful for measurement, because the measurement
  167.  
  168.  
  169.  
  170. Mahdavi & Paxson              Experimental                      [Page 3]
  171.  
  172. RFC 2498        IPPM Metrics for Measuring Connectivity     January 1999
  173.  
  174.  
  175.    can use a reply from A2 to A1 in order to assess full connectivity.
  176.    It is a more complex definition, however, because it breaks the
  177.    symmetry between A1 and A2, and requires a notion of quantifying how
  178.    long a particular packet from A1 takes to reach A2.  We postpone
  179.    discussion of this distinction until the development of interval-
  180.    connectivity metrics below.
  181.  
  182. 4. One-way Connectivity
  183.  
  184. 4.1. Metric Name:
  185.  
  186.    Type-P-Interval-Unidirectional-Connectivity
  187.  
  188. 4.2. Metric Parameters:
  189.  
  190.  +    Src, the IP address of a host
  191.  +    Dst, the IP address of a host
  192.  +    T, a time
  193.  +    dT, a duration
  194.    {Comment:  Thus, the closed interval [T, T+dT] denotes a time
  195.    interval.}
  196.  
  197. 4.3. Metric Units:
  198.  
  199.    Boolean.
  200.  
  201. 4.4. Definition:
  202.  
  203.    Address Src has *Type-P-Interval-Unidirectional-Connectivity* to
  204.    address Dst during the interval [T, T+dT] if for some T' within [T,
  205.    T+dT] it has Type-P-instantaneous-connectivity to Dst.
  206.  
  207. 5. Two-way Connectivity
  208.  
  209. 5.1. Metric Name:
  210.  
  211.    Type-P-Interval-Bidirectional-Connectivity
  212.  
  213. 5.2. Metric Parameters:
  214.  
  215.  +    A1, the IP address of a host
  216.  +    A2, the IP address of a host
  217.  +    T, a time
  218.  +    dT, a duration
  219.    {Comment:  Thus, the closed interval [T, T+dT] denotes a time
  220.    interval.}
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Mahdavi & Paxson              Experimental                      [Page 4]
  227.  
  228. RFC 2498        IPPM Metrics for Measuring Connectivity     January 1999
  229.  
  230.  
  231. 5.3. Metric Units:
  232.  
  233.    Boolean.
  234.  
  235. 5.4. Definition:
  236.  
  237.    Addresses A1 and A2 have *Type-P-Interval-Bidirectional-Connectivity*
  238.    between them during the interval [T, T+dT] if address A1 has Type-P-
  239.    Interval-Unidirectional-Connectivity to address A2 during the
  240.    interval and address A2 has Type-P-Interval-Unidirectional-
  241.    Connectivity to address A1 during the interval.
  242.  
  243. 5.5. Discussion:
  244.  
  245.    This metric is not quite what's needed for defining "generally
  246.    useful" connectivity - that requires the notion that a packet sent
  247.    from A1 to A2 can elicit a response from A2 that will reach A1.  With
  248.    this definition, it could be that A1 and A2 have full-connectivity
  249.    but only, for example, at time T1 early enough in the interval [T,
  250.    T+dT] that A1 and A2 cannot reply to packets sent by the other.  This
  251.    deficiency motivates the next metric.
  252.  
  253. 6. Two-way Temporal Connectivity
  254.  
  255. 6.1. Metric Name:
  256.  
  257.    Type-P1-P2-Interval-Temporal-Connectivity
  258.  
  259. 6.2. Metric Parameters:
  260.  
  261.  +    Src, the IP address of a host
  262.  +    Dst, the IP address of a host
  263.  +    T, a time
  264.  +    dT, a duration
  265.    {Comment:  Thus, the closed interval [T, T+dT] denotes a time
  266.    interval.}
  267.  
  268. 6.3. Metric Units:
  269.  
  270.    Boolean.
  271.  
  272. 6.4. Definition:
  273.  
  274.    Address Src has *Type-P1-P2-Interval-Temporal-Connectivity* to
  275.    address Dst during the interval [T, T+dT] if there exist times T1 and
  276.    T2, and time intervals dT1 and dT2, such that:
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Mahdavi & Paxson              Experimental                      [Page 5]
  283.  
  284. RFC 2498        IPPM Metrics for Measuring Connectivity     January 1999
  285.  
  286.  
  287.  +    T1, T1+dT1, T2, T2+dT2 are all in [T, T+dT].
  288.  +    T1+dT1 <= T2.
  289.  +    At time T1, Src has Type-P1 instantanous connectivity to Dst.
  290.  +    At time T2, Dst has Type-P2 instantanous connectivity to Src.
  291.  +    dT1 is the time taken for a Type-P1 packet sent by Src at time T1
  292.       to arrive at Dst.
  293.  +    dT2 is the time taken for a Type-P2 packet sent by Dst at time T2
  294.       to arrive at Src.
  295.  
  296. 6.5. Discussion:
  297.  
  298.    This metric defines "generally useful" connectivity -- Src can send a
  299.    packet to Dst that elicits a response.  Because many applications
  300.    utilize different types of packets for forward and reverse traffic,
  301.    it is possible (and likely) that the desired responses to a Type-P1
  302.    packet will be of a different type Type-P2.  Therefore, in this
  303.    metric we allow for different types of packets in the forward and
  304.    reverse directions.
  305.  
  306. 6.6. Methodologies:
  307.  
  308.    Here we sketch a class of methodologies for estimating Type-P1-P2-
  309.    Interval-Temporal-Connectivity.  It is a class rather than a single
  310.    methodology because the particulars will depend on the types P1 and
  311.    P2.
  312.  
  313. 6.6.1. Inputs:
  314.  
  315.  +    Types P1 and P2, addresses A1 and A2, interval [T, T+dT].
  316.  +    N, the number of packets to send as probes for determining
  317.       connectivity.
  318.  +    W, the "waiting time", which bounds for how long it is useful to
  319.       wait for a reply to a packet.
  320.    Required: W <= 255, dT > W.
  321.  
  322. 6.6.2. Recommended values:
  323.  
  324.    dT = 60 seconds.
  325.    W = 10 seconds.
  326.    N = 20 packets.
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Mahdavi & Paxson              Experimental                      [Page 6]
  339.  
  340. RFC 2498        IPPM Metrics for Measuring Connectivity     January 1999
  341.  
  342.  
  343. 6.6.3. Algorithm:
  344.  
  345.  +    Compute N *sending-times* that are randomly, uniformly distributed
  346.       over [T, T+dT-W].
  347.  +    At each sending time, transmit from A1 a well-formed packet of
  348.       type P1 to A2.
  349.  +    Inspect incoming network traffic to A1 to determine if a
  350.       successful reply is received.  The particulars of doing so are
  351.       dependent on types P1 & P2, discussed below.  If any successful
  352.       reply is received, the value of the measurement is "true".  At
  353.       this point, the measurement can terminate.
  354.  +    If no successful replies are received by time T+dT, the value of
  355.       the measurement is "false".
  356.  
  357. 6.6.4. Discussion:
  358.  
  359.    The algorithm is inexact because it does not (and cannot) probe
  360.    temporal connectivity at every instant in time between [T, T+dT].
  361.    The value of N trades off measurement precision against network
  362.    measurement load.  The state-of-the-art in Internet research does not
  363.    yet offer solid guidance for picking N.  The values given above are
  364.    just guidelines.
  365.  
  366. 6.6.5. Specific methodology for TCP:
  367.  
  368.    A TCP-port-N1-port-N2 methodology sends TCP SYN packets with source
  369.    port N1 and dest port N2 at address A2.  Network traffic incoming to
  370.    A1 is interpreted as follows:
  371.  
  372.  +    A SYN-ack packet from A2 to A1 with the proper acknowledgement
  373.       fields and ports indicates temporal connectivity.  The measurement
  374.       terminates immediately with a value of "true".  {Comment: if, as a
  375.       side effect of the methodology, a full TCP connection has been
  376.       established between A1 and A2 -- that is, if A1's TCP stack
  377.       acknowledges A2's SYN-ack packet, completing the three-way
  378.       handshake -- then the connection now established between A1 and A2
  379.       is best torn down using the usual FIN handshake, and not using a
  380.       RST packet, because RST packets are not reliably delivered.  If
  381.       the three-way handshake is not completed, however, which will
  382.       occur if the measurement tool on A1 synthesizes its own initial
  383.       SYN packet rather than going through A1's TCP stack, then A1's TCP
  384.       stack will automatically terminate the connection in a reliable
  385.       fashion as A2 continues transmitting the SYN-ack in an attempt to
  386.       establish the connection.  Finally, we note that using A1's TCP
  387.       stack to conduct the measurement complicates the methodology in
  388.       that the stack may retransmit the initial SYN packet, altering the
  389.       number of probe packets sent.}
  390.  
  391.  
  392.  
  393.  
  394. Mahdavi & Paxson              Experimental                      [Page 7]
  395.  
  396. RFC 2498        IPPM Metrics for Measuring Connectivity     January 1999
  397.  
  398.  
  399.  +    A RST packet from A2 to A1 with the proper ports indicates
  400.       temporal connectivity between the addresses (and a *lack* of
  401.       service connectivity for TCP-port-N1-port-N2 - something that
  402.       probably should be addressed with another metric).
  403.  +    An ICMP port-unreachable from A2 to A1 indicates temporal
  404.       connectivity between the addresses (and again a *lack* of service
  405.       connectivity for TCP-port-N1-port-N2).  {Comment: TCP
  406.       implementations generally do not need to send ICMP port-
  407.       unreachable messages because a separate mechanism is available
  408.       (sending a RST).  However, RFC 1122 states that a TCP receiving an
  409.       ICMP port-unreachable MUST treat it the same as the equivalent
  410.       transport-level mechanism (for TCP, a RST).}
  411.  +    An ICMP host-unreachable or network-unreachable to A1 (not
  412.       necessarily from A2) with an enclosed IP header matching that sent
  413.       from A1 to A2 *suggests* a lack of temporal connectivity.  If by
  414.       time T+dT no evidence of temporal connectivity has been gathered,
  415.       then the receipt of the ICMP can be used as additional information
  416.       to the measurement value of "false".
  417.  
  418.    {Comment: Similar methodologies are needed for ICMP Echo, UDP, etc.}
  419.  
  420. 7. Acknowledgments
  421.  
  422.    The comments of Guy Almes, Martin Horneffer, Jeff Sedayao, and Sean
  423.    Shapira are appreciated.
  424.  
  425. 8. Security Considerations
  426.  
  427.    As noted in RFC 2330, active measurement techniques, such as those
  428.    defined in this document, can be abused for denial-of-service attacks
  429.    disguised as legitimate measurement activity.  Furthermore, testing
  430.    for connectivity can be used to probe firewalls and other security
  431.    mechnisms for weak spots.
  432.  
  433. 9. References
  434.  
  435.    [RFC1812]  Baker, F., "Requirements for IP Version 4 Routers", RFC
  436.               1812, June 1995.
  437.  
  438.    [RFC1122]  Braden, R., Editor, "Requirements for Internet Hosts --
  439.               Communication Layers", STD, 3, RFC 1122,  October 1989.
  440.  
  441.    [RFC2330]  Paxson, V., Almes, G., Mahdavi, J. and M. Mathis,
  442.               "Framework for IP Performance Metrics", RFC 2330, May
  443.               1998.
  444.  
  445.    [RFC791]   Postel, J., "Internet Protocol", STD 5, RFC 791, September
  446.               1981.
  447.  
  448.  
  449.  
  450. Mahdavi & Paxson              Experimental                      [Page 8]
  451.  
  452. RFC 2498        IPPM Metrics for Measuring Connectivity     January 1999
  453.  
  454.  
  455. 10. Authors' Addresses
  456.  
  457.    Jamshid Mahdavi
  458.    Pittsburgh Supercomputing Center
  459.    4400 5th Avenue
  460.    Pittsburgh, PA  15213
  461.    USA
  462.  
  463.    EMail: mahdavi@psc.edu
  464.  
  465.  
  466.    Vern Paxson
  467.    MS 50A-3111
  468.    Lawrence Berkeley National Laboratory
  469.    University of California
  470.    Berkeley, CA  94720
  471.    USA
  472.  
  473.    Phone: +1 510/486-7504
  474.    EMail: vern@ee.lbl.gov
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Mahdavi & Paxson              Experimental                      [Page 9]
  507.  
  508. RFC 2498        IPPM Metrics for Measuring Connectivity     January 1999
  509.  
  510.  
  511. 11.  Full Copyright Statement
  512.  
  513.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  514.  
  515.    This document and translations of it may be copied and furnished to
  516.    others, and derivative works that comment on or otherwise explain it
  517.    or assist in its implementation may be prepared, copied, published
  518.    and distributed, in whole or in part, without restriction of any
  519.    kind, provided that the above copyright notice and this paragraph are
  520.    included on all such copies and derivative works.  However, this
  521.    document itself may not be modified in any way, such as by removing
  522.    the copyright notice or references to the Internet Society or other
  523.    Internet organizations, except as needed for the purpose of
  524.    developing Internet standards in which case the procedures for
  525.    copyrights defined in the Internet Standards process must be
  526.    followed, or as required to translate it into languages other than
  527.    English.
  528.  
  529.    The limited permissions granted above are perpetual and will not be
  530.    revoked by the Internet Society or its successors or assigns.
  531.  
  532.    This document and the information contained herein is provided on an
  533.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  534.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  535.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  536.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  537.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Mahdavi & Paxson              Experimental                     [Page 10]
  563.  
  564.