< draft-ietf-lpwan-ipv6-static-context-hc-22.txt   draft-ietf-lpwan-ipv6-static-context-hc-23.txt >
lpwan Working Group A. Minaburo lpwan Working Group A. Minaburo
Internet-Draft Acklio Internet-Draft Acklio
Intended status: Standards Track L. Toutain Intended status: Standards Track L. Toutain
Expires: May 3, 2020 IMT-Atlantique Expires: May 31, 2020 IMT-Atlantique
C. Gomez C. Gomez
Universitat Politecnica de Catalunya Universitat Politecnica de Catalunya
D. Barthel D. Barthel
Orange Labs Orange Labs
JC. Zuniga JC. Zuniga
SIGFOX SIGFOX
October 31, 2019 November 28, 2019
Static Context Header Compression (SCHC) and fragmentation for LPWAN, Static Context Header Compression (SCHC) and fragmentation for LPWAN,
application to UDP/IPv6 application to UDP/IPv6
draft-ietf-lpwan-ipv6-static-context-hc-22 draft-ietf-lpwan-ipv6-static-context-hc-23
Abstract Abstract
This document defines the Static Context Header Compression (SCHC) This document defines the Static Context Header Compression (SCHC)
framework, which provides both header compression and fragmentation framework, which provides both a header compression mechanism and an
functionalities. SCHC has been designed for Low Power Wide Area optional fragmentation mechanism. SCHC has been designed for Low
Networks (LPWAN). Power Wide Area Networks (LPWAN).
SCHC compression is based on a common static context stored both in SCHC compression is based on a common static context stored both in
the LPWAN device and in the network infrastructure side. This the LPWAN device and in the network infrastructure side. This
document defines a header compression mechanism and its application document defines a generic header compression mechanism and its
to compress IPv6/UDP headers. application to compress IPv6/UDP headers.
This document also specifies a fragmentation and reassembly mechanism This document also specifies an optional fragmentation and reassembly
that is used to support the IPv6 MTU requirement over the LPWAN mechanism. It can be used to support the IPv6 MTU requirement over
technologies. Fragmentation is needed for IPv6 datagrams that, after the LPWAN technologies. Fragmentation is needed for IPv6 datagrams
SCHC compression or when such compression was not possible, still that, after SCHC compression or when such compression was not
exceed the layer-2 maximum payload size. possible, still exceed the layer-2 maximum payload size.
The SCHC header compression and fragmentation mechanisms are The SCHC header compression and fragmentation mechanisms are
independent of the specific LPWAN technology over which they are independent of the specific LPWAN technology over which they are
used. This document defines generic functionalities and offers used. This document defines generic functionalities and offers
flexibility with regard to parameter settings and mechanism choices. flexibility with regard to parameter settings and mechanism choices.
This document standardizes the exchange over the LPWAN between two This document standardizes the exchange over the LPWAN between two
SCHC entities. Settings and choices specific to a technology or a SCHC entities. Settings and choices specific to a technology or a
product are expected to be grouped into profiles, which are specified product are expected to be grouped into profiles, which are specified
in other documents. Data models for the context and profiles are out in other documents. Data models for the context and profiles are out
of scope. of scope.
skipping to change at page 2, line 20 skipping to change at page 2, line 20
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 3, 2020. This Internet-Draft will expire on May 31, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 4, line 17 skipping to change at page 4, line 17
12.2.1. Buffer reservation attack . . . . . . . . . . . . . 58 12.2.1. Buffer reservation attack . . . . . . . . . . . . . 58
12.2.2. Corrupt Fragment attack . . . . . . . . . . . . . . 59 12.2.2. Corrupt Fragment attack . . . . . . . . . . . . . . 59
12.2.3. Fragmentation as a way to bypass Network Inspection 59 12.2.3. Fragmentation as a way to bypass Network Inspection 59
12.2.4. Privacy issues associated with SCHC header fields . 59 12.2.4. Privacy issues associated with SCHC header fields . 59
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 60 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 60
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 60 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 60
14.1. Normative References . . . . . . . . . . . . . . . . . . 60 14.1. Normative References . . . . . . . . . . . . . . . . . . 60
14.2. Informative References . . . . . . . . . . . . . . . . . 61 14.2. Informative References . . . . . . . . . . . . . . . . . 61
Appendix A. Compression Examples . . . . . . . . . . . . . . . . 61 Appendix A. Compression Examples . . . . . . . . . . . . . . . . 61
Appendix B. Fragmentation Examples . . . . . . . . . . . . . . . 64 Appendix B. Fragmentation Examples . . . . . . . . . . . . . . . 64
Appendix C. Fragmentation State Machines . . . . . . . . . . . . 71 Appendix C. Fragmentation State Machines . . . . . . . . . . . . 72
Appendix D. SCHC Parameters . . . . . . . . . . . . . . . . . . 77 Appendix D. SCHC Parameters . . . . . . . . . . . . . . . . . . 78
Appendix E. Supporting multiple window sizes for fragmentation . 79 Appendix E. Supporting multiple window sizes for fragmentation . 80
Appendix F. ACK-Always and ACK-on-Error on quasi-bidirectional Appendix F. ACK-Always and ACK-on-Error on quasi-bidirectional
links . . . . . . . . . . . . . . . . . . . . . . . 79 links . . . . . . . . . . . . . . . . . . . . . . . 80
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 81 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 82
1. Introduction 1. Introduction
This document defines the Static Context Header Compression (SCHC) This document defines the Static Context Header Compression (SCHC)
framework, which provides both header compression and fragmentation framework, which provides both a header compression mechanism and an
functionalities. SCHC has been designed for Low Power Wide Area optional fragmentation mechanism. SCHC has been designed for Low
Networks (LPWAN). Power Wide Area Networks (LPWAN).
LPWAN technologies impose some strict limitations on traffic. For LPWAN technologies impose some strict limitations on traffic. For
instance, devices sleep most of the time and may only receive data instance, devices sleep most of the time and may only receive data
during short periods of time after transmission, in order to preserve during short periods of time after transmission, in order to preserve
battery. LPWAN technologies are also characterized by a greatly battery. LPWAN technologies are also characterized by a greatly
reduced data unit and/or payload size (see [RFC8376]). reduced data unit and/or payload size (see [RFC8376]).
Header compression is needed for efficient Internet connectivity to a Header compression is needed for efficient Internet connectivity to a
node within an LPWAN network. The following properties of LPWAN node within an LPWAN network. The following properties of LPWAN
networks can be exploited to get an efficient header compression: networks can be exploited to get an efficient header compression:
skipping to change at page 28, line 6 skipping to change at page 28, line 6
This field conveys information about the progress in the sequence This field conveys information about the progress in the sequence
of tiles being transmitted by SCHC Fragment messages. For of tiles being transmitted by SCHC Fragment messages. For
example, it can contain a partial, efficient representation of a example, it can contain a partial, efficient representation of a
larger-sized tile index. The description of the exact use of the larger-sized tile index. The description of the exact use of the
FCN field is left to each SCHC F/R mode. However, two values are FCN field is left to each SCHC F/R mode. However, two values are
reserved for special purposes. They help control the SCHC F/R reserved for special purposes. They help control the SCHC F/R
process: process:
* The FCN value with all the bits equal to 1 (called All-1) * The FCN value with all the bits equal to 1 (called All-1)
signals the very last tile of a SCHC Packet. By extension, if signals that the very last tile of a SCHC Packet has been
windows are used, the last window of a packet is called the transmitted. By extension, if windows are used, the last
All-1 window. window of a packet is called the All-1 window.
* If windows are used, the FCN value with all the bits equal to 0 * If windows are used, the FCN value with all the bits equal to 0
(called All-0) signals the last tile of a window that is not (called All-0) signals the last tile of a window that is not
the last one of the SCHC packet. By extension, such a window the last one of the SCHC packet. By extension, such a window
is called an All-0 window. is called an All-0 window.
o Reassembly Check Sequence (RCS). This field only appears in the o Reassembly Check Sequence (RCS). This field only appears in the
All-1 SCHC Fragments. Its size (called U, in bits) is defined by All-1 SCHC Fragments. Its size (called U, in bits) is defined by
each Profile for each Rule ID. each Profile for each Rule ID.
skipping to change at page 36, line 8 skipping to change at page 36, line 8
SCHC Packet. SCHC Packet.
Each SCHC Fragment MUST contain exactly one tile in its Payload. The Each SCHC Fragment MUST contain exactly one tile in its Payload. The
tile MUST be at least the size of an L2 Word. The sender MUST tile MUST be at least the size of an L2 Word. The sender MUST
transmit the SCHC Fragments messages in the order that the tiles transmit the SCHC Fragments messages in the order that the tiles
appear in the SCHC Packet. Except for the last tile of a SCHC appear in the SCHC Packet. Except for the last tile of a SCHC
Packet, each tile MUST be of a size that complements the SCHC Packet, each tile MUST be of a size that complements the SCHC
Fragment Header so that the SCHC Fragment is a multiple of L2 Words Fragment Header so that the SCHC Fragment is a multiple of L2 Words
without the need for padding bits. Except for the last one, the SCHC without the need for padding bits. Except for the last one, the SCHC
Fragments MUST use the Regular SCHC Fragment format specified in Fragments MUST use the Regular SCHC Fragment format specified in
Section 8.3.1.1. The last SCHC Fragment MUST use the All-1 format Section 8.3.1.1. The SCHC Fragment that carries the last tile MUST
specified in Section 8.3.1.2. be an All-1 SCHC Fragment, described in Section 8.3.1.2.
The sender MAY transmit a SCHC Sender-Abort. The sender MAY transmit a SCHC Sender-Abort.
Figure 37 shows an example of a corresponding state machine. Figure 37 shows an example of a corresponding state machine.
8.4.1.2. Receiver behavior 8.4.1.2. Receiver behavior
Upon receiving each Regular SCHC Fragment, Upon receiving each Regular SCHC Fragment,
o the receiver MUST reset the Inactivity Timer, o the receiver MUST reset the Inactivity Timer,
skipping to change at page 55, line 50 skipping to change at page 55, line 50
enable zero-checksum mode for a specific port (or set of ports) for enable zero-checksum mode for a specific port (or set of ports) for
sending and/or receiving. [RFC8200] requires any node implementing sending and/or receiving. [RFC8200] requires any node implementing
zero-checksum mode to follow the requirements specified in zero-checksum mode to follow the requirements specified in
"Applicability Statement for the Use of IPv6 UDP Datagrams with Zero "Applicability Statement for the Use of IPv6 UDP Datagrams with Zero
Checksums" [RFC6936]. Checksums" [RFC6936].
6LoWPAN Header Compression [RFC6282] also specifies that a UDP 6LoWPAN Header Compression [RFC6282] also specifies that a UDP
checksum can be elided by the compressor and re-computed by the checksum can be elided by the compressor and re-computed by the
decompressor when an upper layer guarantees the integrity of the UDP decompressor when an upper layer guarantees the integrity of the UDP
payload and pseudo-header. A specific example of this is when a payload and pseudo-header. A specific example of this is when a
Message Integrity Check protects the compressed message between the message integrity check protects the compressed message between the
compressor that elides the UDP checksum and the decompressor that compressor that elides the UDP checksum and the decompressor that
computes it, with a strength that is identical or better to the UDP computes it, with a strength that is identical or better to the UDP
checksum. checksum.
Similarly, a SCHC compressor MAY elide the UDP checksum when another Similarly, a SCHC compressor MAY elide the UDP checksum when another
layer guarantees at least equal integrity protection for the UDP layer guarantees at least equal integrity protection for the UDP
payload and the pseudo-header. In this case, the TV is not set, the payload and the pseudo-header. In this case, the TV is not set, the
MO is set to "ignore" and the CDA is set to "compute-*". MO is set to "ignore" and the CDA is set to "compute-*".
In particular, when SCHC fragmentation is used, a fragmentation RCS In particular, when SCHC fragmentation is used, a fragmentation RCS
skipping to change at page 60, line 9 skipping to change at page 60, line 9
However, SCHC F/R is expected to be used over exactly one LPWAN link. However, SCHC F/R is expected to be used over exactly one LPWAN link.
As described in Section 5.2, even if the SCHC F/R on the Network As described in Section 5.2, even if the SCHC F/R on the Network
infrastructure side is located in the Internet, a tunnel is to be infrastructure side is located in the Internet, a tunnel is to be
established between it and the NGW. Therefore, neither the DTag established between it and the NGW. Therefore, neither the DTag
field nor any other SCHC-introduced field is visible over the field nor any other SCHC-introduced field is visible over the
Internet. Internet.
13. Acknowledgements 13. Acknowledgements
Thanks to Sergio Aguilar Romero, Brian Carpenter, Carsten Bormann, Thanks to (in alphabetical order) Sergio Aguilar Romero, David Black,
David Black, Deborah Brungard, Philippe Clavier, Alissa Cooper, Roman Carsten Bormann, Deborah Brungard, Brian Carpenter, Philippe Clavier,
Danyliw, Daniel Ducuara Beltran, Diego Dujovne, Eduardo Ingles Alissa Cooper, Roman Danyliw, Daniel Ducuara Beltran, Diego Dujovne,
Sanchez, Benjamin Kaduk, Arunprabhu Kandasamy, Suresh Krishnan, Mirja Eduardo Ingles Sanchez, Rahul Jadhav, Benjamin Kaduk,
Kuehlewind, Rahul Jadhav, Barry Leiba, Sergio Lopez Bernal, Antony Arunprabhu Kandasamy, Suresh Krishnan, Mirja Kuehlewind, Barry Leiba,
Markovski, Alexey Melnikov, Alexander Pelov, Charles Perkins, Edgar Sergio Lopez Bernal, Antoni Markovski, Alexey Melnikov,
Ramos, Alvaro Retana, Adam Roach, Shoichi Sakane, Joseph Salowey, Georgios Papadopoulos, Alexander Pelov, Charles Perkins, Edgar Ramos,
Alvaro Retana, Adam Roach, Shoichi Sakane, Joseph Salowey,
Pascal Thubert, and Eric Vyncke for useful design considerations, Pascal Thubert, and Eric Vyncke for useful design considerations,
reviews and comments. reviews and comments.
Carles Gomez has been funded in part by the Spanish Government Carles Gomez has been funded in part by the Spanish Government
(Ministerio de Educacion, Cultura y Deporte) through the Jose (Ministerio de Educacion, Cultura y Deporte) through the Jose
Castillejo grant CAS15/00336, and by the ERDF and the Spanish Castillejo grant CAS15/00336, and by the ERDF and the Spanish
Government through project TEC2016-79988-P. Part of his contribution Government through project TEC2016-79988-P. Part of his contribution
to this work has been carried out during his stay as a visiting to this work has been carried out during his stay as a visiting
scholar at the Computer Laboratory of the University of Cambridge. scholar at the Computer Laboratory of the University of Cambridge.
skipping to change at page 62, line 31 skipping to change at page 62, line 35
+------------------------------+ +------------------------------+
Dev or NGW Dev or NGW
Figure 25: Simplified Protocol Stack for LP-WAN Figure 25: Simplified Protocol Stack for LP-WAN
In some LPWAN technologies, only the Devs have a device ID. When In some LPWAN technologies, only the Devs have a device ID. When
such technologies are used, it is necessary to statically define an such technologies are used, it is necessary to statically define an
IID for the Link Local address for the SCHC C/D. IID for the Link Local address for the SCHC C/D.
Rule 0 Rule 0
Special Rule ID used to tag an uncompressed UDP/IPV6 packet.
Rule 1
+----------------+--+--+--+---------+--------+------------++------+ +----------------+--+--+--+---------+--------+------------++------+
| Field |FL|FP|DI| Value | Match | Comp Decomp|| Sent | | Field |FL|FP|DI| Value | Match | Comp Decomp|| Sent |
| | | | | | Opera. | Action ||[bits]| | | | | | | Opera. | Action ||[bits]|
+----------------+--+--+--+---------+---------------------++------+ +----------------+--+--+--+---------+---------------------++------+
|IPv6 Version |4 |1 |Bi|6 | ignore | not-sent || | |IPv6 Version |4 |1 |Bi|6 | ignore | not-sent || |
|IPv6 DiffServ |8 |1 |Bi|0 | equal | not-sent || | |IPv6 DiffServ |8 |1 |Bi|0 | equal | not-sent || |
|IPv6 Flow Label |20|1 |Bi|0 | equal | not-sent || | |IPv6 Flow Label |20|1 |Bi|0 | equal | not-sent || |
|IPv6 Length |16|1 |Bi| | ignore | compute-* || | |IPv6 Length |16|1 |Bi| | ignore | compute-* || |
|IPv6 Next Header|8 |1 |Bi|17 | equal | not-sent || | |IPv6 Next Header|8 |1 |Bi|17 | equal | not-sent || |
|IPv6 Hop Limit |8 |1 |Bi|255 | ignore | not-sent || | |IPv6 Hop Limit |8 |1 |Bi|255 | ignore | not-sent || |
|IPv6 DevPrefix |64|1 |Bi|FE80::/64| equal | not-sent || | |IPv6 DevPrefix |64|1 |Bi|FE80::/64| equal | not-sent || |
|IPv6 DevIID |64|1 |Bi| | ignore | DevIID || | |IPv6 DevIID |64|1 |Bi| | ignore | DevIID || |
|IPv6 AppPrefix |64|1 |Bi|FE80::/64| equal | not-sent || | |IPv6 AppPrefix |64|1 |Bi|FE80::/64| equal | not-sent || |
|IPv6 AppIID |64|1 |Bi|::1 | equal | not-sent || | |IPv6 AppIID |64|1 |Bi|::1 | equal | not-sent || |
+================+==+==+==+=========+========+============++======+ +================+==+==+==+=========+========+============++======+
|UDP DevPort |16|1 |Bi|123 | equal | not-sent || | |UDP DevPort |16|1 |Bi|123 | equal | not-sent || |
|UDP AppPort |16|1 |Bi|124 | equal | not-sent || | |UDP AppPort |16|1 |Bi|124 | equal | not-sent || |
|UDP Length |16|1 |Bi| | ignore | compute-* || | |UDP Length |16|1 |Bi| | ignore | compute-* || |
|UDP checksum |16|1 |Bi| | ignore | compute-* || | |UDP checksum |16|1 |Bi| | ignore | compute-* || |
+================+==+==+==+=========+========+============++======+ +================+==+==+==+=========+========+============++======+
Rule 1
Rule 2
+----------------+--+--+--+---------+--------+------------++------+ +----------------+--+--+--+---------+--------+------------++------+
| Field |FL|FP|DI| Value | Match | Action || Sent | | Field |FL|FP|DI| Value | Match | Action || Sent |
| | | | | | Opera. | Action ||[bits]| | | | | | | Opera. | Action ||[bits]|
+----------------+--+--+--+---------+--------+------------++------+ +----------------+--+--+--+---------+--------+------------++------+
|IPv6 Version |4 |1 |Bi|6 | ignore | not-sent || | |IPv6 Version |4 |1 |Bi|6 | ignore | not-sent || |
|IPv6 DiffServ |8 |1 |Bi|0 | equal | not-sent || | |IPv6 DiffServ |8 |1 |Bi|0 | equal | not-sent || |
|IPv6 Flow Label |20|1 |Bi|0 | equal | not-sent || | |IPv6 Flow Label |20|1 |Bi|0 | equal | not-sent || |
|IPv6 Length |16|1 |Bi| | ignore | compute-* || | |IPv6 Length |16|1 |Bi| | ignore | compute-* || |
|IPv6 Next Header|8 |1 |Bi|17 | equal | not-sent || | |IPv6 Next Header|8 |1 |Bi|17 | equal | not-sent || |
|IPv6 Hop Limit |8 |1 |Bi|255 | ignore | not-sent || | |IPv6 Hop Limit |8 |1 |Bi|255 | ignore | not-sent || |
skipping to change at page 63, line 29 skipping to change at page 63, line 37
| | | | |alpha/64,| mapping| || | | | | | |alpha/64,| mapping| || |
| | | | |fe80::64]| | || | | | | | |fe80::64]| | || |
|IPv6 AppIID |64|1 |Bi|::1000 | equal | not-sent || | |IPv6 AppIID |64|1 |Bi|::1000 | equal | not-sent || |
+================+==+==+==+=========+========+============++======+ +================+==+==+==+=========+========+============++======+
|UDP DevPort |16|1 |Bi|5683 | equal | not-sent || | |UDP DevPort |16|1 |Bi|5683 | equal | not-sent || |
|UDP AppPort |16|1 |Bi|5683 | equal | not-sent || | |UDP AppPort |16|1 |Bi|5683 | equal | not-sent || |
|UDP Length |16|1 |Bi| | ignore | compute-* || | |UDP Length |16|1 |Bi| | ignore | compute-* || |
|UDP checksum |16|1 |Bi| | ignore | compute-* || | |UDP checksum |16|1 |Bi| | ignore | compute-* || |
+================+==+==+==+=========+========+============++======+ +================+==+==+==+=========+========+============++======+
Rule 2 Rule 3
+----------------+--+--+--+---------+--------+------------++------+ +----------------+--+--+--+---------+--------+------------++------+
| Field |FL|FP|DI| Value | Match | Action || Sent | | Field |FL|FP|DI| Value | Match | Action || Sent |
| | | | | | Opera. | Action ||[bits]| | | | | | | Opera. | Action ||[bits]|
+----------------+--+--+--+---------+--------+------------++------+ +----------------+--+--+--+---------+--------+------------++------+
|IPv6 Version |4 |1 |Bi|6 | ignore | not-sent || | |IPv6 Version |4 |1 |Bi|6 | ignore | not-sent || |
|IPv6 DiffServ |8 |1 |Bi|0 | equal | not-sent || | |IPv6 DiffServ |8 |1 |Bi|0 | equal | not-sent || |
|IPv6 Flow Label |20|1 |Bi|0 | equal | not-sent || | |IPv6 Flow Label |20|1 |Bi|0 | equal | not-sent || |
|IPv6 Length |16|1 |Bi| | ignore | compute-* || | |IPv6 Length |16|1 |Bi| | ignore | compute-* || |
|IPv6 Next Header|8 |1 |Bi|17 | equal | not-sent || | |IPv6 Next Header|8 |1 |Bi|17 | equal | not-sent || |
|IPv6 Hop Limit |8 |1 |Up|255 | ignore | not-sent || | |IPv6 Hop Limit |8 |1 |Up|255 | ignore | not-sent || |
skipping to change at page 64, line 4 skipping to change at page 64, line 11
|IPv6 DevPrefix |64|1 |Bi|alpha/64 | equal | not-sent || | |IPv6 DevPrefix |64|1 |Bi|alpha/64 | equal | not-sent || |
|IPv6 DevIID |64|1 |Bi| | ignore | DevIID || | |IPv6 DevIID |64|1 |Bi| | ignore | DevIID || |
|IPv6 AppPrefix |64|1 |Bi|gamma/64 | equal | not-sent || | |IPv6 AppPrefix |64|1 |Bi|gamma/64 | equal | not-sent || |
|IPv6 AppIID |64|1 |Bi|::1000 | equal | not-sent || | |IPv6 AppIID |64|1 |Bi|::1000 | equal | not-sent || |
+================+==+==+==+=========+========+============++======+ +================+==+==+==+=========+========+============++======+
|UDP DevPort |16|1 |Bi|8720 | MSB(12)| LSB || 4 | |UDP DevPort |16|1 |Bi|8720 | MSB(12)| LSB || 4 |
|UDP AppPort |16|1 |Bi|8720 | MSB(12)| LSB || 4 | |UDP AppPort |16|1 |Bi|8720 | MSB(12)| LSB || 4 |
|UDP Length |16|1 |Bi| | ignore | compute-* || | |UDP Length |16|1 |Bi| | ignore | compute-* || |
|UDP checksum |16|1 |Bi| | ignore | compute-* || | |UDP checksum |16|1 |Bi| | ignore | compute-* || |
+================+==+==+==+=========+========+============++======+ +================+==+==+==+=========+========+============++======+
Figure 26: Context Rules Figure 26: Context Rules
All the fields described in the three Rules depicted on Figure 26 are Figure 26 describes a example of a Rule set.
present in the IPv6 and UDP headers. The DevIID-DID value is found
in the L2 header.
The second and third Rules use global addresses. The way the Dev In this example, 0 was chosen as the special Rule ID that tags
learns the prefix is not in the scope of the document. packets that cannot be compressed with any compression Rule.
The third Rule compresses each port number to 4 bits. All the fields described in Rules 1-3 are present in the IPv6 and UDP
headers. The DevIID-DID value is found in the L2 header.
Rules 2-3 use global addresses. The way the Dev learns the prefix is
not in the scope of the document.
Rule 3 compresses each port number to 4 bits.
Appendix B. Fragmentation Examples Appendix B. Fragmentation Examples
This section provides examples for the various fragment reliability This section provides examples for the various fragment reliability
modes specified in this document. In the drawings, Bitmaps are shown modes specified in this document. In the drawings, Bitmaps are shown
in their uncompressed form. in their uncompressed form.
Figure 27 illustrates the transmission in No-ACK mode of a SCHC Figure 27 illustrates the transmission in No-ACK mode of a SCHC
Packet that needs 11 SCHC Fragments. FCN is 1 bit wide. Packet that needs 11 SCHC Fragments. FCN is 1 bit wide.
 End of changes. 21 change blocks. 
43 lines changed or deleted 53 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/