Project

General

Profile

Actions

NDNLP-TLV » History » Revision 5

« Previous | Revision 5/8 (diff) | Next »
Junxiao Shi, 02/14/2014 03:21 PM


NDNLP TLV packet format

NDN packet format is shifting from CCNB to NDN-TLV.
In this format, every packet, and every field within a packet, is represented by a tuple of Type-Length-Value.

NDNLP: A Link Protocol for NDN provides two services to enable NDN communication directly on Ethernet:

  • Fragmentation and Reassembly
  • Acknowledgement and Retransmission

NDNLP is initially designed to work with CCNx, and therefore adopts a CCNB-based packet format.
Although it's possible to enclose NDN-TLV packets in CCNB-based NDNLP packets, this is awkward.
Therefore, a TLV-based packet format should be defined for NDNLP.

This document defines the TLV-based packet format for NDNLP.
In operation reality, acknowledgement and retransmission is rarely used. This version only defines packet type and fields necessary for fragmentation and reassembly.

Basic protocol operations are unchanged.
Fragmentation and reassembly operations are extended to multicast.

Link Data Packet

A Link Data packet carries a NDN-TLV packet or a fragment of it as the payload.
It has the following format:

NdnlpData ::= NDNLP-DATA-TYPE TLV-LENGTH
                NdnlpSequence
                NdnlpFragIndex?
                NdnlpFragCount?
                NdnlpPayload

sequence number

NdnlpSequence ::= NDNLP-SEQUENCE-TYPE TLV-LENGTH(=8)
                    BYTE+

A unique sequence number for each packet.

fragment index

NdnlpFragIndex ::= NDNLP-FRAG-INDEX-TYPE TLV-LENGTH(=2)
                     BYTE+

The 0-based index of current fragment within the network layer packet.

Optional. Default to '0' if not present.

fragment count

NdnlpFragCount ::= NDNLP-FRAG-COUNT-TYPE TLV-LENGTH(=2)
                     BYTE+

Total number of fragments of the network layer packet.

Optional. Default to '1' if not present.

payload

NdnlpPayload ::= NDNLP-PAYLOAD-TYPE TLV-LENGTH
                   BYTE+

The payload.

TLV-TYPE assignments

Type Assigned value Assigned value (hex)
NdnlpData 30 0x1e
NdnlpSequence 31 0x1f
NdnlpFragIndex 32 0x20
NdnlpFragCount 33 0x21
NdnlpPayload 34 0x22

Updated by Junxiao Shi about 10 years ago · 5 revisions