< draft-ietf-roll-useofrplinfo-30.txt   draft-ietf-roll-useofrplinfo-31.txt >
ROLL Working Group M. Robles ROLL Working Group M. Robles
Internet-Draft Aalto Internet-Draft Aalto
Updates: 6553, 6550, 8138 (if approved) M. Richardson Updates: 6553, 6550, 8138 (if approved) M. Richardson
Intended status: Standards Track SSW Intended status: Standards Track SSW
Expires: December 27, 2019 P. Thubert Expires: January 5, 2020 P. Thubert
Cisco Cisco
June 25, 2019 July 4, 2019
Using RPL Option Type, Routing Header for Source Routes and IPv6-in-IPv6 Using RPL Option Type, Routing Header for Source Routes and IPv6-in-IPv6
encapsulation in the RPL Data Plane encapsulation in the RPL Data Plane
draft-ietf-roll-useofrplinfo-30 draft-ietf-roll-useofrplinfo-31
Abstract Abstract
This document looks at different data flows through LLN (Low-Power This document looks at different data flows through LLN (Low-Power
and Lossy Networks) where RPL (IPv6 Routing Protocol for Low-Power and Lossy Networks) where RPL (IPv6 Routing Protocol for Low-Power
and Lossy Networks) is used to establish routing. The document and Lossy Networks) is used to establish routing. The document
enumerates the cases where RFC6553 (RPL Option Type), RFC6554 enumerates the cases where RFC6553 (RPL Option Type), RFC6554
(Routing Header for Source Routes) and IPv6-in-IPv6 encapsulation is (Routing Header for Source Routes) and IPv6-in-IPv6 encapsulation is
required in data plane. This analysis provides the basis on which to required in data plane. This analysis provides the basis on which to
design efficient compression of these headers. This document updates design efficient compression of these headers. This document updates
skipping to change at page 1, line 44 skipping to change at page 1, line 44
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 December 27, 2019. This Internet-Draft will expire on January 5, 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 3, line 26 skipping to change at page 3, line 26
8.3.4. Non-SM: Example of Flow from RUL to RUL . . . . . . . 43 8.3.4. Non-SM: Example of Flow from RUL to RUL . . . . . . . 43
9. Operational Considerations of supporting 9. Operational Considerations of supporting
not-RPL-aware-leaves . . . . . . . . . . . . . . . . . . . . 44 not-RPL-aware-leaves . . . . . . . . . . . . . . . . . . . . 44
10. Operational considerations of introducing 0x23 . . . . . . . 45 10. Operational considerations of introducing 0x23 . . . . . . . 45
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 46 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 46
12. Security Considerations . . . . . . . . . . . . . . . . . . . 47 12. Security Considerations . . . . . . . . . . . . . . . . . . . 47
13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 50 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 50
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 50 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 50
14.1. Normative References . . . . . . . . . . . . . . . . . . 50 14.1. Normative References . . . . . . . . . . . . . . . . . . 50
14.2. Informative References . . . . . . . . . . . . . . . . . 51 14.2. Informative References . . . . . . . . . . . . . . . . . 51
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 53 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 54
1. Introduction 1. Introduction
RPL (IPv6 Routing Protocol for Low-Power and Lossy Networks) RPL (IPv6 Routing Protocol for Low-Power and Lossy Networks)
[RFC6550] is a routing protocol for constrained networks. RFC6553 [RFC6550] is a routing protocol for constrained networks. RFC6553
[RFC6553] defines the "RPL option" (RPL Packet Information or RPI), [RFC6553] defines the "RPL option" (RPL Packet Information or RPI),
carried within the IPv6 Hop-by-Hop header to quickly identify carried within the IPv6 Hop-by-Hop header to quickly identify
inconsistencies (loops) in the routing topology. RFC6554 [RFC6554] inconsistencies (loops) in the routing topology. RFC6554 [RFC6554]
defines the "RPL Source Route Header" (RH3), an IPv6 Extension Header defines the "RPL Source Route Header" (RH3), an IPv6 Extension Header
to deliver datagrams within a RPL routing domain, particularly in to deliver datagrams within a RPL routing domain, particularly in
skipping to change at page 11, line 44 skipping to change at page 11, line 44
[RFC8138] section 7 documents how to compress the IPv6-in-IPv6 [RFC8138] section 7 documents how to compress the IPv6-in-IPv6
header. header.
There are potential significant advantages to having a single code There are potential significant advantages to having a single code
path that always processes IPv6-in-IPv6 headers with no conditional path that always processes IPv6-in-IPv6 headers with no conditional
branches. branches.
In Storing Mode, for the examples of Flow from RAL to RUL and RUL to In Storing Mode, for the examples of Flow from RAL to RUL and RUL to
RUL comprise an IPv6-in-IPv6 and RPI compression headers. The use of RUL comprise an IPv6-in-IPv6 and RPI compression headers. The use of
the IPv6-in-IPv6 header is MANDATORY in this case, and it SHOULD be the IPv6-in-IPv6 header is MANDATORY in this case, and it SHOULD be
compressed with [RFC8138] section 7. As exemplification of compressed with [RFC8138] section 7. Figure 5 illustrates the case
compressing the RPI, section A.1 of [RFC8138] illustrates the case in in Storing mode where the packet is received from the Internet, then
Storing mode where the packet is received from the Internet, then the the root encapsulates the packet to insert the RPI. In that example,
root encapsulates the packet to insert the RPI. The result is shown the leaf is not known to support RFC 8138, and the packet is
in Figure 5. encapsulated to the 6LR that is the parent and last hop to the final
destination.
+-+ ... -+-+-...-+-+-- ... -+-+-+-+- ... -+-+ ... -+-+-+ ... -+-+-+... +-+ ... -+-+ ... +-+- ... -+-+- .... +-+-+-+ ... +-+-+ ... -+ ... +-...
|11110001| RPI- | IP-in-IP | NH=1 |11110CPP| Compressed | UDP |11110001|SRH-6LoRH| RPI- |IPv6-in-IPv6| NH=1 |11110CPP| UDP | UDP
|Page 1 | 6LoRH | 6LoRH | LOWPAN_IPHC | UDP | UDP header | Payld |Page 1 |Type1 S=0| 6LoRH | 6LoRH |LOWPAN_IPHC| UDP | hdr |Payld
+-+ ... -+-+-...-+-+-- ... -+-+-+-+- ... -+-+ ... -+-+-+ ... -+-+-+... +-+ ... -+-+ ... +-+- ... -+-+-- ...+-+-+-+-+ ... +-+-+ ... -+ ... +-...
<-4bytes-> <- RFC 6282 ->
No RPL artifact
Figure 5: RPI Inserted by the Root in Storing Mode Figure 5: RPI Inserted by the Root in Storing Mode
In Figure 5, the source of the IPv6-in-IPv6 encapsulation is the
Root, so it is elided in the IPv6-in-IPv6 6LoRH. The destination is
the parent 6LR of the destination of the inner packet so it cannot be
elided. It is placed as the single entry in an SRH-6LoRH as the
first 6LoRH. There is a single entry so the SRH-6LoRH Size is 0. In
that example, the type is 1 so the 6LR address is compressed to 2
bytes. It results that the total length of the SRH-6LoRH is 4 bytes.
Follows the RPI-6LoRH and then the IPv6-in-IPv6 6LoRH. When the
IPv6-in-IPv6 6LoRH is removed, all the router headers that precede it
are also removed. The Paging Dispatch [RFC8025] may also be removed
if there was no previous Page change to a Page other than 0 or 1,
since the LOWPAN_IPHC is encoded in the same fashion in the default
Page 0 and in Page 1. The resulting packet to the destination is the
inner packet compressed with [RFC6282].
5. Sample/reference topology 5. Sample/reference topology
A RPL network in general is composed of a 6LBR, Backbone Router A RPL network in general is composed of a 6LBR, Backbone Router
(6BBR), 6LR and 6LN as leaf logically organized in a DODAG structure. (6BBR), 6LR and 6LN as leaf logically organized in a DODAG structure.
Figure 6 shows the reference RPL Topology for this document. The Figure 6 shows the reference RPL Topology for this document. The
letters above the nodes are there so that they may be referenced in letters above the nodes are there so that they may be referenced in
subsequent sections. In the figure, 6LR represents a full router subsequent sections. In the figure, 6LR represents a full router
node. The 6LN is a RPL aware router, or host (as a leaf). node. The 6LN is a RPL aware router, or host (as a leaf).
Additionally, for simplification purposes, it is supposed that the Additionally, for simplification purposes, it is supposed that the
skipping to change at page 50, line 46 skipping to change at page 50, line 46
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC6040] Briscoe, B., "Tunnelling of Explicit Congestion [RFC6040] Briscoe, B., "Tunnelling of Explicit Congestion
Notification", RFC 6040, DOI 10.17487/RFC6040, November Notification", RFC 6040, DOI 10.17487/RFC6040, November
2010, <https://www.rfc-editor.org/info/rfc6040>. 2010, <https://www.rfc-editor.org/info/rfc6040>.
[RFC6282] Hui, J., Ed. and P. Thubert, "Compression Format for IPv6
Datagrams over IEEE 802.15.4-Based Networks", RFC 6282,
DOI 10.17487/RFC6282, September 2011,
<https://www.rfc-editor.org/info/rfc6282>.
[RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., [RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J.,
Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur,
JP., and R. Alexander, "RPL: IPv6 Routing Protocol for JP., and R. Alexander, "RPL: IPv6 Routing Protocol for
Low-Power and Lossy Networks", RFC 6550, Low-Power and Lossy Networks", RFC 6550,
DOI 10.17487/RFC6550, March 2012, DOI 10.17487/RFC6550, March 2012,
<https://www.rfc-editor.org/info/rfc6550>. <https://www.rfc-editor.org/info/rfc6550>.
[RFC6553] Hui, J. and JP. Vasseur, "The Routing Protocol for Low- [RFC6553] Hui, J. and JP. Vasseur, "The Routing Protocol for Low-
Power and Lossy Networks (RPL) Option for Carrying RPL Power and Lossy Networks (RPL) Option for Carrying RPL
Information in Data-Plane Datagrams", RFC 6553, Information in Data-Plane Datagrams", RFC 6553,
skipping to change at page 51, line 22 skipping to change at page 51, line 29
Routing Header for Source Routes with the Routing Protocol Routing Header for Source Routes with the Routing Protocol
for Low-Power and Lossy Networks (RPL)", RFC 6554, for Low-Power and Lossy Networks (RPL)", RFC 6554,
DOI 10.17487/RFC6554, March 2012, DOI 10.17487/RFC6554, March 2012,
<https://www.rfc-editor.org/info/rfc6554>. <https://www.rfc-editor.org/info/rfc6554>.
[RFC7045] Carpenter, B. and S. Jiang, "Transmission and Processing [RFC7045] Carpenter, B. and S. Jiang, "Transmission and Processing
of IPv6 Extension Headers", RFC 7045, of IPv6 Extension Headers", RFC 7045,
DOI 10.17487/RFC7045, December 2013, DOI 10.17487/RFC7045, December 2013,
<https://www.rfc-editor.org/info/rfc7045>. <https://www.rfc-editor.org/info/rfc7045>.
[RFC8025] Thubert, P., Ed. and R. Cragie, "IPv6 over Low-Power
Wireless Personal Area Network (6LoWPAN) Paging Dispatch",
RFC 8025, DOI 10.17487/RFC8025, November 2016,
<https://www.rfc-editor.org/info/rfc8025>.
[RFC8138] Thubert, P., Ed., Bormann, C., Toutain, L., and R. Cragie, [RFC8138] Thubert, P., Ed., Bormann, C., Toutain, L., and R. Cragie,
"IPv6 over Low-Power Wireless Personal Area Network "IPv6 over Low-Power Wireless Personal Area Network
(6LoWPAN) Routing Header", RFC 8138, DOI 10.17487/RFC8138, (6LoWPAN) Routing Header", RFC 8138, DOI 10.17487/RFC8138,
April 2017, <https://www.rfc-editor.org/info/rfc8138>. April 2017, <https://www.rfc-editor.org/info/rfc8138>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6
 End of changes. 10 change blocks. 
14 lines changed or deleted 42 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/