Internet DRAFT - draft-ravi-elastic-icn-packet-format

draft-ravi-elastic-icn-packet-format







ICN Research Group                                          R. Ravindran
Internet-Draft                                            A. Chakraborti
Intended status: Informational                       Huawei Technologies
Expires: January 7, 2016                                    July 6, 2015


                       Elastic ICN Packet Format
                draft-ravi-elastic-icn-packet-format-00

Abstract

   This draft proposes a new packet format motivated with the goal of
   having a single protocol for constrained IoT and unconstrained
   infrastructure segments of an ICN network.  The packet format focuses
   on reducing the transport overhead compared to the one proposed in
   [1].  The resulting savings in terms of energy and computing is
   significant for low power radios with restricted payload size.

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 January 7, 2016.

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




Ravindran & Chakraborti  Expires January 7, 2016                [Page 1]

Internet-Draft                 Elastic ICN                     July 2015


   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Motivation  . . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Proposed Elastic ICN Packet Format  . . . . . . . . . . . . .   2
   3.  Interest Packet Encoding  . . . . . . . . . . . . . . . . . .   3
   4.  Content Object Encoding . . . . . . . . . . . . . . . . . . .   4
   5.  Packet Encoding Examples  . . . . . . . . . . . . . . . . . .   6
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   7.  Informative References  . . . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Motivation

   The following points motivates this packet format proposal:

   o  Universality: One of the requirements in the ICN packet format
      draft [5] is the need for universality, where the ICN protocol
      should be equally applicable to both infrastructure capable of
      transporting large payloads and also adaptable to small MTU
      interfaces such as in IoT scenarios.  The ICN packet format
      proposal in this draft tries to achieve that.

   o  Transport overhead: One of the common situations in IoT scenario
      is the constrained network segment, where sensors or actuators
      operate over low power radio links such as 802.15.4, BTLE, or
      proprietary ones such as SIGFOX [6] or LORA [7].  These radios
      have restricted payload acceptance due to restricted MTU sizes,
      such as 81B for 802.15.4, 22B for BTLE, or 12B in the case of
      SIGFOX.  In these scenarios, it is required to minimize the packet
      overhead.  The proposed 3B transport header compared to 8B fixed
      header in CCNx1.0 [1] results in 6% less packet overhead for 15.4,
      23% for BTLE, and 42% for SIGFOX.

   o  IoT Opportunity: Considering the plethora of non-interoperable
      stacks such as Zigbee, AllSeen, Zwave etc, IoT is a greenfield
      opportunity for ICN.  Having one protocol specification applicable
      to both constrained as well as to the infrastructure avoiding
      protocol gateways could be a distinguishing factor for ICN.

2.  Proposed Elastic ICN Packet Format

   The objective of this proposal is to minimize the transport header
   overhead by minimizing the bits used for certain fields compared to
   the CCNx1.0 [1] proposal.  The ICN message encoding follows the
   CCNx1.0 specification.  Overall, the proposed transport header



Ravindran & Chakraborti  Expires January 7, 2016                [Page 2]

Internet-Draft                 Elastic ICN                     July 2015


   definition offers 3 Byte fixed overhead compared to 8 Byte of
   CCNx1.0.

   The Elastic Interest and the Content Object encoding is discussed
   next.  As in CCNx1.0 [1], the ICN message is encapsulated in a
   transport header.  The proposed transport packet header has a 3 Byte
   fixed portion to minimize the transport overhead considering
   constraint scenarios, while other optional fields of the transport
   header are encapsulated in a Extended Header TLV container, whose
   existence is indicated with a flag in the 3 Byte fixed header.

3.  Interest Packet Encoding

   The Interest packet encoding is shown in Fig. 1 and corresponding
   Extended Header TLV definition in Fig. 2:


                        0                   1                   2                   3
                        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       |E| Ver | Msg   |    Hop Limit  |   Length      |  Extended
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                                   Header TLV                          \
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       \                   Interest Message                            \
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       \                         ...                                   \

                                  Figure 1: ICN Interest message format



                         0                   1                   2                   3
                         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                        +---------------+---------------+---------------+--------------+
                        | MessageType =T_EXTENDED_HEADER|        Extended Header  Len  |
                        +---------------+---------------+---------------+--------------+
                        \               <Optional  Length TLV>                         \
                        +---------------+---------------+---------------+--------------+
                        \                <Optional  Interest Life Time TLV>            \
                        +---------------+---------------+---------------+--------------+
                        \                          ...                                \

                                  Figure 2: Extended Header TLV Container for Interest


   The general and Interest specific description of the fields in Fig. 1
   and Fig. 2 are provided next:



Ravindran & Chakraborti  Expires January 7, 2016                [Page 3]

Internet-Draft                 Elastic ICN                     July 2015


   o  E bit: This bit identifies the presence of an Extended Header TLV
      in the Interest message.

   o  Version: These 3 bits identifies the ICN protocol version.
      Smaller number space has been allocated considering significant
      version changes happen only over longer time periods.

   o  Message type: These 4 bits identifies the message type, such as
      Interest, Content Object etc, allowing 15 message primitives.
      Considering the need to maintain the simplicity of the network
      layer, we don't expect the number of primitives to exceed this
      maximum limit.  For the Interest case this message is set to type
      Interest.

   o  Hop Limit: This field is only relevant to Interest messages.  This
      is set by the first CCN forwarder and decremented at every hop.
      When the value is zero, the Interest is dropped.

   o  Length : This Byte is set to the size of the total ICN protocol
      message which includes the fixed and Extended Header if present.
      If the total packet size is greater than 255 Byte then this field
      is set to 0x00; the total message length is then encoded in the
      Extended Header using the Optional Length TLV.

   o  Extended Header TLV: This TLV container, shown in Fig. 2, is
      identified with a new type code (T_EXTENDED_HEADER) and
      encapsulates transport and Interest related metadata TLV such as
      Optional Length or Interest lifetime.  To minimize overhead we do
      not exclude the possibility of having a fixed portion in the
      Extended Header TLV container, such as for a reserved field, QoS
      descriptors along with TLV encoded fields.  The Extended TLV
      encoding is shown in Fig. 2.  The Extended Header Length is the
      sum of all hop-by-hop TLVs included in the Extended Header TLV
      container.

   o  ICN Interest Message: This is the ICN Interest message defined in
      CCNx1.0 [1] proposal.

4.  Content Object Encoding

   The Content Object encoding is shown in Fig. 3, and the associated
   Extended Header TLV container in Fig. 4.









Ravindran & Chakraborti  Expires January 7, 2016                [Page 4]

Internet-Draft                 Elastic ICN                     July 2015


                        0                   1                   2                   3
                        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       |E| Ver | Msg   |    Length                     | Extended
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
                                               Header TLV                              \
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       \                     ICN Content Object Message                \
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       \                         ...                                   \

                                  Figure 3: Extended Header TLV



                         0                   1                   2                   3
                         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                        +---------------+---------------+---------------+--------------+
                        | MessageType =T_EXTENDED_HEADER|     Extended Header Length   |
                        +---------------+---------------+---------------+--------------+
                        \               <Optional  Length TLV>                         \
                        +---------------+---------------+---------------+--------------+
                        \                <Optional  Cache Life Time TLV>               \
                        +---------------+---------------+---------------+--------------+
                        \                        ...                                   \

                           Figure 4: Extended Header TLV Container for Content Object.


   The field definitions are as follows:

   o  E bit: This bit identifies the presence of an Extended Header TLV
      in the Content Object.

   o  Version: These 3 bits identifies the protocol version.

   o  Message type: This message is set to type Content Object.

   o  Length : The Content Object Length is defined in 2B and represents
      the total packet length i.e. including the Content Object, fixed
      and Extended header.  The 2 Byte allows 64KB of total packet
      length.  If the packet length is larger than 64KB, then this field
      is set to 0x0000 indicating that the packet length is encoded in
      the Extended Header using the Optional Length TLV.  This flexible
      length definition allows large Content Object payloads, which is
      further discussed later.





Ravindran & Chakraborti  Expires January 7, 2016                [Page 5]

Internet-Draft                 Elastic ICN                     July 2015


   o  Extended Header TLV: The Extended Header TLV encoding is similar
      to Fig.2.  The container encapsulates network and Content Object
      related metadata such as Optional Length and Cache lifetime.  The
      Extended Header Length is the sum of all hop-by-hop TLV included
      in the Extended TLV container.

   o  Content Object Message: This is same as the Content Object in
      CCNx1.0 [1] proposal.  However, the proposed encoding allows
      messages larger than 64KB.  This is because of TLV encoding of
      length in the Extended Header that allows multiple length type
      definitions.  For e.g., while the default is 2 Byte length in the
      fixed header, a new type such as LEN_TYPE_4GB can be defined in
      the Optional Length TLV in the Extended Header to encode Content
      Object up to 4GB size.  An example of a 4GB Content Object
      encoding is shown in Fig. 8.

5.  Packet Encoding Examples

   Based on above discussion we present examples of packet encoding
   here.

   Example-1: Interest message with length less than 255 Bytes is shown
   in Fig. 5.


                         0                   1                   2                   3
                        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       |0| Ver | Msg=I |    Hop Limit  |   Length <255 |  Interest
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                              Message                                  \
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       \                   ...                                         \


                        Figure 5: Encoding for Interest payload less than 255 Bytes.




   Example-2: Interest payload with length up to 64KB is shown in Fig.
   6.  In this case, the Optional Length TLV in the Extended Header
   encodes the size of the total Interest packet.  The Optional Length
   type DEFAULT indicates 2 Byte length field.







Ravindran & Chakraborti  Expires January 7, 2016                [Page 6]

Internet-Draft                 Elastic ICN                     July 2015


                        0                   1                   2                   3
                        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       |1| Ver | Msg=I |    Hop Limit  |   0x0000      |Type= T_EXTENDED
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       _HEADER         |  Extended Header Len =  6     |Optional Length
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                        Type =  DEFAULT|         Length                | Value
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                       |  Interest Message                             \
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       \                   ...                                     \

                      Figure 6: Encoding for Interest payload up to 64KB.




   Example-3: Content Object with length less than 64KB is shown in Fig.
   7.


                        0                   1                   2                   3
                        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       |0| Ver | Msg=C |    Length                     | Content Object
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                       | Length                        | Content
                        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       \                       Object Payload                          \
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       \                         ...                                   \

                      Figure 7: Encoding for Content Object payload up to 64KB.




   Example-4: A Content Object encoding capable of transporting up to
   4GB Content Object is shown in Fig. 8.  In this case a new type of
   Optional Length TLV of type LEN_TYPE_4GB of size 4 Byte is defined in
   the Extended Header.









Ravindran & Chakraborti  Expires January 7, 2016                [Page 7]

Internet-Draft                 Elastic ICN                     July 2015


                        0                   1                   2                   3
                        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       |1| Ver | Msg   |    Length=0x0000              |Type= T_EXTENDED
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                        _HEADER        |   Length = 8                  | LEN_TYPE_4GB
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                       |   Length = 4                  |  Length Value
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                                                       | CCN Msg Type =
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       Content Object  | LEN_TYPE_4GB                  |   Content     \
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       \                       Object Payload                          \
                       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       \                         ...                                   \

                        Figure 8:  Encoding for Content Object payload up to 4GB.


6.  Security Considerations

   The Elastic ICN packet format proposal doesn't raise any new security
   considerations.

7.  Informative References

   [1]        CCN Wire format, CCNX1., "http://www.ietf.org/id/
              draft-mosko-icnrg-ccnxmessages-00.txt.", 2013.

   [2]        Osseiran, A., "Scenarios for 5G Mobile and Wireless
              Communications: The Vision of the METIS Project.", IEEE
              Communication Magazine , 2014.

   [3]        Forwarding-Label support in CCN Protocol, Forwarding-
              Label., "https://tools.ietf.org/html/draft-ravi-ccn-
              forwarding-label-00.", 2005.

   [4]        Chen, J., Arumaithurai, M., Jiao, L., Fu, X., and K.
              Ramakrishnan, "COPS: An Efficient Content Oriented
              Publish/Subscribe System.", ACM/IEEE Symposium on
              Architectures for Networking and Communications Systems
              (ANCS 2011) , 2011.

   [5]        "https://tools.ietf.org/id/draft-icn-packet-format-
              requirements-00.txt.", 2015.

   [6]        SIGFOX, , "http://www.sigfox.com/en/".



Ravindran & Chakraborti  Expires January 7, 2016                [Page 8]

Internet-Draft                 Elastic ICN                     July 2015


   [7]        LORA Alliance, , "http://lora-alliance.org/".

Authors' Addresses

   Ravishankar Ravindran
   Huawei Technologies
   2330 Central Expressway
   Santa Clara, CA  95050
   USA

   Email: ravi.ravindran@huawei.com


   Asit Chakraborti
   Huawei Technologies
   2330 Central Expressway
   Santa Clara, CA  95050
   USA

   Email: asit.chakraborti@huawei.com































Ravindran & Chakraborti  Expires January 7, 2016                [Page 9]