Internet DRAFT - draft-icn-packet-format-requirements
draft-icn-packet-format-requirements
ICN Research Group A. Afanasyev
Internet-Draft UCLA
Intended status: Informational R. Ravindran
Expires: September 30, 2015 G. Wang
Huawei Technologies
L. Wang
University of Memphis
B. Zhang
University of Arizona
L. Zhang
UCLA
March 29, 2015
ICN Packet Format Design Requirements
draft-icn-packet-format-requirements-01
Abstract
It is a great challenge to design the right packet format for the
Information-Centric Networking (ICN), because this new architecture
is still in its research stage. We do not have good prediction
regarding either the technology advances or the application needs may
involve in next 10 years and beyond. To minimize the danger of
premature constraints in the packet format design, we believe it is
important to first clearly identify the design requirements, so that
we can use the requirements to guide the design effort. In this
document we describe our understanding of the design requirements and
their tradeoffs.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 30, 2015.
Afanasyev, et al. Expires September 30, 2015 [Page 1]
Internet-Draft ICN Packet Format Design Requirements March 2015
Copyright Notice
Copyright (c) 2015 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. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements for ICN Packet Format Design . . . . . . . . . . 3
2.1. Universality (Elasticity) . . . . . . . . . . . . . . . . 3
2.2. Flexibility and Extensibility . . . . . . . . . . . . . . 4
2.3. Processing Efficiency . . . . . . . . . . . . . . . . . . 5
2.3.1. Decoding and Encoding Efficiency . . . . . . . . . . 5
2.3.2. Continuity of Security Envelope . . . . . . . . . . . 6
2.3.3. Preservation of Network-Level Processing . . . . . . 6
2.4. Auditability / Robust Design . . . . . . . . . . . . . . 6
3. Separating Information-Centric and Multi-Hop Forwarding
Element in ICN Packet Format Design . . . . . . . . . . . . . 7
4. ICN Packet Format Success Factors (A Few Lessons from Today's
Internet) . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5. Security Considerations . . . . . . . . . . . . . . . . . . . 9
6. Informative References . . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction
The proposed Information-Centric Networking (ICN) architectures
(TRIAD [4], DONA [5], NDN [6] [7] [8] [3], CCNx [9], and others) put
forward an objective to become a new universal narrow waist for local
and global communication. However, all these proposals are still in
research stage with many details yet to be specified, many questions
yet to be answered, and many more issues yet to be identified and
resolved through experimentation.
It is a great challenge to design the right packet format for ICN
that can satisfy all desired research goals including both those that
have been identified now and those that are yet to be recognized
further down the road. This document is our first attempt to
Afanasyev, et al. Expires September 30, 2015 [Page 2]
Internet-Draft ICN Packet Format Design Requirements March 2015
formalize the general requirements for the ICN packet format design
by leveraging past experience and following the framework defined in
[1]. Clearly identifying the design requirements can help guiding
the decision process in evaluating design tradeoffs and avoiding
premature constraints. In this draft we do not discuss any specific
packet format proposals, instead our focus is on identifying
fundamental requirements on the packet format design, and on
understanding different design tradeoffs.
Some of the requirements listed in Section 2 may conflict with each
other; how to prioritize such conflicting requirements determines the
outcome of the packet format design. In this draft we list our
identified requirements and put them in a priority order as the best
match to the current and future needs of ICN protocols as we can see
at this time. We hope that this draft contributes to the ongoing
discussion about ICN packet format design.
2. Requirements for ICN Packet Format Design
This section presents an ordered list of identified requirements for
the ICN packet format. In each sub-section we briefly describe
potential design space that satisfies the requirement and discuss the
tradeoffs between different design choices.
2.1. Universality (Elasticity)
As the new narrow waist of the Internet, the packet format must be
able to support a diversity of usage scenarios and underlying network
technologies: from highly constrained IoT environments [2] to ultra
high-speed network channels [13].
A single IP packet format has served us well in the past. However,
continued expansion of Internet usage frontier in recent years has
shown the constraints of the existing IP packet formats with fixed
header format. As one example: due to its fixed length and limited
size, the shortage of IPv4 address space called for the design and
deployment of IPv6. Although the design of IPv6 has long been done,
its deployment is slow in coming. As we discuss later in Section 4,
some earlier sketch of IP protocol design proposed variable address
fields, but was changed to fixed length to ease implementation;
compared to the variable length address design, this ease of
implementation has costed both unnecessarily long IP header when the
Internet was small in its early days, and the global effort of moving
from IPv4 to IPv6 in the last 10 years. As another example, the
design of IPv6 format aimed to provide sufficiently large address
space for foreseeable future, but it leads to the concerns of
excessive overhead when used in emerging low-power constrained
networks (IoT), which were not foreseen in early 1990s when the
Afanasyev, et al. Expires September 30, 2015 [Page 3]
Internet-Draft ICN Packet Format Design Requirements March 2015
initial IPv6 design was sketched out. In turn, IETF had to launch
6LoWPAN effort to address this issue together with a number of others
caused by the constrained environment.
These observations suggest that the ICN format design should avoid
similar issues. We would like to see that the ICN packet format
allows applications to choose their packet size in whichever way as
they see fit, from a few tens of bytes in constrained environments to
jumbograms to take advantage of future high capacity transport and
increase in network MTU capability. One way to achieve this goal is
to ensure that packet length (as well as the lengths of other packet
format fields) uses a variable-length encoding scheme to allow
different packet sizes.
2.2. Flexibility and Extensibility
Given the experimental nature of the ongoing ICN architectural
research, the packet format should stay flexible in order to allow
new elements to be added to the format as they are identified, as
well as to remove any existing elements that are no longer deemed
necessary. The required fields in the packet format should also be
kept as minimal as possible, as our understanding of the requirements
are likely to change over time.
BGP [10] is one of the successful protocols that has gone through a
series of evolutionary changes. ([TODO: cite other examples]) After
going through a few rapid version changes in its early days, BGP4
adopted the flexible protocol encoding format of type-length-value
(TLV), which allows BGP to encode a new function by simply
introducing a new TLV block; old TLV blocks can be deprecated over
time without a flag day for base protocol format alterations.
Thus, the use of TLV encoding can offer the potential to provide
protocol flexibility and extensibility (and the existing ICN protocol
designs do already).
Observations over past protocol design experience also show that to
ease the introduction of new features, one can encode the information
about desired actions to be taken by any entity which does not
recognize the newly defined feature. For example, optional TLVs in
the extension header of IPv6 [11] reserve first two bits of the type
to specify the action to be taken by routers when an unrecognized TLV
is encountered: skip over and continue processing or discard the
packet, and/or send an error report to the source of the packet.
Similarly, SCTP design [12] also reserves two bits to indicate the
desired processing for packets with unrecognized chunks. ICN packet
format may consider to adopt a similar mechanism by reserving some
bits from the type field; an alternative scheme, which does not
Afanasyev, et al. Expires September 30, 2015 [Page 4]
Internet-Draft ICN Packet Format Design Requirements March 2015
require dedicated bits for the purpose, is to split the type code
space into different bins, and to assign each type code into the bin
based on the desired actions to be taken by entities which do not
recognize the new TLV type.
2.3. Processing Efficiency
It is desirable to design the ICN packet format in a way that allows
efficient packet processing to the extent possible. However making
the format for processing efficiency often runs into conflict with
elasticity and flexibility requirements. For example, the latter
leads the format to contain variable parts, which in turn lead to
higher processing cost as compared to formats with fixed length
encoding. Similarly, if the packet format contains a fixed part,
that part becomes unchangeable, without a global flag day for making
the changes.
Furthermore, when we consider processing efficiency, our thinking
should not be constrained by either the currently available
technology or the currently understood implementation approach.
History showed us that technologies can advance quickly, especially
when there is a high demand from the market. Similarly, new
implementation approaches are also discovered in response to the
need, providing efficient solutions to problems that once were
considered infeasible. For example, the switch to classless inter-
domain routing (CIDR) during 1990's created challenges for line speed
router implementations [TODO: cite], and that challenge was quickly
resolved.
Therefore, although the processing efficiency requirement on the
format design is an important one, we believe it should be put below
the elasticity and flexibility considerations, i.e., the design
should not sacrifice the long-term protocol flexibility for short-
term efficiency gains.
The rest of this section discussions a few specific approaches to
improve processing efficiency.
2.3.1. Decoding and Encoding Efficiency
Decoding and encoding of ICN packet format should be as efficient as
possible. Packet format should allow partial decoding of the packet,
efficient access to individual fields, and efficient skipping over
unprocessed (e.g., application-defined or unrecognized) fields. It
is also desirable for the key fields needed to make packet forwarding
decision (e.g., name) to appear in the beginning of the packet.
Afanasyev, et al. Expires September 30, 2015 [Page 5]
Internet-Draft ICN Packet Format Design Requirements March 2015
2.3.2. Continuity of Security Envelope
Cryptographic operations should be defined over a continuous packet
block, containing one or multiple complete TLV elements. In other
words, the security envelope must be defined over a continuous
sequence of whole TLV elements.
2.3.3. Preservation of Network-Level Processing
Application-defined elements added to the packet format should not
increase routers' processing cost. For example, when an application
adds custom elements into the packet format, these elements must go
to an application-specific group that is always skipped by routers,
or should be clearly separated from router-processed elements and can
be easily skipped without processing.
2.4. Auditability / Robust Design
Generally speaking, TLV-encoded packet format includes multiple
nested TLV blocks. To provide ability to audit packet encoding
without requiring full understanding of semantics of each nested TLV
level, it is highly desirable to assign unique type codes to each
element in the packet format that is processed by routers. In other
words, we would like to require unique type code assignment to all
network level TLV elements. This requirement may not apply to
vendor-specific or application-specific type codes, whether they may,
or may not reuse type code space.
One of the advantages of using unique type code assignment is
reduction of potential implementation errors. Unique types across
multiple TLV levels is also important for network traffic debugging
tools similar to tcpdump and wireshark: with unique type codes for
all network-level elements, implementation of those tools would be
simple with potential of decoding known TLV types at any level of
nesting. When the same type codes are reuse (at different TLV
nesting levels), such tools also can still be implemented, but
potentially with increased complexity, as it would be required to
define semantical contexts for each nested TLV block.
The tradeoff of the unique type code assignment is the coordination
required in ensuring the type code uniqueness when doing code
assignments.
Afanasyev, et al. Expires September 30, 2015 [Page 6]
Internet-Draft ICN Packet Format Design Requirements March 2015
3. Separating Information-Centric and Multi-Hop Forwarding Element in
ICN Packet Format Design
In an ICN network, communication is performed using application-level
information units. Therefore, the primary function of ICN packet
format is to include all the elements that are necessary to describe
requests for the data and to describe and secure the data, such as
data name, data name constraints, payload, security context, security
context constraint, etc. Note that these information-centric
elements define the data as requested by consumers and enable
communication between ICN consumers and producers in terms of the
desired data.
At the same time, there is a separate class of protocol elements that
an ICN packet may need to carry in order to aid the information
retrieval over multi-hop environment; these elements are not related
to the requested information itself. For example, a lifetime element
may be needed to avoid a request staying inside the network for too
long; a nonce field in the requests can aid the detection of request
duplication; QoS labels in requests can enable support for
prioritization in retrieving certain information classes; a NACK can
be exchanged between adjacent nodes to notify problems in forward
requests so that the previous hop routers can promptly try
alternatives; and when a packet needs to be fragmented to cross a
small MTU hop, certain fields must be added to the packet to
facilitate the reassembly at the other end. Note that all of such
elements are volatile by nature, they may be needed only in parts of
the network, and the perceived need for some of them may change over
time as we gain deeper understanding of ICN network operations
through trial deployment in coming years.
Given the two separate classes of the elements, the question is how
they should be encoded into an ICN packet format. A variety of
design proposals exist today. One way of thinking is to clearly
separate these two classes of protocol elements. Since the ICN
elements are fundamental in information retrieval, they must be
implemented in all consumers and producers. At the same time, the
need for various forwarding elements may depend on specific
forwarding scenarios and environments. This way of thinking leads to
the consideration of providing the forwarding elements in a separate
shim layer protocol, instead of including them in the base ICN
protocol format.
Another way of thinking is to encode all the protocol elements into
the based ICN protocol format based on their perceived necessity,
and/or based on the processing efficiency consideration, but with no
consideration on identifying and separating the two classes of
protocol elements.
Afanasyev, et al. Expires September 30, 2015 [Page 7]
Internet-Draft ICN Packet Format Design Requirements March 2015
The basic question here is: what should be considered the narrow
waist in an Information-Centric Networking architecture? In
principle, the ICN elements are the minimally required ones to enable
communication in an ICN network. They are the only ones needed for
data flow between directly connected peers or between ICN
applications running on the same node. When information retrieval
crosses wide areas, additional elements become necessary to assist
the information retrieval over multiple hops/networks.
The two ways of encoding information-centric and multi-hop forwarding
elements in ICN packet format would define tradeoffs for
implementation, usability, and future extensibility. The combined
format can be simpler to implement and easier to process, but may
lead to inclusion of unnecessary elements. For example, when data
packets are cached inside the network and retrieved later by
different consumers, most, if not all, forwarding elements may no
longer be meaningful. Encoding the two classes of protocol elements
gives flexibility of evolving the underlying format for transport
function, but also creates a need for standardization, to avoid the
danger of multiple incompatible formats being developed for the same
multi-hop forwarding function.
In this document we intentionally do not nail down any specific
answers to the question of how to combine information-centric and
transport-related elements into the packet format. Our goal is to
define a framework to clearly articulate the general requirements for
the ICN packet format design and describe our understanding about the
tradeoffs in the design space. We hope that a set of agreed upon
requirements can provide a guideline to packet format design that can
serve us many years in the future.
4. ICN Packet Format Success Factors (A Few Lessons from Today's
Internet)
TODO
The version number field in the IP header did not help much in
incremental introduction of IPv6 deployment.
History of IP address space design: IPv3 used a variable length
encoding of IP addresses (IEN28, February 1978), which was changed to
fixed length due to the implementers complaints that "it would be too
complex to parse the variable length header" and demanded a fixed
length header so they did not have to work their way through the
header. In retrospect, after we saw the cost of IPv6 deployment, it
is no longer clear the choice of fixed length is a good design choice
at that time.
Afanasyev, et al. Expires September 30, 2015 [Page 8]
Internet-Draft ICN Packet Format Design Requirements March 2015
BGP stays with BGP4 after adopting TLV encoding.
Technology moves forward fast, this is an important design factor to
be considered in ICN packet format design.
Given the diversity of the requirements, a single packet format may
not be able to satisfy to the full extent all of the listed
requirements. Depending on which requirement is prioritized, the
resulting design for the packet format would have different tradeoffs
between universality, flexibility, and efficiency.
5. Security Considerations
TODO
6. Informative References
[1] Clark, D., "The Design Philosophy of the DARPA Internet
Protocols", Proceedings of SIGCOMM'88, August 1988.
[2] "IEEE std. 802.15.4, Part. 15.4: Wireless Medium Access
Control (MAC) and Physical Layer (PHY) Specifications for
Low-Rate Wireless Personal Area Networks", June 2011.
[3] NSF FIA project, NDN., "http://www.named-data.net/", 2010.
[4] Cheriton, D. and M. Gritter, "TRIAD: A new next-generation
Internet architecture", 2000.
[5] Koponen, T. and et al., "A data-oriented (and beyond)
network architecture", ACM SIGCOMM Computer Communication
Review, Vol. 37, No. 4, 2007.
[6] Jacobson, V., Smetters, D., Thornton, J., Plass, M.,
Briggs, N., and R. Braynard, "Networking named content",
Proc. of CoNEXT, 2009.
[7] Zhang, L. and et al., "Named data networking (NDN)
project", NDN Tech. Rep. NDN-0001, October 2010.
[8] Zhang, L., Afanasyev, A., Burke, J., Jacobson, V., claffy,
kc., Crowley, P., Papadopoulos, C., Wang, L., and B.
Zhang, "Named Data Networking", ACM Computer Communication
Reviews, July 2014.
[9] M. Mosko, , "CCNx Semantics, draft-mosko-icnrg-
ccnxsemantics-00", January 2015.
Afanasyev, et al. Expires September 30, 2015 [Page 9]
Internet-Draft ICN Packet Format Design Requirements March 2015
[10] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)", RFC 4271, January 2006.
[11] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998.
[12] Stewart, R., "Stream Control Transmission Protocol", RFC
4960, September 2007.
[13] ITU-T, , "Interface for the Optical Transport Network
(OTN)", G.709 Recommendation, February 2012.
Authors' Addresses
Alexander Afanasyev
UCLA
4809 Boelter Hall, UCLA
Los Angeles, CA 90095
US
Email: afanasev@cs.ucla.edu
Ravishankar Ravindran
Huawei Technologies
2330 Central Expressway
Santa Clara, CA 95050
US
Email: ravi.ravindran@huawei.com
Guoqiang Wang
Huawei Technologies
2330 Central Expressway
Santa Clara, CA 95050
US
Email: gq.wang@huawei.com
Lan Wang
University of Memphis
318 Dunn Hall
Memphis, TN 38152
US
Email: lanwang@memphis.edu
Afanasyev, et al. Expires September 30, 2015 [Page 10]
Internet-Draft ICN Packet Format Design Requirements March 2015
Beichuan Zhang
University of Arizona
Gould-Simpson 723
Tucson, AZ 85721
US
Phone: +1 520 621 4817
Email: bzhang@cs.arizona.edu
Lixia Zhang
UCLA
3713 Boelter Hall, UCLA
Los Angeles, CA 90095
US
Phone: +1 310 825 2695
Email: lixia@cs.ucla.edu
Afanasyev, et al. Expires September 30, 2015 [Page 11]