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