As we mentioned in the last lecture (Chapter 3), one of the main reasons the Internet has blossomed so quickly is because everyone can understand the protocols that are spoken on the net.
A protocol is a set of commands and responses. Essentially you (or your client application) enter a conversation with a server.
There are two layers of protocols that I'll mention here. The low-level layer is called TCP/IP and while it is crucial to the Internet, we can effectively ignore it -- its details are little complex to worry about at the moment. You don't need to know about TCP/IP in order to use the high-level protocols. All you need to know is that TCP/IP enables a server to listen and respond to an incoming conversation. Incoming conversations arrive at something called a port. A Port is an imaginary place where incoming packets of information can arrive (just like a ship arrives at a sea port). Each type of service (for example, mail or file transfer) has its own port number -- again you do not need to worry about these port numbers, yet. You only need to know this if you start writing your own clients (or servers).
The high-level protocols like email portocols (e.g.SMTP, POP), which we will learn more about here. here. Later we'll discuss others such as FTP, Telnet and HTTP. They all use TCP/IP as a facilitator to communicate between computers.
The protocols all have the same basic pattern:
Figure 4.1 illustrates the protocol for sending mail. The end-user creates a mail message and then the sending system uses the mail protocol to hold a conversation with the receiving system.
Network Protocol Communications Model
Each protocol is also called a service. Hence the term, mail server or ftp server.