This reference will discuss the basics of Creating TCP/IP networking. Although intended for an audience of Linux/Unix users and administrators, the contents are equal to other operating systems and networking devices.
TCP/IP is an abbreviation for Transmission Control Protocol / Internet Protocol.
TCP/IP is a set of protocols that define how two or more computers can communicate with each other. The protocol is a set of rules that describe how the data is passed between the computers. It is an open standard so it can be widely implemented on any computer with the appropriate physical interfaces (NIC) or Networking Interface Card. Within the TCP/IP networking protocol there are many more protocols. These provide different functionality important to the transmission of data over the networks. These can be to the operation of the networking, such as a Domain Name System or could be an application that uses the network such as a E-mail Server (both of these are discussed in further detail later) in the Webmin Documentation. Another related protocol is UDP (User Datagram Protocol) which also runs on top of the IP (Internet Protocol).
The difference between TCP and UDP is that TCP is connection based protocol whereas UDP is connectionless. In other words when TCP is being used; a session setup between the hosts and the transfer is guaranteed. For UDP each data packet is sent but there is no checking that it has been received, or anyway of resending within the network layers (OSI Model Figure 1). An application can run on top of UDP and implement it's own checking that each packet is received, but that is not the same as leaving it to the networking stack to implement. A common way of comparing these is to liken TCP to the telephone system and UDP to the postal service. With the telephone when you establish a connection with the other person, you know for certain that the user receives the message. If you were disconnected during the telephone conversation then you would know about it and be able to phone the other person again. With the postal system after you post the letter then you do not know for certain whether or not the mail will be received. After you have posted the letter it could be lost or destroyed on it’s way to it’s destination. Or if the person has moved house they may never receive the letter.
At first it may sound that there is no reason to choose UDP over TCP after all if you can have the extra reassurance then why would you care about UDP. The reason for this is that there is a lot of overhead involved in TCP.