June 24, 2020 0 Comments

The single chip computer on the site runs the iPic web-server, the world’s tiniest implementation of a TCP/IP stack and a HTTP web-server. The TCP/IP stack and the webserver uses around 30 bytes of RAM. The code is written in C ideas that Miniweb uses: iPIC – A Match Head Sized Web Server. Additionally, tiny, inexpensive Web servers make the vision of a totally Shri said the iPic server has been online since the middle of July.

Author: Mauzshura Diran
Country: Finland
Language: English (Spanish)
Genre: Politics
Published (Last): 10 December 2009
Pages: 345
PDF File Size: 1.86 Mb
ePub File Size: 20.22 Mb
ISBN: 972-7-52309-585-8
Downloads: 36573
Price: Free* [*Free Regsitration Required]
Uploader: Tadal

The code is written in C and constitutes around lines, comments removed. It should be possible to further minimize the code size and memory usage.

IPic – A Match Head Sized Web-Server

When sending the packets, only a few fields are updated and the checksums adjusted. Incoming packets are processed one byte at a time and therefore there is no need to buffer the data. The checksum is computed when each byte is received and if the checksum is found to be incorrect when the entire packet has been received, the contents of the packet is not used for further processing.


There are two variants of Miniweb, a stateless variant and a statefull variant. The stateless variant is a bit smaller and uses less RAM, but does not provide the same functionality as the statefull variant.

The stateless Miniweb keeps only minimal state information. Instead of keeping connection state, the stateless Miniweb uses the acknowledgement numbers of the incomming ACKs to decide which TCP segment to send.

This means that if an ACK in another “connection” arrives before the retransmission occurs, the state of the previous connection is lost, and the retransmission will never occur. This connection will hang until the application in the other iic sends data.

Fingernail-sized web server could spread net wider – ABC Green @ Work

It it important to note that this approach of course is totally and utterly iplc ; a system using this approach should not be connected to an actual network, let alone the global Internet! Number of lines of code and RAM usage in the stateless Miniweb.


The total RAM usage varies between 24 and 28 bytes depending on the number of bytes used for pointers on the system for which Miniweb is compiled.

The number of lines of code are approximate. Download the code and do: You can try it out by clicking on the link.

To inspect the packets that are sent to and from Miniweb, run tcpdump -l -n -S -i tun0. Toggle navigation Serber Dunkels. Home Code Science Talks Contact.