⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2757.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:
      -  ESRO [RFC2188]

      -  RDP [RFC908, RFC1151]

      -  VMTP [VMTP]

3 The Case for TCP

   This is one of the most hotly debated issues in the wireless arena.
   Here are some arguments against it:

      -  It is generally recognized that TCP does not perform well in
         the presence of significant levels of non-congestion loss.  TCP
         detractors argue that the wireless medium is one such case, and
         that it is hard enough to fix TCP. They argue that it is easier
         to start from scratch.

      -  TCP has too much header overhead.

      -  By the time the mechanisms are in place to fix it, TCP is very
         heavy, and ill-suited for use by lightweight, portable devices.

   and here are some in support of TCP:

      -  It is preferable to continue using the same protocol that the
         rest of the Internet uses for compatibility reasons. Any
         extensions specific to the wireless link may be negotiated.

      -  Legacy mechanisms may be reused (for example three-way
         handshake).

      -  Link-layer FEC and ARQ can reduce the BER such that any losses
         TCP does see are, in fact, caused by congestion (or a sustained
         interruption of link connectivity). Modern W-WAN technologies
         do this (CDPD, US-TDMA, CDMA, GSM), thus improving TCP
         throughput.

      -  Handoffs among different technologies are made possible by
         Mobile IP [RFC2002], but only if the same protocols, namely
         TCP/IP, are used throughout.

      -  Given TCP's wealth of research and experience, alternative
         protocols are relatively immature, and the full implications of
         their widespread deployment not clearly understood.

   Overall, we feel that the performance of TCP over long-thin networks
   can be improved significantly. Mechanisms to do so are discussed in
   the next sections.



Montenegro, et al.           Informational                     [Page 11]

RFC 2757                   Long Thin Networks               January 2000


4 Candidate Optimizations

   There is a large volume of work on the subject of optimizing TCP for
   operation over wireless media. Even though satellite networks
   generally fall in the LFN regime, our current LTN focus has much to
   benefit from it.  For example, the work of the TCP-over-Satellite
   working group of the IETF has been extremely helpful in preparing
   this section [AGS98, ADGGHOSSTT98].

4.1 TCP: Current Mechanisms

   A TCP sender adapts its use of bandwidth based on feedback from the
   receiver. The high latency characteristic of LTNs implies that TCP's
   adaptation is correspondingly slower than on networks with shorter
   delays.  Similarly, delayed ACKs exacerbate the perceived latency on
   the link. Given that TCP grows its congestion window in units of
   segments, small MTUs may slow adaptation even further.

4.1.1 Slow Start and Congestion Avoidance

   Slow Start and Congestion Avoidance [RFC2581] are essential the
   Internet's stability.  However there are two reasons why the wireless
   medium adversely affects them:

      -  Whenever TCP's retransmission timer expires, the sender assumes
         that the network is congested and invokes slow start. This is
         why it is important to minimize the losses caused by
         corruption, leaving only those caused by congestion (as
         expected by TCP).

      -  The sender increases its window based on the number of ACKs
         received. Their rate of arrival, of course, is dependent on the
         RTT (round-trip-time) between sender and receiver, which
         implies long ramp-up times in high latency links like LTNs. The
         dependency lasts until the pipe is filled.

      -  During slow start, the sender increases its window in units of
         segments. This is why it is important to use an appropriately
         large MTU which, in turn, requires requires link layers with
         low loss.

4.1.2 Fast Retransmit and Fast Recovery

   When a TCP sender receives several duplicate ACKs, fast retransmit
   [RFC2581] allows it to infer that a segment was lost.  The sender
   retransmits what it considers to be this lost segment without waiting
   for the full timeout, thus saving time.




Montenegro, et al.           Informational                     [Page 12]

RFC 2757                   Long Thin Networks               January 2000


   After a fast retransmit, a sender invokes the fast recovery [RFC2581]
   algorithm. Fast recovery allows the sender to transmit at half its
   previous rate (regulating the growth of its window based on
   congestion avoidance), rather than having to begin a slow start. This
   also saves time.

   In general, TCP can increase its window beyond the delay-bandwidth
   product. However, in LTN links the congestion window may remain
   rather small, less than four segments, for long periods of time due
   to any of the following reasons:

      1. Typical "file size" to be transferred over a connection is
         relatively small (Web requests, Web document objects, email
         messages, files, etc.) In particular, users of LTNs are not
         very willing to carry out large transfers as the response time
         is so long.

      2. If the link has high BER, the congestion window tends to stay
         small

      3. When an LTN is combined with a highly congested wireline
         Internet path, congestion losses on the Internet have the same
         effect as 2.

      4. Commonly, ISPs/operators configure only a small number of
         buffers (even as few as for 3 packets) per user in their dial-
         up routers

      5. Often small socket buffers are recommended with LTNs in order
         to prevent the RTO from inflating and to diminish the amount of
         packets with competing traffic.

   A small window effectively prevents the sender from taking advantage
   of Fast Retransmits. Moreover, efficient recovery from multiple
   losses within a single window requires adoption of new proposals
   (NewReno [RFC2582]). In addition, on slow paths with no packet
   reordering waiting for three duplicate ACKs to arrive postpones
   retransmission unnecessarily.

   Recommendation: Implement Fast Retransmit and Fast Recovery at this
   time. This is a widely-implemented optimization and is currently at
   Proposed Standard level. [AGS98] recommends implementation of Fast
   Retransmit/Fast Recovery in satellite environments.  NewReno
   [RFC2582] apparently does help a sender better handle partial ACKs
   and multiple losses in a single window, but at this point is not
   recommended due to its experimental nature.  Instead, SACK [RFC2018]
   is the preferred mechanism.




Montenegro, et al.           Informational                     [Page 13]

RFC 2757                   Long Thin Networks               January 2000


4.2 Connection Setup with T/TCP [RFC1397, RFC1644]

   TCP engages in a "three-way handshake" whenever a new connection is
   set up.  Data transfer is only possible after this phase has
   completed successfully.  T/TCP allows data to be exchanged in
   parallel with the connection set up, saving valuable time for short
   transactions on long-latency networks.

   Recommendation: T/TCP is not recommended, for these reasons:

   -  It is an Experimental RFC.

   -  It is not widely deployed, and it has to be deployed at both ends
      of a connection.

   -  Security concerns have been raised that T/TCP is more vulnerable
      to address-spoofing attacks than TCP itself.

   -  At least some of the benefits of T/TCP (eliminating three-way
      handshake on subsequent query-response transactions, for instance)
      are also available with persistent connections on HTTP/1.1, which
      is more widely deployed.

   [ADGGHOSSTT98] does not have a recommendation on T/TCP in satellite
   environments.

4.3 Slow Start Proposals

   Because slow start dominates the network response seen by interactive
   users at the beginning of a TCP connection, a number of proposals
   have been made to modify or eliminate slow start in long latency
   environments.

   Stability of the Internet is paramount, so these proposals must
   demonstrate that they will not adversely affect Internet congestion
   levels in significant ways.

4.3.1 Larger Initial Window

   Traditional slow start, with an initial window of one segment, is a
   time-consuming bandwidth adaptation procedure over LTNs. Studies on
   an initial window larger than one segment [RFC2414, AHO98] resulted
   in the TCP standard supporting a maximum value of 2 [RFC2581]. Higher
   values are still experimental in nature.







Montenegro, et al.           Informational                     [Page 14]

RFC 2757                   Long Thin Networks               January 2000


   In simulations with an increased initial window of three packets
   [RFC2415], this proposal does not contribute significantly to packet
   drop rates, and it has the added benefit of improving initial
   response times when the peer device delays acknowledgements during
   slow start (see next proposal).

   [RFC2416] addresses situations where the initial window exceeds the
   number of buffers available to TCP and indicates that this situation
   is no different from the case where the congestion window grows
   beyond the number of buffers available.

   [RFC2581] now allows an initial congestion window of two segments. A
   larger initial window, perhaps as many as four segments, might be
   allowed in the future in environments where this significantly
   improves performance (LFNs and LTNs).

   Recommendation: Implement this on devices now. The research on this
   optimization indicates that 3 segments is a safe initial setting, and
   is centering on choosing between 2, 3, and 4. For now, use 2
   (following RFC2581), which at least allows clients running query-
   response applications to get an initial ACK from unmodified servers
   without waiting for a typical delayed ACK timeout of 200
   milliseconds, and saves two round-trips. An initial window of 3
   [RFC2415] looks promising and may be adopted in the future pending
   further research and experience.

4.3.2 Growing the Window during Slow Start

   The sender increases its window based on the flow of ACKs coming back
   from the receiver. Particularly during slow start, this flow is very
   important.  A couple of the proposals that have been studied are (1)
   ACK counting and (2) ACK-every-segment.

4.3.2.1 ACK Counting

   The main idea behind ACK counting is:

      -  Make each ACK count to its fullest by growing the window based
         on the data being acknowledged (byte counting) instead of the
         number of ACKs (ACK counting). This has been shown to cause
         bursts which lead to congestion. [Allman98] shows that Limited
         Byte Counting (LBC), in which the window growth is limited to 2
         segments, does not lead to as much burstiness, and offers some
         performance gains.

   Recommendation: Unlimited byte counting is not recommended.  Van
   Jacobson cautions against byte counting [TCPSATMIN] because it leads
   to burstiness, and recommends ACK spacing [ACKSPACING] instead.



Montenegro, et al.           Informational                     [Page 15]

RFC 2757                   Long Thin Networks               January 2000


   ACK spacing requires ACKs to consistently pass through a single ACK-
   spacing router.  This requirement works well for W-WAN environments
   if the ACK-spacing router is also the intermediate node.

⌨️ 快捷键说明

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