uIP (micro IP) — це відкритий TCP/IP-стек/модуль, розроблений для мікроконтролерів з 8- і 16-бітною архітектурою.

Проект «uIP» заснований з групи мережевих вбудованих систем Шведського інституту комп'ютерних наук (SICS) під ліцензією BSD і надалі розвивався групою розробників. Стек портовано на кілька платформ , включаючи DSP.

На відміну від lwIP, uIP оптимізований з точки зору ресурсів пам'яті. lwIP використовує пам'ять, що динамічно виділяється, для роботи з мережевими даними та інформацією про з'єднання. У uIP дескриптори з'єднань створюються на етапі компіляції, а обмін мережевими даними ведеться через спеціальний статичний буфер. Внаслідок такої оптимізації uIP не підтримує деякі можливості TCP/IP стека, наприклад складання фрагментованих IP пакетів, алгоритм Нейгла, відновлення правильної послідовності пакетів, кілька пакетів на один ACK і т.п. Проблема резервного зберігання непідтверджених приймальною стороною даних винесена з uIP і покладена на користувача стека.

На сьогодні uIP не є самостійним проектом і підтримується в рамках проекту відкритої ОС Contiki.

У жовтні 2008 року Cisco, Atmel і SICS анонсували повністю сумісний IPv6 розширення uIP під назвою uIPv6 .

Примітки

Посилання uIP main page https://github.com/adamdunkels/uip Проект Contiki uIP license — BSD-style uIP port for AVR microcontrollers uIP-based Webserver using OpenRISC-embedded SoC