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

📄 rfc1812.txt

📁 <VC++网络游戏建摸与实现>源代码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
  (i.e., it fails to satisfy one or more of the Relevant MUST, MUST  IMPLEMENT, or MUST NOT requirements).  This specification occasionally indicates that an implementation  SHOULD implement a management variable, and that it SHOULD have a  certain default value.  An unconditionally compliant implementationBaker                       Standards Track                    [Page 10]RFC 1812         Requirements for IP Version 4 Routers         June 1995  implements the default behavior, and if there are other implemented  behaviors implements the variable.  A conditionally compliant  implementation clearly documents what the default setting of the  variable is or, in the absence of the implementation of a variable,  may be construed to be.  An implementation that both fails to  implement the variable and chooses a different behavior is not  compliant.  For any of the SHOULD and SHOULD NOT requirements, a router may  provide a configuration option that will cause the router to act other  than as specified by the requirement.  Having such a configuration  option does not void a router's claim to unconditional compliance if  the option has a default setting, and that setting causes the router  to operate in the required manner.  Likewise, routers may provide, except where explicitly prohibited by  this memo, options which cause them to violate MUST or MUST NOT  requirements.  A router that provides such options is compliant  (either fully or conditionally) if and only if each such option has a  default setting that causes the router to conform to the requirements  of this memo.  Please note that the authors of this memo, although  aware of market realities, strongly recommend against provision of  such options.  Requirements are labeled MUST or MUST NOT because  experts in the field have judged them to be particularly important to  interoperability or proper functioning in the Internet.  Vendors  should weigh carefully the customer support costs of providing options  that violate those rules.  Of course, this memo is not a complete specification of an IP router,  but rather is closer to what in the OSI world is called a profile.  For example, this memo requires that a number of protocols be  implemented.  Although most of the contents of their protocol  specifications are not repeated in this memo, implementors are  nonetheless required to implement the protocols according to those  specifications.1.2 Relationships to Other Standards  There are several reference documents of interest in checking the  status of protocol specifications and standardization:    o INTERNET OFFICIAL PROTOCOL STANDARDS       This document describes the Internet standards process and lists       the standards status of the protocols.  As of this writing, the       current version of this document is STD 1, RFC 1780, [ARCH:7].       This document is periodically re-issued.  You should always       consult an RFC repository and use the latest version of this       document.Baker                       Standards Track                    [Page 11]RFC 1812         Requirements for IP Version 4 Routers         June 1995    o Assigned Numbers       This document lists the assigned values of the parameters used in       the various protocols.  For example, it lists IP protocol codes,       TCP port numbers, Telnet Option Codes, ARP hardware types, and       Terminal Type names.  As of this writing, the current version of       this document is STD 2, RFC 1700, [INTRO:7].  This document is       periodically re-issued.  You should always consult an RFC       repository and use the latest version of this document.    o Host Requirements       This pair of documents reviews the specifications that apply to       hosts and supplies guidance and clarification for any       ambiguities.  Note that these requirements also apply to routers,       except where otherwise specified in this memo.  As of this       writing, the current versions of these documents are RFC 1122 and       RFC 1123 (STD 3), [INTRO:2] and [INTRO:3].    o Router Requirements (formerly Gateway Requirements)       This memo.   Note that these documents are revised and updated at different times;   in case of differences between these documents, the most recent must   prevail.   These and other Internet protocol documents may be obtained from the:                               The InterNIC                              DS.INTERNIC.NET                  InterNIC Directory and Database Service                             info@internic.net                              +1-908-668-6587                       URL: http://ds.internic.net/1.3 General Considerations   There are several important lessons that vendors of Internet software   have learned and which a new vendor should consider seriously.1.3.1 Continuing Internet Evolution   The enormous growth of the Internet has revealed problems of   management and scaling in a large datagram based packet communication   system.  These problems are being addressed, and as a result there   will be continuing evolution of the specifications described in this   memo.  New routing protocols, algorithms, and architectures are   constantly being developed.  New internet layer protocols, and   modifications to existing protocols, are also constantly being   devised.  Routers play a crucial role in the Internet, and the numberBaker                       Standards Track                    [Page 12]RFC 1812         Requirements for IP Version 4 Routers         June 1995   of routers deployed in the Internet is much smaller than the number   of hosts.  Vendors should therefore expect that router standards will   continue to evolve much more quickly than host standards.  These   changes will be carefully planned and controlled since there is   extensive participation in this planning by the vendors and by the   organizations responsible for operation of the networks.   Development, evolution, and revision are characteristic of computer   network protocols today, and this situation will persist for some   years.  A vendor who develops computer communications software for   the Internet protocol suite (or any other protocol suite!) and then   fails to maintain and update that software for changing   specifications is going to leave a trail of unhappy customers.  The   Internet is a large communication network, and the users are in   constant contact through it.  Experience has shown that knowledge of   deficiencies in vendor software propagates quickly through the   Internet technical community.1.3.2 Robustness Principle   At every layer of the protocols, there is a general rule (from   [TRANS:2] by Jon Postel) whose application can lead to enormous   benefits in robustness and interoperability:                      Be conservative in what you do,                be liberal in what you accept from others.   Software should be written to deal with every conceivable error, no   matter how unlikely.  Eventually a packet will come in with that   particular combination of errors and attributes, and unless the   software is prepared, chaos can ensue.  It is best to assume that the   network is filled with malevolent entities that will send packets   designed to have the worst possible effect.  This assumption will   lead to suitably protective design.  The most serious problems in the   Internet have been caused by unforeseen mechanisms triggered by low   probability events; mere human malice would never have taken so   devious a course!   Adaptability to change must be designed into all levels of router   software.  As a simple example, consider a protocol specification   that contains an enumeration of values for a particular header field   - e.g., a type field, a port number, or an error code; this   enumeration must be assumed to be incomplete.  If the protocol   specification defines four possible error codes, the software must   not break when a fifth code is defined.  An undefined code might be   logged, but it must not cause a failure.Baker                       Standards Track                    [Page 13]RFC 1812         Requirements for IP Version 4 Routers         June 1995   The second part of the principal is almost as important: software on   hosts or other routers may contain deficiencies that make it unwise   to exploit legal but obscure protocol features.  It is unwise to   stray far from the obvious and simple, lest untoward effects result   elsewhere.  A corollary of this is watch out for misbehaving hosts;   router software should be prepared to survive in the presence of   misbehaving hosts.  An important function of routers in the Internet   is to limit the amount of disruption such hosts can inflict on the   shared communication facility.1.3.3 Error Logging   The Internet includes a great variety of systems, each implementing   many protocols and protocol layers, and some of these contain bugs   and misguided features in their Internet protocol software.  As a   result of complexity, diversity, and distribution of function, the   diagnosis of problems is often very difficult.   Problem diagnosis will be aided if routers include a carefully   designed facility for logging erroneous or strange events.  It is   important to include as much diagnostic information as possible when   an error is logged.  In particular, it is often useful to record the   header(s) of a packet that caused an error.  However, care must be   taken to ensure that error logging does not consume prohibitive   amounts of resources or otherwise interfere with the operation of the   router.   There is a tendency for abnormal but harmless protocol events to   overflow error logging files; this can be avoided by using a circular   log, or by enabling logging only while diagnosing a known failure.   It may be useful to filter and count duplicate successive messages.   One strategy that seems to work well is to both:   o Always count abnormalities and make such counts accessible through      the management protocol (see Chapter 8); and   o Allow the logging of a great variety of events to be selectively      enabled.  For example, it might useful to be able to log      everything or to log everything for host X.   This topic is further discussed in [MGT:5].1.3.4 Configuration   In an ideal world, routers would be easy to configure, and perhaps   even entirely self-configuring.  However, practical experience in the   real world suggests that this is an impossible goal, and that many   attempts by vendors to make configuration easy actually cause   customers more grief than they prevent.  As an extreme example, aBaker                       Standards Track                    [Page 14]RFC 1812         Requirements for IP Version 4 Routers         June 1995   router designed to come up and start routing packets without   requiring any configuration information at all would almost certainly   choose some incorrect parameter, possibly causing serious problems on   any networks unfortunate enough to be connected to it.   Often this memo requires that a parameter be a configurable option.   There are several reasons for this.  In a few cases there currently   is some uncertainty or disagreement about the best value and it may   be necessary to update the recommended value in the future.  In other   cases, the value really depends on external factors - e.g., the   distribution of its communication load, or the speeds and topology of   nearby networks - and self-tuning algorithms are unavailable and may   be insufficient.  In some cases, configurability is needed because of   administrative requirements.   Finally, some configuration options are required to communicate with   obsolete or incorrect implementations of the protocols, distributed   without sources, that persist in many parts of the Internet.  To make   correct systems coexist with these faulty systems, administrators   must occasionally misconfigure the correct systems.  This problem   will correct itself gradually as the faulty systems are retired, but   cannot be ignored by vendors.   When we say that a parameter must be configurable, we do not intend   to require that its value be explicitly read from a configuration   file at every boot time.  For many parameters, there is one value   that is appropriate for all but the most unusual situations.  In such   cases, it is quite reasonable that the parameter default to that   value if not explicitly set.   This memo requires a particular value for such defaults in some   cases.  The choice of default is a sensitive issue when the   configuration item controls accommodation of existing, faulty,   systems.  If the Internet is to converge successfully to complete   interoperability, the default values built into implementations must   implement the official protocol, not misconfigurations to accommodate   faulty implementations.  Although marketing considerations have led   some vendors to choose misconfiguration defaults, we urge vendors to

⌨️ 快捷键说明

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