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

📄 rfc2360.txt

📁 中、英文RFC文档大全打包下载完全版 .
💻 TXT
📖 第 1 页 / 共 4 页
字号:
Scott                    Best Current Practice                  [Page 5]RFC 2360          Guide for Internet Standards Writers         June 1998   One approach is to divide the standard into sections: one describing   the protocol concisely, while another section consists of explanatory   text.  The STD 3/RFC 1122/RFC 1123 and STD 54/RFC 2328 provides   examples of this method.2.5  Change Logs   As a document moves along the standards track, from Proposed to Draft   or Draft to Full, or cycles in level, it will undergo changes due to   better understanding of the protocol or implementation experience. To   help implementers track the changes being made a log showing what has   changed from the previous version of the specification is required   (see Appendix).2.6  Protocol Versions   Often the standard is specifying a new version of an existing   protocol.  In such a case, the authors should detail the differences   between the previous version and the new version.  This should   include the rationale for the changes, for example, implementation   experience, changes in technology, responding to user demand, etc.2.7  Decision History   In standards development, reaching consensus requires making   difficult choices.  These choices are made through working group   discussions or from implementation experience.  By including the   basis for a contentious decision, the author can prevent future   revisiting of these disagreements when the original parties have   moved on.  In addition, the knowledge of the "why" is as useful to an   implementer as the description of "how".  For example, the   alternative not taken may have been simpler to implement, so   including the reasons behind the choice may prevent future   implementers from taking nonstandard shortcuts.2.8  Response to Out of Specification Behavior   A detail description of the actions taken in case of behavior that is   deviant from or exceeds the specification is useful.  This is an area   where implementers often differ in opinion as to the appropriate   response.  By specifying a common response, the standard author can   reduce the risk that different implementations will come in to   conflict.   The standard should describe responses to behavior explicitly   forbidden or out of the boundaries defined by the specification.  Two   possible approaches to such cases are discarding, or invoking error-   handling mechanisms.  If discarding is chosen, detailing theScott                    Best Current Practice                  [Page 6]RFC 2360          Guide for Internet Standards Writers         June 1998   disposition may be necessary.  For instance, treat dropped frames as   if they were never received, or reset an existing connection or   adjacency state.   The specification should describe actions taken when a critical   resource or a performance-scaling limit is exceeded.  This is   necessary for cases where a risk of network degradation or   operational failure exists.  In such cases, a consistent behavior   between implementations is necessary.2.9  The Liberal/Conservative Rule   A rule, first stated in STD 5/RFC 791, recognized as having benefits   in implementation robustness and interoperability is:                    "Be liberal in what you accept, and                      conservative in what you send".   Or establish restrictions on what a protocol transmits, but be able   to deal with every conceivable error received.  Caution is urged in   applying this approach in standards track protocols.  It has in the   past lead to conflicts between vendors when interoperability fails.   The sender accuses the receiver of failing to be liberal enough, and   the receiver accuses the sender of not being conservative enough.   Therefore, the author is obligated to provide extensive detail on   send and receive behavior.   To avoid any confusion between the two, recommend that standard   authors specify send and receive behavior separately.  The   description of reception will require the most detailing.  For   implementations are expected to continue operating regardless of   error received.  Therefore, the actions taken to achieve that result,   need to be laid out in the protocol specification.  Standard authors   should concern themselves on achieving a level of cooperation that   limits network disruption, not just how to survive on the network.   The appearance of undefined information or conditions must not cause   a network or host failure.  This requires specification on how to   attempt acceptance of most of the packets.  Two approaches are   available, either using as much of the packet's content as possible,   or invoking error procedures.  The author should specify a dividing   line on when to take which approach.   A case for consideration is that of a routing protocol, where   acceptance of flawed information can cause network failure.  For   protocols such as this, the specification should identify packets   that could have different interpretations and mandate that they be   rejected completely or the nature of the attempt to recover some   information from them.  For example, routing updates that containScott                    Best Current Practice                  [Page 7]RFC 2360          Guide for Internet Standards Writers         June 1998   more data than the tuple count shows.  The protocol authors should   consider whether some trailing data can be accepted as additional   routes, or to reject the entire packet as suspect because it is non-   conformant.2.10  Handling of Protocol Options   Specifications with many optional features increase the complexity of   the implementation and the chance of non-interoperable   implementations.  The danger is that different implementations may   specify some combination of options that are unable to interoperate   with each other.   As the document moves along the standard track, implementation   experience shall determine the need for each option.  Implementation   shall show whether the option should be a mandatory part of the   protocol or remain an option.  If an option is not implemented as the   document advances, it must be removed from the protocol before it   reaches draft standard status.   Therefore, options shall only be present in a protocol to address a   real requirement.  For example, options can support future   extensibility of the protocol, a particular market, e.g., the   financial industry, or a specific network environment, e.g., a   network constrained by limited bandwidth.  They shall not be included   as a means to "buy-off" a minority opinion.  Omission of the optional   item shall have no interoperability consequences for the   implementation that does so.   One possible approach is to document protocol options in a separate   specification.  This keeps the main protocol specification clean and   makes it clear that the options are not required to implement the   protocol.  Regardless of whether they appear within the specification   or in a separate document, the text shall discuss the full   implications of either using the option or not, and the case for   choosing either course.  As part of this, the author needs to   consider and describe how the options are used alongside other   protocols.  The text must also specify the default conditions of all   options.  For security checking options the default condition is on   or enabled.   There are occasions when mutually exclusive options appear within the   protocol.  That is, the implementation of an optional feature   precludes the implementation of the other optional feature.  For   clarity, the author needs to state when to implement one or the   other, what the effect of choosing one over the other is, and whatScott                    Best Current Practice                  [Page 8]RFC 2360          Guide for Internet Standards Writers         June 1998   problems the implementer or user may face.  The choice of one or the   other options shall have no interoperability consequences between   multiple implementations.2.11  Indicating Requirement Levels   The BCP 14/RFC 2119, "Key words for use in RFCs to Indicate   Requirement Level", defines several words that are necessary for   writing a standards track document.  Editors of standards track   documents must not deviate from the definitions provided as they are   intended to identify interoperability requirements or limit   potentially harmful behavior.  The capitalization of these words is   the accepted norm, and can help in identifying an unintentional or   unreasonable requirement.  These words have been used in several RFCs   the first instances being STD 3/RFC 1122/RFC 1123.2.12  Notational Conventions   Formal syntax notations can be used to define complicated protocol   concepts or data types, and to specify values of these data types.   This permits the protocol to be written without concern on how the   implementation is constructed, or how the data type is represented   during transfer.  The specification is simplified because it can be   presented as "axioms" that will be proven by implementation.   The formal specification of the syntax used should be referenced in   the text of the standard.  Any extensions, subsets, alterations, or   exceptions to that formal syntax should be defined within the   standard.   The STD 11/RFC 822 provides an example of this.  In RFC 822 (Section   2 and Appendix D) the Backus-Naur Form (BNF) meta-language was   extended to make its representation smaller and easier to understand.   Another example is STD 16/RFC 1155 (Section 3.2) where a subset of   the Abstract Syntax Notation One (ASN.1) is defined.   The author of a standards track protocol needs to consider several   things before they use a formal syntax notation.  Is the formal   specification language being used parseable by an existing machine?   If no parser exists, is there enough information provided in the   specification to permit the building of a parser?  If not, it is   likely the reader will not have enough information to decide what the   notation means.  In addition, the author should remember machine   parseable syntax is often unreadable by humans, and can make the   specification excessive in length.  Therefore, syntax notations   cannot take the place of a clearly written protocol description.Scott                    Best Current Practice                  [Page 9]RFC 2360          Guide for Internet Standards Writers         June 19982.13  IANA Considerations   The common use of the Internet standard track protocols by the   Internet community requires that unique values be assigned to   parameter fields.  An IETF WG does not have the authority to assign   these values for the protocol it developed.  The Internet Assigned   Numbers Authority (IANA) is the central authority for the assignment   of unique parameter values for Internet protocols.  The authors of a   developing protocol need to coordinate with the IANA the rules and   procedures to manage the number space.  This coordination needs to be   completed prior to submitting the Internet Draft to the standards   track.   A document is in preparation that discusses issues related to   identifier assignment policy and guidelines on specific text to task   IANA with its administration.  Standard authors should obtain a copy   of it when it is finalized as an RFC.   For further information on parameter assignment and current   assignments, authors can reference STD 2, RFC 1700, "Assigned   Numbers" (http://www.iana.org).2.14  Network Management Considerations   When relevant, each standard needs to discuss how to manage the   protocol being specified.  This management process should be   compatible with the current IETF Standard management protocol.  In   addition, a MIB must be defined within the standard or in a companion   document.  The MIB must be compatible with current Structure of   Management Information (SMI) and parseable using a tool such as   SMICng.  Where management or a MIB is not necessary this section of   the standard should explain the reason it is not relevant to the   protocol.2.15  Scalability Considerations   The standard should establish the limitations on the scale of use,   e.g., tens of millions of sessions, gigabits per second, etc., and   establish limits on the resources used, e.g., round trip time,   computing resources, etc.  This is important because it establishes   the ability of the network to accommodate the number of users and the   complexity of their relations.  The STD 53/RFC 1939 has an example of   such a section.  If this is not applicable to the protocol, an   explanation of why not should be included.Scott                    Best Current Practice                 [Page 10]

⌨️ 快捷键说明

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