LWIG Working Group C. Bormann, Ed.
Internet-Draft Universitaet Bremen TZI
Intended status: Informational February 25, 2013
Expires: August 29, 2013
Guidance for Light-Weight Implementations of the Internet Protocol Suite
draft-ietf-lwig-guidance-03
Abstract
Implementation of Internet protocols on small devices benefits from
light-weight implementation techniques, which are often not
documented in an accessible way.
This document provides a first outline of and some initial content
for the Light-Weight Implementation Guidance document planned by the
IETF working group LWIG.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 29, 2013.
Copyright Notice
Copyright (c) 2013 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
(http://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
Bormann Expires August 29, 2013 [Page 1]
Internet-Draft Guidance for Light-Weight Implementations February 2013
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Objectives . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Call for contributions . . . . . . . . . . . . . . . . . 5
1.3. Terminology used in this document . . . . . . . . . . . . 5
1.4. Scope of the present document . . . . . . . . . . . . . . 6
1.5. Terminology boilerplate . . . . . . . . . . . . . . . . . 6
2. Drawing the Landscape . . . . . . . . . . . . . . . . . . . . 6
2.1. Design Objectives . . . . . . . . . . . . . . . . . . . . 6
2.2. Implementation Styles . . . . . . . . . . . . . . . . . . 7
2.3. Roles of nodes . . . . . . . . . . . . . . . . . . . . . 8
2.4. Overview over the document . . . . . . . . . . . . . . . 8
3. Data Plane Protocols . . . . . . . . . . . . . . . . . . . . 8
3.1. Link Adaptation Layer . . . . . . . . . . . . . . . . . . 8
3.1.1. Fragmentation in a 6LoWPAN Route-Over Configuration . 8
3.1.1.1. Implementation Considerations for Not-So-
Constrained Nodes . . . . . . . . . . . . . . . . 10
3.2. Network Layer . . . . . . . . . . . . . . . . . . . . . . 10
3.3. Transport Layer . . . . . . . . . . . . . . . . . . . . . 10
3.3.1. TCP . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.1.1. Absolutely required TCP behaviors for proper
functioning and interoperability . . . . . . . . 11
3.3.1.2. Strongly encouraged, but non-essential, behaviors
of TCP . . . . . . . . . . . . . . . . . . . . . 12
3.3.1.3. Experimental extensions that are not yet standard
practices . . . . . . . . . . . . . . . . . . . . 13
3.3.1.4. Others . . . . . . . . . . . . . . . . . . . . . 13
3.4. Application Layer . . . . . . . . . . . . . . . . . . . . 14
3.4.1. General considerations about Application Programming
Interfaces (APIs) . . . . . . . . . . . . . . . . . . 14
3.4.2. Constrained Application Protocol (CoAP) . . . . . . . 14
3.4.2.1. Message Layer Processing . . . . . . . . . . . . 15
3.4.2.2. Message Parsing . . . . . . . . . . . . . . . . . 16
3.4.2.3. Storing Used Message IDs . . . . . . . . . . . . 17
3.4.3. (Other Application Protocols...) . . . . . . . . . . 20
4. Control Plane Protocols . . . . . . . . . . . . . . . . . . . 20
4.1. Link Layer Support . . . . . . . . . . . . . . . . . . . 20