Protocol information
RFC 661
Document | Type |
RFC
- Unknown
(November 1974)
Updated by RFC 694
|
|
---|---|---|---|
Authors | |||
Last updated | 2013-03-02 | ||
RFC stream | Legacy stream | ||
Formats | |||
IESG | Responsible AD | (None) | |
Send notices to | (None) |
RFC 661
Network Working Group J. Postel Request for Comments: 661 SRI-ARC NIC: 31203 November 1974 Protocol Information This file contains information on the various protocols in the ARPA Network. An effort will be made to keep the information current, but this depends on the cooperation of the users of this file to convey any information about protocol developments, or corrections to this information to Jon Postel at SRI-ARC. This is a compendium of all the protocol related activity and most of this activity is with experimental protocols, for those protocols, which are official standards the designation "[Official]" will be appended to the name. Much of the documentation of protocols appears as Requests for Comments (RFCs) and many of these are available online. When a document is accessible online, a pointer to that source will be given. Also note that recent RFCs are online at Office-1 in directory <NETINFO> with names of the form RFCnnn.TXT where nnn is replaced by the RFC number. This file is online as: Pathname: [SRI-ARC] <POSTEL> PROTOCOL-INFORMATION.TXT and also [SRI-ARC] <POSTEL> PROTOCOL-INFORMATION.NLS IMP-IMP surface Contact: McKenzie, Alex. (MCKENZIE@BBN) Documents: Heart, F. et. Al. "The Interface Message Processor for the ARPA Computer Network," AFIPS Conference Proceedings, 36:551-567, SJCC 1970. People: John McQuillan (MCQUILLAN@BBN) Postel [Page 1] RFC 661 November 1974 Schedule: Recent developments: satellite Contact: Randy Rettberg (RETTEBERG@BBN) Documents: People: Kahn, Robert. (Kahn@ISI) Schedule: Recent developments: IMP-HOST IMP-Host [Official] Contact: McKenzie, A. (McKenzie@BBN) Documents: "Specification for the Interconnection of a Host and an IMP," BBN Report 1822, Revised March 1974. McQuillan, J. "Host Alive/Dead Logic," BBN Memorandum to Technical Liaisons, 18-July-74. Burchfiel, J. "Ready Line Philosophy and Implementation," NIC 30872, RFC 642, 5-July-74. Walden, D. "Some Changes to the IMP and the IMP/HOST Interface," RFC 660, 23-Oct-74. [Office-1 <NETINFO> RFC660.TXT People: McKenzie (MCKENZIE@BBN) Postel [Page 2] RFC 661 November 1974 Walden (WALDEN@BBN) Postel (POSTEL@SRI-ARC) Burchfiel (BURCHFIEL@BBN) McQuillan (MCQUILLAN@BBN) Schedule: Recent developments: The "link number" filed has been extended from 8 to 12 bits and renamed the "message identification" field. Message type 6 now is used to indicate a reason for a type 7 (destination dead) message. (See BBN1822). There has been some recent changes to the Ready line interpretation by the IMP for deciding the alive/dead status of a host. Important changes to the IMP and IMP/HOST interface announced in RFC 660 23-Oct-74. HOST-HOST ncp - standard host-to-host [Official] Contact: Postel, Jon. (POSTEL@SRI-ARC) Documents: McKenzie, A. "Host/Host Protocol for the ARPA Network," NIC 8246. Jan 1972. Postel, J. "Assigned Link Numbers," RFC604, NIC21186, 26- Dec-73. People: Postel, Jon. (POSTEL@SRI-ARC) McKenzie, Alex. (MCKENZIE@BBN) Schedule: Postel [Page 3] RFC 661 November 1974 Recent developments: ncp - standard host-to-host [Experimental] Contact: Postel, Jon. (POSTEL@SRI-ARC) Documents: McKenzie, A. "Host/Host Protocol for the ARPA Network," NICE 3246. Jan 1972. Postel, J. "Assigned Link Numbers," RFC604, NIC22186, 26- Dec-73. Burchfiel, et. Al. "Tip-Tenex Reliability Improvements" RFC 636 NIC 30490 June 1974. People: Postel, Jon. (POSTEL@SRI-ARC) McKenzie, Alex. (MCKENZIE@BBN) Burchfiel, Jerry (BURCHFIEL@BBN) Walden, Dave (WALDEN@BBN) Schedule: Recent developments: The BBN TIP and TENEX groups have specified and are implementing additional protocol commands with the intention of providing better reliability and survivability over system malfunctions. The additional protocol commands are for cleaning up partly closed connections and resynchronizing the allocation values on open connections. (See RFC 636). tcp - Transmission Control Protocol Contact: Cerf, Vint. (CERF@ISI) Postel [Page 4] RFC 661 November 1974 Documents: Cert, V. and R. Kahn. "A Protocol for Packet Network Intercommunication," IEEE Transactions on Communication Vol COM-22 No 5, May 1974. [parc-maxc] <cerf> TCPSPEC3.NLS Mader, E. "A Protocol Experiment," RFC 700, NIC 31020. [ISI] <CERF> TCP-CHANGES. People: Cerf at SU-DSL Tomlinson at BBN Kirstein at London Postel at SRI-ARC Schedule: Some experiments now running. Implementation of full protocol to begin by 15-Oct-74. Recent developments: Specification completed August 4th, but some work still in progress on handling of single message conversations. A new sequencing scheme (proposed by Tomlinson) may be utilized. The addressing field is now used as 4-bit format, 4-bit network, 16 bit TCP, and 24 bit process&port. Crocker has suggested a 64- bit path address to be parsed and reformatted by the gateways along the route. There is reluctance to experiment with too many things at one though. (28-Oct-74) A file indicating some of the changes in the specifications since the 4-Aug-74 document is now available as [ISI] <CERF> TCP-CHANGES. The areas of change are "Initial Sequence Number", "Socket definition", "Additional user System Calls", "Packet format", and "Discussion of opening and closing (SYN,REL)". (23-NOV-74) Specifications for test implementation are now said to be ready on 1-DEC-74, and an implementation completed by 1- FEB-74. Postel [Page 5] RFC 661 November 1974 nvp - Network Voice Protocol Contact: Cohen, Danny. (COHEN@ISI) Documents: The current specification is in an online file at isi in the directory voice as nvp.lst. Pathname = [isi] <voice> nvp.lst People: Recent developments: New specification document available (10-Oct-74). "Specifications for the Network Voice Protocol (NVP)" NSC Note 43 packet radio Contact: Kahn, Robert. (KAHN@ISI) Documents: People: Schedule: Recent developments: Network Debugging Protocol Contact: Eric Mader (Mader@BBN) Documents: Mader, E. "Network Debugging Protocol," NIC 30873, RFC 643, July-74. People: Postel [Page 6] RFC 661 November 1974 Schedule: Recent Developments: This is a protocol for a PDP-11 cross-network debugger. HOST-FRONTEND Host-Front End Contact: Michael Padlipsky (MAP@CASE-10) Documents: Padlipsky, M. "A Proposed Protocol for Connecting Host Computers to ARPA-Like Networks via Front-End Processors," RFC 647, NIC 31117, 12-Nov-74. [Office-1] <NETINFO>RFC647.TXT People: Padlipsky at MITRE Washington (MAP@CASE-10) Postel at SRI-ARC (POSTEL@SRI-ARC) McConnell at Illiac (JOHN@I4-TENEX) Schedule: Recent developments: This is a suggested simple protocol for connecting to host to front end computers, which are in turn connected to the network. PROCESS-PROCESS ICP - Initial Connection Protocol [Official] Contact: Postel, Jon. [POSTEL@SRI-ARC) Postel [Page 7] Internet-Draft AURA Metrics & Methods January 2018 "discoverable" hosts or routers. Parallel subpaths contained within clouds cannot be discovered. The assessment methods only discover hosts or routers on the path that decrement TTL or Hop Count, or cooperate with interrogation protocols. The presence of tunnels and nested tunnels further complicate assessment by hiding hops. Hop: Although the [RFC2330] definition was a link-host pair, only hosts are discoverable or have the capability to cooperate with interrogation protocols where link information may be exposed. The refined definition of Route metrics begins in the sections that follow. 2. Scope The purpose of this memo is to add new route metrics and methods of measurement to the existing set of IPPM metrics. The scope is to define route metrics that can identify the path taken by a packet or a flow traversing the Internet between any two hosts. <@@@@ or only hosts communicating at the IP layer? We would have to re-define the Src and Dst Parameters and Host Identity if we generalize beyond IP. Should we include MPLS and the capabilities of [RFC8029], with explicit multipath identification (section 6.2.6)? > Also, to specify a framework for active methods of measurement which use the techniques described in [PT] at a minimum, and a framework for hybrid active-passive methods of measurement, such as the Hybrid Type I method [RFC7799] described in [I-D.ietf-ippm-ioam-data](intended only for single administrative domains), which do not rely on ICMP and provide a protocol for explicit interrogation of nodes on a path. Combinations of active methods and hybrid active-passive methods are also in-scope. Further, this memo provides additional analysis of the round-trip delay measurements made possible by the methods, in an effort to discover more details about the path, such as the link technology in use. This memo updates Section 5 of [RFC2330] in the areas of path-related terminology and path description, primarily to include the possibility of parallel subpaths between a given Source and Destination address pair (possibly resulting from Equal Cost Multi- Path (ECMP) and Unequal Cost Multi-Path (UCMP) technologies). Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 4] Internet-Draft AURA Metrics & Methods January 2018 There are several simple non-goals of this memo. There is no attempt to assess the reverse path from any host on the path to the host attempting the path measurement. The reverse path contribution to delay will be that experienced by ICMP packets (in active methods), and may be different from UDP or TCP packets. Also, the round trip delay will include an unknown contribution of processing time at the host that generates the ICMP response. Therefore, the ICMP-based active methods are not supposed to yield accurate, reproducible estimations of the round-trip delay that UDP or TCP packets will experience. 3. Route Metric Terms and Definitions This section sets requirements for the following components to support the Route Metric: Note: the definitions concentrate on the IP-layer, but can be extended to other layers, and follow agreements on the scope. Host Identity For hosts communicating at the IP-layer, the globally routable IP address(es) which the host uses when communicating with other hosts under normal or error conditions. The Host Identity revealed (and its connection to a Host Name through reverse DNS) determines whether interfaces to parallel links can be associated with a single host, or appear to be unique hosts. Discoverable Host For hosts communicating at the IP-layer, compliance with Section 3.2.2.4 of [RFC1122] when discarding a packet due to TTL or Hop Limit Exceeded condition, MUST result in sending the corresponding Time Exceeded message (containing a form of host identity) to the source. This requirement is also consistent with section 5.3.1 of [RFC1812] for routers. Cooperating Host Hosts MUST respond to direct queries for their host identity as part of a previously agreed and established interrogation protocol. Hosts SHOULD also provide information such as arrival/departure interface identification, arrival timestamp, and any relevant information about the host or specific link which delivered the query to the host. Hop A Hop MUST contain a Host Identity, and MAY contain arrival and/ or departure interface identification. 3.1. Formal Name Type-P-Route-Ensemble-Method-Variant, abbreviated as Route Ensemble. Note that Type-P depends heavily on the chosen method and variant. Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 5] Internet-Draft AURA Metrics & Methods January 2018 3.2. Parameters This section lists the REQUIRED input factors to specify a Route metric. o Src, the IP address of a host o Dst, the IP address of a host o i, the TTL or Hop Limit of a packet sent from the host at Src to the host at Dst. o MaxHops, the maximum value of i used, (i=1,2,3,...MaxHops). o T0, a time (start of measurement interval) o Tf, a time (end of measurement interval) o T, the host time of a packet as measured at MP(Src), meaning Measurement Point at the Source. o Ta, the host time of a reply packet's *arrival* as measured at MP(Src), assigned to packets that arrive within a "reasonable" time (see parameter below). o Tmax, a maximum waiting time for reply packets to return to the source, set sufficiently long to disambiguate packets with long delays from packets that are discarded (lost), thus the distribution of delay is not truncated. o F, the number of different flows simulated by the method and variant. o flow, the stream of packets with the same n-tuple of designated header fields that (when held constant) results in identical treatment in a multi-path decision (such as that taken in load balancing). o Type-P, the complete description of the packets for which this assessment applies (including the flow-defining fields). 3.3. Metric Definitions This section defines the REQUIRED measurement components of the Route metrics (unless otherwise indicated): M, the total number of packets sent between T0 and Tf. Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 6] Internet-Draft AURA Metrics & Methods January 2018 N, the smallest value of i needed for a packet to be received at Dst (sent between T0 and Tf). Nmax, the largest value of i needed for a packet to be received at Dst (sent between T0 and Tf). Nmax may be equal to N. Next, define a *singleton* definition for a Hop on the path, with sufficient indexes to identify all Hops identified in a measurement interval. A Hop, designated h(i,j), the IP address and/or identity of one of j Discoverable Hosts (or Cooperating Hosts) that are i hops away from the host with IP address = Src during the measurement interval, T0 to Tf. As defined above, a Hop singleton measurement MUST contain a Host Identity, hid(i,j), and MAY contain one or more of the following attributes: o a(i,j) Arrival Interface ID o d(i,j) Departure Interface ID o t(i,j) Arrival Timestamp (where t(i,j) is ideally supplied by the hop, or approximated from the sending time of the packet that revealed the hop) o Measurements of Round Trip Delay (for each packet that reveals the same Host Identity and attributes, but not timestamp of course, see next section) Now that Host Identities and related information can be positioned according to their distance from the host with address Src in hops, we introduce two forms of Routes: A Route Ensemble is defined as the combination of all routes traversed by different flows from the host at Src address to the host at Dst address. The route traversed by each flow (with addresses Src and Dst, and other fields which constitute flow criteria) is a member of the ensemble and called a Member Route. Using h(i,j) and components and parameters, further define: A Member Route is an ordered graph {h(1,j), ... h(Nj, j)} in the context of a single flow, where h(i-1, j) and h(i, j) are by 1 hop away from each other and Nj=Dst is the minimum TTL value needed by the packet on Member Route j to reach Dst. Member Routes must be unique. This uniqueness requires that any two Member routes j and k that are part of the same Route Ensemble differ either in terms of minimum hop count Nj and Nk to reach the destination Dst, or, in the Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 7] Internet-Draft AURA Metrics & Methods January 2018 case of identical hop count Nj=Nk, they have at least one distinct hop: h(i,j) != h(i, k) for at least one i (i=1..Nj). The Route Ensemble from Src to Dst, during the measurement interval T0 to Tf, is the aggregate of all m distinct Member Routes discovered between the two hosts with Src and Dst addresses. More formally, with the host having address Src omitted: Route Ensemble = { {h(1,1), h(2,1), h(3,1), ... h(N1,1)=Dst}, {h(1,2), h(2,2), h(3,2),..., h(N2,2)=Dst}, ... {h(1,m), h(2,m), h(3,m), ....h(Nm,m)=Dst} } where the following conditions apply: i <= Nj <= Nmax (j=1..m) Note that some h(i,j) may be empty (null) in the case that systems do not reply (not discoverable, or not cooperating). h(i-1,j) and h(i,j) are the Hops on the same Member Route one hop away from each other. Hop h(i,j) may be identical with h(k,l) for i!=k and j!=l ; which means there may be portions shared among different Member Routes (parts of various routes may overlap). 3.4. Related Round-Trip Delay and Loss Definitions RTD(i,j,T) is defined as a singleton of the [RFC2681] Round-trip Delay between the host with IP address = Src and the host at Hop h(i,j) at time T. RTL(i,j,T) is defined as a singleton of the [RFC6673] Round-trip Loss between the host with IP address = Src and the host at Hop h(i,j) at time T. 3.5. Discussion Depending on the way that Host Identity is revealed, it may be difficult to determine parallel subpaths between the same pair of hosts (i.e. multiple parallel links). It is easier to detect parallel subpaths involving different hosts. o If a pair of discovered hosts identify two different IP addresses, then they will appear to be different hosts. Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 8] Internet-Draft AURA Metrics & Methods January 2018 o If a pair of discovered hosts identify two different IP addresses, and the IP addresses resolve to the same host name (in the DNS), then they will appear to be the same hosts. o If a discovered host always replies using the same IP address, regardless of the interface a packet arrives on, then multiple parallel links cannot be detected at the IP layer. o If parallel links between routers are aggregated below the IP layer, In other words, all links share the same pair of IP addresses, then the existence of these parallel links can't be detected at IP layer. Section 9.2 of [RFC2330] describes Temporal Composition of metrics, and introduces the possibility of a relationship between earlier measurement results and the results for measurement at the current time (for a given metric). If this topic is investigated further, there may be some value in establishing a Temporal Composition relationship for Route Metrics. However, this relationship does not represent a forecast of future route conditions in any way. When a route assessment employs packets at the IP layer (for example), the reality of flow assignment to parallel subpaths involves layers above IP. Thus, the measured Route Ensemble is applicable to IP and higher layers (as described in the methodology's packet of Type-P and flow parameters). @@@@ Editor's Note: There is an opportunity to investigate and discuss the RFC 2330 notion of equal treatment for a class of packets, "...very useful to know if a given Internet component treats equally a class C of different types of packets", as it applies to Route measurements. Knowledge of "class C" parameters on a path potentially reduces the number of flows required for a given method. 3.6. Reporting the Metric @@@@ to be provided 4. Route Assessment Methodologies There are two classes of methods described in this section, active methods relying on the reaction to TTL or Hop Limit Exceeded condition to discover hosts on a path, and Hybrid active-passive methods that involve direct interrogation of cooperating hosts (usually within a single domain). Description of these methods follow. Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 9] Internet-Draft AURA Metrics & Methods January 2018 @@@@ Editor's Note: We need to incorporate description of Type-P packets (with the flow parameters) used in each method below. 4.1. Active Methodologies We have chosen to describe the method based on that employed in current open source tools, thereby providing a practical framework for further advanced techniques to be included as method variants. This method is applicable to use across multiple administrative domains. Paris-traceroute [PT] provides some measure of protection from path variation generated by ECMP load balancing, and it ensures traceroute packets will follow the same path in 98% of cases according to [SCAMPER]. If it is necessary to find every path possible between two hosts, Paris-traceroute provides "exhaustive" mode while scamper provides "tracelb" (stands for traceroute load balance). The Type-P of packets used could be ICMP (as ones in the original traceroute), UDP and TCP. The later are used when a particular characteristic is needed to verify, such as filtering or traffic shaping on specific ports (i.e., services). The advanced route assessment methods used in Paris-traceroute [PT] keep the critical fields constant for every packet to maintain the appearance of the same flow. Since route assessment can be conducted using TCP, UDP or ICMP packets, this method REQUIRES the Diffserv field, the protocol number, IP source and destination addresses, and the port settings for TCP or UDP kept constant. For ICMP probes, the method additionally REQUIRES the type, code, and ICMP checksum constant; which take the same position in the header of an IP packet, e.g., bytes 20 to 23 when the header IP has no options. Maintaining a constant checksum in ICMP is most challenging because the ICMP Sequence Number is part of the calculation. The advanced traceroute method requires calculations using the IP Sequence Number Field and the Identifier Field, yielding a constant ICMP checksum in successive packets. For an example of calculations to maintain a constant checksum, see Appendix A of [RFC7820], where revision of a timestamp field is complemented by modifying the 2 octet checksum complement field (these fields take the roles of the ICMP Sequence Number Identifier Fields, respectively). For TCP and UDP packets, the checksum must also be kept constant. Therefore, the first four bytes of UDP (or TCP) data field are modified to compensate for fields that change from packet to packet. Note: other variants of advanced traceroute are planned be described. Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 10] Internet-Draft AURA Metrics & Methods January 2018 Finally, the return path is also important to check. Taking into account that it is an ICMP time exceeded (during transit) packet, the source and destination IP are constant for every reply. Then, we should consider the fields in the first 32 bits of the protocol on the top of IP: the type and code of ICMP packet, and its checksum. Again, to maintain the ICMP checksum constant for the returning packets, we need to consider the whole ICMP message. It contains the IP header of the discarded packet plus the first 8 bytes of the IP payload; that is some of the fields of TCP header, the UDP header plus four data bytes, the ICMP header plus four bytes. Therefore, for UDP case the data field is used to maintain the ICMP checksum constant in the returning packet. For the ICMP case, the identifier and sequence fields of the sent ICMP probe are manipulated to be constant. The TCP case presents no problem because its first eight bytes will be the same for every packet probe. Formally, to maintain the same flow in the measurements to a certain hop, the Type-P-Route-Ensemble-Method-Variant packets should be[PT]: o TCP case: Fields Src, Dst, port-Src, port_Dst, and Diffserv Field should be the same. o UDP case: Fields Src, Dst, port-Src, port-Dst, and Diffserv Field should be the same, the UDP-checksum should change to maintain constant the IP checksum of the ICMP time exceeded reply. Then, the data length should be fixed, and the data field is used to fixing it (consider that ICMP checksum uses its data field, which contains the original IP header plus 8 bytes of UDP, where TTL, IP identification, IP checksum, and UDP checksum changes). o ICMP case: The Data field should compensate variations on TTL, IP identification, and IP checksum for every packet. Then, the way to identify different hops and attempts of the same flow is: o TCP case: The IP identification field. o UDP case: The IP identification field. o ICMP case: The IP identification field, and ICMP Sequence number. 4.2. Hybrid Methodologies The Hybrid Type I methods provide an alternative method for Route Member assessment. As mentioned in the Scope section, [I-D.ietf-ippm-ioam-data] provides a possible set of data fields that would support route identification. Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 11] Internet-Draft AURA Metrics & Methods January 2018 In general, nodes in the measured domain would be equipped with specific abilities: 1. The ingress node adds one or more fields to the measurement packets, and identifies to other nodes in the domain that a route assessment will be conducted using one or more specific packets. The packets typically originate from a host outside the domain, and constitute normal traffic on the domain. 2. Each node visited by the specific packet within in the domain identifies itself in a data field of the packet (the field has been added for this purpose). 3. When a measurement packet reaches the edge node of the domain, the edge node adds its identity to the list, removes all the identities from the packet, forwards the packet onward, and communicates the ordered list of node identities to the intended receiver. In addition to node identity, nodes may also identify the ingress and egress interfaces utilized by the tracing packet, the time of day when the packet was processed, and other generic data (as described in section 4 of [I-D.ietf-ippm-ioam-data]). 4.3. Combining Different Methods In principle, there are advantages if the entity conducting Route measurements can utilize both forms of advanced methods (active and hybrid), and combine the results. For example, if there are hosts involved in the path that qualify as Cooperating Hosts, but not as Discoverable Hosts, then a more complete view of hops on the path is possible when a hybrid method (or interrogation protocol) is applied and the results are combined with the active method results collected across all other domains. In order to combine the results of active and hybrid/interrogation methods, the network hosts that are part of a domain supporting an interrogation protocol have the following attributes: 1. Hosts at the ingress to the domain SHOULD be both Discoverable and Cooperating, and SHOULD reveal the same Host Identity in response to both active and hybrid methods. 2. Any Hosts within the domain that are both Discoverable and Cooperating SHOULD reveal the same Host Identity in response to both active and hybrid methods. Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 12] Internet-Draft AURA Metrics & Methods January 2018 3. Hosts at the egress to the domain SHOULD be both Discoverable and Cooperating, and SHOULD reveal the same Host Identity in response to both active and hybrid methods. When Hosts follow these requirements, it becomes a simple matter to match single domain measurements with the overlapping results from a multidomain measurement. In practice, Internet users do not typically have the ability to utilize the OAM capabilities of networks that their packets traverse, so the results from a remote domain supporting an interrogation protocol would not normally be accessible. However, a network operator could combine interrogation results from their access domain with other measurements revealing the path outside their domain. 5. Background on Round-Trip Delay Measurement Goals The aim of this method is to use packet probes to unveil the paths between any two end-hosts of the network. Moreover, information derived from RTD measurements might be meaningful to identify: 1. Intercontinental submarine links 2. Satellite communications 3. Congestion 4. Inter-domain paths This categorization is widely accepted in the literature and among operators alike, and it can be trusted with empirical data and several sources as ground of truth (e.g., [RTTSub] [bdrmap][IDCong]). The first two categories correspond to the physical distance dependency on Round Trip Delay (RTD) while the last one binds RTD with queueing delay on routers. Due to the significant contribution of propagation delay in long distance hops, RTD will be at least 100ms on transatlantic hops, depending on the geolocation of the vantage points. Moreover, RTD is typically greater than 480ms when two hops are connected using geostationary satellite technology (i.e., their orbit is at 36000km). Detecting congestion with latency implies deeper mathematical understanding since network traffic load is not stationary. Nonetheless, as the first approach, a link seems to be congested if after sending several traceroute probes, it is possible to detect congestion observing different statistics parameters (e.g., see [IDCong]). Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 13] Internet-Draft AURA Metrics & Methods January 2018 6. Tools to Measure Delays in the Internet Internet routing is complex because it depends on the policies of thousands Autonomous Systems (AS). While most of the routers perform load balancing on flows using Equal Cost Multiple Path (ECMP), a few still divide the workload through packet-based techniques. The former scenario is defined according to [RFC2991] while the latter generates a round-robin scheme to deliver every new outgoing packet. ECMP keeps flow state in the router to ensure every packet of a flow is delivered by the same path, and this avoids increasing the packet delay variation and possibly producing overwhelming packet reordering in TCP flows. Taking into account that Internet protocol was designed under the "end-to-end" principle, the IP payload and its header do not provide any information about the routes or path necessary to reach some destination. For this reason, the well-known tool traceroute was developed to gather the IP addresses of each hop along a path using the ICMP protocol [RFC0792]. Besides, traceroute adds the measured RTD from each hop. However, the growing complexity of the Internet makes it more challenging to develop accurate traceroute implementation. For instance, the early traceroute tools would be inaccurate in the current network, mainly because they were not designed to retain flow state. However, evolved traceroute tools, such as Paris-traceroute [PT] [MLB] and Scamper [SCAMPER], expect to encounter ECMP and achieve more accurate results when they do. Paris-traceroute-like tools operate in the following way: every packet should follow the same path because the sensitive fields of the header are controlled to appear as the same flow. This means that source and destination IP addresses, source and destination port numbers are the same in every packet. Additionally, Differentiated Services Code Point (DSCP), checksum and ICMP code should remain constant since they may affect the path selection. Today's traceroute tools can send either UDP, TCP or ICMP packet probes. Since ICMP header does not include transport layer information, there are no fields for source and destination port numbers. For this reason, these tools keep constant ICMP type, code, and checksum fields to generate a kind of flow. However, the checksum may vary in every packet, therefore when probes use ICMP packets, ICMP Identifier and Sequence Number are manipulated to maintain constant checksum in every packet. On the other hand, when UDP probes are generated, the expected variation in the checksum of each packet is again compensated by manipulating the payload. Paris-traceroute allows its users to measure RTD in every hop of the path for a particular flow. Furthermore, either Paris-traceroute or Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 14] Internet-Draft AURA Metrics & Methods January 2018 Scamper is capable of unveiling the many available paths between a source and destination (which are visible to this method). This task is accomplished by repeating complete traceroute measurements with different flow parameters for each measurement. The Framework for IP Performance Metrics (IPPM) ([RFC2330] updated by[RFC7312]) has the flexibility to require that the round-trip delay measurement [RFC2681] uses packets with the constraints to assure that all packets in a single measurement appear as the same flow. This flexibility covers ICMP, UDP, and TCP. The accompanying methodology of [RFC2681] needs to be expanded to report the sequential hop identifiers along with RTD measurements, but no new metric definition is needed. 7. RTD Measurements Statistics Several articles have shown that network traffic presents a self- similar nature [SSNT] [MLRM] which is accountable for filling the queues of the routers. Moreover, router queues are designed to handle traffic bursts, which is one of the most remarkable features of self-similarity. Naturally, while queue length increases, the delay to traverse the queue increases as well and leads to an increase on RTD. Due to traffic bursts generate short-term overflow on buffers (spiky patterns), every RTD only depicts the queueing status on the instant when that packet probe was in transit. For this reason, several RTD measurements during a time window could begin to describe the random behavior of latency. Loss must also be accounted for in the methodology. To understand the ongoing process, examining the quartiles provides a non-parametric way of analysis. Quartiles are defined by five values: minimum RTD (m), RTD value of the 25% of the Empirical Cumulative Distribution Function (ECDF) (Q1), the median value (Q2), the RTD value of the 75% of the ECDF (Q3) and the maximum RTD (M). Congestion can be inferred when RTD measurements are spread apart, and consequently, the Inter-Quartile Range (IQR), the distance between Q3 and Q1, increases its value. This procedure requires to compute quartile values "on the fly" using the algorithm presented in [P2]. This procedure allow us to update the quartiles value whenever a new measurement arrives, which is radically different from classic methods of computing quartiles because they need to use the whole dataset to compute the values. This way of calculus provides savings in memory and computing time. To sum up, the proposed measurement procedure consists in performing traceroutes several times to obtain samples of the RTD in every hop Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 15] Internet-Draft AURA Metrics & Methods January 2018 from a path, during a time window (W) and compute the quantiles for every hop. This could be done for a single path flow or for every detected path flow. Even though a particular hop may be understood as the amount of hops away from the source, a more detailed classification could be used. For example, a possible classification may be identify ICMP Time Exceeded packets coming from the same routers to those who have the same hop distance, IP address of the router which is replying and TTL value of the received ICMP packet. Thus, the proposed methodology is based on this algorithm: ================================================================ 1 input: W (window time of the measurement) 2 i_t (time between two measurements) 3 E (True: exhaustive, False: a single path) 4 Dst (destination IP address) 5 output: Qs (quartiles for every hop and alt in the path(s) to Dst) ---------------------------------------------------------------- 6 T <? start_timer(W) 7 while T is not finished do: 8 | start_timer(i_t) 9 | RTD(hop,alt) = advanced-traceroute(Dst,E) 10 | for each hop and alt in RTD do: 11 | | Qs[Dst,hop,alt] <? ComputeQs(RTD(hop,alt)) 12 | done 13 | wait until i_t timer is expired 14 done 15 return (Qs) ================================================================ In line 9 the advance-traceroute could be either Paris-traceroute or Scamper, which will use "exhaustive" mode or "tracelb" option if E is set True, respectively. The procedure returns a list of tuples (m,Q1,Q2,Q3,M) for each intermediate hop in the path towards the Dst. Additionally, it could also return path variations using "alt" variable. 8. Conclusions Combining the method proposed in Section 4 and statistics in Section 7, we can measure the performance of paths interconnecting two endpoints in Internet, and attempt the categorization of link types and congestion presence based on RTD. Alvarez-Hamelin, et al. Expires July 9, 2018 [Page 16] Internet-Draft AURA Metrics & Methods January 2018 RFC 661 November 1974 Documents: Postel, J. "Official Initial Connection Protocol," NIC 7101 11-June-71. Wolfe, S. [no title] RFC 202 NIC 7155 26-July-71. Postel, J. "Official Telnet-Logger Initial Connection Protocol," NIC 7103 15-June-71. People: Postel at Sri-arc Schedule: Recent developments: Telnet Old Telnet Contact: Postel, Jon. (POSTEL@SRI-ARC) Documents: Postel, J. "Telnet Protocol," RFC 318 3-April-72. People: Schedule: Recent developments: New Telnet [Official] Contact: Postel at SRI-ARC Documents: NIC 18639 "TELNET Protocol Specifications" AUG 73 NIC 1864C "Telnet Option Specification" Aug 73 Postel [Page 8] RFC 661 November 1974 Telnet Options NIC 15389 "Binary Transmission" NIC 15390 "Echo" NIC 15391 "Reconnection" NIC 15392 "Suppress Go Ahead Option" NIC 15393 "Approximate Message Size Negotiation" NIC 31154 "Status" RFC 65125-Oct-74. [Office] <NETINFO>RFC651.TXT NIC 16236 "Timing Mark" NIC 19859 "Remote Controlled Transmission and Echoing" 1-Nov-73. NIC 20196 "Output Line Width" 13-Nov-73. NIC 20197 "Output Page Size" 13-Nov-73. NIC 31155 "Output Carriage Return Disposition" RFC 652 25-Oct-74. [Office-1] <NETINFO>RFC652.TXT NIC 31157 "Output Horizontal Tab Disposition" RFC 654 25-Oct-74. [Office-1] <NETINFO>RFC653.TXT NIC 31156 "Output Horizontal Tab Stops" RFC 653 25-Oct-74. [Office-1] <NETINFO>RFC653.TXT NIC31157 "Output Form Feed Disposition" RFC 655 25-Oct-74. [Office-1] <NETINFO>RFC655.TXT NIC 31159 "Output Vertical Tab Stops" RFC 656 25- Oct-74. Postel [Page 9] RFC 661 November 1974 [Office-1] <NETINFO>RFC656.TXT NIC 31160 "Output Vertical Tab Disposition" RFC 657 25-Oct-74 [Office-1] <NETINFO>RFC657.TXT NIC 31161 "Output Line Feed Disposition" RFC 658 25-Oct-74. [Office-1] <NETINFO>RFC658.TXT NIC 16239 "Extended Options List" People: Jon Postel at Sri-Arc (POSTEL@SRI-ARC) Alex McKenzie at BBN (MCKENZIE@BBN) Doug Dodds at BBN (DODDS@BBN) Dave Crocker at UCLA-NMC (DCROCKER@ISI) Kurt Barthelmess at UCSD (BOWLES@ISI) Schedule: All Hosts were to have been running the new Telnet (both user and server) by 1 January 1974. Recent developments: A significant number of server systems now have new telnet implementations. (See RFC 702). Note: the server program is to be available on socket 23 decimal (27 octal). The Status Option has been revised to take advantage of the subcommand feature and to reduce the amount of data transmitted to report the option status. Seven new options have been defined to allow control of the format effectors Carriage Return, Line Feed, Form Feed, Horizontal Tab, and Vertical Tab. Postel [Page 10] RFC 661 November 1974 FTP Old File Transfer Contact: Jon Postel at SRI-ARC (POSTEL@SRI-ARC) Documents: McKenzie, A. "File Transfer Protocol," NIC 14333, RFC 454, 16-Feb-73. People: Schedule: Recent developments: New File Transfer Contact: Jon Postel at SRI-ARC (POSTEL@SRI-ARC) Documents: Neigus, N. "File Transfer Protocol," NIC 17759 RFC 542 12- July-73. Postel, J. "Revised FTP Reply codes," NIC 30843 RFC 640 5- June-74. People: Jon Postel at SRI-ARC (POSTEL@SRI-ARC) Nancy Neigus at BBN (NEIGUS@BBN) Ken Pogran at MIT-Multics (Pogran.CompNet@MIT-Multics) Wayne Hathaway at NASA AMES (Hathaway@AMES-67) Mark Krilanovich at UCSB (Krilanovich@UCSB-MOD75) Kurt Barthelmess at UCSD (BOWLES@ISI) Schedule: Postel [Page 11] RFC 661 November 1974 Recent developments: Pathnames Contact: Jon Postel at SRI-ARC (POSTEL@SRI-ARC) Documents: Crocker, D. "Network Standard Data Specification Syntax," RFC 645, NIC 30899, Jul-74. People: Dave Crocker at UCLA-NMC (DCROCKER@ISI) Schedule: Recent developments: File Access Protocol Contact: John Day (Day. CAC@MIT-Multics) Documents: Day, J. "Memo to FTP Group: File Access Protocol," RFC 520, NIC 16819, 25-Jun-73 People: Ken Pogran (Pogran.CompNet@MIT-Multics) Schedule: Recent developments: Mail Current Mail Contact: Jon Postel at SRI-ARC (POSTEL@SRI-ARC) Postel [Page 12] RFC 661 November 1974 Documents: page 26 of RFC 454 (see old file transfer). Bhushan, A. "Standardizing Network Mail Headers," NIC 18516, RFC 561, 5-Sep-73 Sussman, J. "FTP Error Code Usage for More Reliable Mail Service," RFC 630, NIC 30874, RFC 644, 22-July-74. People: Julie Sussman at bbn (SUSSMAN@BBN) Bob Thomas at bbn (BTHOMAS@BBN) Schedule: Recent developments: Concern over the authentication of the author of network messages has led to the concept of an authorized mail sending process (see RFC 644). Proposed Mail Contact: Postel at SRI-ARC (POSTEL@SRI-ARC) Documents: White, J. "A Proposed Mail Protocol," NIC 17140, RFC 524, 13-Jun-73. Crocker, D. "Thoughts on the Mail Protocol Proposed in RFC 524," NIC 17644, RFC 539, 7-July-73. White, J. "Response to Critiques of the Proposed Mail Protocol," NIC 17993, RFC 555, 27-July-73. People: Jim White at SRI-ARC (WHITE@SRI-ARC) Postel at Sri-ARC (POSTEL@SIR-ARC) Schedule: Postel [Page 13] RFC 661 November 1974 Recent developments: RJE - Remote Job Entry Contact: Jon Postel at SRI-ARC (POSTEL@SRI-ARC) Documents: Bressler, B. "Remote Job Entry Protocol," RFC 407, NIC 12112, 16-Oct-72 Krilanovich, M. "Announcement of RJS at UCSB," RFC 436, NIC 13700, 10-Jan-73. People: Schedule: Recent developments: RJS - CCNs Remote Job Service Contact: Robert Braden at UCLA-CCN (BRADEN@UCLA-CCN) Documents: Braden, R. "Interim NETRJS Specification," RFC 18@ nic July-71. Braden, R. "Update on NETRJS," RFC 599, NIC 20854, 13-Dec- 73. People: Robert Braden (BRADEN@UCLA-CCN) Steve Wolfe (WOLFE@UCLAL-CCN) Schedule: Recent developments: Postel [Page 14] RFC 661 November 1974 Graphics Contact: Robert Sproull (SPROULL@PARC-MAXC) Documents: Sproull, R, and E. Thomas. "A Networks Graphics Protocol," NIC 24308, 16-Aug-74. People: Robert Sproull (SPROULL@PARC-MAXC) Elaine Thomas (Thomas@MIT-Multics) James Michener at MIT-DMS (JCM@MIT-DMS) Schedule: Recent developments: New document available from Robert Sproull. Data Reconfiguration Service Contact: Jon Postel at SRI-ARC (POSTEL@SRI-ARC) Documents: Anderson, B. "Status Report on Proposed Data Reconfiguration Service," NIC 6715, RFC 138, 28-April-71. Feah, "Data Reconfiguration Service at UCSB," RFC 437, NIC 13701, 30-June-74. People: Schedule: Recent developments: Postel [Page 15] RFC 661 November 1974 RSEXEC Contact: Thomas, Bob. (BTHOMAS@BBN) Documents: People: Schedule: Recent developments: Line Processor Protocol Contact: Don Andrews at SRI-ARC (ANDREWS@SRI-ARC) Documents: [SRI-ARC] <hardy>1pprot.nls [SRI-ARC] <hardy>prot.txt People: Martin Hardy at SRI-ARC (HARDY@SRI-ARC) Don Andrews at Sri-ARC (ANDREWS@SRI-ARC) Schedule: Recent developments: PROGRAMS Neted - Network Standard Editor [Official] Contact: Michael Padlipsky (MAP@CASE-10) Documents: Padlipsky, M. "NETED: A Common Editor for the ARPA Network," RFC 569, NIC 18972, 15-Oct-73. Postel [Page 16] RFC 661 November 1974 People: Padlipsky at MITRE (MAP@CASE-10) Postel at SRI-ARC (POSTEL@SRI-ARC0 Hathaway at AMES (HATHAWAY@AMES-67) Schedule: Recent developments: NATIONAL SOFTWARE WORKS The National Software Works is developing a set of protocols for its use of the ARPA Network, other uses of these protocols is encouraged. The procedure call protocol is intended to facilitate the sharing of resources in the network at the subroutine level. The procedure call protocol will be used to split nls into a front end and back end components. Procedure call protocol is also to be used in the nsw as the basis for communication between the works manager, the tool bearing hosts, and front desk procedure packages. The documents cited below give a view of the Procedure Call Protocol and its use. Contact: Jim White (WHITE@SRI-ARC) Jon Postel (POSTEL@SIR-ARC) Documents: These documents are the second published version of the Procedure Call Protocol and NSW protocol - PCP/NSW Version 2. Version 2 is SUBSTANTIALLY different than Version 1; it and all intermediate, informally distributed PCP/NSW documents are obsoleted by this release. The first document, PCP, is the place the interested ready should start. It gives the required motivation for the use Protocol and states the substance of the Protocol proper. The ready may then, if he chooses, read the next three documents: PIP, PSP, and PMP. The latter has the most to offer the casual reader; the programmer faced with coding in the PCP environment should ready all three. The next three documents - PCPFMT, Postel [Page 17] RFC 661 November 1974 PCPHST, and PCPFRK - are of interest only to the PCP implementer. The next document - HOST - is a preliminary thought about how the NSW might use the standard HOST-HOST protocol NCP. The last four documents - EXEC, FILE, BATCH, and LLDBUG - describe procedure packages needed to carry out NSW functions, but such packages may well be useful in other contexts. Version 2 consists of the following documents. Each is available online in two forms: as an NLS file and as a formatted text file. The journal number (e.g., 24459) refers to the former, of course and the pathname (e.g., [SRI-ARI] <NLS> PCP.TXT) to the latter, accessible via FTP using USER=ANONYMOUS and PASSWORD=GUEST (no account required). Hardcopy is being forwarded by US Mail to all those who have expressed an interest in PCP. If you don't receive a copy and would like one of this and/or future releases, send a note to that effect to WHITE@SRI-ARC: PCP (24459,) "The Procedure Call Protocol" This document describes the virtual programming environment provided by PCP, and the inter-process exchanges that implement it. Pathname: [SRI-ARC] <NLS>PCP.TXT PIP (24460,) "The Procedure Interface Package" This document describes a packages that runs in the setting provided by PCP and that serves as a procedure- call-level interface to PCP proper. It includes procedures for calling, resuming, interrupting, and aborting remote procedures. Pathname: [SRI-ARC] <NLS>PIP.TXT PSP (24461,) "The PCP Support Packages" This document describes a package that runs in the setting provided by PCP and that augments PCP proper, largely in the area of data store manipulation. It includes procedures for obtaining access to groups of remote procedures and data stores, manipulating remote data stores, and creating temporary ones. Pathname: [SRI-ARC] <NLS>PSP.TXT Postel [Page 18] RFC 661 November 1974 PMP (24462,) "The Process Management Package" This document describes a package that runs in the setting provided by PCP and that provides the necessary tools for interconnecting two or more processes to form a multi-process system (e.g., NSW). It includes procedures for creating, deleting, logically and physically interconnecting processes, and for allocating and releasing processors. Pathname: [SRI-ARC] <NLS>PMP.TXT PCPFMT (24576,) "PCP Data Structure Formats" This document defines formats for PCP data structures, each of which is appropriate for one or more physical channel types. Pathname: [SRI-ARC] <NLS>POPFMT.TXT PCPHST (24577,) "PCP ARPANET Inter-Host IPC Implementation" This document defines an implementation, appropriate for mediating communication between Tenex folks, of the IPC primitives required by PCP. Pathname: [SRI-ARC] <NLS.PCPHST.TXT PCPFRK (24578,) "PCP Tenex Inter-Fork IPC Implementation" This document defines an implementation, appropriate for mediating communication between processes on different hosts within the ARPANET, of the IPC primitives required by PCP. Pathname: [SRI-ARC] <NLS.PCPFRK.TXT HOST (24581,) "NSW Host Protocol" This document describes the host level protocol used in the NSW. The protocol is a slightly constrained version of the standard ARPANET host to host protocol. The constraints affect the allocation, RFNM wait, and retransmission policies. Pathname: [SRI-ARC] <NLS>HOST.TXT Postel [Page 19] RFC 661 November 1974 EXEC (24580,) "The Executive Package" This document describes a package that runs in the setting provided by PCP. It includes procedures and data stores for user identification, accounting, and usage information. Pathname: [SRI-ARC] <NLS> EXEC.TXT FILE (24582,) "The File Package" This document describes a package that runs in the setting provided by PCP. It includes procedures and data stores for opening, closing, and listing directories, for creating, deleting, and renaming files, and for transferring files and file elements between processes. Pathname: [SRI-ARC] <NLS>FILE.TXT BATCH (24583,) "The Batch Job Package" This document describes a package that runs in the setting provided by PCP. It includes procedures for creating and deleting batch jobs, obtaining the status of a batch job, and communicating with the operator of a batch processing host. This package is implemented at the host that provides the batch processing facility. Pathname: [SRI-ARC] <NLS>BATCH.TXT LLDBUG (24579,) "The Low-Level Debug Package" This document describes a package that runs in the setting provided by PCP. It includes procedures for a remote process to debug at the assembly-language level, any process known to the local process. The package contains procedures for manipulating and searching the process' address space, for manipulating and searching its symbol tables, and for setting and removing breakpoints from its address space. Its data stores hold process characteristics and state information, and the contents of program symbol tables. Pathname: [SRI-ARC] <NLS>LLDBUG.TXT People: Postel [Page 20] RFC 661 November 1974 Schedule: A demonstration of the National Software Works concept is to be performed in July 1975. Recent developments: The set of documents cited above is available. Postel [Page 21]