| < draft-clausen-lln-rpl-experiences-10.txt | draft-clausen-lln-rpl-experiences-11.txt > | |||
|---|---|---|---|---|
| Network Working Group T. Clausen | Network Working Group T. Clausen | |||
| Internet-Draft A. Colin de Verdiere | Internet-Draft A. Colin de Verdiere | |||
| Intended status: Informational | Intended status: Informational | |||
| Expires: July 27, 2018 J. Yi | Expires: September 28, 2018 J. Yi | |||
| Ecole Polytechnique | Ecole Polytechnique | |||
| U. Herberg | U. Herberg | |||
| Y. Igarashi | Y. Igarashi | |||
| Hitachi, Ltd., Yokohama Research | Hitachi, Ltd., Yokohama Research | |||
| Laboratory | Laboratory | |||
| January 23, 2018 | March 27, 2018 | |||
| Observations on RPL: IPv6 Routing Protocol for Low power and Lossy | Observations on RPL: IPv6 Routing Protocol for Low power and Lossy | |||
| Networks | Networks | |||
| draft-clausen-lln-rpl-experiences-10 | draft-clausen-lln-rpl-experiences-11 | |||
| Abstract | Abstract | |||
| With RPL - the "IPv6 Routing Protocol for Low-power Lossy Networks" - | With RPL - the "IPv6 Routing Protocol for Low-power Lossy Networks" - | |||
| published as a Proposed Standard after a ~2-year development cycle, | published as a Proposed Standard after a ~2-year development cycle, | |||
| this document presents an observation of the resulting protocol, of | this document presents an observation of the resulting protocol, of | |||
| its applicability, and of its limits. The documents presents a | its applicability, and of its limits. The documents presents a | |||
| selection of observations on the protocol characteristics, exposes | selection of observations on the protocol characteristics, exposes | |||
| experiences acquired when producing various prototype implementations | experiences acquired when producing various prototype implementations | |||
| of RPL, and presents results obtained from testing this protocol - by | of RPL, and presents results obtained from testing this protocol - by | |||
| skipping to change at page 1, line 48 ¶ | skipping to change at page 1, line 48 ¶ | |||
| 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 http://datatracker.ietf.org/drafts/current/. | Drafts is at http://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 July 27, 2018. | This Internet-Draft will expire on September 28, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://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 14 ¶ | skipping to change at page 4, line 14 ¶ | |||
| 1. Introduction | 1. Introduction | |||
| RPL - the "Routing Protocol for Low Power and Lossy Networks" | RPL - the "Routing Protocol for Low Power and Lossy Networks" | |||
| [RFC6550] - is a proposal for an IPv6 routing protocol for Low-power | [RFC6550] - is a proposal for an IPv6 routing protocol for Low-power | |||
| Lossy Networks (LLNs), by the ROLL Working Group in the Internet | Lossy Networks (LLNs), by the ROLL Working Group in the Internet | |||
| Engineering Task Force (IETF). This routing protocol is intended to | Engineering Task Force (IETF). This routing protocol is intended to | |||
| be the IPv6 routing protocol for LLNs and sensor networks, applicable | be the IPv6 routing protocol for LLNs and sensor networks, applicable | |||
| in all kinds of deployments and applications of LLNs. | in all kinds of deployments and applications of LLNs. | |||
| The objective of RPL and ROLL is to provide routing in networks which | The objective of RPL and ROLL at the time of development and | |||
| "comprise up to thousands of nodes" [roll-charter], where the | publication of [RFC6550] in 2012 is to provide routing in networks | |||
| which "comprise up to thousands of nodes" [roll-charter], where the | ||||
| majority of the nodes have very constrained resources [RFC7102], and | majority of the nodes have very constrained resources [RFC7102], and | |||
| where handling mobility is not an explicit design criteria [RFC5867], | where handling mobility is not an explicit design criteria [RFC5867], | |||
| [RFC5826], [RFC5673], [RFC5548]. | [RFC5826], [RFC5673], [RFC5548]. | |||
| [roll-charter] states that "Typical traffic patterns are not simply | [roll-charter] in 2012 states that "Typical traffic patterns are not | |||
| unicast flows (e.g. in some cases most if not all traffic can be | simply unicast flows (e.g. in some cases most if not all traffic can | |||
| point to multipoint)". [RFC7102] further categorizes the supported | be point to multipoint)". [RFC7102] further categorizes the | |||
| traffic types into "upward" traffic from sensors to an actuator or | supported traffic types into "upward" traffic from sensors to an | |||
| LBR (LLN Border Router) (denoted multipoint-to-point), "downward" | actuator or LBR (LLN Border Router) (denoted multipoint-to-point), | |||
| traffic from the actuator or LBR to the sensors (denoted point-to- | "downward" traffic from the actuator or LBR to the sensors (denoted | |||
| multipoint) and traffic from "sensor to sensor" (denoted point-to- | point-to-multipoint) and traffic from "sensor to sensor" (denoted | |||
| point traffic), and establishes this terminology for these traffic | point-to-point traffic), and establishes this terminology for these | |||
| types. Thus, while the target for RPL and ROLL is to support all of | traffic types. Thus, while the target for RPL and ROLL is to support | |||
| these traffic types, the emphasis among these, according to | all of these traffic types, the emphasis among these, according to | |||
| [roll-charter], appears to be to optimize for multipoint-to-point | [roll-charter], appears to be to optimize for multipoint-to-point | |||
| traffic, while also supporting point-to-multipoint and point-to-point | traffic, while also supporting point-to-multipoint and point-to-point | |||
| traffic. | traffic. | |||
| With experiences obtained since the publication of RPL as [RFC6550], | With experiences obtained since the publication of RPL as [RFC6550], | |||
| it is opportune to document observations of the protocol, in order to | it is opportune to document observations of the protocol, in order to | |||
| understand which aspects of it work well and which necessitate | understand which aspects of it work well and which necessitate | |||
| further investigations. Understanding possible limitations is | further investigations. Understanding possible limitations is | |||
| important to identify issues which may restrict the deployment scope | important to identify issues which may restrict the deployment scope | |||
| of the protocol and which may need further protocol work or | of the protocol and which may need further protocol work or | |||
| skipping to change at page 9, line 10 ¶ | skipping to change at page 9, line 10 ¶ | |||
| required energy, memory and computational resources so as to serve as | required energy, memory and computational resources so as to serve as | |||
| DODAG Roots, and be administratively configured as such - with the | DODAG Roots, and be administratively configured as such - with the | |||
| remainder of the routers in the network being of typically lesser | remainder of the routers in the network being of typically lesser | |||
| capacity. In storing mode, the DODAG root needs to keep a routing | capacity. In storing mode, the DODAG root needs to keep a routing | |||
| entry for each router in the RPL instance. In non-storing mode, the | entry for each router in the RPL instance. In non-storing mode, the | |||
| resource requirements on the DODAG Root are likely much higher than | resource requirements on the DODAG Root are likely much higher than | |||
| in storing mode, as the DODAG Root needs to store a network graph | in storing mode, as the DODAG Root needs to store a network graph | |||
| containing complete routes to all destinations in the RPL instance, | containing complete routes to all destinations in the RPL instance, | |||
| in order to calculate the routing table (whereas in storing mode, | in order to calculate the routing table (whereas in storing mode, | |||
| only the next hop for each destination in the RPL instance needs to | only the next hop for each destination in the RPL instance needs to | |||
| be stored. Aaggregation may be used to further reduce the resource | be stored. Aggregation may be used to further reduce the resource | |||
| requirements). | requirements). | |||
| A router that acts as a DODAG Root represents a single point of | A router that acts as a DODAG Root represents a single point of | |||
| failure for the DODAG it serves. It is possible for a given RPL | failure for the DODAG it serves. It is possible for a given RPL | |||
| deployment to contain several DODAGs, each rooted in a border router. | deployment to contain several DODAGs, each rooted in a border router. | |||
| RPL also supports that several border routers participate in the same | RPL also supports that several border routers participate in the same | |||
| DODAG - with the caveat that in this case, a "virtual" DODAG root, | DODAG - with the caveat that in this case, a "virtual" DODAG root, | |||
| external to the LLN, exists and which coordinates DODAGVersionNumbers | external to the LLN, exists and which coordinates DODAGVersionNumbers | |||
| and other DODAG parameters. The precise coordination mechanism is | and other DODAG parameters. The precise coordination mechanism is | |||
| not specified in [RFC6550], which instead states that: | not specified in [RFC6550], which instead states that: | |||
| skipping to change at page 11, line 41 ¶ | skipping to change at page 11, line 41 ¶ | |||
| bidirectional traffic by way of data-packets and their | bidirectional traffic by way of data-packets and their | |||
| corresponding acknowledgements. In fact, current Internet | corresponding acknowledgements. In fact, current Internet | |||
| protocols generally require some form of acknowledgment. | protocols generally require some form of acknowledgment. | |||
| Foregoing an acknowledgment probably means a trade-off in the area | Foregoing an acknowledgment probably means a trade-off in the area | |||
| of reliable transmission or repeated retransmissions or both. | of reliable transmission or repeated retransmissions or both. | |||
| o Telemetry scenarios where the DODAG root and the sink are not co- | o Telemetry scenarios where the DODAG root and the sink are not co- | |||
| located. This can happen if different kinds of information are | located. This can happen if different kinds of information are | |||
| sent to different central authorities for processing: for example, | sent to different central authorities for processing: for example, | |||
| temperature goes to Server A and humidity goes to Server B. A | temperature goes to Server A and humidity goes to Server B. A | |||
| possible solution for RPL is to run several DADAGs with different | possible solution for RPL is to run several DODAGs with different | |||
| roots, which incurs extra overhead. | roots, which incurs extra overhead. | |||
| For scenarios in which point-to-point traffic is a more common | For scenarios in which point-to-point traffic is a more common | |||
| occurrence, all point-to-point routes include the DODAG Root, | occurrence, all point-to-point routes include the DODAG Root, | |||
| possibly causing congestion events on the communication medium near | possibly causing congestion events on the communication medium near | |||
| the DODAG Root, and draining energy from the intermediate routers on | the DODAG Root, and draining energy from the intermediate routers on | |||
| an unnecessarily long route. If sensor-to-sensor traffic is common, | an unnecessarily long route. If sensor-to-sensor traffic is common, | |||
| routers near the DODAG Root will be particularly solicited as relays, | routers near the DODAG Root will be particularly solicited as relays, | |||
| especially in non-storing mode. | especially in non-storing mode. | |||
| skipping to change at page 12, line 33 ¶ | skipping to change at page 12, line 33 ¶ | |||
| o Energy drain from the routers near the DODAG root, because they | o Energy drain from the routers near the DODAG root, because they | |||
| need to forward more traffic for other parts of the network. | need to forward more traffic for other parts of the network. | |||
| 6. Fragmentation Of RPL Control Messages And Data Packet | 6. Fragmentation Of RPL Control Messages And Data Packet | |||
| The link layers for LLNs generally have limited MTUs compared to | The link layers for LLNs generally have limited MTUs compared to | |||
| ethernet or wireless LANs. For example, for [ieee802154], the MTU is | ethernet or wireless LANs. For example, for [ieee802154], the MTU is | |||
| limited to 127 bytes; for [g3-plc], it is up to 252 octets, or 511 | limited to 127 bytes; for [g3-plc], it is up to 252 octets, or 511 | |||
| octets, depending on the bandplan. Those link layers are unable to | octets, depending on the bandplan. Those link layers are unable to | |||
| provide an MTU of at least 1280 octets - as otherwise required for | provide an MTU of at least 1280 octets - as otherwise required for | |||
| IPv6 [RFC2460]. In such LLNs, link fragmentation and reassembly of | IPv6 [RFC8200]. In such LLNs, link fragmentation and reassembly of | |||
| IP packets at a layer below IPv6 is used to transport larger IP | IP packets at a layer below IPv6 is used to transport larger IP | |||
| packets, providing the required minimum 1280 octet MTU [RFC4919]. | packets, providing the required minimum 1280 octet MTU [RFC4919]. | |||
| When such link fragmentation is used, the IP packet has to be | When such link fragmentation is used, the IP packet has to be | |||
| reassembled at every hop. Every fragment must be received | reassembled at every hop. Every fragment must be received | |||
| successfully by the receiving device, or the entire IP packet is | successfully by the receiving device, or the entire IP packet is | |||
| lost. Moreover, the additional link-layer frame overhead (and IPv6 | lost. Moreover, the additional link-layer frame overhead (and IPv6 | |||
| Fragment header overhead in case of IP fragmentation) for each of the | Fragment header overhead in case of IP fragmentation) for each of the | |||
| fragments increases the capacity required from the medium. It may | fragments increases the capacity required from the medium. It may | |||
| consume more energy for transmitting a higher number of frames on the | consume more energy for transmitting a higher number of frames on the | |||
| network interface. | network interface. | |||
| RPL is an IPv6 routing protocol, designed to operate on constrained | RPL is an IPv6 routing protocol, designed to operate on constrained | |||
| link layers, such as [ieee802154], with a maximum frame size of 127 | link layers, such as [ieee802154], with a maximum frame size of 127 | |||
| bytes - a much smaller value than the specified minimum MTU of 1280 | bytes - a much smaller value than the specified minimum MTU of 1280 | |||
| bytes for IPv6 [RFC2460]. Reducing the need of fragmentation of IP | bytes for IPv6 [RFC8200]. Reducing the need of fragmentation of IP | |||
| datagrams on such a link layer, 6LoWPAN provides an adaptation layer | datagrams on such a link layer, 6LoWPAN provides an adaptation layer | |||
| [RFC4944], [RFC6282], providing link fragmentation in order to | [RFC4944], [RFC6282], providing link fragmentation in order to | |||
| accommodate IPv6 packet transmissions over the maximum IEEE 802.15.4 | accommodate IPv6 packet transmissions over the maximum IEEE 802.15.4 | |||
| frame size of 127 octets, as well as compressing the IPv6 header, | frame size of 127 octets, as well as compressing the IPv6 header, | |||
| reducing the overhead of the IPv6 header from at least 40 octets to a | reducing the overhead of the IPv6 header from at least 40 octets to a | |||
| minimum of 2 octets. Given that the IEEE 802.15.4 frame size of 127 | minimum of 2 octets. Given that the IEEE 802.15.4 frame size of 127 | |||
| octets, a maximum frame overhead of 25 octets and 21 octets for link | octets, a maximum frame overhead of 25 octets and 21 octets for link | |||
| layer security [RFC4944], 81 octets remain for L2 payload. Further | layer security [RFC4944], 81 octets remain for L2 payload. Further | |||
| subtracting 2 octets for the compressed IPv6 header leaves 79 octets | subtracting 2 octets for the compressed IPv6 header leaves 79 octets | |||
| for L3 data payload if link fragmentation is to be avoided. | for L3 data payload if link fragmentation is to be avoided. | |||
| skipping to change at page 28, line 18 ¶ | skipping to change at page 28, line 18 ¶ | |||
| contributions to conducting many of the experiments, revealing or | contributions to conducting many of the experiments, revealing or | |||
| confirming the issues described in this document. | confirming the issues described in this document. | |||
| Moreover, the authors would like to express their gratitude to Ralph | Moreover, the authors would like to express their gratitude to Ralph | |||
| Droms (Cisco) for his careful review of various versions of this | Droms (Cisco) for his careful review of various versions of this | |||
| document, for many long discussions, and for his considerable | document, for many long discussions, and for his considerable | |||
| contributions to both the content and the quality of this document. | contributions to both the content and the quality of this document. | |||
| 18. Informative References | 18. Informative References | |||
| [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | ||||
| (IPv6) Specification", RFC 2460, Decemer 1998. | ||||
| [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, | [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, | |||
| "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, | "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, | |||
| September 2007. | September 2007. | |||
| [RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6 | [RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6 | |||
| over Low-Power Wireless Personal Area Networks (6LoWPANs): | over Low-Power Wireless Personal Area Networks (6LoWPANs): | |||
| Overview, Assumptions, Problem Statement, and Goals", | Overview, Assumptions, Problem Statement, and Goals", | |||
| RFC 4919, August 2007. | RFC 4919, August 2007. | |||
| [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, | [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, | |||
| skipping to change at page 29, line 50 ¶ | skipping to change at page 29, line 47 ¶ | |||
| 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, | |||
| March 2012. | March 2012. | |||
| [RFC7102] Vasseur, JP., "Terms Used in Routing for Low-Power and | [RFC7102] Vasseur, JP., "Terms Used in Routing for Low-Power and | |||
| Lossy Networks", RFC 7102, January 2014. | Lossy Networks", RFC 7102, January 2014. | |||
| [RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained | [RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained | |||
| Application Protocol (CoAP)", RFC 7252, June 2014. | Application Protocol (CoAP)", RFC 7252, June 2014. | |||
| [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | ||||
| (IPv6) Specification", STD 86, RFC 8200, DOI 10.17487/ | ||||
| RFC8200, July 2017, | ||||
| <https://www.rfc-editor.org/info/rfc8200>. | ||||
| [SEP2.0] Computer Society, IEEE., "P2030.5 IEEE Draft Standard for | [SEP2.0] Computer Society, IEEE., "P2030.5 IEEE Draft Standard for | |||
| Smart Energy Profile 2.0 Application Protocol", 2014. | Smart Energy Profile 2.0 Application Protocol", 2014. | |||
| [ZigBeeIP] | [ZigBeeIP] | |||
| Alliance, ZigBee., "ZigBee IP Specification", | Alliance, ZigBee., "ZigBee IP Specification", | |||
| ZigBee Public Document 13-002r00, February 2013. | ZigBee Public Document 13-002r00, February 2013. | |||
| [bidir] Clausen, T. and U. Herberg, "A Comparative Performance | [bidir] Clausen, T. and U. Herberg, "A Comparative Performance | |||
| Study of the Routing Protocols LOAD and RPL with Bi- | Study of the Routing Protocols LOAD and RPL with Bi- | |||
| Directional Traffic in Low-power and Lossy Networks | Directional Traffic in Low-power and Lossy Networks | |||
| skipping to change at page 30, line 44 ¶ | skipping to change at page 30, line 47 ¶ | |||
| Layer (PHY) Specifications for LowData-Rate, Wireless, | Layer (PHY) Specifications for LowData-Rate, Wireless, | |||
| Smart Metering Utility Networks", April 2012. | Smart Metering Utility Networks", April 2012. | |||
| [powertrace] | [powertrace] | |||
| Dunkels, A., Eriksson, J., Finne, N., and N. Tsiftes, | Dunkels, A., Eriksson, J., Finne, N., and N. Tsiftes, | |||
| "Powertrace: Network-level Power Profiling for Low-power | "Powertrace: Network-level Power Profiling for Low-power | |||
| Wireless Networks", Technical Report SICS T2011:05. | Wireless Networks", Technical Report SICS T2011:05. | |||
| [roll-charter] | [roll-charter] | |||
| "ROLL Charter", | "ROLL Charter", | |||
| web http://datatracker.ietf.org/wg/roll/charter/, | web https://datatracker.ietf.org/doc/charter-ietf- | |||
| February 2012. | roll/03/, February 2012. | |||
| [rpl-contiki] | [rpl-contiki] | |||
| Tsiftes, N., Eriksson, J., and A. Dunkels, "Low-Power | Tsiftes, N., Eriksson, J., and A. Dunkels, "Low-Power | |||
| Wireless IPv6 Routing with ContikiRPL", | Wireless IPv6 Routing with ContikiRPL", | |||
| Proceedings Proceedings of the 9th ACM/IEEE International | Proceedings Proceedings of the 9th ACM/IEEE International | |||
| Conference on Information Processing in Sensor Networks | Conference on Information Processing in Sensor Networks | |||
| (ISPN), 2011. | (ISPN), 2011. | |||
| [rpl-eval] | [rpl-eval] | |||
| Clausen, T., Herberg, U., and M. Philipp, "A Critical | Clausen, T., Herberg, U., and M. Philipp, "A Critical | |||
| End of changes. 13 change blocks. | ||||
| 25 lines changed or deleted | 28 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/ | ||||