IETF Experiments
Internet-Draft draft-bonica-gendispatch-exp-01
Ron Bonica
Juniper Networks
Herndon
Virginia
USA
rbonica@juniper.net
Adrian Farrel
Old Dog Consulting
UK
adrian@olddog.co.uk
08 August 2024
General
GenDispatch Working Group
experiment
This document describes IETF protocol experiments and provides guidelines for the publication of Experimental RFCs.
Introduction
According to [RFC2026], the "Experimental" designation for an RFC typically denotes a specification that is part of a research or development effort. An Experimental RFC may be published for information and as an archival record of the work. An Experimental RFC may be the output of an IRTF Research Group, an IETF Working Group, or it may be an individual contribution that is sponsored by an Area Director or published on the Independent Submission Stream.
Experimental RFCs in the IETF Stream describe IETF experiments. IETF process experiments are described in [RFC3933], but this document is concerned with protocol experiments.
An IETF protocol experiment is a procedure that is executed on the Internet for a bounded period of time. The experiment can, but does not always, include the deployment of a new protocol or protocol extension. For example, when two protocols are proposed to solve a single problem, the IETF can initiate an experiment in which each protocol is deployed. Operational experience obtained during the experiments can help to determine which, if either, of the protocols should be progressed to the standards track.
An IETF protocol experiment must not harm the Internet or interfere with established network operations. It must be conducted in a carefully controlled manner (for example, using a limited domain [RFC8799]). Furthermore, it must use protocol identifiers and code points that do not conflict with deployments of standardized protocols or other experiments.
When an IETF protocol experiment concludes, experimental results should be reported to the relevant working group usually via an Internet-Draft, and may be published in an Informational RFCs.
This document describes IETF protocol experiments and provides guidelines for the publication of Experimental RFCs. Experimental RFCs in the Independent Submissions Stream or published by the IRTF are out of scope of this document.
Requirements on Experimental RFCs
An Experimental RFC must describe the experimental nature of the specification or deployment that it documents.
An Experimental RFC should:
- Describe the experiment in detail, so that it can be replicated by non-collaborating parties and recognized when it is seen in deployments.
- Describe how the experiment is safegarded so that it does not harm the Internet or interfere with its established operations.
  - It should indicate how messages or protocol data units are identified and associated with the experiment.
  - It should describe how backward compatability is ensured by non-participating deployments using pre-existing standardized mechanisms to discard or ignore the experiment.
  - It should explain how the experiment is controlled so that it does not "leak out" into the wider Internet.
- List what configuration knobs should be provided on experimental implementations
- Include a date at which the experiment will be terminated.
- Include metrics and observations that will be collected during the experiment.
- Include criteria by which success of the experiment will be determined.
- Explain how reports of the success or failure of the experiment will be brought to the IETF.
- Suggest planned next steps if the experiment is fully or partially successful.
When two protocol mechanisms are proposed to solve a single problem, the IETF can initiate an experiment in which each protocol is deployed. In this case, the same metrics should be collected in each experiment.
Codepoints in Experimental RFCs
[RFC8126] describes guidelines for writing IANA Considerations sections in RFCs. It lists a number of assignment policies that apply to codepoint registries maintained by IANA.
Experimental RFCs cannot obtain codepoints from registries or parts of registries that are managed under the following assignment policies:
- Standards Action
- Hierarchical Allocation
An Experimental RFC may request and be granted codepoints from registries or parts of registries that are managed under the following assignment policies:
- First Come First Served
- Expert Review
- Specification Required
- RFC Required
- IETF Review
- IESG Approval
Consideration must be given to the fact that the experiment may be temporary in nature and the protocol or protocol extensions may be abandoned. If there is a scarcity of available codepoints in a registry, even more caution should be applied to any codepoint assignments.
Some registries or parts of registries are marked as "For Experimental Use: Not to be assigned." These ranges are specifically intended for use by protocol experiments, and this may be particularly valuable as described in [RFC3692]. But assigments are not made from these codepoint ranges and Experimental RFCs must not document any codepoints from such ranges. Instead, protocol implementations should allow the codepoints to be configured so that all implementations participating in an experiment can interoperate and so that multiple experiments may co-exist in the same network.
Experiments may additionally use codepoints from Private Use ranges, but these codepoints are also not recorded
Additionally, IANA will not create any new registries or sub-registries as specified in Experimental RFCs. Experimental RFCs that would otherwise ask for the creation of protocol registries can simply enumerate the codepoints within the RFC.
[Editors' note: The first sentence in the previous paragraph is to be verified by IANA.]
Requirements Level Language and Keywords
An Experimental RFC describing a protocol experiment may use BCP 14 requirements level language and keywords [RFC2119] [RFC8174] to help clarify the description of the protocol or prtocol extension and the expected behavior of implementations.
Experimental Reports
Experimental Reports should include the following information:
- Scale of deployment
- Effort required to deploy
  - Was deployment incremental or network-wide?
  - Was there a need to synchronize configurations at each node or could nodes be configured independently
  - Did the deployment require hardware upgrade?
- Effort required to secure
- Performance impact of risk mitigation
- Effectiveness of risk mitigation
- Cost of risk mitigation
- Interoperability
- Did you deploy two inter-operable implementations?
- Did you experience interoperability problems?
- Effectiveness and sufficiency of OAM mechanism
IANA Considerations
This document does not make any requests of IANA, but see Section 2.1 for details of the use of codepoints in Experimental RFCs.
Security Considerations
As this document does not introduce any new protocols or operational procedures, it does not introduce any new security considerations.
Experimental RFCs must include security and privacy considerations as with any other RFC. As well as considering the security and privacy implications of the protocol or protocol extensions, Experimental RFCs should examine the implications for security and privacy of running an experiment on the Internet.
Acknowledgements
The authors wish to acknowledge Dhruv Dhody for helpful discussions of experimenal code points.
References
Normative References
[RFC8126]

Guidelines for Writing an IANA Considerations Section in RFCs
M. Cotton
B. Leiba
T. Narten
June 2017
BCP 26
RFC 8126
DOI 10.17487/RFC8126
[RFC2119]

Key words for use in RFCs to Indicate Requirement Levels
S. Bradner
March 1997
BCP 14
RFC 2119
DOI 10.17487/RFC2119
[RFC8174]

Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words
B. Leiba
May 2017
BCP 14
RFC 8174
DOI 10.17487/RFC8174
Informative References
[RFC2026]

The Internet Standards Process -- Revision 3
S. Bradner
October 1996
BCP 9
RFC 2026
DOI 10.17487/RFC2026
[RFC3933]

A Model for IETF Process Experiments
J. Klensin
S. Dawkins
November 2004
BCP 93
RFC 3933
DOI 10.17487/RFC3933
[RFC8799]

Limited Domains and Internet Protocols
B. Carpenter
B. Liu
July 2020
RFC 8799
DOI 10.17487/RFC8799
[RFC3692]

Assigning Experimental and Testing Numbers Considered Useful
T. Narten
January 2004
BCP 82
RFC 3692
DOI 10.17487/RFC3692