Skip to main content

Light-Weight Implementation Guidance

Document Charter Light-Weight Implementation Guidance WG (lwig)
Title Light-Weight Implementation Guidance
Last updated 2020-03-25
State Approved
WG State Active
IESG Responsible AD Erik Kline
Charter edit AD Erik Kline
Send notices to (None)

Communications technology is being embedded into our environment.
  Different types of devices in our buildings, vehicles, equipment and
  other objects have a need to communicate. It is expected that most of
  these devices will employ the Internet Protocol suite. However, there is 
  a lot of variation in the capabilities between different types of 
  devices, and it is not always easy to embed all the necessary features. 
  The Light-Weight Implementation Guidance (LWIG) Working Group focuses on
  helping the implementors of the smallest devices. The goal is to be able
  to build minimal yet interoperable IP-capable devices for the most
  constrained environments.
  Building a small implementation does not have to be hard. Many small
  devices use stripped down versions of general purpose operating systems
  and their TCP/IP stacks. However, there are implementations that go even
  further in minimization and can exist in as few as a couple of kilobytes
  of code, as on some devices this level of optimization is necessary.
  Technical and cost considerations may limit the computing power, battery
  capacity, available memory, or communications bandwidth that can be
  provided. To overcome these limitations the implementors have to employ
  the right hardware and software mechanisms. For instance, certain types
  of memory management or even fixed memory allocation may be required. It
  is also useful to understand what is necessary from the point of view of
  the communications protocols and the application employing them. For
  instance, a device that only acts as a client or only requires one
  connection can simplify its TCP implementation.
  The purpose of the LWIG working group is to collect experiences from
  implementors of IP stacks in constrained devices. The
  group shall focus only on techniques that have been used in actual
  implementations and do not impact interoperability with other devices.
  The techniques shall also not affect conformance to the relevant
  specifications. The output of this work is a document that describes
  implementation techniques for reducing complexity, memory footprint, or
  power usage. The topics for this working group will be chosen from these
  protocols: IPv4, IPv6, UDP, TCP, ICMPv4/v6, MLD/IGMP, ND, DNS,
  DHCPv4/v6, IPsec, 6LOWPAN, COAP, RPL, SNMP and NETCONF protocols. This
  document will be helpful for the implementors of new devices or for the
  implementors of new general-purpose small IP stacks. It is also expected
  that the document increases our knowledge of what existing small
  implementations do, and helps in the further optimization of the
  existing implementations. On areas where the considerations for small
  implementations have already been documented the group shall make an
  effort to refer to those documents instead of developing its own.
  Generic hardware design advice and software implementation techniques
  are outside the scope of this work, as such expertise is not within the
  IETF domain. Protocol implementation experience, however, is within the
  IETF domain. The group shall also not develop any new protocols or
  protocol behavior modifications beyond what is already allowed by
  existing RFCs, because it is important to ensure that different types of
  devices can work together. The group shall not develop assumptions or
  profiles about the operating environment of the devices, because, in
  general, it is not possible to guarantee any special configuration.
  Finally, while implementation techniques relating to security mechanisms
  are within scope, mere removal of security functionality from a protocol
  is not an acceptable recommendation.
  Given that the group works on both IP and transport layer protocols it
  is necessary to ensure that expertise in both aspects is present in the
  group. Participation from the implementors of existing small IP stacks
  is also required.