This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Full TCP/IP for 8-Bit Architectures Adam Dunkels Swedish Institute of Computer Science [email protected], http://www.sics.se/˜adam/ Abstract We describe two small and portable TCP/IP implemen- tations fulfilling the subset of RFC1122 requirements needed for full host-to-host interoperability. Our TCP/IP implementations do not sacrifice any of TCP’s mecha- nisms such as urgent data or congestion control. They support IP fragment reassembly and the number of mul- tiple simultaneous connections is limited only by the available RAM. Despite being small and simple, our im- plementations do not require their peers to have com- plex, full-size stacks, but can communicate with peers running a similarly light-weight stack. The code size is on the order of 10 kilobytes and RAM usage can be con- figured to be as low as a few hundred bytes. 1 Introduction With the success of the Internet, the TCP/IP protocol suite has become a global standard for communication. TCP/IP is the underlying protocol used for web page transfers, e-mail transmissions, file transfers, and peer- to-peer networking over the Internet. For embedded sys- tems, being able to run native TCP/IP makes it possi- ble to connect the system directly to an intranet or even the global Internet. Embedded devices with full TCP/IP support will be first-class network citizens, thus being able to fully communicate with other hosts in the net- work. Traditional TCP/IP implementations have required far too much resources both in terms of code size and mem- ory usage to be useful in small 8 or 16-bit systems. Code size of a few hundred kilobytes and RAM requirements of several hundreds of kilobytes have made it impossi- ble to fit the full TCP/IP stack into systems with a few tens of kilobytes of RAM and room for less than 100 kilobytes of code. TCP  is both the most complex and the most widely used of the transport protocols in the TCP/IP stack. TCP provides reliable full-duplex byte stream transmission on top of the best-effort IP  layer. Because IP may reorder or drop packets between the sender and the re- ceiver, TCP has to implement sequence numbering and retransmissions in order to achieve reliable, ordered data transfer. We have implemented two small generic and portable TCP/IP implementations, lwIP (lightweight IP) and uIP (micro IP), with slightly different design goals. The lwIP implementation is a full-scale but simplified TCP/IP im- plementation that includes implementations of IP, ICMP, UDP and TCP and is modular enough to be easily ex- tended with additional protocols. lwIP has support for multiple local network interfaces and has flexible con- figuration options which makes it suitable for a wide va- riety of devices....
View Full Document
This note was uploaded on 02/10/2012 for the course ECE 3551 taught by Professor Staff during the Spring '11 term at FIT.
- Spring '11
- Computer Science