Design Considerations for Protocol Extensions
RFC 6709
Document | Type |
RFC - Informational
(September 2012; No errata)
Was draft-iab-extension-recs (iab)
|
|
---|---|---|---|
Authors | Brian Carpenter , Bernard Aboba , Stuart Cheshire | ||
Last updated | 2013-02-12 | ||
Stream | Internet Architecture Board (IAB) | ||
Formats | plain text html pdf htmlized (tools) htmlized bibtex | ||
Stream | IAB state | Published RFC | |
Consensus Boilerplate | Unknown | ||
RFC Editor Note | (None) |
Internet Architecture Board (IAB) B. Carpenter Request for Comments: 6709 B. Aboba, Ed. Category: Informational S. Cheshire ISSN: 2070-1721 September 2012 Design Considerations for Protocol Extensions Abstract This document discusses architectural issues related to the extensibility of Internet protocols, with a focus on design considerations. It is intended to assist designers of both base protocols and extensions. Case studies are included. A companion document, RFC 4775 (BCP 125), discusses procedures relating to the extensibility of IETF protocols. Status of This Memo This document is not an Internet Standards Track specification; it is published for informational purposes. This document is a product of the Internet Architecture Board (IAB) and represents information that the IAB has deemed valuable to provide for permanent record. It represents the consensus of the Internet Architecture Board (IAB). Documents approved for publication by the IAB are not a candidate for any level of Internet Standard; see Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6709. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Carpenter, et al. Informational [Page 1] RFC 6709 Design Considerations for Extensions September 2012 Table of Contents 1. Introduction ....................................................3 1.1. Requirements Language ......................................4 2. Routine and Major Extensions ....................................4 2.1. What Constitutes a Major Extension? ........................4 2.2. When is an Extension Routine? ..............................6 3. Architectural Principles ........................................7 3.1. Limited Extensibility ......................................7 3.2. Design for Global Interoperability .........................8 3.3. Architectural Compatibility ...............................12 3.4. Protocol Variations .......................................13 3.5. Testability ...............................................16 3.6. Protocol Parameter Registration ...........................16 3.7. Extensions to Critical Protocols ..........................17 4. Considerations for the Base Protocol ...........................18 4.1. Version Numbers ...........................................19 4.2. Reserved Fields ...........................................22 4.3. Encoding Formats ..........................................23 4.4. Parameter Space Design ....................................23 4.5. Cryptographic Agility .....................................26 4.6. Transport .................................................27 4.7. Handling of Unknown Extensions ............................28 5. Security Considerations ........................................29 6. References .....................................................30 6.1. Normative References ......................................30 6.2. Informative References ....................................30 7. Acknowledgments ................................................35 8. IAB Members at the Time of Approval ............................35 Appendix A. Examples .............................................36 A.1. Already-Documented Cases ..................................36 A.2. RADIUS Extensions .........................................36 A.3. TLS Extensions ............................................39 A.4. L2TP Extensions ...........................................41 Carpenter, et al. Informational [Page 2] RFC 6709 Design Considerations for Extensions September 2012 1. Introduction When developing protocols, IETF Working Groups (WGs) often include mechanisms whereby these protocols can be extended in the future. It is often a good principle to design extensibility into protocols; as described in "What Makes for a Successful Protocol" [RFC5218], a "wildly successful" protocol is one that becomes widely used in ways not originally anticipated. Well-designed extensibility mechanismsShow full document text