< 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/