lwIP

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

LwIP
Original author(s) Adam Dunkels
Developer(s) lwIP developers group
Stable release
2.0.3 / 16 September 2017; 9 months ago (2017-09-16)
Written in C
Operating system multiple
Platform embedded systems
Type IP stack
License Modified BSD license
Website savannah.nongnu.org/projects/lwip/

lwIP (lightweight IP) is a widely used open source TCP/IP stack designed for embedded systems. lwIP was originally developed by Adam Dunkels at the Swedish Institute of Computer Science and is now developed and maintained by a worldwide network of developers.

lwIP is used by many manufacturers of embedded systems. Examples include Altera (in the Nios II operating system), Analog Devices (for the Blackfin DSP chip),[1] Xilinx,[2] Honeywell (for some of their FAA certified avionics systems) and Freescale Semiconductor (Ethernet Streaming SW for Automotive microcontrollers).

The focus of the lwIP TCP/IP implementation is to reduce resource usage while still having a full-scale TCP stack.[3] This makes lwIP suitable for use in embedded systems with tens of kilobytes of free RAM and room for around 40 kilobytes of code ROM.

lwIP is used as network stack in ReactOS and can be used in Minix and GNU Hurd to implement network servers.

lwIP features[edit]

Internet layer

  • IP (Internet Protocol) including packet forwarding over multiple network interfaces
    • Both IPv4 and IPv6 are supported since v2.0.0 (dual stack)
  • ICMP (Internet Control Message Protocol) for network maintenance and debugging
  • IGMP (Internet Group Management Protocol) for multicast traffic management
  • ICMPv6 including MLD for IPv6

Transport layer

  • UDP (User Datagram Protocol) including experimental UDP-Lite extensions
  • TCP (Transmission Control Protocol) with congestion control, RTT estimation and fast recovery/fast retransmit
  • Raw sockets (or raw pcbs, depending on the API used)

Application layer

  • DNS (Domain Name System)
  • SNMP (Simple Network Management Protocol) agent (v1, v2, v3, private MIB support & MIB compiler)
  • DHCP (Dynamic Host Configuration Protocol) client

Link layer

Other

See also[edit]

References[edit]

External links[edit]