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

📄 rfc2757.txt

📁 <VC++网络游戏建摸与实现>源代码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   Even though simulations confirm its promise (it allows receivers to   receive the second segment from unmodified senders without waiting   for a typical delayed ACK timeout of 200 milliseconds), for this   technique to be practical the receiver must acknowledge every segment   only when the sender is in slow start.  Continuing to do so when the   sender is in congestion avoidance may have adverse effects on the   mobile device's battery consumption and on traffic in the network.   This violates a SHOULD in [RFC2581]:  delayed acknowledgements SHOULD   be used by a TCP receiver.   "Disabling Delayed ACKs During Slow Start" is technically   unimplementable, as the receiver has no way of knowing when the   sender crosses ssthresh (the "slow start threshold") and begins using   the congestion avoidance algorithm.  If receivers follow   recommendations for increased initial windows, disabling delayed ACKs   during an increased initial window would open the TCP window more   rapidly without doubling ACK traffic in general.  However, this   scheme might double ACK traffic if most connections remain in slow-   start.   Recommendation: ACK only the first segment on a new connection with   no delay.Montenegro, et al.           Informational                     [Page 16]RFC 2757                   Long Thin Networks               January 20004.3.3 Terminating Slow Start   New mechanisms [ADGGHOSSTT98] are being proposed to improve TCP's   adaptive properties such that the available bandwidth is better   utilized while reducing the possibility of congesting the network.   This results in the closing of the congestion window to 1 segment   (which precludes fast retransmit), and the subsequent slow start   phase.   Theoretically, an optimum value for slow-start threshold (ssthresh)   allows connection bandwidth utilization to ramp up as aggressively as   possible without "overshoot" (using so much bandwidth that packets   are lost and congestion avoidance procedures are invoked).   Recommendation: Estimating the slow start threshold is not   recommended.  Although this would be helpful if we knew how to do it,   rough consensus on the tcp-impl and tcp-sat mailing lists is that in   non-trivial operational networks there is no reliable method to probe   during TCP startup and estimate the bandwidth available.4.3.4 Generating ACKs during Slow Start   Mitigations that inject additional ACKs (whether "ACK-first-segment"   or "ACK-every-segment-during-slow-start") beyond what today's   conformant TCPs inject are only applicable during the slow-start   phases of a connection. After an initial exchange, the connection   usually completes slow-start, so TCPs only inject additional ACKs   when (1) the connection is closed, and a new connection is opened, or   (2) the TCPs handle idle connection restart correctly by performing   slow start.   Item (1) is typical when using HTTP/1.0, in which each request-   response transaction requires a new connection.  Persistent   connections in HTTP/1.1 help in maintaining a connection in   congestion avoidance instead of constantly reverting to slow-start.   Because of this, these optimizations which are only enabled during   slow-start do not get as much of a chance to act. Item (2), of   course, is independent of HTTP version.4.4 ACK Spacing   During slow start, the sender responds to the incoming ACK stream by   transmitting N+1 segments for each ACK, where N is the number of new   segments acknowledged by the incoming ACK.  This results in data   being sent at twice the speed at which it can be processed by the   network.  Accordingly, queues will form, and due to insufficient   buffering at the bottleneck router, packets may get dropped before   the link's capacity is full.Montenegro, et al.           Informational                     [Page 17]RFC 2757                   Long Thin Networks               January 2000   Spacing out the ACKs effectively controls the rate at which the   sender will transmit into the network, and may result in little or no   queueing at the bottleneck router [ACKSPACING].  Furthermore, ack   spacing reduces the size of the bursts.   Recommendation: No recommendation at this time. Continue monitoring   research in this area.4.5 Delayed Duplicate Acknowlegements   As was mentioned above, link-layer retransmissions may decrease the   BER enough that congestion accounts for most of packet losses; still,   nothing can be done about interruptions due to handoffs, moving   beyond wireless coverage, etc. In this scenario, it is imperative to   prevent interaction between link-layer retransmission and TCP   retransmission as these layers duplicate each other's efforts. In   such an environment it may make sense to delay TCP's efforts so as to   give the link-layer a chance to recover. With this in mind, the   Delayed Dupacks [MV97, Vaidya99] scheme selectively delays duplicate   acknowledgements at the receiver.  It is preferable to allow a local   mechanism to resolve a local problem, instead of invoking TCP's end-   to-end mechanism and incurring the associated costs, both in terms of   wasted bandwidth and in terms of its effect on TCP's window behavior.   The Delayed Dupacks scheme can be used despite IP encryption since   the intermediate node does not need to examine the TCP headers.   Currently, it is not well understood how long the receiver should   delay the duplicate acknowledgments. In particular, the impact of   wireless medium access control (MAC) protocol on the choice of delay   parameter needs to be studied. The MAC protocol may affect the   ability to choose the appropriate delay (either statically or   dynamically). In general, significant variabilities in link-level   retransmission times can have an adverse impact on the performance of   the Delayed Dupacks scheme. Furthermore, as discussed later in   section 4.10.3, Delayed Dupacks and some other schemes (such as Snoop   [SNOOP]) are only beneficial in certain types of network links.   Recommendation: Delaying duplicate acknowledgements may be useful in   specific network topologies, but a general recommendation requires   further research and experience.4.6 Selective Acknowledgements [RFC2018]   SACK may not be useful in many LTNs, according to Section 1.1 of   [TCPHP].  In particular, SACK is more useful in the LFN regime,   especially if large windows are being used, because there is aMontenegro, et al.           Informational                     [Page 18]RFC 2757                   Long Thin Networks               January 2000   considerable probability of multiple segment losses per window. In   the LTN regime, TCP windows are much smaller, and burst errors must   be much longer in duration in order to damage multiple segments.   Accordingly, the complexity of SACK may not be justifiable, unless   there is a high probability of burst errors and congestion on the   wireless link. A desire for compatibility with TCP recommendations   for non-LTN environments may dictate LTN support for SACK anyway.   [AGS98] recommends use of SACK with Large TCP Windows in satellite   environments, and notes that this implies support for PAWS   (Protection Against Wrapped Sequence space) and RTTM (Round Trip Time   Measurement) as well.   Berkeley's SNOOP protocol research [SNOOP] indicates that SACK does   improve throughput for SNOOP when multiple segments are lost per   window [BPSK96]. SACK allows SNOOP to recover from multi-segment   losses in one round-trip. In this case, the mobile device needs to   implement some form of selective acknowledgements.  If SACK is not   used, TCP may enter congestion avoidance as the time needed to   retransmit the lost segments may be greater than the retransmission   timer.   Recommendation: Implement SACK now for compatibility with other TCPs   and improved performance with SNOOP.4.7 Detecting Corruption Loss4.7.1 Without Explicit Notification   In the absence of explicit notification from the network, some   researchers have suggested statistical methods for congestion   avoidance [Jain89, WC91, VEGAS]. A natural extension of these   heuristics would enable a sender to distinguish between losses caused   by congestion and other causes.  The research results on the   reliability of sender-based heuristics is unfavorable [BV97, BV98].   [BV98a] reports better results in constrained environments using   packet inter-arrival times measured at the receiver, but highly-   variable delay - of the type encountered in wireless environments   during intercell handoff - confounds these heuristics.   Recommendation: No recommendation at this time - continue to monitor   research results.Montenegro, et al.           Informational                     [Page 19]RFC 2757                   Long Thin Networks               January 20004.7.2 With Explicit Notifications   With explicit notification from the network it is possible to   determine when a loss is due to congestion. Several proposals along   these lines include:      -  Explicit Loss Notification (ELN) [BPSK96]      -  Explicit Bad State Notification (EBSN) [BBKVP96]      -  Explicit Loss Notification to the Receiver (ELNR), and Explicit         Delayed Dupack Activation Notification (EDDAN) (notifications         to mobile receiver) [MV97]      -  Explicit Congestion Notification (ECN) [ECN]   Of these proposals, Explicit Congestion Notification (ECN) seems   closest to deployment on the Internet, and will provide some benefit   for TCP connections on long thin networks (as well as for all other   TCP connections).   Recommendation: No recommendation at this time. Schemes like ELNR and   EDDAN [MV97], in which  the only systems that need to be modified are   the intermediate node and the mobile device, are slated for adoption   pending further research.  However, this solution has some   limitations. Since the intermediate node must have access to the TCP   headers, the IP payload must not be encrypted.   ECN uses the TOS byte in the IP header to carry congestion   information (ECN-capable and Congestion-encountered).  This byte is   not encrypted in IPSEC, so ECN can be used on TCP connections that   are encrypted using IPSEC.   Recommendation: Implement ECN. In spite of this, mechanisms for   explicit corruption notification are still relevant and should be   tracked.   Note: ECN provides useful information to avoid deteriorating further   a bad situation, but has some limitations for wireless applications.   Absence of packets marked with ECN should not be interpreted by ECN-   capable TCP connections as a green light for aggressive   retransmissions. On the contrary, during periods of extreme network   congestion routers may drop packets marked with explicit notification   because their buffers are exhausted - exactly the wrong time for a   host to begin retransmitting aggressively.Montenegro, et al.           Informational                     [Page 20]RFC 2757                   Long Thin Networks               January 20004.8 Active Queue Management   As has been pointed out above, TCP responds to congestion by closing   down the window and invoking slow start. Long-delay networks take a   particularly long time to recover from this condition. Accordingly,   it is imperative to avoid congestion in LTNs. To remedy this, active   queue management techniques have been proposed as enhancements to   routers throughout the Internet [RED].  The primary motivation for   deployment of these mechanisms is to prevent "congestion collapse" (a   severe degradation in service) by controlling the average queue size   at the routers. As the average queue length grows, Random Early   Detection [RED] increases the possibility of dropping packets.   The benefits are:      -  Reduce packet drops in routers. By dropping a few packets         before severe congestion sets in, RED avoids dropping bursts of         packets. In other words, the objective is to drop m packets         early to prevent n drops later on, where m is less than n.      -  Provide lower delays. This follows from the smaller queue         sizes, and is particularly important for interactive         applications, for which the inherent delays of wireless links         already push the user experience to the limits of the non-         acceptable.

⌨️ 快捷键说明

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