draft-ietf-ippm-connectivity-02.txt | draft-ietf-ippm-connectivity-03.txt | |||
---|---|---|---|---|
Network Working Group J. Mahdavi, Pittsburgh Supercomputer Center | Network Working Group J. Mahdavi, Pittsburgh Supercomputer Center | |||
Internet Draft V. Paxson, Lawrence Berkeley National Laboratory | Internet Draft V. Paxson, Lawrence Berkeley National Laboratory | |||
Expiration Date: February 1999 August 1998 | Expiration Date: April 1999 October 1998 | |||
IPPM Metrics for Measuring Connectivity | IPPM Metrics for Measuring Connectivity | |||
<draft-ietf-ippm-connectivity-02.txt> | <draft-ietf-ippm-connectivity-03.txt> | |||
1. Status of this Memo | 1. Status of this Memo | |||
This document is an Internet Draft. Internet Drafts are working | This document is an Internet Draft. Internet Drafts are working | |||
documents of the Internet Engineering Task Force (IETF), its areas, | documents of the Internet Engineering Task Force (IETF), its areas, | |||
and its working groups. Note that other groups may also distribute | and its working groups. Note that other groups may also distribute | |||
working documents as Internet Drafts. | working documents as Internet Drafts. | |||
Internet Drafts are draft documents valid for a maximum of six | Internet Drafts are draft documents valid for a maximum of six | |||
months, and may be updated, replaced, or obsoleted by other documents | months, and may be updated, replaced, or obsoleted by other documents | |||
skipping to change at page 2, line 5 | skipping to change at page 2, line 5 | |||
define several such metrics, some of which serve mainly as building | define several such metrics, some of which serve mainly as building | |||
blocks for the others. | blocks for the others. | |||
This memo defines a series of metrics for connectivity between a pair | This memo defines a series of metrics for connectivity between a pair | |||
of Internet hosts. It builds on notions introduced and discussed in | of Internet hosts. It builds on notions introduced and discussed in | |||
RFC 2330, the IPPM framework document. The reader is assumed to be | RFC 2330, the IPPM framework document. The reader is assumed to be | |||
familiar with that document. | familiar with that document. | |||
The structure of the memo is as follows: | The structure of the memo is as follows: | |||
ID IPPM Metrics for Measuring Connectivity August 1998 | ID IPPM Metrics for Measuring Connectivity October 1998 | |||
+ An analytic metric, called Type-P-Instantaneous-Unidirectional- | + An analytic metric, called Type-P-Instantaneous-Unidirectional- | |||
Connectivity, will be introduced to define one-way connectivity at | Connectivity, will be introduced to define one-way connectivity at | |||
one moment in time. | one moment in time. | |||
+ Using this metric, another analytic metric, called Type-P- | + Using this metric, another analytic metric, called Type-P- | |||
Instantaneous-Bidirectional-Connectivity, will be introduced to | Instantaneous-Bidirectional-Connectivity, will be introduced to | |||
define two-way connectivity at one moment in time. | define two-way connectivity at one moment in time. | |||
+ Using these metrics, corresponding one- and two-way analytic | + Using these metrics, corresponding one- and two-way analytic | |||
metrics are defined for connectivity over an interval of time. | metrics are defined for connectivity over an interval of time. | |||
+ Using these metrics, an analytic metric, called Type-P1-P2- | + Using these metrics, an analytic metric, called Type-P1-P2- | |||
skipping to change at page 3, line 5 | skipping to change at page 3, line 5 | |||
3.3. Metric Units: | 3.3. Metric Units: | |||
Boolean. | Boolean. | |||
3.4. Definition: | 3.4. Definition: | |||
Src has *Type-P-Instantaneous-Unidirectional-Connectivity* to Dst at | 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 | time T if a type-P packet transmitted from Src to Dst at time T will | |||
arrive at Dst. | arrive at Dst. | |||
ID IPPM Metrics for Measuring Connectivity August 1998 | ID IPPM Metrics for Measuring Connectivity October 1998 | |||
3.5. Discussion: | 3.5. Discussion: | |||
For most applications (e.g., any TCP connection) bidirectional | For most applications (e.g., any TCP connection) bidirectional | |||
connectivity is considerably more germane than unidirectional | connectivity is considerably more germane than unidirectional | |||
connectivity, although unidirectional connectivity can be of interest | connectivity, although unidirectional connectivity can be of interest | |||
for some security applications (e.g., testing whether a firewall | for some security applications (e.g., testing whether a firewall | |||
correctly filters out a "ping of death"). Most applications also | correctly filters out a "ping of death"). Most applications also | |||
require connectivity over an interval, while this metric is | require connectivity over an interval, while this metric is | |||
instantaneous, though, again, for some security applications | instantaneous, though, again, for some security applications | |||
skipping to change at page 4, line 5 | skipping to change at page 4, line 5 | |||
the unidirectional connectivity defined in this metric. | the unidirectional connectivity defined in this metric. | |||
4. Instantaneous Two-way Connectivity | 4. Instantaneous Two-way Connectivity | |||
4.1. Metric Name: | 4.1. Metric Name: | |||
Type-P-Instantaneous-Bidirectional-Connectivity | Type-P-Instantaneous-Bidirectional-Connectivity | |||
4.2. Metric Parameters: | 4.2. Metric Parameters: | |||
ID IPPM Metrics for Measuring Connectivity August 1998 | ID IPPM Metrics for Measuring Connectivity October 1998 | |||
+ A1, the IP address of a host | + A1, the IP address of a host | |||
+ A2, the IP address of a host | + A2, the IP address of a host | |||
+ T, a time | + T, a time | |||
4.3. Metric Units: | 4.3. Metric Units: | |||
Boolean. | Boolean. | |||
4.4. Definition: | 4.4. Definition: | |||
skipping to change at page 5, line 5 | skipping to change at page 5, line 5 | |||
5. One-way Connectivity | 5. One-way Connectivity | |||
5.1. Metric Name: | 5.1. Metric Name: | |||
Type-P-Interval-Unidirectional-Connectivity | Type-P-Interval-Unidirectional-Connectivity | |||
5.2. Metric Parameters: | 5.2. Metric Parameters: | |||
+ Src, the IP address of a host | + Src, the IP address of a host | |||
ID IPPM Metrics for Measuring Connectivity August 1998 | ID IPPM Metrics for Measuring Connectivity October 1998 | |||
+ Dst, the IP address of a host | + Dst, the IP address of a host | |||
+ T, a time | + T, a time | |||
+ dT, a duration | + dT, a duration | |||
{Comment: Thus, the closed interval [T, T+dT] denotes a time | {Comment: Thus, the closed interval [T, T+dT] denotes a time | |||
interval.} | interval.} | |||
5.3. Metric Units: | 5.3. Metric Units: | |||
Boolean. | Boolean. | |||
skipping to change at page 6, line 5 | skipping to change at page 6, line 5 | |||
Boolean. | Boolean. | |||
6.4. Definition: | 6.4. Definition: | |||
Addresses A1 and A2 have *Type-P-Interval-Bidirectional-Connectivity* | Addresses A1 and A2 have *Type-P-Interval-Bidirectional-Connectivity* | |||
between them during the interval [T, T+dT] if address A1 has Type-P- | between them during the interval [T, T+dT] if address A1 has Type-P- | |||
Interval-Unidirectional-Connectivity to address A2 during the | Interval-Unidirectional-Connectivity to address A2 during the | |||
interval and address A2 has Type-P-Interval-Unidirectional- | interval and address A2 has Type-P-Interval-Unidirectional- | |||
Connectivity to address A1 during the interval. | Connectivity to address A1 during the interval. | |||
ID IPPM Metrics for Measuring Connectivity August 1998 | ID IPPM Metrics for Measuring Connectivity October 1998 | |||
6.5. Discussion: | 6.5. Discussion: | |||
This metric is not quite what's needed for defining "generally | This metric is not quite what's needed for defining "generally | |||
useful" connectivity - that requires the notion that a packet sent | useful" connectivity - that requires the notion that a packet sent | |||
from A1 to A2 can elicit a response from A2 that will reach A1. With | from A1 to A2 can elicit a response from A2 that will reach A1. With | |||
this definition, it could be that A1 and A2 have full-connectivity | this definition, it could be that A1 and A2 have full-connectivity | |||
but only, for example, at at time T1 early enough in the interval [T, | but only, for example, at at time T1 early enough in the interval [T, | |||
T+dT] that A1 and A2 cannot reply to packets sent by the other. This | T+dT] that A1 and A2 cannot reply to packets sent by the other. This | |||
deficiency motivates the next metric. | deficiency motivates the next metric. | |||
skipping to change at page 7, line 5 | skipping to change at page 7, line 5 | |||
Address Src has *Type-P1-P2-Interval-Temporal-Connectivity* to | Address Src has *Type-P1-P2-Interval-Temporal-Connectivity* to | |||
address Dst during the interval [T, T+dT] if there exist times T1 and | address Dst during the interval [T, T+dT] if there exist times T1 and | |||
T2, and time intervals dT1 and dT2, such that: | T2, and time intervals dT1 and dT2, such that: | |||
+ T1, T1+dT1, T2, T2+dT2 are all in [T, T+dT]. | + T1, T1+dT1, T2, T2+dT2 are all in [T, T+dT]. | |||
+ T1+dT1 <= T2. | + T1+dT1 <= T2. | |||
+ At time T1, Src has Type-P1 instantanous connectivity to Dst. | + At time T1, Src has Type-P1 instantanous connectivity to Dst. | |||
+ At time T2, Dst has Type-P2 instantanous connectivity to Src. | + At time T2, Dst has Type-P2 instantanous connectivity to Src. | |||
+ dT1 is the time taken for a Type-P1 packet sent by Src at time T1 | + dT1 is the time taken for a Type-P1 packet sent by Src at time T1 | |||
to arrive at Dst. | to arrive at Dst. | |||
ID IPPM Metrics for Measuring Connectivity August 1998 | ID IPPM Metrics for Measuring Connectivity October 1998 | |||
+ dT2 is the time taken for a Type-P2 packet sent by Dst at time T2 | + dT2 is the time taken for a Type-P2 packet sent by Dst at time T2 | |||
to arrive at Src. | to arrive at Src. | |||
7.5. Discussion: | 7.5. Discussion: | |||
This metric defines "generally useful" connectivity -- Src can send a | This metric defines "generally useful" connectivity -- Src can send a | |||
packet to Dst that elicits a response. Because many applications | packet to Dst that elicits a response. Because many applications | |||
utilize different types of packets for forward and reverse traffic, | utilize different types of packets for forward and reverse traffic, | |||
it is possible (and likely) that the desired responses to a Type-P1 | it is possible (and likely) that the desired responses to a Type-P1 | |||
skipping to change at page 8, line 5 | skipping to change at page 8, line 5 | |||
dT = 60 seconds. | dT = 60 seconds. | |||
W = 10 seconds. | W = 10 seconds. | |||
N = 20 packets. | N = 20 packets. | |||
7.6.3. Algorithm: | 7.6.3. Algorithm: | |||
+ Compute N *sending-times* that are randomly, uniformly distributed | + Compute N *sending-times* that are randomly, uniformly distributed | |||
over [T, T+dT-W]. | over [T, T+dT-W]. | |||
ID IPPM Metrics for Measuring Connectivity August 1998 | ID IPPM Metrics for Measuring Connectivity October 1998 | |||
+ At each sending time, transmit from A1 a well-formed packet of | + At each sending time, transmit from A1 a well-formed packet of | |||
type P1 to A2. | type P1 to A2. | |||
+ Inspect incoming network traffic to A1 to determine if a | + Inspect incoming network traffic to A1 to determine if a | |||
successful reply is received. The particulars of doing so are | successful reply is received. The particulars of doing so are | |||
dependent on types P1 & P2, discussed below. If a successful | dependent on types P1 & P2, discussed below. If a successful | |||
reply is received, the value of the measurement is "true". | reply is received, the value of the measurement is "true". | |||
+ If no successful replies are received by time T+dT, the value of | + If no successful replies are received by time T+dT, the value of | |||
the measurement is "false". | the measurement is "false". | |||
skipping to change at page 8, line 32 | skipping to change at page 8, line 32 | |||
yet offer solid guidance for picking N. The values given above are | yet offer solid guidance for picking N. The values given above are | |||
just guidelines. | just guidelines. | |||
7.6.5. Specific methodology for TCP: | 7.6.5. Specific methodology for TCP: | |||
A TCP-port-N1-port-N2 methodology sends TCP SYN packets with source | A TCP-port-N1-port-N2 methodology sends TCP SYN packets with source | |||
port N1 and dest port N2 at address A2. Network traffic incoming to | port N1 and dest port N2 at address A2. Network traffic incoming to | |||
A1 is interpreted as follows: | A1 is interpreted as follows: | |||
+ A SYN-ack packet from A2 to A1 with the proper acknowledgement | + A SYN-ack packet from A2 to A1 with the proper acknowledgement | |||
fields and ports indicates temporal connectivity. The measurement | fields and ports indicates temporal connectivity. The measurement | |||
terminates immediately with a value of "true". {Comment: the | terminates immediately with a value of "true". {Comment: if, as a | |||
connection now established between A1 and A2 should be properly | side effect of the methodology, a full TCP connection has been | |||
torn down using the usual FIN handshake (not by using a RST | established between A1 and A2 -- that is, if A1's TCP stack | |||
packet, as these are not transmitted reliably).} | acknowledges A2's SYN-ack packet, completing the three-way | |||
handshake -- then the connection now established between A1 and A2 | ||||
is best torn down using the usual FIN handshake, and not using a | ||||
RST packet, because RST packets are not reliably delivered. If | ||||
the three-way handshake is not completed, however, which will | ||||
occur if the measurement tool on A1 synthesizes its own initial | ||||
SYN packet rather than going through A1's TCP stack, then A1's TCP | ||||
stack will automatically terminate the connection in a reliable | ||||
fashion as A2 continues transmitting the SYN-ack in an attempt to | ||||
establish the connection. Finally, we note that using A1's TCP | ||||
stack to conduct the measurement complicates the methodology in | ||||
that the stack may retransmit the initial SYN packet, altering the | ||||
number of probe packets sent.} | ||||
ID IPPM Metrics for Measuring Connectivity October 1998 | ||||
+ A RST packet from A2 to A1 with the proper ports indicates | + A RST packet from A2 to A1 with the proper ports indicates | |||
temporal connectivity between the addresses (and a *lack* of | temporal connectivity between the addresses (and a *lack* of | |||
service connectivity for TCP-port-N1-port-N2 - something that | service connectivity for TCP-port-N1-port-N2 - something that | |||
probably should be addressed with another metric). | probably should be addressed with another metric). | |||
+ An ICMP port-unreachable from A2 to A1 indicates temporal | + An ICMP port-unreachable from A2 to A1 indicates temporal | |||
connectivity between the addresses (and again a *lack* of service | connectivity between the addresses (and again a *lack* of service | |||
connectivity for TCP-port-N1-port-N2). {Comment: TCP | connectivity for TCP-port-N1-port-N2). {Comment: TCP | |||
implementations generally do not need to send ICMP port- | implementations generally do not need to send ICMP port- | |||
unreachable messages because a separate mechanism is available | unreachable messages because a separate mechanism is available | |||
(sending a RST). However, RFC 1122 states that a TCP receiving an | (sending a RST). However, RFC 1122 states that a TCP receiving an | |||
ICMP port-unreachable MUST treat it the same as the equivalent | ICMP port-unreachable MUST treat it the same as the equivalent | |||
transport-level mechanism (for TCP, a RST).} | transport-level mechanism (for TCP, a RST).} | |||
ID IPPM Metrics for Measuring Connectivity August 1998 | ||||
+ An ICMP host-unreachable or network-unreachable to A1 (not | + An ICMP host-unreachable or network-unreachable to A1 (not | |||
necessarily from A2) with an enclosed IP header matching that sent | necessarily from A2) with an enclosed IP header matching that sent | |||
from A1 to A2 *suggests* a lack of temporal connectivity. If by | from A1 to A2 *suggests* a lack of temporal connectivity. If by | |||
time T+dT no evidence of temporal connectivity has been gathered, | time T+dT no evidence of temporal connectivity has been gathered, | |||
then the receipt of the ICMP can be used as additional information | then the receipt of the ICMP can be used as additional information | |||
to the measurement value of "false". | to the measurement value of "false". | |||
{Comment: Similar methodologies are needed for ICMP Echo, UDP, etc.} | {Comment: Similar methodologies are needed for ICMP Echo, UDP, etc.} | |||
8. Security Considerations | 8. Acknowledgments | |||
The comments of Guy Almes, Martin Horneffer, Jeff Sedayao, and Sean | ||||
Shapira are appreciated. | ||||
9. Security Considerations | ||||
As noted in RFC 2330, active measurement techniques, such as those | As noted in RFC 2330, active measurement techniques, such as those | |||
defined in this document, can be abused for denial-of-service attacks | defined in this document, can be abused for denial-of-service attacks | |||
disguised as legitimate measurement activity. Furthermore, testing | disguised as legitimate measurement activity. Furthermore, testing | |||
for connectivity can be used to probe firewalls and other security | for connectivity can be used to probe firewalls and other security | |||
mechnisms for weak spots. | mechnisms for weak spots. | |||
9. References | 10. References | |||
F. Baker, "Requirements for IP Version 4 Routers", RFC 1812, June | F. Baker, "Requirements for IP Version 4 Routers", RFC 1812, June | |||
1995. | 1995. | |||
R. Braden, "Requirements for Internet hosts - communication layers", | R. Braden, "Requirements for Internet hosts - communication layers", | |||
RFC 1122, October 1989. | RFC 1122, October 1989. | |||
V. Paxson, G. Almes, J. Mahdavi, and M. Mathis, Paxson, "Framework | V. Paxson, G. Almes, J. Mahdavi, and M. Mathis, Paxson, "Framework | |||
for IP Performance Metrics", RFC 2330, May 1998. | for IP Performance Metrics", RFC 2330, May 1998. | |||
ID IPPM Metrics for Measuring Connectivity October 1998 | ||||
J. Postel, "Internet Protocol", RFC 791, September 1981. | J. Postel, "Internet Protocol", RFC 791, September 1981. | |||
10. Authors' Addresses | 11. Authors' Addresses | |||
Jamshid Mahdavi <mahdavi@psc.edu> | Jamshid Mahdavi <mahdavi@psc.edu> | |||
Pittsburgh Supercomputing Center | Pittsburgh Supercomputing Center | |||
4400 5th Avenue | 4400 5th Avenue | |||
Pittsburgh, PA 15213 | Pittsburgh, PA 15213 | |||
USA | USA | |||
Vern Paxson <vern@ee.lbl.gov> | Vern Paxson <vern@ee.lbl.gov> | |||
MS 50A-3111 | MS 50A-3111 | |||
Lawrence Berkeley National Laboratory | Lawrence Berkeley National Laboratory | |||
University of California | University of California | |||
Berkeley, CA 94720 | Berkeley, CA 94720 | |||
ID IPPM Metrics for Measuring Connectivity August 1998 | ||||
USA | USA | |||
Phone: +1 510/486-7504 | Phone: +1 510/486-7504 | |||
End of changes. | ||||
This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |