lwIP

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
LwIP
Original author(s) Adam Dunkels
Developer(s) lwIP developers group
Stable release 1.4.1 / 17 December 2012; 11 years ago (2012-12-17)
Development status active
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.[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 features

Internet layer

  • IP (Internet Protocol) including packet forwarding over multiple network interfaces
  • ICMP (Internet Control Message Protocol) for network maintenance and debugging
  • IGMP (Internet Group Management Protocol) for multicast traffic management

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

Application layer

  • DNS (Domain names resolver)
  • SNMP (Simple Network Management Protocol)
  • DHCP (Dynamic Host Configuration Protocol)

Link layer

  • PPP (Point-to-Point Protocol)
  • ARP (Address Resolution Protocol) for Ethernet

Other

See also

References

External links


<templatestyles src="Asbox/styles.css"></templatestyles>