Articulo de referencia

lwIP

{{cite web|url=https://savannah.nongnu.org/forum/forum.php?forum_id=3202|title=lwIP has arrived!}} {{Start date and age|2004|08|10|df=yes/no}}"},"discontinued":{"wt":""},"latest...

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

  1. "¡lwIP ha llegado!" .
  2. "lwIP 2.2.1 lanzado" . Archivado del original el 27-11-2023 . Recuperado el 18-02-2025 .
  3. D Adam - Instituto Sueco de Ciencias de la Computación , 2001
  4. " 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.
  5. "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 .
  6. 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.
  7. "LwIP: Actualización" . Archivado del original el 31/03/2019 . Consultado el 03/04/2019 .
  8. "Documentación de funciones de lwIP" . Archivado del original el 30/10/2020 . Consultado el 25/11/2007 .
  9. "Notas de la versión del marco de trabajo del sistema operativo Genode 9.11" .
  • 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)