Internet Engineering Task Force Gorry Fairhurst INTERNET DRAFT University of Aberdeen Lloyd Wood Cisco Systems Ltd draft-ietf-pilc-link-arq-issues-00.txt November 2000 Expires: May 2001 Link ARQ issues for IP traffic STATUS OF THIS MEMO This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. ABSTRACT This document discusses use of automatic repeat request (ARQ) procedures as an option in the design of a link protocol, and the impact of the use of ARQ on IP traffic travelling over the link. ARQ is described in a general way that includes its use over a wide range of underlying physical media, including cellular wireless, wireless LANs, RF links, and other types of bearer channel. This document is intended to provide guidance, and to outline matters for consideration, for designers and implementers of future link ARQ mechanisms. The material presented here is intended to be combined with the PILC 'Advice for Internet Subnetwork Designers' draft [DRAFTKARN00] to provide a single document giving guidance to subnetwork designers. 1. INTRODUCTION PILC - Link ARQ INTERNET-DRAFT - expires May 2001 1 Link ARQ issues for IP traffic November 2000 Over the years, traffic using the Internet Protocol (IP [RFC791]) has been run over a very wide variety of links, with vastly different capacities, delays and loss characteristics. IP traffic can be expected to be run over a wide variety of new and existing link designs in the future. This document is intended for three distinct groups of readers: a. Link designers wishing to configure (or tune) a link for the IP traffic that it will carry using standard link layer mechanisms, such as the ISO High-level Data Link Control (HDLC) [ISO4335] or its derivatives. b. Link implementers who may wish to design new link mechanisms that perform well for IP traffic when carrying IP. c. The community of people using or developing TCP, UDP and related protocols, who may wish to be aware of the ways in which links can operate. The primary audiences are intended to be groups a. and b. Group c. should not need to be aware of the exact details of an ARQ scheme across a single link, and should not have to consider it in their implementations; much of the Internet runs across links that do not use any form of ARQ. However, the TCP/IP community does need to be aware that the IP protocol operates over a diverse range of underlying subnetworks. This document may help to raise that awareness. Some familiarity with TCP [RFC2581, RFC2488, STE94] is assumed here. There are a number of variants of TCP, with differing levels of sophistication in their procedures for handling loss recovery and congestion avoidance. Far from being static, the TCP protocol is itself subject to a gradual refinement and evolution, e.g. [RFC2760]. This document should be read in conjunction with other documents produced by the IETF Performance Implications of Link Characteristic (PILC) workgroup [DRAFTDAW00, DRAFTKARN00, DRAFTBOR00]. 1.1 LINK ARQ The ARQ link mechanism provides an integrity check and retransmission process to retransmit lost frames. Link ARQ protocols operate within the link layer of the OSI reference model [DRAFTKARN00]. ARQ operates on blocks of link layer data, known as frames, and attempts to deliver frames from the sender to the receiver over a physical link. Frames often have a small maximum size for convenience of processing by media-access control (MAC) and link- layer protocols. This contrasts with the variable lengths of IP datagrams, or 'packets'. PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 2 Link ARQ issues for IP traffic November 2000 A frame may contain one or more IP datagrams, although transparent implicit fragmentation is often used so that each frame will contain only a fraction of an IP datagram [KEN88]. Explicit visible IP fragmentation is undesirable for a variety of reasons, and should be avoided [KEN88]. Its use can be minimised with use of Path MTU discovery for TCP connections [RFC1191, RFC1435]. 1.2 CAUSES OF PACKET LOSS ON A LINK Not all packets sent to a link are necessarily received by the receiver at the other end of the link. There are a number of possible causes of packet loss that may occur as frames travel across a link. These include: a. Loss due to channel noise, often characterised by random frame loss. b. Loss due to channel interference. This interference can be random, structured, and in some cases even periodic. c. A link outage, causing loss due to unavailability of the physical link for a period of time. This is a common characteristic of some types of link, e.g. mobile cellular radio. In the outage, the link loses all or virtually all frames for a period of time, until the link is restored. Other forms of packet loss are not related to channel conditions, but include: i. Packet discards due to congestion. Queues overflow as the arrival rate of new packets to send continually exceeds the outgoing packet transmission rate over the link. ii. Loss due to implementation errors, including hardware faults and software errors. The levels of loss and patterns of loss experienced are functions of the design of the link's physical and link layers. These vary significantly across different link configurations. The performance of a specific implementation may vary considerably across the same link configuration when operated over different types of physical channel. 1.3 WHY USE ARQ? Reasons that promote the use of ARQ include: a. ARQ across a single link has a shorter control loop than the end- to-end path over which TCP must operate. ARQ can therefore provide PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 3 Link ARQ issues for IP traffic November 2000 more rapid retransmission for TCP segments lost on the the link, at least for a reasonable number of retries [DRAFTDAW00, SAL81]. b. Link ARQ can operate on frames which are much smaller than IP datagrams and may therefore be more efficient in terms of repetition of data after occasional loss for error recovery. For any specific target error rate there is an optimal trade-off between header overhead and frame size; the 20-byte IPv4 header is considered large for many low-capacity links. c. A link ARQ procedure is able to use information about the state of the link, physical layer techniques, and local knowledge that is not available to endhosts in order to optimise delivery performance for the current link conditions. This information can include knowledge of the current available transmission rate, the prevailing error environment, or available transmit power in wireless links. 1.4 COMMONLY-USED ARQ TECHNIQUES Two types of ARQ retransmission process are widely used: 1.4.1 STOP-AND-WAIT ARQ A stop-and-wait ARQ sender transmits a single frame and then waits for an acknowledgement from the receiver for that frame, before either continuing transmission with the next frame, or retransmitting the same frame if the original frame is errored or loss. Stop-and-wait ARQ is simple to implement, but is well-suited only to low-delay links, where the link round-trip delay is small compared to the frame serialisation delay. This technique is not discussed further in this document. 1.4.2 SLIDING-WINDOW ARQ A sliding-window ARQ link protocol numbers every frame with a unique sequence number, according to a modulus. TCP is itself a sliding- window protocol, so similarities between this link-interface-to- link-interface protocol and end-to-end TCP may be recognisable. A sliding-window link protocol is much more complex in implementation than a simpler stop-and-wait protocol, particularly if per-flow ordering is preserved. At any time the sender may have a number of frames outstanding and awaiting acknowledgement, up to the space available in its transmission window. A sufficiently large window (equivalent to or greater than the number of frames sent, or larger than the bandwidth*delay capacity of the link) enables continuous transmission of new frames. A smaller window causes the sender to pause transmission of new frames until a timeout or a control frame, such as an acknowledgement, is received. When frames are lost, a larger window, i.e. more than the link's bandwidth*delay product, is PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 4 Link ARQ issues for IP traffic November 2000 needed to allow continuous operation while frame retransmission takes place. The modulus numbering space determines the size of the frame header sequence number field. This sequence space needs to be larger than the window size, and if using selective frame repeat, larger than twice the window size. As with TCP, there are a number of variations on the basic sliding- window implementation, with added sophistication and complexity to make them suitable for various conditions. 1.5 CAUSES OF DELAY ACROSS A LINK Links and link protocols contribute to the total path delay experienced between endhosts. Delay has a number of causes, including: a. Physical link propagation time, caused by the speed of light in the channel medium. b. Frame serialisation and transmission processing. These are functions of frame size and the transmission speed of the link. c. Waiting for access to the allocated channel when the physical medium is shared. There may be processing or protocol-induced delay before transmission takes place [FER99, PAR00]. d. Processing, including buffering frame contents for packet reassembly, at the receiver before onward transmission of the packet. e. Input packet queuing and frame buffering at the link head before transmission over the link. Steps a., b. and c. may be repeated a number of times after a frame is lost when link ARQ is used. This increases overall delay for the packet that the frame is (partially) transmitting. It is important to understand that applications at the endhosts are unaware of the individual delays contributed by each link in the path, and only see the overall path delay. Application performance is determined by the cumulative delay of the entire end-to-end Internet path. This path may include an arbitrary or even widely- varying number of links, where each link may or may not use ARQ. 2. ARQ PERSISTENCE ARQ protocols may be characterised by their persistence. This is the willingness of the protocol to retransmit lost frames to ensure reliable delivery of the stream of traffic across the link. PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 5 Link ARQ issues for IP traffic November 2000 A link's retransmission persistency defines how long a link is allowed to delay an IP packet, in an attempt to transmit the entire contents of the packet over the link, before giving up and discarding the packet contents. This persistency is normally measured in milliseconds, but may, if the link propagation delay is specified, also be expressed in terms of the maximum number of link retransmission attempts permitted. An example of a reliable link protocol that is perfectly persistent is the ISO HDLC protocol in the Asynchronous Balanced Mode (ABM) [ISO4335]. A protocol that only retransmits a fixed number of times before giving up is less persistent, e.g. Ethernet [FER99]. Perfect reliability is not a requirement for IP subnetworks [DRAFTKARN00]. IP networks may discard packets due to a variety of reasons entirely unrelated to link errors, including lack of queuing space, congestion management, faults, and route changes. It has long been widely understood that perfect reliability can be obtained only at the transport layer [SAL81]. TCP [RFC2488, RFC2581, STE94] and a number of applications using UDP implement their own end-to-end reliable delivery mechanisms. However, many TCP and UDP applications, e.g. telnet or streaming multimedia, are more concerned with timely delivery than the perfect reliability that they themselves can ensure. 2.1 PERFECTLY-PERSISTENT (RELIABLE) ARQ PROTOCOLS Most well-known link protocols are reliable protocols which use perfectly-persistent ARQ to ensure that all frames (and therefore all packets) are received by the other side of the link. A perfectly-persistent ARQ protocol will repeat a lost or errored frame an indefinite number of times until the frame is successfully received. Arguments against perfect persistence for IP traffic include: a. Link delay; the impact of ARQ introduces a degree of jitter, a function of the link's physical delay and frame serialisation times, to all flows sharing the link performing frame retransmission. b. Excessive link delay may cause timeout of TCP retransmission timers, although a high variance in link delay and the resulting overall path delay may also cause a large TCP Retransmission Time Out (RTO) value to be used [LUD99a, PAR00]. Future TCP implementations may use techniques that reduce premature expiry of this timer, e.g. Eifel [LUD00] and Rapid Packet Loss Detection [SAM98], but further research is required in this area. c. High persistence does not provide a clear upper bound on the maximum retransmission delay for the link. PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 6 Link ARQ issues for IP traffic November 2000 Examples of perfectly-persistent ARQ protocols include ISO/ITU-T LAP-B [ISO7776] and ISO HDLC with ABM [ISO4335], e.g. using Multiple Selective Reject (MSREJ [ISO4335a]). These protocols will retransmit frames an unlimited number of times until receipt of the frame is acknowledged. 2.2. HIGH-PERSISTENCE (HIGHLY-RELIABLE) ARQ PROTOCOLS High-persistence ARQ protocols attempt only a finite, large, number of transmissions of each frame before giving up. Arguments against high persistence are similar to perfect persistence, except that infinite delay and perfectly reliable delivery is traded off against imperfect reliability and an upper bound on link delay. It has been recommended that a single IP datagram should never be delayed by more than the Maximum Segment Lifetime (MSL) of 120 seconds defined for TCP [RFC1122]. Failure to limit the maximum datagram lifetime can result in sequence number wrapping at high TCP transmission rates [RFC1323], where old data segments may be confused with newer segments where the sequence number space has been exhausted and reused in the interim. Some TCP implementations use timestamps to remove this ambiguity [RFC1323]. (One case where segment lifetime may be significant is where alternate paths of different delays exist between hosts. Some TCP DATA segments follow a short path, while others follow a much longer path, e.g. using persistent ARQ over a link outage.) In practice, the MSL is usually very large compared to the typical TCP RTO. The calculation of RTO is based on estimated round trip path delay. If the number of link retransmissions causes a path delay larger than the value of RTO, the TCP retransmission timer will expire, leading to a time out and retransmission by the TCP sender. RTO can be increased to a maximum of 64 seconds [STE94]. 64 seconds has therefore been suggested as an upper bound on persistency - but a link designer cannot know how many other ARQ-using links are in the path, so typical link persistency is far less. Although high persistency may benefit bulk flows, the additional delay (and variation in delay) may be highly undesirable for other types of flows. Being able to treat flows separately with different classes of link service is useful, and is discussed in section 3.2. Examples of highly-persistent ARQ include [BHA97, ECK98, LUD99, MEY99]. 2.3 LOW-PERSISTENCE (PARTIALLY-RELIABLE) ARQ PROTOCOLS PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 7 Link ARQ issues for IP traffic November 2000 The characteristics of a link using a low-persistence ARQ protocol may be summarised as: a. The link is not visibly perfectly reliable and does not provide an absolute guarantee of delivery, i.e. some frames will be discarded by the transmitter as it 'gives up' before receiving an acknowledgement of successful transmission. b. There is a lowered limit on the maximum added delay that IP datagrams will experience when using the link. This reduces interaction with TCP timers or with UDP-based error-control schemes. c. The link bounds the time that retransmission for any one frame can block completed transmission and assembly of other correctly- received datagrams originally sent before the missing frame. Limiting delay avoids aggravating contention and interaction between different packet flows. Selection of even a quite high persistence, e.g. allowing tens of attempts to deliver a single frame, would usually satisfy a bound for b. for low-delay links. However, a packet may traverse a number of successive (delayed) links on its total end-to-end path. This is an argument for much lower persistency on individual links. 2.4 CHOOSING YOUR PERSISTENCY The TCP Maximum RTO is an upper limit on the maximum time TCP will wait until it performs a retransmission. Most TCP implementations will generally have a TCP RTO of typically a few times the path delay. Setting a lower link persistency (of the order 2-5 retransmissions) reduces interaction with the RTO timer, and may therefore reduce the probability of duplicate copies of the same packet being present in the link transmit buffer under some patterns of loss. The following table is calculated from the probability of loss, assuming the 'ideal' case of random loss. It shows the probability of successful frame transmission using an idealised ARQ procedure, i.e. one in which the control frames are not corrupted: Frame loss (random) Persistence (Link RTT) Average Frame Loss after Link ARQ 1% x3 0.0001% 1% x5 0.00000001% 3% x3 0.003% 3% x5 0.000002% 10% x3 0.1% 10% x5 0.001% 10% x7 0.00001% 30% x3 3% PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 8 Link ARQ issues for IP traffic November 2000 30% x5 0.2% 30% x7 0.02% 30% x9 0.002% 50% x3 12% 50% x5 3% 50% x7 0.8% 50% x9 0.2% When interpreting these results, remember that: a. Link protocols normally employ transparent fragmentation and all frames containing fragments must be delivered to reassemble an IP packet. b. Channel error conditions are seldom characterised by random loss. c. Link persistence is expressed in terms of multiples of the Link Round Trip Time (RTT). Some implementers have chosen a lower persistence, relying on TCP or a UDP application to recover any frames which are not recovered by the link ARQ protocol. Examples of low-persistence ARQ protocols include [SAM96, WAR95, CHE00]. 3. PACKET ORDERING A common debate is whether a link should be allowed to forward packets in an order different to that in which they were originally received at the link's transmit interface. IP networks are not required to deliver all datagrams in order, although generally networks do deliver most datagrams in their original transmission order. Routers supporting class-based queuing do reorder packets received, by reordering packets in different flows - but these usually retain per-flow ordering. Policy-based queuing, allowing fairer access to the link, may reorder packets. There is still much debate on optimal algorithms, and on optimum queue sizes for particular link speeds. This, however, is not related to use of link ARQ and applies to any (potential) bottleneck router. Although small amounts of reordering are common in IP networks [BEN00], significant re-ordering within a flow is undesirable, as it may have several effects: a. it may cause unwanted side effects in poorly-implemented IP fragment reassembly code. b. it may cause unwanted side effects in poorly-implemented IP demultiplexing (filter) code. PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 9 Link ARQ issues for IP traffic November 2000 c. it may cause unwanted side effects in poorly-implemented UDP applications. d. it will increase packet jitter for real-time applications. This may lead to application data loss if a small play-out buffer is used by the receiving application. e. it can reorder arrival of TCP segments, leading to generation of duplicate ACKs (dupacks [STE94, BAL97]). A sequence of three identical dupacks causes the TCP sender to trigger fast retransmission and recovery, a form of congestion avoidance, since TCP always assumes loss due to congestion [RFC2581, STE94]. f. it may impact congestion avoidance and may negatively impact overall throughput on paths with an appreciable delay. Reordering of TCP segments (e) reduces TCP throughput efficiency as far as the application is concerned, but it should not impact data integrity. Ordering effects must be considered when breaking the end-to-end paradigm and evaluating transport-level relays such as split TCP implementations or Protocol Enhancing Proxies [DRAFTBOR00]. As with total path delay, reordering effects are cumulative across multiple links. Do not assume that your link is the only link undertaking packet reordering, as some level of reordering may be introduced by other links along the same path, or by router processing within the network [BEN00]. TCP and UDP flows are impacted by the cumulative effect of reordering along the entire path. The link protocol should ideally eliminate reordering, or at least ensure that it does not significantly increase the level of reordering. A number of ARQ protocols have allowed out-of-order delivery [BAL95, SAM96, WAR95]. 3.1 USING LINK ARQ TO SUPPORT MULTIPLE FLOWS Most links can be expected to carry more than one IP traffic flow at a time. Some high-capacity links are expected to carry a very large number of simultaneous flows, often from and to a large number of different hosts. With use of multiple applications at a host, multiple flows can be considered the norm rather than the exception, even for last-hop links. When packets from several flows are simultaneously in transit within a link ARQ protocol, ARQ may cause a number of additional effects: a. ARQ introduces jitter to a TCP flow sharing a link with another flow experiencing loss. In-sequence link-level delivery of packets may adversely impact other applications sharing the link, and can increase the duration of the initial slow-start period for TCP flows PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 10 Link ARQ issues for IP traffic November 2000 for these applications. This is significant for short-lived TCP flows (e.g. those used by HTTP/1.0 and earlier), which spend most of their lives in slow-start. b. High-persistence ARQ may cause premature timeout of another flow's TCP RTO timer, although modern TCPs should not experience this since their computed RTO values should leave sufficient margin over path RTTs to cope with such jitter. c. ARQ introduces jitter to UDP flows. An end-to-end protocol may not require reliable delivery, particularly if it is delay- sensitive. Reordering of packets belonging to different flows may be desirable to achieve fair sharing of the link between established bulk data transfer sessions and sessions that transmit less data but would benefit from lower link transit delay. Preserving ordering within these different types of flows is worthwhile. 3.2 DIFFERENTIATION OF LINK SERVICE CLASSES High ARQ persistency is generally considered unsuitable for many applications using UDP, where reliable delivery is not always required and where it may introduce unacceptable jitter, but may benefit bulk data transfers under certain link conditions. A scheme which differentiates packet flows into two or more classes, to provide different service to each class, is therefore desirable. Observation of flow behaviour can tell you which flows are controlled and congestion-sensitive, or uncontrolled and not, so that you can treat them differently and ensure fairness. However, this cannot tell you whether a flow is intended as reliable or unreliable by its application, or what the application requires for best operation. Supporting different link services for different classes of flows therefore needs an explicit indication of the class of each IP packet. Some potential schemes for indicating the class of a packet include: a. Using the Type of Service (ToS [RFC791]) bits in the IP header. The IETF has replaced these globally-defined bits, which were rarely used, with a much more complex identification scheme for use with differentiated services (diffserv [RFC2475]). Diffserv defines classes of service that are mapped to various Per Hop Behaviours (PHBs) as the packet is processed within the network. Its uses include policy-based routing, class-based queuing, and support for other QoS metrics, including packet priority, delay, reliability, cost, etc. b. Inspecting the network packet header and viewing the IP protocol type [RFC791], to gain an idea of the packet contents and thus guess its needs. This is not possible when using the IP security PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 11 Link ARQ issues for IP traffic November 2000 extensions (IPSec) with an Authentication Header (AH) [RFC1826] or IPSEC with the Encapsulation Security Payload (ESP) [RFC1827]. c. By inspecting the transport packet header information to view the TCP or UDP headers and port numbers (e.g. [PAR00, BAL95]). This is not possible when using IPSEC with ESP [RFC1827], and incurs processing overhead in routers. There are, however, some drawbacks to these schemes: i. The ToS/Differential Services Code Point (DSCP) values [RFC2475] may not be set reliably, and may be overwritten by intermediate routers along the packet's path. These values may be set by an ISP, and do not necessarily indicate the level of reliability required by the end application. ii. Tunnelling of traffic (e.g. GRE, MPLS, L2TP, IP-in-IP encapsulation) can aggregate flows of different transport classes, complicating individual flow classification with schemes b. and c. and incurring further header processing if tunnel contents are inspected. iii. Use of the port number makes assumptions about application behaviour and requirements. New applications or protocols can invalidate these assumptions. iv. In IPv6, locating the transport layer protocol type requires parsing the whole IPv6 header, adding complexity to header inspection. Again, this assumes that IPSec is not used. Links that are unable to distinguish clearly and safely between delay-sensitive flows, e.g. real-time multimedia, DNS queries or telnet, and delay-insensitive flows, e.g. bulk ftp transfers, reliable multicast file transfer, cannot separate link service classes. All flows therefore share the same link behaviour. In general, if separation of flows according to class is not practicable, a low persistency is best for Link ARQ. 4. CONCLUSIONS It is currently difficult to make generalised statements about arbitrary patterns of loss that cover a wide range of link speeds and propagation delays. It is important that researchers and implementers clearly identify the link characteristics that they are considering. Some general statements follow, summarising the preceding discussion. In each case, it is recommended that specific details of the link characteristics and mechanisms are also considered; solutions vary with conditions. At low error rates, many of the details of ARQ become unimportant (e.g. persistence, out-of-order delivery). Most losses will be resolved in one or two retransmission attempts, and this is PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 12 Link ARQ issues for IP traffic November 2000 generally unlikely to cause significant impact to e.g. TCP. However, on shared high-delay links, the impact of ARQ on other UDP or TCP flows may cause unwanted jitter. In a link outage, interactions between ARQ and multiple flows are less significant; the ARQ protocol is likely to be equally unsuccessful in retransmitting frames for all flows. High persistence may also be desirable to enable prompt recovery once the channel is restored. However, this assumes that the channel outage time is orders of magnitude less than the end-to-end path delay. If the outage is sufficiently long, dropping packets and leaving recovery up to the applications at the end systems is best. For links with highly-variable error rates, high ARQ persistence may provide good performance for a single TCP flow (at least until the point of RTO expiry). However, lower persistence may in some cases have merit, particularly when many flows share and compete for capacity on the same link. The reasoning here is that the link can perform useful work forwarding some complete packets, and that blocking all flows by retransmitting a single frame with high persistence is undesirable. Low ARQ persistence is particularly useful where it is difficult or impossible to classify traffic flows, and hence treat them independently, and where the link capacity can accommodate a number of simultaneous flows. In summary, low persistence is generally desirable; preserving packet ordering is generally desirable. Extremely high persistence is generally undesirable. However, there is currently insufficient experience to recommend a specific ARQ scheme for any class of link. It is also important to realise that link ARQ is just one method of error recovery, and that other complementary physical-layer techniques may be used instead of, or together with, ARQ to improve overall throughput of IP traffic. The choice of potential schemes includes adapting the data rate, adapting the signal bandwidth, adapting the transmission power, adaptive modulation, and adaptive information redundancy / forward error control (FEC). All these schemes can be used to improve the received signal energy per bit, and hence reduce error, frame loss and resulting packet loss rates given specific physical channel conditions. There is a need for more research to more clearly identify the importance of and trade-offs between the above issues over various types of link. It would be useful if researchers clearly indicated the loss model, link capacity and characteristics, link and end-to- end path delays, details of TCP, and the number (and characteristics) of flows sharing a link when describing their experiences. PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 13 Link ARQ issues for IP traffic November 2000 5. SECURITY IMPLICATIONS No security implications have been identified as directly impacting IP traffic. However, an unreliable link service may adversely impact some link-layer key management distribution protocols if encryption is used over such a link. Denial of service attacks exploiting the behaviour of the link protocol, e.g. using knowledge of its retransmission behaviour and propagation delay to cause a particular form of jamming', may be specific to individual link scenarios. 6. ACKNOWLEDGMENTS Much of what is described here has been developed from a summary of a subset of the discussions on the archived IETF PILC mailing list. We thank the contributors to PILC for vigorous debate. 7. REFERENCES References of the form RFCnnnn are Internet Request for Comments (RFC) documents available online at http://www.rfc-editor.org/. [BAL95] H. Balakrishnan, S. Seshan and R. H. Katz, Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks, ACM MOBICOM, Berkeley, 1995. [BAL97] H. Balakrishnan, V. N. Padmanabhan, S. Seshan and R. H. Katz, A Comparison of Mechanisms for Improving TCP Performance over Wireless Links, IEEE/ACM Transactions on Networking, 5(6): p. 756- 759, 1997. [BEN00] J.C. Bennett, C. Partridge, and N. Schectman, Packet Reordering is Not Pathological Network Behaviour, IEEE/ACM Transactions on Networking, 7(6), pp. 789-798, 2000. [BHA97] P. Bhagwat, P. Bhattacharya, A. Krishna and S. K. Tripathi, Using channel state dependent packet scheduling to improve TCP throughput over wireless LANs, ACM/Baltzer Wireless Networks Journal, (3)1, 1997. [CHE00] H. S. Cheng, G. Fairhurst, et al., An Efficient Partial Retransmission ARQ Strategy with Error Codes by Feedback Channel, IEE Proceedings - Communications, (147)5, pp. 263-268, 2000. [DRAFTBOR00] J. Border, M. Kojo, J. Griner, et al., Performance Enhancing Proxies, draft-ietf-pilc-pep-nn.txt, work in progress as internet-draft. [DRAFTDAW00] S. Dawkins, G. Montenegro, M. Kojo, et al., End-to- end Performance Implications of Links with Errors, draft-ietf-pilc- error-nn.txt, work in progress as internet-draft. PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 14 Link ARQ issues for IP traffic November 2000 [DRAFTKARN00] P. Karn, A. Falk, J. Touch, M-J. Montpetit et al., Advice for Internet Subnetwork Designers, draft-ietf-pilc-link- design-nn.txt, work in progress as internet-draft. [ECK98] D. A. Eckhardt and P. Steenkiste, Improving Wireless LAN Performance via Adaptive Local Error Control, IEEE ICNP, 1998. [FER99] A. Ferrero, The Eternal Ethernet, Addison-Wesley, 1999. [ISO4335] HDLC Procedures: Specification for Consolidation of Elements of Procedures, ISO 4335 and AD/1, International Standardization Organization, 1985. [ISO4335a] HDLC Procedures: Elements of Procedures, Amendment 4: Multi-Selective Reject Option, ISO 4335/4, International Standards Organization, 1991. [ISO7776] Specification for X.25 LAPB-Compatible DTE Data Link Procedures, ISO 4335/4, International Standards Organization, 1985. [KEN88] C. A. Kent and J. C. Mogul. Fragmentation Considered Harmful, Proceedings of ACM SIGCOMM, p390-401, 1988. [LUD99] R. Ludwig, B. Rathonyi, A. Konrad, K. Oden and A. Joseph, Multi-Layer Tracing of TCP over a Reliable Wireless Link, ACM SIGMETRICS, pp. 144-154, 1999. [LUD99a] R. Ludwig, A. Konrad, A. Joseph, and R. Katz, Optimizing the End-to-End Performance of Reliable Flows over Wireless Links, ACM MobiCOM, 1999. [LUD00] R. Ludwig and R. Katz, The Eifel Algorithm: Making TCP Robust Against Spurious Retransmissions, ACM Computer Communication Review, Volume 30, number 1, January 2000. [MEY99] M. Meyer, TCP Performance over GPRS, IEEE WCNC, 1999. [PAR00] C. Parsa and J. J. Garcia-Luna-Aceves, Improving TCP Performance over Wireless Networks at the Link Layer, Mobile Networks and Applications, (1)5, p 57-71, 2000. [RFC791] J. Postel, Internet Protocol, RFC 791, 1981. [RFC1122] R. Braden et al., Requirements for Internet Hosts -- Communication Layers, RFC 1122, 1989. [RFC1191] J. Mogul and S. Deering, Path MTU Discovery, RFC 1191, 1990. [RFC1323] V. Jacobson and R. Braden, TCP Extensions for High Performance, RFC 1323, 1992. [RFC1435] S. Knowles, IESG Advice from Experience with Path MTU Discovery, RFC 1435, 1993. PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 15 Link ARQ issues for IP traffic November 2000 [RFC1826] R. Atkinson, IP Authentication Header (AH), RFC 1826, 1995. [RFC1827] R. Atkinson, IP Encapsulating Security Payload (ESP), RFC 1827, 1995. [RFC2475] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang and W. Weiss, An Architecture for Differentiated Services, RFC 2475, 1998. [RFC2488] M. Allman, D. Glover and L. Sanchez, Enhancing TCP Over Satellite Channels using Standard Mechanisms, RFC 2488, 1999. [RFC2581] M. Allman, V. Paxson and W. Stevens, TCP Congestion Control, RFC 2581, 1999. [RFC2760] M. Allman, S. Dawkins, D. Glover et al., Ongoing TCP Research Related to Satellites, RFC 2760, 1999. [SAL81] J. H. Saltzer, D. P. Reed and D. Clark, End-to- End Arguments in System Design. Second International Conference on Distributed Computing Systems, pp. 509-512, 1988. Published with minor changes in ACM Transactions in Computer Systems (2)4, p277- 288, 1984. [SAM96] N. Samaraweera and G. Fairhurst, Robust Data Link Protocols for Connection-less Service over Satellite Links, International Journal of Satellite Communications, 14(5), p427-437, 1996. [SAM98] N. Samaraweera and G. Fairhurst, Reinforcement of TCP/IP Error Recovery for Wireless Communications, ACM CCR, 28(2), p. 30- 38, 1998. [STE94] W. R. Stevens, TCP/IP Illustrated, Volume 1, Addison-Wesley, 1994. [WAR95] C. Ward, et al., A Data Link Control Protocol for LEO Satellite Networks Providing a Reliable Datagram Service, IEEE/ACM Transactions on Networking, 3(1), 1995. AUTHORS' ADDRESSES Gorry Fairhurst (gorry@erg.abdn.ac.uk) Department of Engineering, University of Aberdeen, Aberdeen, AB24 3UE, United Kingdom. Lloyd Wood (lwood@cisco.com) Cisco Systems Ltd, 4 The Square, Stockley Park, Uxbridge UB11 1BY, United Kingdom. FULL COPYRIGHT STATEMENT Copyright (C) The Internet Society (2000). All Rights Reserved. PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 16 Link ARQ issues for IP traffic November 2000 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. PILC - LINK ARQ INTERNET-DRAFT - Expires May 2001 17