|Gateway Services| ------------------------- | ,--------, | | | BR | | | '--------' LoWPAN O O O O O embedded O O O devices O O
Device 1 Device 2 ,------------------, Router ,------------------, | Application . | __________________ | ,-> Application | |----------------|-| | NDN / CCNx | |-|----------------| | NDN / CCNx | | | ,--------------, | | | NDN / CCNx | |----------------|-| |-|--------------|-| |-|----------------| | ICN LoWPAN | | | | ICN LoWPAN | | | | ICN LoWPAN | |----------------|-| |-|--------------|-| |-|----------------| | Link Layer | | | | Link Layer | | | | Link Layer | '----------------|-' '-|--------------|-' '-|----------------' '--------' '---------'
Uncompressed: Variable-length TLV Fixed-length TLV Boolean TLV ,-----------------------,-----------------------,-------------, +-------+-------+-------+-------+-------+-------+------+------+ | TYP | LEN | VAL | TYP | LEN | VAL | TYP | LEN | +-------+-------+-------+-------+-------+-------+------+------+ Compressed: +---+---+---+---+---+---+---+---+ | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | Bit Field +---+---+---+---+---+---+---+---+ | | | ,--' '----, '- Boolean Value | | +-------+-------+-------+ | LEN | VAL | VAL | +-------+-------+-------+ '---------------'-------' Var-len Value Fixed-len Value
0 1 2 3 ... +---+---+---+---+--- | 0 | P | M | C | +---+---+---+---+---
0 1 2 3 ... ... +---+---+---+---+...+---+---+ | 0 | P | M | 1 | |CID|EXT| +---+---+---+---+...+---+---+
+------...------+------...-----+--------+-------...-------+-----... | IEEE 802.15.4 | RFC4944 Disp.| Page | ICN LoWPAN Disp.| Payl. / +------...------+------...-----+--------+-------...-------+-----...
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | - | - | - | - | - | - | - |EXT| +---+---+---+---+---+---+---+---+
+------...------+----...----+--------+------...-------+--------... | IEEE 802.15.4 | Frag. 1st | Page | ICN LoWPAN | Payload / +------...------+----...----+--------+------...-------+--------... +------...------+----...----+--------... | IEEE 802.15.4 | Frag. 2nd | Payload / +------...------+----...----+--------... . . . +------...------+----...----+--------... | IEEE 802.15.4 | Frag. Nth | Payload / +------...------+----...----+--------...
+------...------+--------+------...-------+--------... | IEEE 802.15.4 | Page | ICN LoWPAN | Payload / +------...------+--------+------...-------+--------...
Value | NDN TLV Encoding | SDNV Encoding |
---|---|---|
0 | 0x00 | 0x00 |
127 | 0x7F | 0x7F |
128 | 0x80 | 0x81 0x00 |
253 | 0xFD 0x00 0xFD | 0x81 0x7D |
214 - 1 | 0xFD 0x3F 0xFF | 0xFF 0x7F |
214 | 0xFD 0x40 0x00 | 0x81 0x80 0x00 |
216 | 0xFE 0x00 0x01 0x00 0x00 | 0x84 0x80 0x00 |
221 - 1 | 0xFE 0x00 0x1F 0xFF 0xFF | 0xFF 0xFF 0x7F |
221 | 0xFE 0x00 0x20 0x00 0x00 | 0x81 0x80 0x80 0x00 |
228 - 1 | 0xFE 0x0F 0xFF 0xFF 0xFF | 0xFF 0xFF 0xFF 0x7F |
228 | 0xFE 0x1F 0x00 0x00 0x00 | 0x81 0x80 0x80 0x80 0x00 |
232 | 0xFF 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 | 0x90 0x80 0x80 0x80 0x00 |
235 - 1 | 0xFF 0x00 0x00 0x00 0x07 0xFF 0xFF 0xFF 0xFF | 0xFF 0xFF 0xFF 0xFF 0x7F |
235 | 0xFF 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 | 0x81 0x80 0x80 0x80 0x80 0x00 |
Name: /HAW/Room/481/Humid/99 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 0 1 1|0 1 0 0| H | A | W | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | R | o | o | m | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0 0 1 1|0 1 0 1| 4 | 8 | 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | H | u | m | i | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | d |0 0 1 0|0 0 0 0| 9 | 9 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +---+---+---+---+---+---+---+---+
T = Type, L = Length, V = Value Lc = Compressed Length, Vc = Compressed Value : = optional field, | = mandatory field +---------+---------+ +---------+ | Msg T | Msg L | | Msg Lc | +---------+---------+---------+ +---------+ | Name T | Name L | Name V | | Name Vc | +---------+---------+---------+ +---------+---------+ : CBPfx T : CBPfx L : : FWDH Lc : FWDH Vc : +---------+---------+ +---------+---------+ : MBFr T : MBFr L : | HPL V | +---------+---------+---------+ ==> +---------+---------+ : FWDH T : FWDH L : FWDH V : : APM Lc : APM Vc : +---------+---------+---------+ +---------+---------+ : NONCE T : NONCE L : NONCE V : : NONCE V : +---------+---------+---------+ +---------+ : ILT T : ILT L : ILT V : : ILT Vc : +---------+---------+---------+ +---------+ : HPL T : HPL L : HPL V : +---------+---------+---------+ : APM T : APM L : APM V : +---------+---------+---------+
0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | 0 | 0 | 0 | 1 |PFX|FRE|FWD|APM|DIG| RSV |CID|EXT| +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | NCS | RSV |EXT| +---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | +---+---+---+---+---+---+---+---+
T = Type, L = Length, V = Value Lc = Compressed Length, Vc = Compressed Value : = optional field, | = mandatory field +---------+---------+ +---------+ | Msg T | Msg L | | Msg Lc | +---------+---------+---------+ +---------+ | Name T | Name L | Name V | | Name Vc | +---------+---------+---------+ +---------+---------+ : Meta T : Meta L : : CTyp Lc : CTyp V : +---------+---------+---------+ +---------+---------+ : CTyp T : CTyp L : CTyp V : : FBID V : +---------+---------+---------+ ==> +---------+---------+ : FrPr T : FrPr L : FrPr V : : CONT Lc : CONT V : +---------+---------+---------+ +---------+---------+ : FBID T : FBID L : FBID V : | Sig Lc | +---------+---------+---------+ +---------+---------+ : CONT T : CONT L : CONT V : | SInf Lc | SInf Vc | +---------+---------+---------+ +---------+---------+ | Sig T | Sig L | | SVal Lc | SVal Vc | +---------+---------+---------+ +---------+---------+ | SInf T | SInf L | SInf V | : FrPr Vc : +---------+---------+---------+ +---------+ | SVal T | SVal L | SVal V | +---------+---------+---------+
0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | 0 | 0 | 1 | 1 |FBI|CON|KLO| RSV |CID|EXT| +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | NCS | RSV |EXT| +---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | +---+---+---+---+---+---+---+---+
T = Type, L = Length, V = Value Lc = Compressed Length, Vc = Compressed Value : = optional field, | = mandatory field +-----------------------------+ +-------------------------+ | Uncompr. Fixed Header | | Compr. Fixed Header | +-----------------------------+ +-------------------------+ +---------+---------+---------+ +---------+ : ILT T : ILT L : ILT V : : ILT Vc : +---------+---------+---------+ +---------+ : MSGH T : MSGH L : MSGH V : : MSGH Vc : +---------+---------+---------+ +---------+ +---------+---------+ +---------+ | MSGT T | MSGT L | | Name Vc | +---------+---------+---------+ +---------+ | Name T | Name L | Name V | ==> : KIDR Vc : +---------+---------+---------+ +---------+ : KIDR T : KIDR L : KIDR V : : OBHR Vc : +---------+---------+---------+ +---------+---------+ : OBHR T : OBHR L : OBHR V : : PAYL Lc : PAYL V : +---------+---------+---------+ +---------+---------+ : PAYL T : PAYL L : PAYL V : : VALG Lc : VALG Vc : +---------+---------+---------+ +---------+---------+ : VALG T : VALG L : VALG V : : VPAY Lc : VPAY V : +---------+---------+---------+ +---------+---------+ : VPAY T : VPAY L : VPAY V : +---------+---------+---------+
0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | 0 | 1 | 0 | 1 |FLG|PTY|HPL|FRS|PAY|ILT|MGH|KIR|CHR|VAL|CID|EXT| +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 8 +-------+-------+-------+-------+-------+-------+-------+-------+ | ValidationAlg | KeyID | RSV | +-------+-------+-------+-------+-------+-------+-------+-------+
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | NCS | RSV |EXT| +---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | +---+---+---+---+---+---+---+---+
T = Type, L = Length, V = Value Lc = Compressed Length, Vc = Compressed Value : = optional field, | = mandatory field +-----------------------------+ +-------------------------+ | Uncompr. Fixed Header | | Compr. Fixed Header | +-----------------------------+ +-------------------------+ +---------+---------+---------+ +---------+ : RCT T : RCT L : RCT V : : RCT Vc : +---------+---------+------.--+ +---------+ : MSGH T : MSGH L : MSGH V : : MSGH Vc : +---------+---------+---------+ +---------+ +---------+---------+ +---------+ | MSGT T | MSGT L | | Name Vc | +---------+---------+---------+ +---------+ | Name T | Name L | Name V | ==> : EXPT Vc : +---------+---------+---------+ +---------+---------+ : PTYP T : PTYP L : PTYP V : : PAYL Lc : PAYL V : +---------+---------+---------+ +---------+---------+ : EXPT T : EXPT L : EXPT V : : VALG Lc : VALG Vc : +---------+---------+---------+ +---------+---------+ : PAYL T : PAYL L : PAYL V : : VPAY Lc : VPAY V : +---------+---------+---------+ +---------+---------+ : VALG T : VALG L : VALG V : +---------+---------+---------+ : VPAY T : VPAY L : VPAY V : +---------+---------+---------+
0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | 0 | 1 | 1 | 1 |FLG|FRS|PAY|RCT|MGH| PLTYP |EXP|VAL|RSV|CID|EXT| +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | NCS | RSV |EXT| +---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | X | CID | +---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | X | HopID | +---+---+---+---+---+---+---+---+
PIT of B PIT Extension PIT of C PIT Extension +--------+------++------+------+ +--------+------++------+------+ | Prefix | Face || HIDi | HIDo | | Prefix | Face || HIDi | HIDo | +========+======++======+======+ +========+======++======+======+ | /p0 | F_A || h_A | h_B | | /p0 | F_A || h_A | | +--------+------++------+------+ +--------+------++------+------+ ^ | ^ store | '----------------------, ,---' store | send v | ,---, /p0, h_A ,---, /p0, h_B ,---, | A | ------------------------> | B | ------------------------> | C | '---' '---' '---'
PIT of B PIT Extension PIT of C PIT Extension +--------+------++------+------+ +--------+------++------+------+ | Prefix | Face || HIDi | HIDo | | Prefix | Face || HIDi | HIDo | +========+======++======+======+ +========+======++======+======+ | /p0 | F_A || h_A | h_B | | /p0 | F_A || h_A | | +--------+------++------+------+ +--------+------++------+------+ | ^ | send | '----------------------, ,---' send v match | v ,---, h_A ,---, h_B ,---, | A | <------------------------ | B | <------------------------ | C | '---' '---' '---'
...-------+--------+-------...-------+--...-+-------... / ... | Page | ICN LoWPAN Disp.| CIDs | Payload / ...-------+--------+-------...-------+--...-+-------...
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ |1| CID / HopID | --> |1| CID | --> |0| CID | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
Bit Pattern | Page | Header Type | Reference |
---|---|---|---|
00 000000 | 14 | Uncompressed NDN Interest messages | RFC 9139 |
00 01xxxx | 14 | Compressed NDN Interest messages | RFC 9139 |
00 100000 | 14 | Uncompressed NDN Data messages | RFC 9139 |
00 11xxxx | 14 | Compressed NDN Data messages | RFC 9139 |
01 000000 | 14 | Uncompressed CCNx Interest messages | RFC 9139 |
01 01xxxx | 14 | Compressed CCNx Interest messages | RFC 9139 |
01 100000 | 14 | Uncompressed CCNx Content Object messages | RFC 9139 |
01 11xxxx | 14 | Compressed CCNx Content Object messages | RFC 9139 |
------------------------------------, Interest TLV = 2 | ---------------------, | Name | 2 + | NameComponents = 2n + | | comps_n | ---------------------' = 21 + 2n + comps_n CanBePrefix = 2 | MustBeFresh = 2 | Nonce = 6 | InterestLifetime = 4 | HopLimit = 3 | ------------------------------------'
------------------------------------, Dispatch Page Switch = 1 | NDN Interest Dispatch = 2 | Interest TLV = 1 | -----------------------, | Name | | NameComponents = n/2 + = 10 + n/2 + comps_n | comps_n | -----------------------' | Nonce = 4 | HopLimit = 1 | InterestLifetime = 1 | ------------------------------------'
------------------------------------, Data TLV = 2 | ---------------------, | Name | 2 + | NameComponents = 2n + | | comps_n | ---------------------' | ---------------------, | MetaInfo | | FreshnessPeriod = 6 | | = 53 + 2n + comps_n + ---------------------' | clen + klen Content = 2 + clen | ---------------------, | SignatureInfo | | SignatureType | | KeyLocator = 41 + klen | SignatureValue | | DigestSha256 | | ---------------------' | ------------------------------------'
------------------------------------, Dispatch Page Switch = 1 | NDN Data Dispatch = 2 | -----------------------, | Name | | NameComponents = n/2 + | | comps_n = 38 + n/2 + comps_n + -----------------------' | clen + klen Content = 1 + clen | KeyLocator = 1 + klen | DigestSha256 = 32 | FreshnessPeriod = 1 | ------------------------------------'
------------------------------------, Fixed Header = 8 | Message = 4 | ---------------------, | Name | 4 + = 56 + 4n + comps_n NameSegments = 4n + | | comps_n | ---------------------' | KeyIdRestriction = 40 | ------------------------------------'
------------------------------------, Dispatch Page Switch = 1 | CCNx Interest Dispatch = 2 | Fixed Header = 3 | -----------------------, | Name | = 38 + n/2 + comps_n NameSegments = n/2 + | | comps_n | -----------------------' | T_SHA-256 = 32 | ------------------------------------'
------------------------------------, Fixed Header = 8 | Message = 4 | ---------------------, | Name | 4 + | NameSegments = 4n + | | comps_n | ---------------------' | ExpiryTime = 12 = 124 + 4n + comps_n + clen Payload = 4 + clen | ---------------------, | ValidationAlgorithm | | T_HMAC-256 = 56 | KeyID | | SignatureTime | | ---------------------' | ValidationPayload = 36 | ------------------------------------'
------------------------------------, Dispatch Page Switch = 1 | CCNx Content Dispatch = 3 | Fixed Header = 2 | -----------------------, | Name | | NameSegments = n/2 + | | comps_n = 89 + n/2 + comps_n + clen -----------------------' | ExpiryTime = 8 | Payload = 1 + clen | T_HMAC-SHA256 = 32 | SignatureTime = 8 | ValidationPayload = 34 | ------------------------------------'