rfc3366.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,431 行 · 第 1/5 页

TXT
1,431
字号






Network Working Group                                       G. Fairhurst
Request for Comments: 3366                        University of Aberdeen
BCP: 62                                                          L. Wood
Category: Best Current Practice                        Cisco Systems Ltd
                                                             August 2002


    Advice to link designers on link Automatic Repeat reQuest (ARQ)

Status of this Memo

   This document specifies an Internet Best Current Practices for the
   Internet Community, and requests discussion and suggestions for
   improvements.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2002).  All Rights Reserved.

Abstract

   This document provides advice to the designers of digital
   communication equipment and link-layer protocols employing link-layer
   Automatic Repeat reQuest (ARQ) techniques.  This document presumes
   that the designers wish to support Internet protocols, but may be
   unfamiliar with the architecture of the Internet and with the
   implications of their design choices for the performance and
   efficiency of Internet traffic carried over their links.

   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 channel.  This document
   also describes issues relevant to supporting IP traffic over
   physical-layer channels where performance varies, and where link ARQ
   is likely to be used.
















Fairhurst & Wood         Best Current Practice                  [Page 1]

RFC 3366          Advice to Link Designers on Link ARQ       August 2002


Table of Contents

   1.    Introduction. . . . . . . . . . . . . . . . . . . . . . . . .2
   1.1   Link ARQ. . . . . . . . . . . . . . . . . . . . . . . . . . .4
   1.2   Causes of Packet Loss on a Link . . . . . . . . . . . . . . .5
   1.3   Why Use ARQ?. . . . . . . . . . . . . . . . . . . . . . . . .6
   1.4   Commonly-used ARQ Techniques. . . . . . . . . . . . . . . . .7
   1.4.1 Stop-and-wait ARQ . . . . . . . . . . . . . . . . . . . . . .7
   1.4.2 Sliding-Window ARQ. . . . . . . . . . . . . . . . . . . . . .7
   1.5   Causes of Delay Across a Link . . . . . . . . . . . . . . . .8
   2.    ARQ Persistence . . . . . . . . . . . . . . . . . . . . . . 10
   2.1   Perfectly-Persistent (Reliable) ARQ Protocols . . . . . . . 10
   2.2   High-Persistence (Highly-Reliable) ARQ Protocols. . . . . . 12
   2.3   Low-Persistence (Partially-Reliable) ARQ Protocols. . . . . 13
   2.4   Choosing Your Persistency . . . . . . . . . . . . . . . . . 13
   2.5   Impact of Link Outages. . . . . . . . . . . . . . . . . . . 14
   3.    Treatment of Packets and Flows. . . . . . . . . . . . . . . 15
   3.1   Packet Ordering . . . . . . . . . . . . . . . . . . . . . . 15
   3.2   Using Link ARQ to Support Multiple Flows. . . . . . . . . . 16
   3.3   Differentiation of Link Service Classes . . . . . . . . . . 17
   4.    Conclusions . . . . . . . . . . . . . . . . . . . . . . . . 19
   5.    Security Considerations . . . . . . . . . . . . . . . . . . 21
   6.    IANA Considerations . . . . . . . . . . . . . . . . . . . . 21
   7.    Acknowledgements. . . . . . . . . . . . . . . . . . . . . . 22
   8.    References. . . . . . . . . . . . . . . . . . . . . . . . . 22
   8.1   Normative References. . . . . . . . . . . . . . . . . . . . 22
   8.2   Informative References. . . . . . . . . . . . . . . . . . . 23
   9.    Authors' Addresses. . . . . . . . . . . . . . . . . . . . . 26
   10.   Full Copyright Statement. . . . . . . . . . . . . . . . . . 27

1. Introduction

   IP, the Internet Protocol [RFC791], forms the core protocol of the
   global Internet and defines a simple "connectionless" packet-switched
   network.  Over the years, Internet traffic using IP has been carried
   over a wide variety of links, of vastly different capacities, delays
   and loss characteristics.  In the future, IP traffic can be expected
   to continue to be carried over a very wide variety of new and
   existing link designs, again of varied characteristics.

   A companion document [DRAFTKARN02] describes the general issues
   associated with link design.  This document should be read in
   conjunction with that and with other documents produced by the
   Performance Implications of Link Characteristics (PILC) IETF
   workgroup [RFC3135, RFC3155].






Fairhurst & Wood         Best Current Practice                  [Page 2]

RFC 3366          Advice to Link Designers on Link ARQ       August 2002


   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) [ISO4335a] or
      its derivatives.

   b. Link implementers who may wish to design new link mechanisms that
      perform well for IP traffic.

   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 such details
   for protocol 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.

   Perfect reliability is not a requirement for IP networks, nor is it a
   requirement for links [DRAFTKARN02].  IP networks may discard packets
   due to a variety of reasons entirely unrelated to channel errors,
   including lack of queuing space, congestion management, faults, and
   route changes.  It has long been widely understood that perfect
   end-to-end reliability can be ensured only at, or above, the
   transport layer [SALT81].

   Some familiarity with TCP, the Transmission Control Protocol [RFC793,
   STE94], is presumed here.  TCP provides a reliable byte-stream
   transport service, building upon the best-effort datagram delivery
   service provided by the Internet Protocol.  TCP achieves this by
   dividing data into TCP segments, and transporting these segments in
   IP packets.  TCP guarantees that a TCP session will retransmit the
   TCP segments contained in any data packets that are lost along the
   Internet path between endhosts.  TCP normally performs retransmission
   using its Fast Retransmit procedure, but if the loss fails to be
   detected (or retransmission is unsuccessful), TCP falls back to a
   Retransmission Time Out (RTO) retransmission using a timer [RFC2581,
   RFC2988].  (Link protocols also implement timers to verify integrity
   of the link, and to assist link ARQ.)  TCP also copes with any
   duplication or reordering introduced by the IP network.  There are a
   number of variants of TCP, with differing levels of sophistication in





Fairhurst & Wood         Best Current Practice                  [Page 3]

RFC 3366          Advice to Link Designers on Link ARQ       August 2002


   their procedures for handling loss recovery and congestion avoidance.
   Far from being static, the TCP protocol is itself subject to ongoing
   gradual refinement and evolution, e.g., [RFC2488, RFC2760].

   Internet networks may reasonably be expected to carry traffic from a
   wide and evolving range of applications.  Not all applications
   require or benefit from using the reliable service provided by TCP.
   In the Internet, these applications are carried by alternate
   transport protocols, such as the User Datagram Protocol (UDP)
   [RFC768].

1.1 Link ARQ

   At the link layer, ARQ operates on blocks of data, known as frames,
   and attempts to deliver frames from the link sender to the link
   receiver over a channel.  The channel provides the physical-layer
   connection over which the link protocol operates.  In its simplest
   form, a channel may be a direct physical-layer connection between the
   two link nodes (e.g., across a length of cable or over a wireless
   medium).  ARQ may also be used edge-to-edge across a subnetwork,
   where the path includes more than one physical-layer medium.  Frames
   often have a small fixed or maximum size for convenience of
   processing by Medium-Access Control (MAC) and link protocols.  This
   contrasts with the variable lengths of IP datagrams, or 'packets'.  A
   link-layer frame may contain all, or part of, one or more IP packets.
   A link ARQ mechanism relies on an integrity check for each frame
   (e.g., strong link-layer CRC [DRAFTKARN02]) to detect channel errors,
   and uses a retransmission process to retransmit lost (i.e., missing
   or corrupted) frames.

   Links may be full-duplex (allowing two-way communication over
   separate forward and reverse channels), half-duplex (where two-way
   communication uses a shared forward and reverse channel, e.g., IrDA,
   IEEE 802.11) or simplex (where a single channel permits communication
   in only one direction).

   ARQ requires both a forward and return path, and therefore link ARQ
   may be used over links that employ full- or half-duplex links.  When
   a channel is shared between two or more link nodes, a link MAC
   protocol is required to ensure all nodes requiring transmission can
   gain access to the shared channel.  Such schemes may add to the delay
   (jitter) associated with transmission of packet data and ARQ control
   frames.

   When using ARQ over a link where the probability of frame loss is
   related to the frame size, there is an optimal frame size for any
   specific target channel error rate.  To allow for efficient use of
   the channel, this maximum link frame size may be considerably lower



Fairhurst & Wood         Best Current Practice                  [Page 4]

RFC 3366          Advice to Link Designers on Link ARQ       August 2002


   than the maximum IP datagram size specified by the IP Maximum
   Transmission Unit (MTU).  Each frame will then contain only a
   fraction of an IP packet, and transparent implicit fragmentation of
   the IP datagram is used [DRAFTKARN02].  A smaller frame size
   introduces more frame header overhead per payload byte transported.

   Explicit network-layer IP fragmentation is undesirable for a variety
   of reasons, and should be avoided [KEN87, DRAFTKARN02].  Its use can
   be minimized with use of Path MTU discovery [RFC1191, RFC1435,
   RFC1981].

   Another way to reduce the frame loss rate (or reduce transmit signal
   power for the same rate of frame loss) is to use coding, e.g.,
   Forward Error Correction (FEC) [LIN93].

   FEC is commonly included in the physical-layer design of wireless
   links and may be used simultaneously with link ARQ.  FEC schemes
   which combine modulation and coding also exist, and may also be
   adaptive.  Hybrid ARQ [LIN93] combines adaptive FEC with link ARQ
   procedures to reduce the probability of loss of retransmitted frames.
   Interleaving may also be used to reduce the probability of frame loss
   by dispersing the occurrence of errors more widely in the channel to
   improve error recovery; this adds further delay to the channel's
   existing propagation delay.

   The document does not consider the use of link ARQ to support a
   broadcast or multicast service within a subnetwork, where a link may
   send a single packet to more than one recipient using a single link
   transmit operation.  Although such schemes are supported in some
   subnetworks, they raise a number of additional issues not examined
   here.

   Links supporting stateful reservation-based quality of service (QoS)
   according to the Integrated Services (intserv) model are also not
   explicitly discussed.

1.2 Causes of Packet Loss on a Link

   Not all packets sent to a link are necessarily received successfully
   by the receiver at the other end of the link.  There are a number of
   possible causes of packet loss.  These may occur as frames travel
   across a link, and include:

   a. Loss due to channel noise, often characterised by random frame
      loss.  Channel noise may also result from other traffic degrading
      channel conditions.





Fairhurst & Wood         Best Current Practice                  [Page 5]

RFC 3366          Advice to Link Designers on Link ARQ       August 2002


   b. Frame loss due to channel interference.  This interference can

⌨️ 快捷键说明

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