| < draft-ietf-6lo-ghc-02.txt | draft-ietf-6lo-ghc-03.txt > | |||
|---|---|---|---|---|
| 6Lo Working Group C. Bormann | 6Lo Working Group C. Bormann | |||
| Internet-Draft Universitaet Bremen TZI | Internet-Draft Universitaet Bremen TZI | |||
| Intended status: Standards Track July 21, 2014 | Intended status: Standards Track July 21, 2014 | |||
| Expires: January 22, 2015 | Expires: January 22, 2015 | |||
| 6LoWPAN Generic Compression of Headers and Header-like Payloads | 6LoWPAN Generic Compression of Headers and Header-like Payloads | |||
| draft-ietf-6lo-ghc-02 | draft-ietf-6lo-ghc-03 | |||
| Abstract | Abstract | |||
| This short specification provides a simple addition to 6LoWPAN Header | This short specification provides a simple addition to 6LoWPAN Header | |||
| Compression that enables the compression of generic headers and | Compression that enables the compression of generic headers and | |||
| header-like payloads, without a need to define a new header | header-like payloads, without a need to define a new header | |||
| compression scheme for each new such header or header-like payload. | compression scheme for each new such header or header-like payload. | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 13, line 36 ¶ | skipping to change at page 13, line 36 ¶ | |||
| IP header: | IP header: | |||
| 60 00 00 00 00 08 3a ff fe 80 00 00 00 00 00 00 | 60 00 00 00 00 08 3a ff fe 80 00 00 00 00 00 00 | |||
| 02 1c da ff fe 00 20 24 ff 02 00 00 00 00 00 00 | 02 1c da ff fe 00 20 24 ff 02 00 00 00 00 00 00 | |||
| 00 00 00 00 00 00 00 1a | 00 00 00 00 00 00 00 1a | |||
| Payload: | Payload: | |||
| 9b 00 6b de 00 00 00 00 | 9b 00 6b de 00 00 00 00 | |||
| Dictionary: | Dictionary: | |||
| fe 80 00 00 00 00 00 00 02 1c da ff fe 00 20 24 | fe 80 00 00 00 00 00 00 02 1c da ff fe 00 20 24 | |||
| ff 02 00 00 00 00 00 00 00 00 00 00 00 00 00 1a | ff 02 00 00 00 00 00 00 00 00 00 00 00 00 00 1a | |||
| 00 00 00 08 00 00 00 3a 16 fe fd 17 fe fd 00 01 | 16 fe fd 17 fe fd 00 01 00 00 00 00 00 01 00 00 | |||
| 00 00 00 00 00 01 00 00 | ||||
| copy: 04 9b 00 6b de | copy: 04 9b 00 6b de | |||
| 4 nulls: 82 | 4 nulls: 82 | |||
| Compressed: | Compressed: | |||
| 04 9b 00 6b de 82 | 04 9b 00 6b de 82 | |||
| Was 8 bytes; compressed to 6 bytes, compression factor 1.33 | Was 8 bytes; compressed to 6 bytes, compression factor 1.33 | |||
| Figure 8: A simple RPL example | Figure 8: A simple RPL example | |||
| Figure 9 shows an RPL DODAG Information Object, a longer RPL control | Figure 9 shows an RPL DODAG Information Object, a longer RPL control | |||
| message that is improved a bit more. Note that the compressed output | message that is improved a bit more. Note that the compressed output | |||
| skipping to change at page 14, line 19 ¶ | skipping to change at page 14, line 19 ¶ | |||
| Payload: | Payload: | |||
| 9b 01 7a 5f 00 f0 01 00 88 00 00 00 20 02 0d b8 | 9b 01 7a 5f 00 f0 01 00 88 00 00 00 20 02 0d b8 | |||
| 00 00 00 00 00 00 00 ff fe 00 fa ce 04 0e 00 14 | 00 00 00 00 00 00 00 ff fe 00 fa ce 04 0e 00 14 | |||
| 09 ff 00 00 01 00 00 00 00 00 00 00 08 1e 80 20 | 09 ff 00 00 01 00 00 00 00 00 00 00 08 1e 80 20 | |||
| ff ff ff ff ff ff ff ff 00 00 00 00 20 02 0d b8 | ff ff ff ff ff ff ff ff 00 00 00 00 20 02 0d b8 | |||
| 00 00 00 00 00 00 00 ff fe 00 fa ce 03 0e 40 00 | 00 00 00 00 00 00 00 ff fe 00 fa ce 03 0e 40 00 | |||
| ff ff ff ff 20 02 0d b8 00 00 00 00 | ff ff ff ff 20 02 0d b8 00 00 00 00 | |||
| Dictionary: | Dictionary: | |||
| fe 80 00 00 00 00 00 00 02 1c da ff fe 00 30 23 | fe 80 00 00 00 00 00 00 02 1c da ff fe 00 30 23 | |||
| ff 02 00 00 00 00 00 00 00 00 00 00 00 00 00 1a | ff 02 00 00 00 00 00 00 00 00 00 00 00 00 00 1a | |||
| 00 00 00 5c 00 00 00 3a 16 fe fd 17 fe fd 00 01 | 16 fe fd 17 fe fd 00 01 00 00 00 00 00 01 00 00 | |||
| 00 00 00 00 00 01 00 00 | ||||
| copy: 06 9b 01 7a 5f 00 f0 | copy: 06 9b 01 7a 5f 00 f0 | |||
| ref(9): 01 00 -> ref 11nnnkkk 0 7: c7 | ref(9): 01 00 -> ref 11nnnkkk 0 7: c7 | |||
| copy: 01 88 | copy: 01 88 | |||
| 3 nulls: 81 | 3 nulls: 81 | |||
| copy: 04 20 02 0d b8 | copy: 04 20 02 0d b8 | |||
| 7 nulls: 85 | 7 nulls: 85 | |||
| ref(68): ff fe 00 -> ref 101nssss 0 8/11nnnkkk 1 1: a8 c9 | ref(60): ff fe 00 -> ref 101nssss 0 7/11nnnkkk 1 1: a7 c9 | |||
| copy: 08 fa ce 04 0e 00 14 09 ff | copy: 08 fa ce 04 0e 00 14 09 ff | |||
| ref(39): 00 00 01 00 00 -> ref 101nssss 0 4/11nnnkkk 3 2: a4 da | ref(39): 00 00 01 00 00 -> ref 101nssss 0 4/11nnnkkk 3 2: a4 da | |||
| 5 nulls: 83 | 5 nulls: 83 | |||
| copy: 06 08 1e 80 20 ff ff | copy: 06 08 1e 80 20 ff ff | |||
| ref(2): ff ff -> ref 11nnnkkk 0 0: c0 | ref(2): ff ff -> ref 11nnnkkk 0 0: c0 | |||
| ref(4): ff ff ff ff -> ref 11nnnkkk 2 0: d0 | ref(4): ff ff ff ff -> ref 11nnnkkk 2 0: d0 | |||
| 4 nulls: 82 | 4 nulls: 82 | |||
| ref(48): 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 fa ce | ref(48): 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 fa ce | |||
| -> ref 101nssss 1 4/11nnnkkk 6 0: b4 f0 | -> ref 101nssss 1 4/11nnnkkk 6 0: b4 f0 | |||
| copy: 03 03 0e 40 | copy: 03 03 0e 40 | |||
| ref(9): 00 ff -> ref 11nnnkkk 0 7: c7 | ref(9): 00 ff -> ref 11nnnkkk 0 7: c7 | |||
| ref(28): ff ff ff -> ref 101nssss 0 3/11nnnkkk 1 1: a3 c9 | ref(28): ff ff ff -> ref 101nssss 0 3/11nnnkkk 1 1: a3 c9 | |||
| ref(24): 20 02 0d b8 00 00 00 00 | ref(24): 20 02 0d b8 00 00 00 00 | |||
| -> ref 101nssss 0 2/11nnnkkk 6 0: a2 f0 | -> ref 101nssss 0 2/11nnnkkk 6 0: a2 f0 | |||
| Compressed: | Compressed: | |||
| 06 9b 01 7a 5f 00 f0 c7 01 88 81 04 20 02 0d b8 | 06 9b 01 7a 5f 00 f0 c7 01 88 81 04 20 02 0d b8 | |||
| 85 a8 c9 08 fa ce 04 0e 00 14 09 ff a4 da 83 06 | 85 a7 c9 08 fa ce 04 0e 00 14 09 ff a4 da 83 06 | |||
| 08 1e 80 20 ff ff c0 d0 82 b4 f0 03 03 0e 40 c7 | 08 1e 80 20 ff ff c0 d0 82 b4 f0 03 03 0e 40 c7 | |||
| a3 c9 a2 f0 | a3 c9 a2 f0 | |||
| Was 92 bytes; compressed to 52 bytes, compression factor 1.77 | Was 92 bytes; compressed to 52 bytes, compression factor 1.77 | |||
| Figure 9: A longer RPL example | Figure 9: A longer RPL example | |||
| Similarly, Figure 10 shows an RPL DAO message. One of the embedded | Similarly, Figure 10 shows an RPL DAO message. One of the embedded | |||
| addresses is copied right out of the pseudo-header, the other one is | addresses is copied right out of the pseudo-header, the other one is | |||
| effectively converted from global to local by providing the prefix | effectively converted from global to local by providing the prefix | |||
| FE80 literally, inserting a number of nulls, and copying (some of) | FE80 literally, inserting a number of nulls, and copying (some of) | |||
| skipping to change at page 15, line 26 ¶ | skipping to change at page 15, line 26 ¶ | |||
| 00 00 00 ff fe 00 33 44 20 02 0d b8 00 00 00 00 | 00 00 00 ff fe 00 33 44 20 02 0d b8 00 00 00 00 | |||
| 00 00 00 ff fe 00 11 22 | 00 00 00 ff fe 00 11 22 | |||
| Payload: | Payload: | |||
| 9b 02 58 7d 01 80 00 f1 05 12 00 80 20 02 0d b8 | 9b 02 58 7d 01 80 00 f1 05 12 00 80 20 02 0d b8 | |||
| 00 00 00 00 00 00 00 ff fe 00 33 44 06 14 00 80 | 00 00 00 00 00 00 00 ff fe 00 33 44 06 14 00 80 | |||
| f1 00 fe 80 00 00 00 00 00 00 00 00 00 ff fe 00 | f1 00 fe 80 00 00 00 00 00 00 00 00 00 ff fe 00 | |||
| 11 22 | 11 22 | |||
| Dictionary: | Dictionary: | |||
| 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 33 44 | 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 33 44 | |||
| 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 11 22 | 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 11 22 | |||
| 00 00 00 32 00 00 00 3a 16 fe fd 17 fe fd 00 01 | 16 fe fd 17 fe fd 00 01 00 00 00 00 00 01 00 00 | |||
| 00 00 00 00 00 01 00 00 | ||||
| copy: 0c 9b 02 58 7d 01 80 00 f1 05 12 00 80 | copy: 0c 9b 02 58 7d 01 80 00 f1 05 12 00 80 | |||
| ref(68): 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 33 44 | ref(60): 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 33 44 | |||
| -> ref 101nssss 1 6/11nnnkkk 6 4: b6 f4 | -> ref 101nssss 1 5/11nnnkkk 6 4: b5 f4 | |||
| copy: 08 06 14 00 80 f1 00 fe 80 | copy: 08 06 14 00 80 f1 00 fe 80 | |||
| 9 nulls: 87 | 9 nulls: 87 | |||
| ref(74): ff fe 00 11 22 -> ref 101nssss 0 8/11nnnkkk 3 5: a8 dd | ref(66): ff fe 00 11 22 -> ref 101nssss 0 7/11nnnkkk 3 5: a7 dd | |||
| Compressed: | Compressed: | |||
| 0c 9b 02 58 7d 01 80 00 f1 05 12 00 80 b6 f4 08 | 0c 9b 02 58 7d 01 80 00 f1 05 12 00 80 b5 f4 08 | |||
| 06 14 00 80 f1 00 fe 80 87 a8 dd | 06 14 00 80 f1 00 fe 80 87 a7 dd | |||
| Was 50 bytes; compressed to 27 bytes, compression factor 1.85 | Was 50 bytes; compressed to 27 bytes, compression factor 1.85 | |||
| Figure 10: An RPL DAO message | Figure 10: An RPL DAO message | |||
| Figure 11 shows the effect of compressing a simple ND neighbor | Figure 11 shows the effect of compressing a simple ND neighbor | |||
| solicitation. | solicitation. | |||
| IP header: | IP header: | |||
| 60 00 00 00 00 30 3a ff 20 02 0d b8 00 00 00 00 | 60 00 00 00 00 30 3a ff 20 02 0d b8 00 00 00 00 | |||
| 00 00 00 ff fe 00 3b d3 fe 80 00 00 00 00 00 00 | 00 00 00 ff fe 00 3b d3 fe 80 00 00 00 00 00 00 | |||
| 02 1c da ff fe 00 30 23 | 02 1c da ff fe 00 30 23 | |||
| Payload: | Payload: | |||
| 87 00 a7 68 00 00 00 00 fe 80 00 00 00 00 00 00 | 87 00 a7 68 00 00 00 00 fe 80 00 00 00 00 00 00 | |||
| 02 1c da ff fe 00 30 23 01 01 3b d3 00 00 00 00 | 02 1c da ff fe 00 30 23 01 01 3b d3 00 00 00 00 | |||
| 1f 02 00 00 00 00 00 06 00 1c da ff fe 00 20 24 | 1f 02 00 00 00 00 00 06 00 1c da ff fe 00 20 24 | |||
| Dictionary: | Dictionary: | |||
| 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 3b d3 | 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 3b d3 | |||
| fe 80 00 00 00 00 00 00 02 1c da ff fe 00 30 23 | fe 80 00 00 00 00 00 00 02 1c da ff fe 00 30 23 | |||
| 00 00 00 30 00 00 00 3a 16 fe fd 17 fe fd 00 01 | 16 fe fd 17 fe fd 00 01 00 00 00 00 00 01 00 00 | |||
| 00 00 00 00 00 01 00 00 | ||||
| copy: 04 87 00 a7 68 | copy: 04 87 00 a7 68 | |||
| 4 nulls: 82 | 4 nulls: 82 | |||
| ref(48): fe 80 00 00 00 00 00 00 02 1c da ff fe 00 30 23 | ref(40): fe 80 00 00 00 00 00 00 02 1c da ff fe 00 30 23 | |||
| -> ref 101nssss 1 4/11nnnkkk 6 0: b4 f0 | -> ref 101nssss 1 3/11nnnkkk 6 0: b3 f0 | |||
| copy: 04 01 01 3b d3 | copy: 04 01 01 3b d3 | |||
| 4 nulls: 82 | 4 nulls: 82 | |||
| copy: 02 1f 02 | copy: 02 1f 02 | |||
| 5 nulls: 83 | 5 nulls: 83 | |||
| copy: 02 06 00 | copy: 02 06 00 | |||
| ref(24): 1c da ff fe 00 -> ref 101nssss 0 2/11nnnkkk 3 3: a2 db | ref(24): 1c da ff fe 00 -> ref 101nssss 0 2/11nnnkkk 3 3: a2 db | |||
| copy: 02 20 24 | copy: 02 20 24 | |||
| Compressed: | Compressed: | |||
| 04 87 00 a7 68 82 b4 f0 04 01 01 3b d3 82 02 1f | 04 87 00 a7 68 82 b3 f0 04 01 01 3b d3 82 02 1f | |||
| 02 83 02 06 00 a2 db 02 20 24 | 02 83 02 06 00 a2 db 02 20 24 | |||
| Was 48 bytes; compressed to 26 bytes, compression factor 1.85 | Was 48 bytes; compressed to 26 bytes, compression factor 1.85 | |||
| Figure 11: An ND neighbor solicitation | Figure 11: An ND neighbor solicitation | |||
| Figure 12 shows the compression of an ND neighbor advertisement. | Figure 12 shows the compression of an ND neighbor advertisement. | |||
| IP header: | IP header: | |||
| 60 00 00 00 00 30 3a fe fe 80 00 00 00 00 00 00 | 60 00 00 00 00 30 3a fe fe 80 00 00 00 00 00 00 | |||
| 02 1c da ff fe 00 30 23 20 02 0d b8 00 00 00 00 | 02 1c da ff fe 00 30 23 20 02 0d b8 00 00 00 00 | |||
| 00 00 00 ff fe 00 3b d3 | 00 00 00 ff fe 00 3b d3 | |||
| Payload: | Payload: | |||
| 88 00 26 6c c0 00 00 00 fe 80 00 00 00 00 00 00 | 88 00 26 6c c0 00 00 00 fe 80 00 00 00 00 00 00 | |||
| 02 1c da ff fe 00 30 23 02 01 fa ce 00 00 00 00 | 02 1c da ff fe 00 30 23 02 01 fa ce 00 00 00 00 | |||
| 1f 02 00 00 00 00 00 06 00 1c da ff fe 00 20 24 | 1f 02 00 00 00 00 00 06 00 1c da ff fe 00 20 24 | |||
| Dictionary: | Dictionary: | |||
| fe 80 00 00 00 00 00 00 02 1c da ff fe 00 30 23 | fe 80 00 00 00 00 00 00 02 1c da ff fe 00 30 23 | |||
| 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 3b d3 | 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 3b d3 | |||
| 00 00 00 30 00 00 00 3a 16 fe fd 17 fe fd 00 01 | 16 fe fd 17 fe fd 00 01 00 00 00 00 00 01 00 00 | |||
| 00 00 00 00 00 01 00 00 | ||||
| copy: 05 88 00 26 6c c0 | copy: 05 88 00 26 6c c0 | |||
| 3 nulls: 81 | 3 nulls: 81 | |||
| ref(64): fe 80 00 00 00 00 00 00 02 1c da ff fe 00 30 23 | ref(56): fe 80 00 00 00 00 00 00 02 1c da ff fe 00 30 23 | |||
| -> ref 101nssss 1 6/11nnnkkk 6 0: b6 f0 | -> ref 101nssss 1 5/11nnnkkk 6 0: b5 f0 | |||
| copy: 04 02 01 fa ce | copy: 04 02 01 fa ce | |||
| 4 nulls: 82 | 4 nulls: 82 | |||
| copy: 02 1f 02 | copy: 02 1f 02 | |||
| 5 nulls: 83 | 5 nulls: 83 | |||
| copy: 02 06 00 | copy: 02 06 00 | |||
| ref(24): 1c da ff fe 00 -> ref 101nssss 0 2/11nnnkkk 3 3: a2 db | ref(24): 1c da ff fe 00 -> ref 101nssss 0 2/11nnnkkk 3 3: a2 db | |||
| copy: 02 20 24 | copy: 02 20 24 | |||
| Compressed: | Compressed: | |||
| 05 88 00 26 6c c0 81 b6 f0 04 02 01 fa ce 82 02 | 05 88 00 26 6c c0 81 b5 f0 04 02 01 fa ce 82 02 | |||
| 1f 02 83 02 06 00 a2 db 02 20 24 | 1f 02 83 02 06 00 a2 db 02 20 24 | |||
| Was 48 bytes; compressed to 27 bytes, compression factor 1.78 | Was 48 bytes; compressed to 27 bytes, compression factor 1.78 | |||
| Figure 12: An ND neighbor advertisement | Figure 12: An ND neighbor advertisement | |||
| Figure 13 shows the compression of an ND router solicitation. Note | Figure 13 shows the compression of an ND router solicitation. Note | |||
| that the relatively good compression is not caused by the many zero | that the relatively good compression is not caused by the many zero | |||
| bytes in the link-layer address of this particular capture (which are | bytes in the link-layer address of this particular capture (which are | |||
| unlikely to occur in practice): 7 of these 8 bytes are copied from | unlikely to occur in practice): 7 of these 8 bytes are copied from | |||
| the pseudo-header (the 8th byte cannot be copied as the universal/ | the pseudo-header (the 8th byte cannot be copied as the universal/ | |||
| skipping to change at page 18, line 22 ¶ | skipping to change at page 18, line 22 ¶ | |||
| IP header: | IP header: | |||
| 60 00 00 00 00 18 3a ff fe 80 00 00 00 00 00 00 | 60 00 00 00 00 18 3a ff fe 80 00 00 00 00 00 00 | |||
| ae de 48 00 00 00 00 01 ff 02 00 00 00 00 00 00 | ae de 48 00 00 00 00 01 ff 02 00 00 00 00 00 00 | |||
| 00 00 00 00 00 00 00 02 | 00 00 00 00 00 00 00 02 | |||
| Payload: | Payload: | |||
| 85 00 90 65 00 00 00 00 01 02 ac de 48 00 00 00 | 85 00 90 65 00 00 00 00 01 02 ac de 48 00 00 00 | |||
| 00 01 00 00 00 00 00 00 | 00 01 00 00 00 00 00 00 | |||
| Dictionary: | Dictionary: | |||
| fe 80 00 00 00 00 00 00 ae de 48 00 00 00 00 01 | fe 80 00 00 00 00 00 00 ae de 48 00 00 00 00 01 | |||
| ff 02 00 00 00 00 00 00 00 00 00 00 00 00 00 02 | ff 02 00 00 00 00 00 00 00 00 00 00 00 00 00 02 | |||
| 00 00 00 18 00 00 00 3a 16 fe fd 17 fe fd 00 01 | 16 fe fd 17 fe fd 00 01 00 00 00 00 00 01 00 00 | |||
| 00 00 00 00 00 01 00 00 | ||||
| copy: 04 85 00 90 65 | copy: 04 85 00 90 65 | |||
| ref(11): 00 00 00 00 01 -> ref 11nnnkkk 3 6: de | ref(11): 00 00 00 00 01 -> ref 11nnnkkk 3 6: de | |||
| copy: 02 02 ac | copy: 02 02 ac | |||
| ref(58): de 48 00 00 00 00 01 | ref(50): de 48 00 00 00 00 01 | |||
| -> ref 101nssss 0 6/11nnnkkk 5 3: a6 eb | -> ref 101nssss 0 5/11nnnkkk 5 3: a5 eb | |||
| 6 nulls: 84 | 6 nulls: 84 | |||
| Compressed: | Compressed: | |||
| 04 85 00 90 65 de 02 02 ac a6 eb 84 | 04 85 00 90 65 de 02 02 ac a5 eb 84 | |||
| Was 24 bytes; compressed to 12 bytes, compression factor 2.00 | Was 24 bytes; compressed to 12 bytes, compression factor 2.00 | |||
| Figure 13: An ND router solicitation | Figure 13: An ND router solicitation | |||
| Figure 14 shows the compression of an ND router advertisement. The | Figure 14 shows the compression of an ND router advertisement. The | |||
| indefinite lifetime is compressed to four bytes by backreferencing; | indefinite lifetime is compressed to four bytes by backreferencing; | |||
| this could be improved (at the cost of minor additional decompressor | this could be improved (at the cost of minor additional decompressor | |||
| complexity) by including some simple runlength mechanism. | complexity) by including some simple runlength mechanism. | |||
| IP header: | IP header: | |||
| skipping to change at page 19, line 19 ¶ | skipping to change at page 19, line 19 ¶ | |||
| Payload: | Payload: | |||
| 86 00 55 c9 40 00 0f a0 1c 5a 38 17 00 00 07 d0 | 86 00 55 c9 40 00 0f a0 1c 5a 38 17 00 00 07 d0 | |||
| 01 01 11 22 00 00 00 00 03 04 40 40 ff ff ff ff | 01 01 11 22 00 00 00 00 03 04 40 40 ff ff ff ff | |||
| ff ff ff ff 00 00 00 00 20 02 0d b8 00 00 00 00 | ff ff ff ff 00 00 00 00 20 02 0d b8 00 00 00 00 | |||
| 00 00 00 00 00 00 00 00 20 02 40 10 00 00 03 e8 | 00 00 00 00 00 00 00 00 20 02 40 10 00 00 03 e8 | |||
| 20 02 0d b8 00 00 00 00 21 03 00 01 00 00 00 00 | 20 02 0d b8 00 00 00 00 21 03 00 01 00 00 00 00 | |||
| 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 11 22 | 20 02 0d b8 00 00 00 00 00 00 00 ff fe 00 11 22 | |||
| Dictionary: | Dictionary: | |||
| fe 80 00 00 00 00 00 00 10 34 00 ff fe 00 11 22 | fe 80 00 00 00 00 00 00 10 34 00 ff fe 00 11 22 | |||
| fe 80 00 00 00 00 00 00 ae de 48 00 00 00 00 01 | fe 80 00 00 00 00 00 00 ae de 48 00 00 00 00 01 | |||
| 00 00 00 60 00 00 00 3a 16 fe fd 17 fe fd 00 01 | 16 fe fd 17 fe fd 00 01 00 00 00 00 00 01 00 00 | |||
| 00 00 00 00 00 01 00 00 | ||||
| copy: 0c 86 00 55 c9 40 00 0f a0 1c 5a 38 17 | copy: 0c 86 00 55 c9 40 00 0f a0 1c 5a 38 17 | |||
| 2 nulls: 80 | 2 nulls: 80 | |||
| copy: 06 07 d0 01 01 11 22 | copy: 06 07 d0 01 01 11 22 | |||
| 4 nulls: 82 | 4 nulls: 82 | |||
| copy: 06 03 04 40 40 ff ff | copy: 06 03 04 40 40 ff ff | |||
| ref(2): ff ff -> ref 11nnnkkk 0 0: c0 | ref(2): ff ff -> ref 11nnnkkk 0 0: c0 | |||
| ref(4): ff ff ff ff -> ref 11nnnkkk 2 0: d0 | ref(4): ff ff ff ff -> ref 11nnnkkk 2 0: d0 | |||
| 4 nulls: 82 | 4 nulls: 82 | |||
| copy: 04 20 02 0d b8 | copy: 04 20 02 0d b8 | |||
| 12 nulls: 8a | 12 nulls: 8a | |||
| copy: 04 20 02 40 10 | copy: 04 20 02 40 10 | |||
| ref(38): 00 00 03 -> ref 101nssss 0 4/11nnnkkk 1 3: a4 cb | ref(38): 00 00 03 -> ref 101nssss 0 4/11nnnkkk 1 3: a4 cb | |||
| copy: 01 e8 | copy: 01 e8 | |||
| ref(24): 20 02 0d b8 00 00 00 00 | ref(24): 20 02 0d b8 00 00 00 00 | |||
| -> ref 101nssss 0 2/11nnnkkk 6 0: a2 f0 | -> ref 101nssss 0 2/11nnnkkk 6 0: a2 f0 | |||
| copy: 02 21 03 | copy: 02 21 03 | |||
| ref(84): 00 01 00 00 00 00 | ref(84): 00 01 00 00 00 00 | |||
| -> ref 101nssss 0 9/11nnnkkk 4 6: a9 e6 | -> ref 101nssss 0 9/11nnnkkk 4 6: a9 e6 | |||
| ref(40): 20 02 0d b8 00 00 00 00 00 00 00 | ref(40): 20 02 0d b8 00 00 00 00 00 00 00 | |||
| -> ref 101nssss 1 3/11nnnkkk 1 5: b3 cd | -> ref 101nssss 1 3/11nnnkkk 1 5: b3 cd | |||
| ref(136): ff fe 00 11 22 | ref(128): ff fe 00 11 22 | |||
| -> ref 101nssss 0 15/101nssss 0 1/11nnnkkk 3 3: af a1 db | -> ref 101nssss 0 15/11nnnkkk 3 3: af db | |||
| Compressed: | Compressed: | |||
| 0c 86 00 55 c9 40 00 0f a0 1c 5a 38 17 80 06 07 | 0c 86 00 55 c9 40 00 0f a0 1c 5a 38 17 80 06 07 | |||
| d0 01 01 11 22 82 06 03 04 40 40 ff ff c0 d0 82 | d0 01 01 11 22 82 06 03 04 40 40 ff ff c0 d0 82 | |||
| 04 20 02 0d b8 8a 04 20 02 40 10 a4 cb 01 e8 a2 | 04 20 02 0d b8 8a 04 20 02 40 10 a4 cb 01 e8 a2 | |||
| f0 02 21 03 a9 e6 b3 cd af a1 db | f0 02 21 03 a9 e6 b3 cd af db | |||
| Was 96 bytes; compressed to 59 bytes, compression factor 1.63 | Was 96 bytes; compressed to 58 bytes, compression factor 1.66 | |||
| Figure 14: An ND router advertisement | Figure 14: An ND router advertisement | |||
| Figure 15 shows the compression of a DTLS application data packet | Figure 15 shows the compression of a DTLS application data packet | |||
| with a net payload of 13 bytes of cleartext, and 8 bytes of | with a net payload of 13 bytes of cleartext, and 8 bytes of | |||
| authenticator (note that the IP header is not relevant for this | authenticator (note that the IP header is not relevant for this | |||
| example and has been set to 0). This makes good use of the static | example and has been set to 0). This makes good use of the static | |||
| dictionary, and is quite effective crunching out the redundancy in | dictionary, and is quite effective crunching out the redundancy in | |||
| the TLS_PSK_WITH_AES_128_CCM_8 header, leading to a net reduction by | the TLS_PSK_WITH_AES_128_CCM_8 header, leading to a net reduction by | |||
| 15 bytes. | 15 bytes. | |||
| skipping to change at page 20, line 24 ¶ | skipping to change at page 20, line 21 ¶ | |||
| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 | |||
| Payload: | Payload: | |||
| 17 fe fd 00 01 00 00 00 00 00 01 00 1d 00 01 00 | 17 fe fd 00 01 00 00 00 00 00 01 00 1d 00 01 00 | |||
| 00 00 00 00 01 09 b2 0e 82 c1 6e b6 96 c5 1f 36 | 00 00 00 00 01 09 b2 0e 82 c1 6e b6 96 c5 1f 36 | |||
| 8d 17 61 e2 b5 d4 22 d4 ed 2b | 8d 17 61 e2 b5 d4 22 d4 ed 2b | |||
| Dictionary: | Dictionary: | |||
| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
| 00 00 00 2a 00 00 00 00 16 fe fd 17 fe fd 00 01 | 16 fe fd 17 fe fd 00 01 00 00 00 00 00 01 00 00 | |||
| 00 00 00 00 00 01 00 00 | ||||
| ref(13): 17 fe fd 00 01 00 00 00 00 00 01 00 | ref(13): 17 fe fd 00 01 00 00 00 00 00 01 00 | |||
| -> ref 101nssss 1 0/11nnnkkk 2 1: b0 d1 | -> ref 101nssss 1 0/11nnnkkk 2 1: b0 d1 | |||
| copy: 01 1d | copy: 01 1d | |||
| ref(10): 00 01 00 00 00 00 00 01 -> ref 11nnnkkk 6 2: f2 | ref(10): 00 01 00 00 00 00 00 01 -> ref 11nnnkkk 6 2: f2 | |||
| copy: 15 09 b2 0e 82 c1 6e b6 96 c5 1f 36 8d 17 61 e2 | copy: 15 09 b2 0e 82 c1 6e b6 96 c5 1f 36 8d 17 61 e2 | |||
| copy: b5 d4 22 d4 ed 2b | copy: b5 d4 22 d4 ed 2b | |||
| Compressed: | Compressed: | |||
| b0 d1 01 1d f2 15 09 b2 0e 82 c1 6e b6 96 c5 1f | b0 d1 01 1d f2 15 09 b2 0e 82 c1 6e b6 96 c5 1f | |||
| 36 8d 17 61 e2 b5 d4 22 d4 ed 2b | 36 8d 17 61 e2 b5 d4 22 d4 ed 2b | |||
| Was 42 bytes; compressed to 27 bytes, compression factor 1.56 | Was 42 bytes; compressed to 27 bytes, compression factor 1.56 | |||
| skipping to change at page 21, line 21 ¶ | skipping to change at page 21, line 21 ¶ | |||
| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 | |||
| Payload: | Payload: | |||
| 17 fe fd 00 01 00 00 00 00 00 05 00 16 00 01 00 | 17 fe fd 00 01 00 00 00 00 00 05 00 16 00 01 00 | |||
| 00 00 00 00 05 ae a0 15 56 67 92 4d ff 8a 24 e4 | 00 00 00 00 05 ae a0 15 56 67 92 4d ff 8a 24 e4 | |||
| cb 35 b9 | cb 35 b9 | |||
| Dictionary: | Dictionary: | |||
| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
| 00 00 00 23 00 00 00 00 16 fe fd 17 fe fd 00 01 | 16 fe fd 17 fe fd 00 01 00 00 00 00 00 01 00 00 | |||
| 00 00 00 00 00 01 00 00 | ||||
| ref(13): 17 fe fd 00 01 00 00 00 00 00 | ref(13): 17 fe fd 00 01 00 00 00 00 00 | |||
| -> ref 101nssss 1 0/11nnnkkk 0 3: b0 c3 | -> ref 101nssss 1 0/11nnnkkk 0 3: b0 c3 | |||
| copy: 03 05 00 16 | copy: 03 05 00 16 | |||
| ref(10): 00 01 00 00 00 00 00 05 -> ref 11nnnkkk 6 2: f2 | ref(10): 00 01 00 00 00 00 00 05 -> ref 11nnnkkk 6 2: f2 | |||
| copy: 0e ae a0 15 56 67 92 4d ff 8a 24 e4 cb 35 b9 | copy: 0e ae a0 15 56 67 92 4d ff 8a 24 e4 cb 35 b9 | |||
| Compressed: | Compressed: | |||
| b0 c3 03 05 00 16 f2 0e ae a0 15 56 67 92 4d ff | b0 c3 03 05 00 16 f2 0e ae a0 15 56 67 92 4d ff | |||
| 8a 24 e4 cb 35 b9 | 8a 24 e4 cb 35 b9 | |||
| Was 35 bytes; compressed to 22 bytes, compression factor 1.59 | Was 35 bytes; compressed to 22 bytes, compression factor 1.59 | |||
| skipping to change at page 22, line 22 ¶ | skipping to change at page 22, line 22 ¶ | |||
| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 | |||
| Payload: | Payload: | |||
| 16 fe fd 00 00 00 00 00 00 00 00 00 36 01 00 00 | 16 fe fd 00 00 00 00 00 00 00 00 00 36 01 00 00 | |||
| 2a 00 00 00 00 00 00 00 2a fe fd 51 52 ed 79 a4 | 2a 00 00 00 00 00 00 00 2a fe fd 51 52 ed 79 a4 | |||
| 20 c9 62 56 11 47 c9 39 ee 6c c0 a4 fe c6 89 2f | 20 c9 62 56 11 47 c9 39 ee 6c c0 a4 fe c6 89 2f | |||
| 32 26 9a 16 4e 31 7e 9f 20 92 92 00 00 00 02 c0 | 32 26 9a 16 4e 31 7e 9f 20 92 92 00 00 00 02 c0 | |||
| a8 01 00 | a8 01 00 | |||
| Dictionary: | Dictionary: | |||
| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
| 00 00 00 43 00 00 00 00 16 fe fd 17 fe fd 00 01 | 16 fe fd 17 fe fd 00 01 00 00 00 00 00 01 00 00 | |||
| 00 00 00 00 00 01 00 00 | ||||
| ref(16): 16 fe fd -> ref 101nssss 0 1/11nnnkkk 1 5: a1 cd | ref(16): 16 fe fd -> ref 101nssss 0 1/11nnnkkk 1 5: a1 cd | |||
| 9 nulls: 87 | 9 nulls: 87 | |||
| copy: 01 36 | copy: 01 36 | |||
| ref(16): 01 00 00 -> ref 101nssss 0 1/11nnnkkk 1 5: a1 cd | ref(16): 01 00 00 -> ref 101nssss 0 1/11nnnkkk 1 5: a1 cd | |||
| copy: 01 2a | copy: 01 2a | |||
| 7 nulls: 85 | 7 nulls: 85 | |||
| copy: 23 2a fe fd 51 52 ed 79 a4 20 c9 62 56 11 47 c9 | copy: 23 2a fe fd 51 52 ed 79 a4 20 c9 62 56 11 47 c9 | |||
| copy: 39 ee 6c c0 a4 fe c6 89 2f 32 26 9a 16 4e 31 7e | copy: 39 ee 6c c0 a4 fe c6 89 2f 32 26 9a 16 4e 31 7e | |||
| copy: 9f 20 92 92 | copy: 9f 20 92 92 | |||
| 3 nulls: 81 | 3 nulls: 81 | |||
| End of changes. 24 change blocks. | ||||
| 41 lines changed or deleted | 31 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||