Philip, There are many protocols you can use. It entirely depends on your application. Some common ones are X.25, TCP/IP, UDP, MASC, SNAP, ROSSI Generally, if you have larger amounts of data , your application would likely segment these into smaller packets and reassemble them at the other end. In this case X.25 and TCP would be better. If it is small packets of data then UDP or SNAP would be better (www.hth.com) . Also, the medium has influence. For example, over radio - you would want to keep your packets very small (say 32 bytes) and re-send only packets with errors. Hardwired applications with lots of data usually would use HDLC bit oriented protocol. We deal mostly with radio and use small scale protocol based on 3 layers of the OSI 7 layer reference model. We use 16 bit CRC for error detection and re-send if not ack from addressed node, All our packets have destination and source address bytes and work well in a networked environment of radio modems up to 256 devices. The protocol shouls exhibit synchronization. In our application a sync byte is sent. When over air, you need to send pre-amble before the data packet to condition the receiver's data slicer. Regards David Huisman Orbit Communications www.orbitcoms.com -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu