> > > I believe that the appropriate transport protocol is UDP. With its paper > > thin > > > wrapping over the core IP protocol, and its standard and widely deployed > > API > > > interface, it's perfect for a PIC to interact on the Internet. > > > > Drawback with UDP is that there is no guarantee > > that a datagram will arrive at all, and if it > > arrives, a response is not guaranteed. > > > > You probably need the higher layer apps to > > implement retry mechanism on top of UDP/IP stack. > > Of course. But it doesn't have to be the extremely complex mechanism that TCP > uses for sequencing, syncronization, and acknowledgement. > > By building from the bottom up, it is possible to provide only the minimum > reliability required for the application. Building from the top down with TCP > will require a lot more infrastructure in order to meet TCP's minimum > requirement. > > Also the frequency of many of the potential failures are a function of the > underlaying network. Existing UDP protocols such as DNS, TFTP, and NFS are > generally as reliable as the underlaying networks they operate under. > > TCP forces you to code for the absolute worst case. With UDP you can simplify > your assumptions based on the fact that the network is generally reliable. > > Finally using UDP it is possible to manage the send/ack relationship from the > client side application, thereby further simplifying the stack that is > implemented on the PIC. With TCP it's not possible to create such an unbalanced > model. > > So between utilizing the improved reliability of the underlaying network, > a simplifying assumptions, simpler and more reliable PIC based networking > can be realized. But now you the designer can choose the appropriate level. > > BAJ > Agreed. Jeremy Bentham (of TCPIP Lean book fame) did managed to squeeze a TCP handler onto a PIC16x76 though. A quick look at the code, seems like it's not too complicated. Would be interesting if you have many UDP/IP lean devices connected to a host which translates UDP packets to full TCP packet and vice versa. This way, lean devices can enjoy full internet connectivity. Cheers, Peter Tiang -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads