RFC 2498
IPPM Metrics for Measuring Connectivity
๐ RFC 2498: IPPM Metrics for Measuring Connectivity ๐
- Series: Network Working Group
- Number and title: RFC 2498, IPPM Metrics for Measuring Connectivity ๐
- Authors: J. Mahdavi (Pittsburgh Supercomputing Center) and V. Paxson (Lawrence Berkeley National Laboratory) ๐ซถ
- Category: Experimental ๐งช
- Date: January 1999 ๐ธ
- Obsoletes and updates: This document doesn't list any RFCs that it obsoletes or updates. โจ
Status of This Memo
okay so this memo defines an Experimental Protocol for the Internet community ๐งช. It is NOT an Internet standard of any kind, bestie. Discussion and suggestions for improvement are requested ๐, so send your thoughts! Distribution of this memo is unlimited ๐.
Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved. ๐
1. Introduction โจ
Connectivity is literally the basic stuff the Internet is made of ๐. So metrics that figure out whether pairs of hosts (IP addresses) can reach each other have to be the foundation of any measurement suite ๐ซถ. This memo defines several of these metrics, and some of them mainly exist as building blocks for the rest ๐งฑ.
This memo defines a series of metrics for connectivity between a pair of Internet hosts. It builds on ideas introduced in RFC 2330, the IPPM framework document ๐. The reader is assumed to already know that document, so go read it first if you haven't ๐.
Here's how the memo is structured, lowkey a little roadmap ๐บ๏ธ:
- An analytic metric, called
Type-P-Instantaneous-Unidirectional-Connectivity, is introduced to define one-way connectivity at one moment in time โฑ๏ธ. - Using that metric, another analytic metric, called
Type-P-Instantaneous-Bidirectional-Connectivity, is introduced to define two-way connectivity at one moment in time ๐. - Using these metrics, corresponding one-way and two-way analytic metrics are defined for connectivity over an interval of time ๐.
- Using these metrics, an analytic metric, called
Type-P1-P2-Interval-Temporal-Connectivity, is introduced to define a useful notion of two-way connectivity between two hosts over an interval of time ๐. - Methodologies are then presented and discussed for estimating
Type-P1-P2-Interval-Temporal-Connectivityin a variety of settings ๐ฅ.
Careful definition of Type-P1-P2-Interval-Temporal-Connectivity, plus the discussion of the metric and the methodologies for estimating it, are the two chief contributions of this memo ๐. Iconic, honestly ๐
.
2. Instantaneous One-way Connectivity
2.1. Metric Name:
Type-P-Instantaneous-Unidirectional-Connectivity ๐ฆ
2.2. Metric Parameters:
Src, the IP address of a host ๐ฅ๏ธDst, the IP address of a host ๐ฅ๏ธT, a time โฐ
2.3. Metric Units:
Boolean. โ
2.4. Definition:
Src has Type-P-Instantaneous-Unidirectional-Connectivity to Dst at time T if a type-P packet transmitted from Src to Dst at time T will arrive at Dst ๐ฌ.
2.5. Discussion:
For most applications (for example, any TCP connection), bidirectional connectivity is way more germane than unidirectional connectivity ๐. Unidirectional connectivity can still be of interest for some security applications, though. For example, you could test whether a firewall correctly filters out a "ping of death" ๐ก๏ธ๐ โโ๏ธ.
Most applications also need connectivity over an interval, but this metric is instantaneous ๐ค. Again, for some security applications, instantaneous connectivity still matters ๐. And finally, you might not have instantaneous connectivity because of a transient event, like a full queue at a router, even if you do have connectivity at nearby instants in time ๐ฆ. These points get addressed below, with this metric acting as a building block ๐งฑ.
Note also that we have not explicitly defined when the packet arrives at Dst. The TTL field in IP packets is meant to limit IP packet lifetimes to 255 seconds (RFC 791) โณ. In practice, the TTL field can be strictly a hop count (RFC 1812), with most Internet hops being much shorter than one second ๐โโ๏ธ. This means that most packets will have nowhere near the 255 second lifetime ๐. In principle, though, packets might also survive longer than 255 seconds ๐ณ. Consideration of packet lifetimes must be taken into account when you try to measure the value of this metric ๐.
Finally, you might assume that unidirectional connectivity is difficult to measure without connectivity in the reverse direction ๐. Consider, however, this possibility: a process on Dst's host notes when it receives packets from Src, then reports that fact either using an external channel, or later in time when Dst does have connectivity to Src ๐. Such a methodology could reliably measure the unidirectional connectivity defined in this metric ๐ฏ. Big brain move ๐ง โจ.
3. Instantaneous Two-way Connectivity
3.1. Metric Name:
Type-P-Instantaneous-Bidirectional-Connectivity ๐ฆ
3.2. Metric Parameters:
A1, the IP address of a host ๐ฅ๏ธA2, the IP address of a host ๐ฅ๏ธT, a time โฐ
3.3. Metric Units:
Boolean. โ
3.4. Definition:
Addresses A1 and A2 have Type-P-Instantaneous-Bidirectional-Connectivity at time T if address A1 has Type-P-Instantaneous-Unidirectional-Connectivity to address A2, and address A2 has Type-P-Instantaneous-Unidirectional-Connectivity to address A1 ๐ซ.
3.5. Discussion:
There's an alternative definition, and it's giving "more complicated but useful" ๐ค. Here, A1 and A2 are fully connected if at time T address A1 has instantaneous connectivity to address A2, and at time T+dT address A2 has instantaneous connectivity to A1. Here, T+dT is when the packet sent from A1 arrives at A2 ๐ฆ.
This definition is more useful for measurement, because the measurement can use a reply from A2 to A1 to assess full connectivity ๐ก. It is more complex, though, because it breaks the symmetry between A1 and A2, and it requires a notion of quantifying how long a particular packet from A1 takes to reach A2 โ. We'll postpone discussion of this distinction until we develop the interval-connectivity metrics below ๐ฅน.
4. One-way Connectivity
4.1. Metric Name:
Type-P-Interval-Unidirectional-Connectivity ๐ฆ
4.2. Metric Parameters:
Src, the IP address of a host ๐ฅ๏ธDst, the IP address of a host ๐ฅ๏ธT, a time โฐdT, a duration โณ
{Comment: Thus, the closed interval [T, T+dT] denotes a time interval.}
4.3. Metric Units:
Boolean. โ
4.4. Definition:
Address Src has Type-P-Interval-Unidirectional-Connectivity to address Dst during the interval [T, T+dT] if, for some T' within [T, T+dT], it has Type-P-instantaneous-connectivity to Dst ๐.
5. Two-way Connectivity
5.1. Metric Name:
Type-P-Interval-Bidirectional-Connectivity ๐ฆ
5.2. Metric Parameters:
A1, the IP address of a host ๐ฅ๏ธA2, the IP address of a host ๐ฅ๏ธT, a time โฐdT, a duration โณ
{Comment: Thus, the closed interval [T, T+dT] denotes a time interval.}
5.3. Metric Units:
Boolean. โ
5.4. Definition:
Addresses A1 and A2 have Type-P-Interval-Bidirectional-Connectivity between them during the interval [T, T+dT] if address A1 has Type-P-Interval-Unidirectional-Connectivity to address A2 during the interval, and address A2 has Type-P-Interval-Unidirectional-Connectivity to address A1 during the interval ๐ค.
5.5. Discussion:
Okay, this metric isn't quite what we need for defining "generally useful" connectivity ๐ฌ. That requires the idea that a packet sent from A1 to A2 can trigger a response from A2 that reaches A1 ๐จ. With this definition, A1 and A2 could have full connectivity, but only, for example, at time T1 early enough in the interval [T, T+dT] that A1 and A2 can't reply to packets sent by the other ๐. That gap is the reason we need the next metric ๐ซ .
6. Two-way Temporal Connectivity
6.1. Metric Name:
Type-P1-P2-Interval-Temporal-Connectivity ๐
6.2. Metric Parameters:
Src, the IP address of a host ๐ฅ๏ธDst, the IP address of a host ๐ฅ๏ธT, a time โฐdT, a duration โณ
{Comment: Thus, the closed interval [T, T+dT] denotes a time interval.}
6.3. Metric Units:
Boolean. โ
6.4. Definition:
Address Src has Type-P1-P2-Interval-Temporal-Connectivity to address Dst during the interval [T, T+dT] if there exist times T1 and T2, and time intervals dT1 and dT2, such that:
T1,T1+dT1,T2,T2+dT2are all in[T, T+dT].T1+dT1 <= T2.- At time
T1,SrchasType-P1 instantanous connectivitytoDst. - At time
T2,DsthasType-P2 instantanous connectivitytoSrc. dT1is the time taken for a Type-P1 packet sent bySrcat timeT1to arrive atDst.dT2is the time taken for a Type-P2 packet sent byDstat timeT2to arrive atSrc.
6.5. Discussion:
This metric defines "generally useful" connectivity, meaning Src can send a packet to Dst that elicits a response ๐. Many applications use different types of packets for forward and reverse traffic, so it's possible (and likely!) that the desired responses to a Type-P1 packet will be of a different type, Type-P2 ๐. That's why this metric lets us use different types of packets in the forward and reverse directions ๐.
6.6. Methodologies:
Here we sketch a class of methodologies for estimating Type-P1-P2-Interval-Temporal-Connectivity. It's a class rather than a single methodology, because the particulars depend on the types P1 and P2 ๐งฉ.
6.6.1. Inputs:
- Types P1 and P2, addresses
A1andA2, interval[T, T+dT]. N, the number of packets to send as probes for determining connectivity ๐ฎ.W, the "waiting time", which bounds how long it's useful to wait for a reply to a packet โฑ๏ธ.
Required: W <= 255, dT > W.
6.6.2. Recommended values:
dT = 60 seconds.W = 10 seconds.N = 20 packets.
6.6.3. Algorithm:
- Compute
Nsending-times that are randomly and uniformly distributed over[T, T+dT-W]๐ฒ. - At each sending time, transmit from
A1a well-formed packet of type P1 toA2๐. - Inspect incoming network traffic to
A1to determine whether a successful reply is received. The particulars of doing so depend on types P1 and P2, which we'll get into below ๐. If any successful reply is received, the value of the measurement is "true". At this point, the measurement can terminate ๐. - If no successful replies are received by time
T+dT, the value of the measurement is "false" โ.
6.6.4. Discussion:
The algorithm is inexact, because it does not (and cannot) probe temporal connectivity at every instant in time between [T, T+dT] ๐ซฃ. The value of N trades off measurement precision against network measurement load โ๏ธ. The state-of-the-art in Internet research doesn't yet offer solid guidance for picking N ๐คทโโ๏ธ. The values given above are just guidelines, not rules, so you do you ๐
โจ.
6.6.5. Specific methodology for TCP ๐ธ
okay bestie, this is the TCP one and it's a whole vibe ๐ the TCP-port-N1-port-N2 methodology sends TCP SYN packets with source port N1 and dest port N2 at address A2. Then we just watch what comes back to A1 and read the signs โจ
- A SYN-ack from
A2toA1with the right acknowledgement fields and ports means there's temporal connectivity ๐ The measurement ends right away with a value oftrue. ๐ฆ
๐ฌ ok so if the methodology ends up with a full TCP connection betweenA1andA2(akaA1's stack ACKs the SYN-ack and finishes the three-way handshake), then that connection should be closed with the usual FIN handshake, NOT aRST, becauseRSTpackets aren't reliably delivered ๐ โโ๏ธ but if the handshake never completes, which happens when the measurement tool onA1makes its own SYN instead of going throughA1's TCP stack, thenA1's stack will close the connection reliably on its own whileA2keeps resending the SYN-ack trying to connect ๐ and last but not least, usingA1's stack for this makes things messier, since the stack might retransmit the first SYN and change how many probe packets get sent ๐ญ
- A
RSTfromA2toA1with the right ports means there's temporal connectivity between the addresses, but also a lack of service connectivity forTCP-port-N1-port-N2๐ (this is something that probably deserves its own metric, bestie ๐ง) - An ICMP port-unreachable from
A2toA1also means temporal connectivity between the addresses, and again a lack of service connectivity forTCP-port-N1-port-N2๐
๐ฌ TCP doesn't usually need to send ICMP port-unreachable messages because it already has its own tool for this, which is sending aRST๐ but RFC 1122 says that a TCP receiving an ICMP port-unreachable MUST treat it the same as the matching transport-level mechanism (for TCP, that's aRST) ๐ซถ
- An ICMP host-unreachable or network-unreachable to
A1(it doesn't have to come fromA2) with an enclosed IP header that matches the one sent fromA1toA2suggests a lack of temporal connectivity ๐ If no evidence of temporal connectivity has shown up by timeT+dT, then the ICMP can be used as extra info to back up a measurement value offalse. ๐
๐ฌ similar methodologies are needed for ICMP Echo, UDP, etc. ๐ (the people need more, periodt)
7. Acknowledgments ๐ซถ
the comments from Guy Almes, Martin Horneffer, Jeff Sedayao, and Sean Shapira were so helpful, and we're forever grateful ๐
8. Security Considerations ๐ฅ
โ ๏ธ this part is serious, bestie ๐ญ As noted in RFC 2330, active measurement techniques like the ones in this document can be abused for denial-of-service attacks that are disguised as legit measurement activity. ๐ And testing for connectivity can also be used to poke at firewalls and other security mechanisms to find weak spots. ๐ โโ๏ธ
9. References โจ
[RFC1812] Baker, F., "Requirements for IP Version 4 Routers", RFC
1812, June 1995.
[RFC1122] Braden, R., Editor, "Requirements for Internet Hosts --
Communication Layers", STD, 3, RFC 1122, October 1989.
[RFC2330] Paxson, V., Almes, G., Mahdavi, J. and M. Mathis,
"Framework for IP Performance Metrics", RFC 2330, May
1998.
[RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, September
1981.
10. Authors' Addresses ๐ฆ
Jamshid Mahdavi
Pittsburgh Supercomputing Center
4400 5th Avenue
Pittsburgh, PA 15213
USA
EMail: mahdavi@psc.edu
Vern Paxson
MS 50A-3111
Lawrence Berkeley National Laboratory
University of California
Berkeley, CA 94720
USA
Phone: +1 510/486-7504
EMail: vern@ee.lbl.gov
11. Full Copyright Statement ๐
Copyright (C) The Internet Society (1999). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. ๐โจ
๐ฆ where this page comes from
- ietf: rfc2498 1999-01
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms