| < draft-ietf-roll-useofrplinfo-01.txt | draft-ietf-roll-useofrplinfo-02.txt > | |||
|---|---|---|---|---|
| ROLL Working Group M. Robles | ROLL Working Group M. Robles | |||
| Internet-Draft Ericsson | Internet-Draft Ericsson | |||
| Intended status: Informational M. Richardson | Intended status: Informational M. Richardson | |||
| Expires: August 29, 2016 SSW | Expires: September 22, 2016 SSW | |||
| P. Thubert | P. Thubert | |||
| Cisco | Cisco | |||
| February 26, 2016 | March 21, 2016 | |||
| When to use RFC 6553, 6554 and IPv6-in-IPv6 | When to use RFC 6553, 6554 and IPv6-in-IPv6 | |||
| draft-ietf-roll-useofrplinfo-01 | draft-ietf-roll-useofrplinfo-02 | |||
| Abstract | Abstract | |||
| This document states different cases where RFC 6553, RFC 6554 and | This document states different cases where RFC 6553, RFC 6554 and | |||
| IPv6-in-IPv6 encapsulation is required to set the bases to help | IPv6-in-IPv6 encapsulation is required to set the bases to help | |||
| defining the compression of RPL routing information in LLN | defining the compression of RPL routing information in LLN | |||
| environments. | environments. | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 36 ¶ | skipping to change at page 1, line 36 ¶ | |||
| 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 August 29, 2016. | This Internet-Draft will expire on September 22, 2016. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 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 2, line 41 ¶ | skipping to change at page 2, line 41 ¶ | |||
| 6.4. Example of Flow from not-RPL-aware-leaf to root . . . . . 21 | 6.4. Example of Flow from not-RPL-aware-leaf to root . . . . . 21 | |||
| 6.5. Example of Flow from RPL-aware-leaf to Internet . . . . . 21 | 6.5. Example of Flow from RPL-aware-leaf to Internet . . . . . 21 | |||
| 6.6. Example of Flow from Internet to RPL-aware-leaf . . . . . 22 | 6.6. Example of Flow from Internet to RPL-aware-leaf . . . . . 22 | |||
| 6.7. Example of Flow from not-RPL-aware-leaf to Internet . . . 23 | 6.7. Example of Flow from not-RPL-aware-leaf to Internet . . . 23 | |||
| 6.8. Example of Flow from Internet to non-RPL-aware-leaf . . . 24 | 6.8. Example of Flow from Internet to non-RPL-aware-leaf . . . 24 | |||
| 6.9. Example of Flow from RPL-aware-leaf to RPL-aware-leaf . . 25 | 6.9. Example of Flow from RPL-aware-leaf to RPL-aware-leaf . . 25 | |||
| 6.10. Example of Flow from RPL-aware-leaf to not-RPL-aware-leaf 26 | 6.10. Example of Flow from RPL-aware-leaf to not-RPL-aware-leaf 26 | |||
| 6.11. Example of Flow from not-RPL-aware-leaf to RPL-aware-leaf 27 | 6.11. Example of Flow from not-RPL-aware-leaf to RPL-aware-leaf 27 | |||
| 6.12. Example of Flow from not-RPL-aware-leaf to not-RPL-aware- | 6.12. Example of Flow from not-RPL-aware-leaf to not-RPL-aware- | |||
| leaf . . . . . . . . . . . . . . . . . . . . . . . . . . 27 | leaf . . . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 7. Future RPL work . . . . . . . . . . . . . . . . . . . . . . . 28 | 7. Problem statement . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 | 8. 6LoRH Compression cases . . . . . . . . . . . . . . . . . . . 29 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 28 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 29 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 29 | |||
| 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 29 | 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 11.1. Normative References . . . . . . . . . . . . . . . . . . 29 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 11.2. Informative References . . . . . . . . . . . . . . . . . 29 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 29 | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . 30 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 1. Introduction | 1. Introduction | |||
| RPL [RFC6550] is a routing protocol for constrained networks. RFC | RPL [RFC6550] is a routing protocol for constrained networks. RFC | |||
| 6553 [RFC6553] defines the "RPL option", carried within the IPv6 Hop- | 6553 [RFC6553] defines the "RPL option", carried within the IPv6 Hop- | |||
| by-Hop header to quickly identify inconsistencies in the routing | by-Hop header to quickly identify inconsistencies in the routing | |||
| topology. RFC 6554 [RFC6554] defines the "RPL Source Route Header", | topology. RFC 6554 [RFC6554] defines the "RPL Source Route Header", | |||
| an IPv6 Extension Header to deliver datagrams within a RPL routing | an IPv6 Extension Header to deliver datagrams within a RPL routing | |||
| domain. | domain. | |||
| skipping to change at page 13, line 35 ¶ | skipping to change at page 13, line 35 ¶ | |||
| 5.8. Example of Flow from Internet to non-RPL-aware-leaf | 5.8. Example of Flow from Internet to non-RPL-aware-leaf | |||
| In this case the flow comprises: | In this case the flow comprises: | |||
| Internet --> root (6LBR) --> 6LR --> not-RPL-aware-leaf (6LN) | Internet --> root (6LBR) --> 6LR --> not-RPL-aware-leaf (6LN) | |||
| 6LBR get the packet from Internet and add a RPI header encapsulated | 6LBR get the packet from Internet and add a RPI header encapsulated | |||
| in a IPv6-in-IPv6 header addressed to 6LR and send the packet down. | in a IPv6-in-IPv6 header addressed to 6LR and send the packet down. | |||
| The flow label is set to zero on inner IP. The last 6LR removes the | The flow label is set to zero on inner IP. The last 6LR removes the | |||
| RPI header. The IPv6 node might set the flow label since may arrive | RPI header. The IPv6 node might set the flow label since may arrive | |||
| with zero value. The 6LBR does not know that the is attached to the | with zero value. The RPI should be in IP-in-IP header. | |||
| last 6LR. The non-RPL-aware-leaf drops packet, because RPI has | ||||
| unknown header 0x63, and 0x63 has "01" = discard packet. If RPI had | ||||
| 0x23, it would "skip". | ||||
| +----------+---------+-------------------+-------------------+------+ | +----------+---------+-------------------+-------------------+------+ | |||
| | Header | Interne | 6LBR | 6LR | IPv6 | | | Header | Interne | 6LBR | 6LR | IPv6 | | |||
| | | t | | | | | | | t | | | | | |||
| +----------+---------+-------------------+-------------------+------+ | +----------+---------+-------------------+-------------------+------+ | |||
| | Inserted | -- | IPv6-in-IPv6(RPI) | -- | -- | | | Inserted | -- | IPv6-in-IPv6(RPI) | -- | -- | | |||
| | headers | | | | | | | headers | | | | | | |||
| | Removed | -- | -- | IPv6-in-IPv6(RPI) | -- | | | Removed | -- | -- | IPv6-in-IPv6(RPI) | -- | | |||
| | headers | | | | | | | headers | | | | | | |||
| | Re-added | -- | -- | -- | -- | | | Re-added | -- | -- | -- | -- | | |||
| skipping to change at page 18, line 38 ¶ | skipping to change at page 18, line 38 ¶ | |||
| | rs | | | | | | | | rs | | | | | | | |||
| +-------+----+------------+-------------+-------------+-------------+ | +-------+----+------------+-------------+-------------+-------------+ | |||
| Storing: Summary of the use of headers from not-RPL-aware-leaf to | Storing: Summary of the use of headers from not-RPL-aware-leaf to | |||
| RPL-aware-leaf | RPL-aware-leaf | |||
| 5.12. Example of Flow from not-RPL-aware-leaf to not-RPL-aware-leaf | 5.12. Example of Flow from not-RPL-aware-leaf to not-RPL-aware-leaf | |||
| In this case the flow comprises: | In this case the flow comprises: | |||
| not-RPL-aware 6LN --> 6LR --> root (6LBR) --> 6LR --> not-RPL-aware | not-RPL-aware 6LN (IPv6 node)--> 6LR --> root (6LBR) --> 6LR --> not- | |||
| 6LN | RPL-aware 6LN (IPv6 node) | |||
| The problem to solve is how to indicate where to send the packet when | The problem to solve is how to indicate where to send the packet when | |||
| get into LLN. Should attributes be added to the border router | get into LLN. One approach is that the 6LBR should know in which 6LR | |||
| indicating this? | the IPv6 node is attached. The RPI information is encapsulated in a | |||
| IPv6-in-IPv6 header, each IPv6-in-IPv6 header needs to be added/ | ||||
| removed at each hop.. | ||||
| +---------+-----+----------------+---------+-----------------+------+ | +---------+-----+----------------+---------+-----------------+------+ | |||
| | Header | IPv | 6LR | 6LR | 6LR | IPv6 | | | Header | IPv | 6LR | 6LR | 6LR | IPv6 | | |||
| | | 6 | | (common | | dst | | | | 6 | | (common | | dst | | |||
| | | src | | parent) | | | | | | src | | parent) | | | | |||
| +---------+-----+----------------+---------+-----------------+------+ | +---------+-----+----------------+---------+-----------------+------+ | |||
| | Inserte | -- | IPv6-in- | -- | -- | -- | | | Inserte | -- | IPv6-in- | -- | -- | -- | | |||
| | d | | IPv6(RPI) | | | | | | d | | IPv6(RPI) | | | | | |||
| | headers | | | | | | | | headers | | | | | | | |||
| | Removed | -- | -- | -- | IPv6-in- | -- | | | Removed | -- | -- | -- | IPv6-in- | -- | | |||
| | headers | | | | IPv6(RPI) | | | | headers | | | | IPv6(RPI) | | | |||
| skipping to change at page 28, line 26 ¶ | skipping to change at page 28, line 26 ¶ | |||
| | headers | | | | | | | | headers | | | | | | | |||
| | Modified | -- | -- | -- | -- | -- | | | Modified | -- | -- | -- | -- | -- | | |||
| | headers | | | | | | | | headers | | | | | | | |||
| | Untouched | -- | -- | -- | -- | -- | | | Untouched | -- | -- | -- | -- | -- | | |||
| | headers | | | | | | | | headers | | | | | | | |||
| +--------------+------+-----------+-----------+--------------+------+ | +--------------+------+-----------+-----------+--------------+------+ | |||
| Non Storing: Summary of the use of headers from not-RPL-aware-leaf to | Non Storing: Summary of the use of headers from not-RPL-aware-leaf to | |||
| not-RPL-aware-leaf | not-RPL-aware-leaf | |||
| 7. Future RPL work | 7. Problem statement | |||
| There are cases from above that are not clear how to send the | There are cases from above that are not clear how to send the | |||
| information. It requires furhter analysis on how to proceed to send | information. It requires furhter analysis on how to proceed to send | |||
| the information from source to destination. | the information from source to destination. | |||
| From the above cases, we have in storing mode: | From the above cases, we have in storing mode: | |||
| - Flow from RPL-aware-leaf to non-RPL-aware-leaf: Somehow, the sender | - Flow from RPL-aware-leaf to non-RPL-aware-leaf: Somehow, the sender | |||
| has to know that the receiver is not RPL aware, and needs to know | has to know that the receiver is not RPL aware, and needs to know | |||
| 6LR, and not even the root knows where the 6LR is located. | 6LR, and not even the root knows where the 6LR is located. | |||
| - Flow from not-RPL-aware-leaf to not-RPL-aware-leaf: The problem to | - Flow from not-RPL-aware-leaf to not-RPL-aware-leaf: The problem to | |||
| solve is how to indicate where to send the packet when get into LLN. | solve is how to indicate where to send the packet when get into LLN. | |||
| One approach is the 6LBR should be aware in which 6LR is the IPv6 | ||||
| node attached. | ||||
| 8. IANA Considerations | As was mentioned above in the document, a possible solution could be | |||
| adapted to all cases: An IPv6-in-IPv6 header can be used on a hop-by- | ||||
| hop basis, using either link-local addresses, or even IPv6 Global | ||||
| Unicast Addresses, but each IPv6-in-IPv6 header needs to be added/ | ||||
| removed at each hop. | ||||
| 8. 6LoRH Compression cases | ||||
| The [I-D.ietf-6lo-routing-dispatch] proposes a compression method for | ||||
| RPI, RH3 and IPv6-in-IPv6. | ||||
| The uses cases mentioned in this draft MUST use 6LoRH. Examples of | ||||
| the use of 6LoRH are found in Apendix A of | ||||
| [I-D.ietf-6lo-routing-dispatch]. | ||||
| 9. IANA Considerations | ||||
| There are no IANA considerations related to this document. | There are no IANA considerations related to this document. | |||
| 9. Security Considerations | 10. Security Considerations | |||
| TODO. | The security considerations covering of [RFC6553] and [RFC6554] apply | |||
| when the packets get into RPL Domain. | ||||
| 10. Acknowledgments | 11. Acknowledgments | |||
| This work is partially funded by the FP7 Marie Curie Initial Training | This work is partially funded by the FP7 Marie Curie Initial Training | |||
| Network (ITN) METRICS project (grant agreement No. 607728). | Network (ITN) METRICS project (grant agreement No. 607728). | |||
| The authors would like to acknowledge the review, feedback, and | The authors would like to acknowledge the review, feedback, and | |||
| comments of Thomas Watteyne, Xavier Vilajosana and Robert Cragie. | comments of Thomas Watteyne, Xavier Vilajosana, Robert Cragie and | |||
| Simon Duquennoy. | ||||
| To be completed with additional Acknowledgments. | ||||
| 11. References | 12. References | |||
| 11.1. Normative References | 12.1. Normative References | |||
| [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, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [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, | |||
| skipping to change at page 29, line 43 ¶ | skipping to change at page 30, line 11 ¶ | |||
| Information in Data-Plane Datagrams", RFC 6553, | Information in Data-Plane Datagrams", RFC 6553, | |||
| DOI 10.17487/RFC6553, March 2012, | DOI 10.17487/RFC6553, March 2012, | |||
| <http://www.rfc-editor.org/info/rfc6553>. | <http://www.rfc-editor.org/info/rfc6553>. | |||
| [RFC6554] Hui, J., Vasseur, JP., Culler, D., and V. Manral, "An IPv6 | [RFC6554] Hui, J., Vasseur, JP., Culler, D., and V. Manral, "An IPv6 | |||
| 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, | |||
| <http://www.rfc-editor.org/info/rfc6554>. | <http://www.rfc-editor.org/info/rfc6554>. | |||
| 11.2. Informative References | 12.2. Informative References | |||
| [I-D.ietf-6lo-routing-dispatch] | [I-D.ietf-6lo-routing-dispatch] | |||
| Thubert, P., Bormann, C., Toutain, L., and R. Cragie, | Thubert, P., Bormann, C., Toutain, L., and R. Cragie, | |||
| "6LoWPAN Routing Header", draft-ietf-6lo-routing- | "6LoWPAN Routing Header", draft-ietf-6lo-routing- | |||
| dispatch-05 (work in progress), February 2016. | dispatch-05 (work in progress), February 2016. | |||
| [I-D.ietf-6tisch-architecture] | [I-D.ietf-6tisch-architecture] | |||
| Thubert, P., "An Architecture for IPv6 over the TSCH mode | Thubert, P., "An Architecture for IPv6 over the TSCH mode | |||
| of IEEE 802.15.4", draft-ietf-6tisch-architecture-09 (work | of IEEE 802.15.4", draft-ietf-6tisch-architecture-09 (work | |||
| in progress), November 2015. | in progress), November 2015. | |||
| End of changes. 18 change blocks. | ||||
| 30 lines changed or deleted | 48 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/ | ||||