IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Selective Fragment Recovery
RFC 8931

Document Type RFC - Proposed Standard (November 2020; No errata)
Updates RFC 4944
Author Pascal Thubert 
Last updated 2020-11-23
Replaces draft-thubert-6lo-fragment-recovery
Stream IETF
Formats plain text html xml pdf htmlized bibtex
Stream WG state Submitted to IESG for Publication
Document shepherd Carles Gomez
Shepherd write-up Show (last changed 2019-10-23)
IESG IESG state RFC 8931 (Proposed Standard)
Action Holders
Consensus Boilerplate Yes
Telechat date
Responsible AD Suresh Krishnan
Send notices to Carles Gomez <carlesgo@entel.upc.edu>
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack
IANA expert review state Expert Reviews OK
IANA expert review comments The expert approved the registrations, but wrote, "One slight concern is that it registers not 1 or 2 codes, but 4. However, rfc8025 was created precisely because of this problem, as these registrations are limited to page 0 only."

Internet Engineering Task Force (IETF)                   P. Thubert, Ed.
Request for Comments: 8931                                 Cisco Systems
Updates: 4944                                              November 2020
Category: Standards Track                                               
ISSN: 2070-1721

 IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Selective
                           Fragment Recovery


   This document updates RFC 4944 with a protocol that forwards
   individual fragments across a route-over mesh and recovers them end
   to end, with congestion control capabilities to protect the network.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction
   2.  Terminology
     2.1.  Requirements Language
     2.2.  Background
     2.3.  Other Terms
   3.  Updating RFC 4944
   4.  Extending RFC 8930
     4.1.  Slack in the First Fragment
     4.2.  Gap between Frames
     4.3.  Congestion Control
     4.4.  Modifying the First Fragment
   5.  New Dispatch Types and Headers
     5.1.  Recoverable Fragment Dispatch Type and Header
     5.2.  RFRAG Acknowledgment Dispatch Type and Header
   6.  Fragment Recovery
     6.1.  Forwarding Fragments
       6.1.1.  Receiving the First Fragment
       6.1.2.  Receiving the Next Fragments
     6.2.  Receiving RFRAG Acknowledgments
     6.3.  Aborting the Transmission of a Fragmented Packet
     6.4.  Applying Recoverable Fragmentation along a Diverse Path
   7.  Management Considerations
     7.1.  Protocol Parameters
     7.2.  Observing the Network
   8.  Security Considerations
   9.  IANA Considerations
   10. References
     10.1.  Normative References
     10.2.  Informative References
   Appendix A.  Rationale
   Appendix B.  Requirements
   Appendix C.  Considerations on Congestion Control
   Author's Address

1.  Introduction

   In most Low-Power and Lossy Network (LLN) applications, the bulk of
   the traffic consists of small chunks of data (on the order of a few
   bytes to a few tens of bytes) at a time.  Given that an IEEE Std
   802.15.4 [IEEE.802.15.4] frame can carry a payload of 74 bytes or
   more, fragmentation is usually not required.  However, and though
   this happens only occasionally, a number of mission-critical
   applications do require the capability to transfer larger chunks of
   data, for instance, to support the firmware upgrade of the LLN nodes
   or the extraction of logs from LLN nodes.

   In the former case, the large chunk of data is transferred to the LLN
   node, whereas in the latter case, the large chunk flows away from the
   LLN node.  In both cases, the size can be on the order of 10 KB or
   more, and an end-to-end reliable transport is required.

   "Transmission of IPv6 Packets over IEEE 802.15.4 Networks" [RFC4944]
   defines the original IPv6 over Low-Power Wireless Personal Area
   Network (6LoWPAN) datagram fragmentation mechanism for LLNs.  One
   critical issue with this original design is that routing an IPv6
   [RFC8200] packet across a route-over mesh requires the reassembly of
   the packet at each hop.  "An Architecture for IPv6 over the TSCH mode
   of IEEE 802.15.4" [6TiSCH] indicates that this may cause latency
   along a path and impact critical resources such as memory and
   battery; to alleviate those undesirable effects, it recommends using
   a 6LoWPAN Fragment Forwarding (6LFF) technique.

   "On Forwarding 6LoWPAN Fragments over a Multihop IPv6 Network"
   [RFC8930] specifies the generic behavior that all 6LFF techniques
   including this specification follow, and it presents the associated
   caveats.  In particular, the routing information is fully indicated
   in the first fragment, which is always forwarded first.  With this
Show full document text