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

📄 rfc1323.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 5 页
字号:
         *    Some hosts have a hardware clock that is guaranteed to be              monotonic between hardware resets.Jacobson, Braden, & Borman                                     [Page 21]RFC 1323          TCP Extensions for High Performance           May 1992         *    A clock interrupt may be used to simply increment a binary              integer by 1 periodically.         *    The timestamp clock may be derived from a system clock              that is subject to being abruptly changed, by adding a              variable offset value.  This offset is initialized to              zero.  When a new timestamp clock value is needed, the              offset can be adjusted as necessary to make the new value              equal to or larger than the previous value (which was              saved for this purpose).      4.2.3  Outdated Timestamps         If a connection remains idle long enough for the timestamp         clock of the other TCP to wrap its sign bit, then the value         saved in TS.Recent will become too old; as a result, the PAWS         mechanism will cause all subsequent segments to be rejected,         freezing the connection (until the timestamp clock wraps its         sign bit again).         With the chosen range of timestamp clock frequencies (1 sec to         1 ms), the time to wrap the sign bit will be between 24.8 days         and 24800 days.  A TCP connection that is idle for more than 24         days and then comes to life is exceedingly unusual.  However,         it is undesirable in principle to place any limitation on TCP         connection lifetimes.         We therefore require that an implementation of PAWS include a         mechanism to "invalidate" the TS.Recent value when a connection         is idle for more than 24 days.  (An alternative solution to the         problem of outdated timestamps would be to send keepalive         segments at a very low rate, but still more often than the         wrap-around time for timestamps, e.g., once a day.  This would         impose negligible overhead.  However, the TCP specification has         never included keepalives, so the solution based upon         invalidation was chosen.)         Note that a TCP does not know the frequency, and therefore, the         wraparound time, of the other TCP, so it must assume the worst.         The validity of TS.Recent needs to be checked only if the basic         PAWS timestamp check fails, i.e., only if SEG.TSval <         TS.Recent.  If TS.Recent is found to be invalid, then the         segment is accepted, regardless of the failure of the timestamp         check, and rule R3 updates TS.Recent with the TSval from the         new segment.         To detect how long the connection has been idle, the TCP mayJacobson, Braden, & Borman                                     [Page 22]RFC 1323          TCP Extensions for High Performance           May 1992         update a clock or timestamp value associated with the         connection whenever TS.Recent is updated, for example.  The         details will be implementation-dependent.      4.2.4  Header Prediction         "Header prediction" [Jacobson90a] is a high-performance         transport protocol implementation technique that is most         important for high-speed links.  This technique optimizes the         code for the most common case, receiving a segment correctly         and in order.  Using header prediction, the receiver asks the         question, "Is this segment the next in sequence?"  This         question can be answered in fewer machine instructions than the         question, "Is this segment within the window?"         Adding header prediction to our timestamp procedure leads to         the following recommended sequence for processing an arriving         TCP segment:         H1)  Check timestamp (same as step R1 above)         H2)  Do header prediction: if segment is next in sequence and              if there are no special conditions requiring additional              processing, accept the segment, record its timestamp, and              skip H3.         H3)  Process the segment normally, as specified in RFC-793.              This includes dropping segments that are outside the win-              dow and possibly sending acknowledgments, and queueing              in-window, out-of-sequence segments.         Another possibility would be to interchange steps H1 and H2,         i.e., to perform the header prediction step H2 FIRST, and         perform H1 and H3 only when header prediction fails.  This         could be a performance improvement, since the timestamp check         in step H1 is very unlikely to fail, and it requires interval         arithmetic on a finite field, a relatively expensive operation.         To perform this check on every single segment is contrary to         the philosophy of header prediction.  We believe that this         change might reduce CPU time for TCP protocol processing by up         to 5-10% on high-speed networks.         However, putting H2 first would create a hazard: a segment from         2**32 bytes in the past might arrive at exactly the wrong time         and be accepted mistakenly by the header-prediction step.  The         following reasoning has been introduced [Jacobson90b] to show         that the probability of this failure is negligible.Jacobson, Braden, & Borman                                     [Page 23]RFC 1323          TCP Extensions for High Performance           May 1992              If all segments are equally likely to show up as old              duplicates, then the probability of an old duplicate              exactly matching the left window edge is the maximum              segment size (MSS) divided by the size of the sequence              space.  This ratio must be less than 2**-16, since MSS              must be < 2**16; for example, it will be (2**12)/(2**32) =              2**-20 for an FDDI link.  However, the older a segment is,              the less likely it is to be retained in the Internet, and              under any reasonable model of segment lifetime the              probability of an old duplicate exactly at the left window              edge must be much smaller than 2**-16.              The 16 bit TCP checksum also allows a basic unreliability              of one part in 2**16.  A protocol mechanism whose              reliability exceeds the reliability of the TCP checksum              should be considered "good enough", i.e., it won't              contribute significantly to the overall error rate.  We              therefore believe we can ignore the problem of an old              duplicate being accepted by doing header prediction before              checking the timestamp.         However, this probabilistic argument is not universally         accepted, and the consensus at present is that the performance         gain does not justify the hazard in the general case.  It is         therefore recommended that H2 follow H1.   4.3.  Duplicates from Earlier Incarnations of Connection      The PAWS mechanism protects against errors due to sequence number      wrap-around on high-speed connection.  Segments from an earlier      incarnation of the same connection are also a potential cause of      old duplicate errors.  In both cases, the TCP mechanisms to      prevent such errors depend upon the enforcement of a maximum      segment lifetime (MSL) by the Internet (IP) layer (see Appendix of      RFC-1185 for a detailed discussion).  Unlike the case of sequence      space wrap-around, the MSL required to prevent old duplicate      errors from earlier incarnations does not depend upon the transfer      rate.  If the IP layer enforces the recommended 2 minute MSL of      TCP, and if the TCP rules are followed, TCP connections will be      safe from earlier incarnations, no matter how high the network      speed.  Thus, the PAWS mechanism is not required for this case.      We may still ask whether the PAWS mechanism can provide additional      security against old duplicates from earlier connections, allowing      us to relax the enforcement of MSL by the IP layer.  Appendix B      explores this question, showing that further assumptions and/or      mechanisms are required, beyond those of PAWS.  This is not part      of the current extension.Jacobson, Braden, & Borman                                     [Page 24]RFC 1323          TCP Extensions for High Performance           May 19925.  CONCLUSIONS AND ACKNOWLEDGMENTS   This memo presented a set of extensions to TCP to provide efficient   operation over large-bandwidth*delay-product paths and reliable   operation over very high-speed paths.  These extensions are designed   to provide compatible interworking with TCP's that do not implement   the extensions.   These mechanisms are implemented using new TCP options for scaled   windows and timestamps.  The timestamps are used for two distinct   mechanisms: RTTM (Round Trip Time Measurement) and PAWS (Protect   Against Wrapped Sequences).   The Window Scale option was originally suggested by Mike St. Johns of   USAF/DCA.  The present form of the option was suggested by Mike   Karels of UC Berkeley in response to a more cumbersome scheme defined   by Van Jacobson.  Lixia Zhang helped formulate the PAWS mechanism   description in RFC-1185.   Finally, much of this work originated as the result of discussions   within the End-to-End Task Force on the theoretical limitations of   transport protocols in general and TCP in particular.  More recently,   task force members and other on the end2end-interest list have made   valuable contributions by pointing out flaws in the algorithms and   the documentation.  The authors are grateful for all these   contributions.6.  REFERENCES      [Clark87]  Clark, D., Lambert, M., and L. Zhang, "NETBLT: A Bulk      Data Transfer Protocol", RFC 998, MIT, March 1987.      [Garlick77]  Garlick, L., R. Rom, and J. Postel, "Issues in      Reliable Host-to-Host Protocols", Proc. Second Berkeley Workshop      on Distributed Data Management and Computer Networks, May 1977.      [Hamming77]  Hamming, R., "Digital Filters", ISBN 0-13-212571-4,      Prentice Hall, Englewood Cliffs, N.J., 1977.      [Cheriton88]  Cheriton, D., "VMTP: Versatile Message Transaction      Protocol", RFC 1045, Stanford University, February 1988.      [Jacobson88a] Jacobson, V., "Congestion Avoidance and Control",      SIGCOMM '88, Stanford, CA., August 1988.      [Jacobson88b]  Jacobson, V., and R. Braden, "TCP Extensions for      Long-Delay Paths", RFC-1072, LBL and USC/Information Sciences      Institute, October 1988.Jacobson, Braden, & Borman                                     [Page 25]RFC 1323          TCP Extensions for High Performance           May 1992      [Jacobson90a]  Jacobson, V., "4BSD Header Prediction", ACM      Computer Communication Review, April 1990.      [Jacobson90b]  Jacobson, V., Braden, R., and Zhang, L., "TCP      Extension for High-Speed Paths", RFC-1185, LBL and USC/Information      Sciences Institute, October 1990.      [Jacobson90c]  Jacobson, V., "Modified TCP congestion avoidance      algorithm", Message to end2end-interest mailing list, April 1990.      [Jain86]  Jain, R., "Divergence of Timeout Algorithms for Packet      Retransmissions", Proc. Fifth Phoenix Conf. on Comp. and Comm.,      Scottsdale, Arizona, March 1986.      [Karn87]  Karn, P. and C. Partridge, "Estimating Round-Trip Times      in Reliable Transport Protocols", Proc. SIGCOMM '87, Stowe, VT,      August 1987.      [McKenzie89]  McKenzie, A., "A Problem with the TCP Big Window      Option", RFC 1110, BBN STC, August 1989.      [Nagle84]  Nagle, J., "Congestion Control in IP/TCP      Internetworks", RFC 896, FACC, January 1984.      [NBS85]  Colella, R., Aronoff, R., and K. Mills, "Performance      Improvements for ISO Transport", Ninth Data Comm Symposium,      published in ACM SIGCOMM Comp Comm Review, vol. 15, no. 5,      September 1985.      [Postel81]  Postel, J., "Transmission Control Protocol - DARPA      Internet Program Protocol Specification", RFC 793, DARPA,      September 1981.      [Velten84] Velten, D., Hinden, R., and J. Sax, "Reliable Data      Protocol", RFC 908, BBN, July 1984.      [Watson81]  Watson, R., "Timer-based Mechanisms in Reliable      Transport Protocol Connection Management", Computer Networks, Vol.      5, 1981.      [Zhang86]  Zhang, L., "Why TCP Timers Don't Work Well", Proc.      SIGCOMM '86, Stowe, Vt., August 1986.Jacobson, Braden, & Borman                                     [Page 26]RFC 1323          TCP Extensions for High Performance           May 1992APPENDIX A:  IMPLEMENTATION SUGGESTIONS   The fol

⌨️ 快捷键说明

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