- ANALOG VS DIGITAL
- ASYNCHRONOUS VS SYNCHRONOUS
- CONNECTION-ORIENTED VS CONNECTIONLESS
- DIGTAL VS ANALOG
- DUPLEX VS SIMPLEX
- ERROR CORRECTION
The terms reliable and unreliable don't refer to whether it works or not. It refers to whether something is done to guarantee
End stations running reliable protocols will work together to verify the transmission of data to ensure accuracy and integrity of the data. A reliable system will set up a connection and verify that: all data transmitted is controlled in an orderly fashion, is received in the correct order and is intact. Reliable protocols work best over physical medium that loses data, and is prone to errors. The error correction, ordering and verification mechanisms require overhead in the data packets and increase the total ammount of bandwidth required to transmit data. Transmission Control Protocol (TCP) is a typical reliable protocol. TCP often usually adds an average of 42-63 bytes of overhead to datagrams. For a Telnet connection which transmits each keystroke individually, this is horribly inefficient because up to 64 bytes of data are transmitted to communicate just 1 byte of useful information.
Unreliable protocols make no effort to set up a connection, they don't check to see if the data was received and usually don't make any provisions for recovering from errors or lost data. Unreliable protocols work best over physical medium with low loss and low error rates. User Datagram Protocol (UDP) is an example of an unreliable protocol. UDP makes no provisions for verifying whether data arrived or is intact. However, UDP adds a minimum of overhead when compared to TCP and is thus much faster for data transfers over high quality physical links that are high speed and exhibit little or no errors in communication.