uIP (micro IP)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

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

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

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

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

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

Примітки

[ред. | ред. код]
  1. Maxim IC Application Note 4205, Using the uIP Stack to Network a MAXQ Microcontroller, Zach Metzinger. Архів оригіналу за 12 грудня 2009. Процитовано 29 жовтня 2016.
  2. Cyan Technology Application Note 57, uIP V1.0 TCP/IP Stack for eCOG1k and eCOG1X (PDF). Архів оригіналу (PDF) за 6 січня 2009. Процитовано 6 січня 2009.
  3. Adam Dunkel’s uIP on the Olimex EasyWeb2 and LPC-E2124, Paul Curtis. Архів оригіналу за 15 січня 2017. Процитовано 29 жовтня 2016.
  4. Drew Barnett and Anthony J. Massa, Inside the uIP Stack, Dr Dobbs Journal, February 2005. Архів оригіналу за 27 травня 2009. Процитовано 29 жовтня 2016.
  5. Cisco, Atmel и SICS открыли для использования протокол uIPv6. Архів оригіналу за 28 жовтня 2008. Процитовано 17 лютого 2019.

Посилання

[ред. | ред. код]