lwIP: Легковесный TCP/IP стек для встраиваемых систем
LwIP
lwIP: легковесный TCP/IP стек с открытым исходным кодом для встраиваемых систем. Низкое потребление ресурсов, подходит для устройств с ограниченной памятью.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Открытый стек TCP/IP lwIP (lightweight IP) — широко используемый стек TCP/IP с открытым исходным кодом, разработанный для встраиваемых систем. Изначально lwIP был разработан Адамом Дункельсом в Шведском институте компьютерных наук, а в настоящее время разрабатывается и поддерживается глобальным сообществом разработчиков. lwIP используется многими производителями встраиваемых систем, включая Intel/Altera, Analog Devices, Xilinx, TI, ST и Freescale.
Open source TCP/IP stack
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, including Intel/Altera, Analog Devices, Xilinx, TI, ST and Freescale.
Стек сети lwIP
Основная цель реализации сетевого стека lwIP — минимизировать потребление ресурсов при сохранении полнофункционального стека TCP. Это делает lwIP подходящим для использования во встраиваемых системах, располагающих десятками килобайт свободной оперативной памяти и примерно 40 килобайтами памяти для кода ROM.
The focus of the lwIP network stack implementation is to reduce resource usage while still having a full scale TCP stack. 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
Помимо стека TCP/IP, lwIP включает в себя несколько других важных компонентов, таких как сетевой интерфейс, слой эмуляции операционной системы, буферы и модуль управления памятью. Слой эмуляции операционной системы и сетевой интерфейс обеспечивают возможность портирования сетевого стека на различные операционные системы, предоставляя единый интерфейс между кодом lwIP и ядром операционной системы. Для обслуживания сети и отладки lwIP поддерживает протокол ICMP (Internet Control Message Protocol).
Aside from the TCP/IP stack, lwIP has several other important parts, such as a network interface, an operating system emulation layer, buffers and a memory management section. The operating system emulation layer and the network interface allow the network stack to be transplanted into an operating system, as it provides a common interface between lwIP code and the operating system kernel. For network maintenance and debugging, lwIP implements ICMP (Internet Control Message Protocol).
Поддержка уровня приложений
На уровне приложений сетевой стек lwIP может поддерживаться посредством реализации следующих протоколов: DNS (система доменных имен), агент SNMP (простой протокол управления сетью) версий v1, v2 или v3, с поддержкой частных MIB (баз информации управления) и компилятором MIB. Операционные системы, реализующие стек TCP/IP lwIP, могут предоставлять различные клиенты и серверы на уровне приложений, такие как клиент IPv4 DHCP (протокол динамической конфигурации хоста) или IPv4-адреса локальной ссылки (AutoIP). К специализированным приложениям, использующим прямой API, относятся: HTTP-сервер, клиент SNTP, клиент SMTP, сервер имен NetBIOS, ответчик mDNS, клиент MQTT и TFTP-сервер.
At the application layer the lwIP network stack may be supported through the implementation of the following protocols. The DNS (Domain Name System), an SNMP (Simple Network Management Protocol) agent, in v1, v2 or v3, with private MIB (management information base) support and MIB compiler. Operating systems that implement the lwIP TCP/IP stack may provide a range of supporting clients and servers at the application layer. Such as an IPv4 DHCP (Dynamic Host Configuration Protocol) client or IPv4 link local addresses (AutoIP). Specialized raw API applications include: an HTTP server, a SNTP client, a SMTP client, a NetBIOS nameserver, a mDNS responder, a MQTT client and a TFTP server.
Реализация ОС
lwIP используется в качестве сетевого стека в ReactOS и Genode и может быть использован в Minix и GNU Hurd для реализации сетевых серверов.
lwIP is used as network stack in ReactOS and Genode and can be used in Minix and GNU Hurd to implement network servers.