rfc2681.txt

来自「<VC++网络游戏建摸与实现>源代码」· 文本 代码 · 共 1,124 行 · 第 1/3 页

TXT
1,124
字号
Network Working Group                                           G. AlmesRequest for Comments: 2681                                  S. KalidindiCategory: Standards Track                                   M. Zekauskas                                             Advanced Network & Services                                                          September 1999                   A Round-trip Delay Metric for IPPMStatus of this Memo   This document specifies an Internet standards track protocol for the   Internet community, and requests discussion and suggestions for   improvements.  Please refer to the current edition of the "Internet   Official Protocol Standards" (STD 1) for the standardization state   and status of this protocol.  Distribution of this memo is unlimited.Copyright Notice   Copyright (C) The Internet Society (1999).  All Rights Reserved.1. Introduction   This memo defines a metric for round-trip delay of packets across   Internet paths.  It builds on notions introduced and discussed in the   IPPM Framework document, RFC 2330 [1], and follows closely the   corresponding metric for One-way Delay ("A One-way Delay Metric for   IPPM") [2]; the reader is assumed to be familiar with those   documents.   The memo was largely written by copying material from the One-way   Delay metric.  The intention is that, where the two metrics are   similar, they will be described with similar or identical text, and   that where the two metrics differ, new or modified text will be used.   This memo is intended to be parallel in structure to a future   companion document for Packet Loss.   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this   document are to be interpreted as described in RFC 2119 [6].   Although RFC 2119 was written with protocols in mind, the key words   are used in this document for similar reasons.  They are used to   ensure the results of measurements from two different implementations   are comparable, and to note instances when an implementation could   perturb the network.Almes, et al.               Standards Track                     [Page 1]RFC 2681          Round-trip for Delay Metric for IPPM    September 1999   The structure of the memo is as follows:   +  A 'singleton' analytic metric, called Type-P-Round-trip-Delay,      will be introduced to measure a single observation of round-trip      delay.   +  Using this singleton metric, a 'sample', called Type-P-Round-trip-      Delay-Poisson-Stream, will be introduced to measure a sequence of      singleton delays measured at times taken from a Poisson process.   +  Using this sample, several 'statistics' of the sample will be      defined and discussed.   This progression from singleton to sample to statistics, with clear   separation among them, is important.   Whenever a technical term from the IPPM Framework document is first   used in this memo, it will be tagged with a trailing asterisk.  For   example, "term*" indicates that "term" is defined in the Framework.1.1. Motivation   Round-trip delay of a Type-P* packet from a source host* to a   destination host is useful for several reasons:   +  Some applications do not perform well (or at all) if end-to-end      delay between hosts is large relative to some threshold value.   +  Erratic variation in delay makes it difficult (or impossible) to      support many interactive real-time applications.   +  The larger the value of delay, the more difficult it is for      transport-layer protocols to sustain high bandwidths.   +  The minimum value of this metric provides an indication of the      delay due only to propagation and transmission delay.   +  The minimum value of this metric provides an indication of the      delay that will likely be experienced when the path* traversed is      lightly loaded.   +  Values of this metric above the minimum provide an indication of      the congestion present in the path.Almes, et al.               Standards Track                     [Page 2]RFC 2681          Round-trip for Delay Metric for IPPM    September 1999   The measurement of round-trip delay instead of one-way delay has   several weaknesses, summarized here:   +  The Internet path from a source to a destination may differ from      the path from the destination back to the source ("asymmetric      paths"), such that different sequences of routers are used for the      forward and reverse paths.  Therefore round-trip measurements      actually measure the performance of two distinct paths together.   +  Even when the two paths are symmetric, they may have radically      different performance characteristics due to asymmetric queueing.   +  Performance of an application may depend mostly on the performance      in one direction.   +  In quality-of-service (QoS) enabled networks, provisioning in one      direction may be radically different than provisioning in the      reverse direction, and thus the QoS guarantees differ.   On the other hand, the measurement of round-trip delay has two   specific advantages:   +  Ease of deployment: unlike in one-way measurement, it is often      possible to perform some form of round-trip delay measurement      without installing measurement-specific software at the intended      destination.  A variety of approaches are well-known, including      use of ICMP Echo or of TCP-based methodologies (similar to those      outlined in "IPPM Metrics for Measuring Connectivity" [4]).      However, some approaches may introduce greater uncertainty in the      time for the destination to produce a response (see      Section 2.7.3).   +  Ease of interpretation: in some circumstances, the round-trip time      is in fact the quantity of interest. Deducing the round-trip time      from matching one-way measurements and an assumption of the      destination processing time is less direct and potentially less      accurate.1.2. General Issues Regarding Time   Whenever a time (i.e., a moment in history) is mentioned here, it is   understood to be measured in seconds (and fractions) relative to UTC.   As described more fully in the Framework document, there are four   distinct, but related notions of clock uncertainty:Almes, et al.               Standards Track                     [Page 3]RFC 2681          Round-trip for Delay Metric for IPPM    September 1999   synchronization*        measures the extent to which two clocks agree on what time it        is.  For example, the clock on one host might be 5.4 msec ahead        of the clock on a second host.   accuracy*        measures the extent to which a given clock agrees with UTC.  For        example, the clock on a host might be 27.1 msec behind UTC.   resolution*        measures the precision of a given clock.  For example, the clock        on an old Unix host might tick only once every 10 msec, and thus        have a resolution of only 10 msec.   skew*        measures the change of accuracy, or of synchronization, with        time.  For example, the clock on a given host might gain 1.3        msec per hour and thus be 27.1 msec behind UTC at one time and        only 25.8 msec an hour later.  In this case, we say that the        clock of the given host has a skew of 1.3 msec per hour relative        to UTC, which threatens accuracy.  We might also speak of the        skew of one clock relative to another clock, which threatens        synchronization.2. A Singleton Definition for Round-trip Delay2.1. Metric Name:   Type-P-Round-trip-Delay2.2. Metric Parameters:   +  Src, the IP address of a host   +  Dst, the IP address of a host   +  T, a time2.3. Metric Units:   The value of a Type-P-Round-trip-Delay is either a real number, or an   undefined (informally, infinite) number of seconds.Almes, et al.               Standards Track                     [Page 4]RFC 2681          Round-trip for Delay Metric for IPPM    September 19992.4. Definition:   For a real number dT, >>the *Type-P-Round-trip-Delay* from Src to Dst   at T is dT<< means that Src sent the first bit of a Type-P packet to   Dst at wire-time* T, that Dst received that packet, then immediately   sent a Type-P packet back to Src, and that Src received the last bit   of that packet at wire-time T+dT.   >>The *Type-P-Round-trip-Delay* from Src to Dst at T is undefined   (informally, infinite)<< means that Src sent the first bit of a   Type-P packet to Dst at wire-time T and that (either Dst did not   receive the packet, Dst did not send a Type-P packet in response, or)   Src did not receive that response packet.   >>The *Type-P-Round-trip-Delay between Src and Dst at T<< means   either the *Type-P-Round-trip-Delay from Src to Dst at T or the   *Type-P-Round-trip-Delay from Dst to Src at T.  When this notion is   used, it is understood to be specifically ambiguous which host acts   as Src and which as Dst.  {Comment: This ambiguity will usually be a   small price to pay for being able to have one measurement, launched   from either Src or Dst, rather than having two measurements.}   Suggestions for what to report along with metric values appear in   Section 3.8 after a discussion of the metric, methodologies for   measuring the metric, and error analysis.2.5. Discussion:   Type-P-Round-trip-Delay is a relatively simple analytic metric, and   one that we believe will afford effective methods of measurement.   The following issues are likely to come up in practice:   +  The timestamp values (T) for the time at which delays are measured      should be fairly accurate in order to draw meaningful conclusions      about the state of the network at a given T.  Therefore, Src      should have an accurate knowledge of time-of-day.  NTP [3] affords      one way to achieve time accuracy to within several milliseconds.      Depending on the NTP server, higher accuracy may be achieved, for      example when NTP servers make use of GPS systems as a time source.      Note that NTP will adjust the instrument's clock.  If an      adjustment is made between the time the initial timestamp is taken      and the time the final timestamp is taken the adjustment will      affect the uncertainty in the measured delay.  This uncertainty      must be accounted for in the instrument's calibration.Almes, et al.               Standards Track                     [Page 5]RFC 2681          Round-trip for Delay Metric for IPPM    September 1999   +  A given methodology will have to include a way to determine      whether a delay value is infinite or whether it is merely very      large (and the packet is yet to arrive at Dst).  As noted by      Mahdavi and Paxson [4], simple upper bounds (such as the 255      seconds theoretical upper bound on the lifetimes of IP      packets [5]) could be used, but good engineering, including an      understanding of packet lifetimes, will be needed in practice.      {Comment: Note that, for many applications of these metrics, the      harm in treating a large delay as infinite might be zero or very      small.  A TCP data packet, for example, that arrives only after      several multiples of the RTT may as well have been lost.}   +  If the packet is duplicated so that multiple non-corrupt instances      of the response arrive back at the source, then the packet is      counted as received, and the first instance to arrive back at the      source determines the packet's round-trip delay.   +  If the packet is fragmented and if, for whatever reason,      reassembly does not occur, then the packet will be deemed lost.2.6. Methodologies:   As with other Type-P-* metrics, the detailed methodology will depend   on the Type-P (e.g., protocol number, UDP/TCP port number, size,   precedence).   Generally, for a given Type-P, the methodology would proceed as   follows:   +  At the Src host, select Src and Dst IP addresses, and form a test      packet of Type-P with these addresses.  Any 'padding' portion of      the packet needed only to make the test packet a given size should      be filled with randomized bits to avoid a situation in which the      measured delay is lower than it would otherwise be due to      compression techniques along the path.  The test packet must have      some identifying information so that the response to it can be      identified by Src when Src receives the response; one means to do      this is by placing the timestamp generated just before sending the      test packet in the packet itself.   +  At the Dst host, arrange to receive and respond to the test      packet.  At the Src host, arrange to receive the corresponding      response packet.Almes, et al.               Standards Track                     [Page 6]RFC 2681          Round-trip for Delay Metric for IPPM    September 1999   +  At the Src host, take the initial timestamp and then send the      prepared Type-P packet towards Dst.  Note that the timestamp could      be placed inside the packet, or kept separately as long as the      packet contains a suitable identifier so the received timestamp      can be compared with the send timestamp.   +  If the packet arrives at Dst, send a corresponding response packet      back from Dst to Src as soon as possible.   +  If the response packet arrives within a reasonable period of time,      take the final timestamp as soon as possible upon the receipt of      the packet.  By subtracting the two timestamps, an estimate of      round-trip delay can be computed.  If the delay between the      initial timestamp and the actual sending of the packet is known,      then the estimate could be adjusted by subtracting this amount;      uncertainty in this value must be taken into account in error      analysis.  Similarly, if the delay between the actual receipt of      the response packet and final timestamp is known, then the      estimate could be adjusted by subtracting this amount; uncertainty      in this value must be taken into account in error analysis.  See      the next section, "Errors and Uncertainties", for a more detailed      discussion.   +  If the packet fails to arrive within a reasonable period of time,      the round-trip delay is taken to be undefined (informally,      infinite).  Note that the threshold of 'reasonable' is a parameter      of the methodology.   Issues such as the packet format and the means by which Dst knows   when to expect the test packet are outside the scope of this   document.   {Comment: Note that you cannot in general add two Type-P-One-way-

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?