James Cameron says:
TCP flow control can be just ignored. Packets get repeated. Not nice, but it is better than not communicating. I think the RFC allows for this for embedded devices.
William Chops Westfield says:
The inet host can fragment a large IP *packet* into smaller fragments, but it can't fragment a TCP *segment*. If there was a single large TCP segment fragmented into tiny IP packets, it would get reassembled on the destination host BEFORE TCP got to look at it, and then TCP would claim that it's too big.Whats the size limit on SLIP? Originally, 1006. Practically, 1500 or so (ie same size as an ethernet packet.) Fundamentally, 64k...
I would expect that there's quite a lot one could do within the confines of 536 bytes of payload. In the absense of huge graphics and fancy HTML, that's quite a bit of data for a small microcontroller to have to send in the first place, right? I think some sort of "eternal filesystem" to hold the "pure data" part of the conversation is fundamental to TCP on very small microcontrollers. A serial eeprom/flash device would work fine.
...also see: NCSA telnet, an "open source" (but predating that term) application/OS/Internet stack that runs on DOS. a 1990 ("pre-bloat but post-64k-frugal") implementation has a "minitel.exe" program without too much extra stuff (like tektronix terminal emulators) and is about 93kbytes (for the exe file.) Other possibilities include "ka9q" - a similar project targetted (restricted?) to ham radio applications.
Denis Petrov's PIC 16F84 implimentation of TCP/IP, HTTP, CGI (?) with source! Mirrored from his hompage at: http://www.chat.ru/~zhengxi/wwwpic/source.htm
Methods@ TCP/IP, Internet of Things
See also:
Questions:
Hi all, i´m trying to build an Internet application with a pic16F877 and a 3Com 3c509b ethernet card, there is a project about it (http://www.rof.net/yp/alphaone/activities/electronics/3c509b/) but this link seems to be broken, so please let me know if i can find this project's code and info somewhere else.
Thank You
Alex
James Newton replies: For any missing web page, there is a good chance it will be in the archive.org system. Just add http://web.archive.org/*/ to the beginning of the original (broken) URL. Different dates of the document will be shown, try each until you find one that works. For example this page has a 2001/06/05 version available: http://web.archive.org/web/*/http://www.rof.net/yp/alphaone/activities/electronics/3c509b/