lwIP ( Lightweight IP ) es una pila TCP/IP de código abierto ampliamente utilizada , diseñada para sistemas embebidos . lwIP fue desarrollada originalmente por Adam Dunkels en 2001 [ 3 ] en el Instituto Sueco de Ciencias de la Computación y ahora es desarrollada y mantenida por una red mundial de desarrolladores.
lwIP es utilizado por muchos fabricantes de sistemas embebidos, incluidos Intel/Altera , Analog Devices , [ 4 ] Xilinx , [ 5 ] TI , ST y Freescale .
pila de red lwIP
El objetivo de la implementación de la pila de red lwIP es reducir el uso de recursos manteniendo una pila TCP completa. [ 6 ] Esto hace que lwIP sea adecuado para su uso en sistemas embebidos con decenas de kilobytes de RAM libre y espacio para unos 40 kilobytes de ROM de código.
Implementaciones del protocolo lwIP
Además de la pila TCP/IP , lwIP cuenta con otras partes importantes, como una interfaz de red , una capa de emulación del sistema operativo, búferes y una sección de gestión de memoria. La capa de emulación del sistema operativo y la interfaz de red permiten integrar la pila de red en un sistema operativo, ya que proporcionan una interfaz común entre el código lwIP y el núcleo del sistema operativo . [ 6 ]
La pila de red de lwIP incluye una implementación de IP (Protocolo de Internet) en la capa de Internet que puede manejar el reenvío de paquetes a través de múltiples interfaces de red. [ 6 ] Tanto IPv4 como IPv6 son compatibles con la pila dual desde lwIP v2.0.0. [ 7 ] Para el mantenimiento y la depuración de la red, lwIP implementa ICMP (Protocolo de mensajes de control de Internet). [ 6 ] IGMP (Protocolo de administración de grupos de Internet) es compatible con la administración de tráfico de multidifusión. Mientras que ICMPv6 (incluido MLD ) está implementado para admitir el uso de IPv6.
lwIP incluye una implementación del protocolo ARP (Protocolo de Resolución de Direcciones) de IPv4 y del protocolo de descubrimiento de vecinos de IPv6 para admitir Ethernet en la capa de enlace de datos . lwIP también puede funcionar sobre una implementación del protocolo PPP (Protocolo Punto a Punto) en la capa de enlace de datos.
En la capa de transporte , lwIP implementa TCP (Protocolo de Control de Transmisión) con control de congestión, estimación de RTT y recuperación rápida/retransmisión rápida. [ 6 ] UDP (Protocolo de Datagramas de Usuario) se implementa con extensiones experimentales UDP-Lite .
API y sockets
lwIP proporciona una interfaz de programación de aplicaciones (API) especializada sin copia para un rendimiento mejorado de la pila de red. La API de sockets de Berkeley es opcional. [ 6 ] Se proporcionan sockets sin procesar , o PCB sin procesar (bloques de control de protocolo), según la API utilizada. [ 8 ]
Soporte de la capa de aplicación
En la capa de aplicación, la pila de red lwIP puede ser compatible mediante la implementación de los siguientes protocolos: DNS (Sistema de nombres de dominio), un agente SNMP (Protocolo simple de administración de red), en v1, v2 o v3, con soporte para MIB ( base de información de administración ) privada y compilador MIB.
Los sistemas operativos que implementan la pila TCP/IP lwIP pueden proporcionar una variedad de clientes y servidores de soporte en la capa de aplicación. Por ejemplo, un cliente DHCP (Protocolo de configuración dinámica de host) IPv4 o direcciones de enlace local IPv4 (AutoIP). Las aplicaciones API especializadas incluyen: un servidor HTTP , un cliente SNTP , un cliente SMTP , un servidor de nombres NetBIOS , un respondedor mDNS , un cliente MQTT y un servidor TFTP .
Implementaciones de sistemas operativos
lwIP se utiliza como pila de red en ReactOS y Genode [ 9 ] y se puede utilizar en Minix y GNU Hurd para implementar servidores de red.
Véase también
Referencias
- ↑ "¡lwIP ha llegado!" .
- ↑ "lwIP 2.2.1 lanzado" . Archivado del original el 27-11-2023 . Recuperado el 18-02-2025 .
- ↑ D Adam - Instituto Sueco de Ciencias de la Computación , 2001
- ↑ " Desarrollo de aplicaciones VDK/LwIP complejas mediante procesadores Blackfin", Kaushal Sanghai, Analog Devices Inc., septiembre de 2008. Archivado el 20 de marzo de 2012 en Wayback Machine.
- ↑ "Siva Velusamy, Ejemplos de aplicación de IP ligera (lwIP), Xilinx Inc. Junio de 2009" (PDF) . Archivado (PDF) del original el 1 de marzo de 2012. Consultado el 11 de noviembre de 2010 .
- 1 2 3 4 5 6 Wu, Yanwen, ed. (2010). Ingeniería de software e ingeniería del conocimiento : teoría y práctica . Berlín: Springer. pág. 639. ISBN 978-3-642-03717-7.
- ↑ "LwIP: Actualización" . Archivado del original el 31/03/2019 . Consultado el 03/04/2019 .
- ↑ "Documentación de funciones de lwIP" . Archivado del original el 30/10/2020 . Consultado el 25/11/2007 .
- ↑ "Notas de la versión del marco de trabajo del sistema operativo Genode 9.11" .
Enlaces externos
- Desarrollo de lwIP
- wiki de documentación de lwIP
- Documentación de las funciones de lwIP
- Antigua página de inicio de lwIP (obsoleta)
- Guía de uso de LwIP de Microchip (pdf)
- Sistemas embebidos
- Implementaciones de TCP