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

📄 rfc1812.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:
  purposes of determining compliance with this memo, it does not matter
  whether a Relevant requirement is stated directly in this memo or
  merely incorporated by reference from one of those documents.

  An implementation is said to be conditionally compliant if it
  satisfies all the Relevant MUST, MUST IMPLEMENT, and MUST NOT
  requirements.  An implementation is said to be unconditionally
  compliant if it is conditionally compliant and also satisfies all the
  Relevant SHOULD, SHOULD IMPLEMENT, and SHOULD NOT requirements.  An
  implementation is not compliant if it is not conditionally compliant
  (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 implementation



Baker                       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 number



Baker                       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, a



Baker                       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.

⌨️ 快捷键说明

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