nanoIP ist eine Konzept, um Internetfunktionalität für stark Ressourcen-limitierte Module wie Eingebettete Systeme oder Sensorknoten ohne den Overhead eines kompletten TCP/IP-Stack verfügbar zu machen.
Das Protokoll enthält zwei Transportprotokolle.
- nanoUDP (minimaler, verbindungsloser Transport) und
- nanoTCP (verbindungsorientiert, Retransmission, Flusssteuerung). [1]
Durch eine socket-kompatible API, kann man nanoUDP und nanoTCP fast genauso wie die verwandten IP-Protokolle verwenden.
Der einzige Unterschied ist die Adressierung und die Anzahl der Ports:
- nanoIP nutzt die MAC-Adressen der darunterliegenden Netzwerktechnologie (802.11.x, 802.15.x usw.) und keine IP-Adressen, weil diese in einem lokalen Netzwerk nicht notwendig sind (Overhead).
- In nanoIP stehen für Senden und Empfangen pro Knoten 256 Ports (8-bit Adressraum) () zur Verfügung.[2]
Außerdem enthält der nanoIP-Stack Implementierungen für bekannte Anwendungsprotokolle wie z.B. HTTP, SLP und ICMP. [3]