Internet Research Task Force (IRTF) W. Eddy
Request for Comments: 6256 MTI Systems
Category: Informational E. Davies
ISSN: 2070-1721 Folly Consulting
May 2011
Using Self-Delimiting Numeric Values in Protocols
Abstract
Self-Delimiting Numeric Values (SDNVs) have recently been introduced
as a field type in proposed Delay-Tolerant Networking protocols.
SDNVs encode an arbitrary-length non-negative integer or arbitrary-
length bitstring with minimum overhead. They are intended to provide
protocol flexibility without sacrificing economy and to assist in
future-proofing protocols under development. This document describes
formats and algorithms for SDNV encoding and decoding, along with
notes on implementation and usage. This document is a product of the
Delay-Tolerant Networking Research Group and has been reviewed by
that group. No objections to its publication as an RFC were raised.
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 Research Task Force
(IRTF). The IRTF publishes the results of Internet-related research
and development activities. These results might not be suitable for
deployment. This RFC represents the consensus of the Delay-Tolerant
Networking Research Group of the Internet Research Task Force (IRTF).
Documents approved for publication by the IRSG 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/rfc6256.
Eddy & Davies Informational [Page 1]RFC 6256 Using SDNVs May 2011Copyright Notice
Copyright (c) 2011 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.
Table of Contents
1. Introduction ....................................................2
1.1. Problems with Fixed-Value Fields ...........................3
1.2. SDNVs for DTN Protocols ....................................4
1.3. SDNV Usage .................................................5
2. Definition of SDNVs .............................................6
3. Basic Algorithms ................................................8
3.1. Encoding Algorithm .........................................8
3.2. Decoding Algorithm .........................................9
3.3. Limitations of Implementations ............................10
4. Comparison to Alternatives .....................................10
5. Security Considerations ........................................13
6. Acknowledgements ...............................................13
7. Informative References .........................................14
Appendix A. SDNV Python Source Code ...............................15
1. Introduction
This document is a product of the Internet Research Task Force (IRTF)
Delay-Tolerant Networking (DTN) Research Group (DTNRG). The document
has received review and support within the DTNRG, as discussed in the
Acknowledgements section of this document.
This document begins by describing the drawbacks of using fixed-width
protocol fields. It then provides some background on the Self-
Delimiting Numeric Values (SDNVs) proposed for use in DTN protocols,
and motivates their potential applicability in other networking
protocols. The DTNRG has created SDNVs to meet the challenges it
attempts to solve, and it has been noted that SDNVs closely resemble
certain constructs within ASN.1 and even older ITU protocols, so the
problems are not new or unique to DTN. SDNVs focus strictly on
numeric values or bitstrings, while other mechanisms have been
developed for encoding more complex data structures, such as ASN.1
Eddy & Davies Informational [Page 2]RFC 6256 Using SDNVs May 2011
encoding rules and Haverty's Message Services Data Transmission