draft-ietf-6lo-minimal-fragment-05.txt   draft-ietf-6lo-minimal-fragment-06.txt 
6lo T. Watteyne, Ed. 6lo T. Watteyne, Ed.
Internet-Draft Analog Devices Internet-Draft Analog Devices
Intended status: Informational P. Thubert, Ed. Intended status: Standards Track P. Thubert, Ed.
Expires: 29 May 2020 Cisco Systems Expires: 30 May 2020 Cisco Systems
C. Bormann C. Bormann
Universitaet Bremen TZI Universitaet Bremen TZI
26 November 2019 27 November 2019
On Forwarding 6LoWPAN Fragments over a Multihop IPv6 Network On Forwarding 6LoWPAN Fragments over a Multihop IPv6 Network
draft-ietf-6lo-minimal-fragment-05 draft-ietf-6lo-minimal-fragment-06
Abstract Abstract
This document introduces the capability to forward 6LoWPAN fragments. This document introduces the capability to forward 6LoWPAN fragments.
This method reduces the latency and increases end-to-end reliability This method reduces the latency and increases end-to-end reliability
in route-over forwarding. It is the companion to using virtual in route-over forwarding. It is the companion to using virtual
reassembly buffers which is a pure implementation technique. reassembly buffers which is a pure implementation technique.
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 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 29 May 2020. This Internet-Draft will expire on 30 May 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 (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 2, line 20 skipping to change at page 2, line 20
2. Overview of 6LoWPAN Fragmentation . . . . . . . . . . . . . . 3 2. Overview of 6LoWPAN Fragmentation . . . . . . . . . . . . . . 3
3. Limits of Per-Hop Fragmentation and Reassembly . . . . . . . 5 3. Limits of Per-Hop Fragmentation and Reassembly . . . . . . . 5
3.1. Latency . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. Latency . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Memory Management and Reliability . . . . . . . . . . . . 5 3.2. Memory Management and Reliability . . . . . . . . . . . . 5
4. Forwarding Fragments . . . . . . . . . . . . . . . . . . . . 6 4. Forwarding Fragments . . . . . . . . . . . . . . . . . . . . 6
5. Virtual Reassembly Buffer (VRB) Implementation . . . . . . . 7 5. Virtual Reassembly Buffer (VRB) Implementation . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9
9. Normative References . . . . . . . . . . . . . . . . . . . . 9 9. Normative References . . . . . . . . . . . . . . . . . . . . 9
10. Informative References . . . . . . . . . . . . . . . . . . . 9 10. Informative References . . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction 1. Introduction
The original 6LoWPAN fragmentation is defined in [6LoWPAN] and it is The original 6LoWPAN fragmentation is defined in [6LoWPAN] and it is
implicitly defined for use over a single IP hop through possibly implicitly defined for use over a single IP hop through possibly
multiple Layer-2 (mesh-under) hops in a meshed 6LoWPAN Network. multiple Layer-2 (mesh-under) hops in a meshed 6LoWPAN Network.
Although [6LoWPAN-HC] updates [6LoWPAN], it does not redefine 6LoWPAN Although [6LoWPAN-HC] updates [6LoWPAN], it does not redefine 6LoWPAN
fragmentation. fragmentation.
skipping to change at page 4, line 48 skipping to change at page 4, line 48
Node B's typical behavior, per [6LoWPAN], is as follows. Upon Node B's typical behavior, per [6LoWPAN], is as follows. Upon
receiving a fragment from node A with a datagram_tag previously receiving a fragment from node A with a datagram_tag previously
unseen from node A, node B allocates a buffer large enough to hold unseen from node A, node B allocates a buffer large enough to hold
the entire packet. The length of the packet is indicated in each the entire packet. The length of the packet is indicated in each
fragment (the datagram_size field), so node B can allocate the buffer fragment (the datagram_size field), so node B can allocate the buffer
even if the first fragment it receives is not fragment 1. As even if the first fragment it receives is not fragment 1. As
fragments come in, node B fills the buffer. When all fragments have fragments come in, node B fills the buffer. When all fragments have
been received, node B inflates the compressed header fields into an been received, node B inflates the compressed header fields into an
IPv6 header, and hands the resulting IPv6 packet to the IPv6 layer IPv6 header, and hands the resulting IPv6 packet to the IPv6 layer
whihc performs the route lookup. which performs the route lookup. This behavior typically results in
per-hop fragmentation and reassembly. That is, the packet is fully
This behavior typically results in per-hop fragmentation and reassembled, then (re)fragmented, at every hop.
reassembly. That is, the packet is fully reassembled, then
(re)fragmented, at every hop.
3. Limits of Per-Hop Fragmentation and Reassembly 3. Limits of Per-Hop Fragmentation and Reassembly
There are at least 2 limits to doing per-hop fragmentation and There are at least 2 limits to doing per-hop fragmentation and
reassembly. See [ARTICLE] for detailed simulation results on both reassembly. See [ARTICLE] for detailed simulation results on both
limits. limits.
3.1. Latency 3.1. Latency
When reassembling, a node needs to wait for all the fragments to be When reassembling, a node needs to wait for all the fragments to be
skipping to change at page 9, line 15 skipping to change at page 9, line 15
With the VRB, the attack can be performed remotely on all nodes With the VRB, the attack can be performed remotely on all nodes
along a path, but each node suffers a lesser hit. this is because along a path, but each node suffers a lesser hit. this is because
the VRB does not need to remember the full datagram as received so the VRB does not need to remember the full datagram as received so
far but only possibly a few octets from the last fragment that far but only possibly a few octets from the last fragment that
could not fit in it. An implementation MUST protect itself to could not fit in it. An implementation MUST protect itself to
keep the number of VRBs within capacity, and that old VRBs are keep the number of VRBs within capacity, and that old VRBs are
protected by a timer of a reasonable duration for the technology protected by a timer of a reasonable duration for the technology
and destroyed upon timeout. and destroyed upon timeout.
* Attacks based on predictable fragment identification values are * Attacks based on predictable fragment identification values are
also possible but can be avoided. The datagramp_tag SHOULD be also possible but can be avoided. The datagram_tag SHOULD be
assigned pseudo-randomly in order to defeat such attacks. assigned pseudo-randomly in order to defeat such attacks.
* Evasion of Network Intrusion Detection Systems (NIDS) leverages * Evasion of Network Intrusion Detection Systems (NIDS) leverages
ambiguity in the reassembly of the fragment. This sounds ambiguity in the reassembly of the fragment. This sounds
difficult and mostly useless in a 6LoWPAN network since the difficult and mostly useless in a 6LoWPAN network since the
fragmentation is not end-to-end. fragmentation is not end-to-end.
7. IANA Considerations 7. IANA Considerations
No requests to IANA are made by this document. No requests to IANA are made by this document.
8. Acknowledgments 8. Acknowledgments
The authors would like to thank Yasuyuki Tanaka and Dave Thaler for The authors would like to thank Yasuyuki Tanaka, Ines Robles and Dave
their in-depth review of this document and improvement suggestions. Thaler for their in-depth review of this document and improvement
Also many thanks to Georgies Papadopoulos and Dominique Barthel for suggestions. Also many thanks to Georgies Papadopoulos and Dominique
their own reviews. Barthel for their own reviews.
9. Normative References 9. Normative References
[6LoWPAN] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, [6LoWPAN] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler,
"Transmission of IPv6 Packets over IEEE 802.15.4 "Transmission of IPv6 Packets over IEEE 802.15.4
Networks", RFC 4944, DOI 10.17487/RFC4944, September 2007, Networks", RFC 4944, DOI 10.17487/RFC4944, September 2007,
<https://www.rfc-editor.org/info/rfc4944>. <https://www.rfc-editor.org/info/rfc4944>.
[LWIG-VRB] Bormann, C. and T. Watteyne, "Virtual reassembly buffers [LWIG-VRB] Bormann, C. and T. Watteyne, "Virtual reassembly buffers
in 6LoWPAN", Work in Progress, Internet-Draft, draft-ietf- in 6LoWPAN", Work in Progress, Internet-Draft, draft-ietf-
lwig-6lowpan-virtual-reassembly-01, 11 March 2019, lwig-6lowpan-virtual-reassembly-01, 11 March 2019,
<https://tools.ietf.org/html/draft-ietf-lwig-6lowpan- <https://tools.ietf.org/html/draft-ietf-lwig-6lowpan-
virtual-reassembly-01>. virtual-reassembly-01>.
[FRAG-RECOV]
Thubert, P., "6LoWPAN Selective Fragment Recovery", Work
in Progress, Internet-Draft, draft-ietf-6lo-fragment-
recovery-07, 23 October 2019,
<https://tools.ietf.org/html/draft-ietf-6lo-fragment-
recovery-07>.
10. Informative References 10. Informative References
[6LoWPAN-HC] [6LoWPAN-HC]
Hui, J., Ed. and P. Thubert, "Compression Format for IPv6 Hui, J., Ed. and P. Thubert, "Compression Format for IPv6
Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, Datagrams over IEEE 802.15.4-Based Networks", RFC 6282,
DOI 10.17487/RFC6282, September 2011, DOI 10.17487/RFC6282, September 2011,
<https://www.rfc-editor.org/info/rfc6282>. <https://www.rfc-editor.org/info/rfc6282>.
[FRAG-RECOV]
Thubert, P., "6LoWPAN Selective Fragment Recovery", Work
in Progress, Internet-Draft, draft-ietf-6lo-fragment-
recovery-07, 23 October 2019,
<https://tools.ietf.org/html/draft-ietf-6lo-fragment-
recovery-07>.
[FRAG-ILE] Bonica, R., Baker, F., Huston, G., Hinden, R., Troan, O., [FRAG-ILE] Bonica, R., Baker, F., Huston, G., Hinden, R., Troan, O.,
and F. Gont, "IP Fragmentation Considered Fragile", Work and F. Gont, "IP Fragmentation Considered Fragile", Work
in Progress, Internet-Draft, draft-ietf-intarea-frag- in Progress, Internet-Draft, draft-ietf-intarea-frag-
fragile-17, 30 September 2019, fragile-17, 30 September 2019,
<https://tools.ietf.org/html/draft-ietf-intarea-frag- <https://tools.ietf.org/html/draft-ietf-intarea-frag-
fragile-17>. fragile-17>.
[ARTICLE] Tanaka, Y., Minet, P., and T. Watteyne, "6LoWPAN Fragment [ARTICLE] Tanaka, Y., Minet, P., and T. Watteyne, "6LoWPAN Fragment
Forwarding", IEEE Communications Standards Magazine , Forwarding", IEEE Communications Standards Magazine ,
2019. 2019.
 End of changes. 10 change blocks. 
23 lines changed or deleted 21 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/