Internet Protocols

We have described the Internet as basically just a bunch of computers that can communicate with each other, but we all know it as much more than that: the Internet can be used to share information and communicate. How do we get from wires connecting computers to that?

In order to do useful things, the computers on the Internet need to exchange information. In order to do that, they need to agree on how that information is exchanged between them.

We can compare the way computers communicate with the say we communicate using language. We have all agreed that the word “good” is an adjective that conveys positive or desirable properties. Since we all agree what that word means, I can use it to communicate with you: “learning about the Internet is good.” The same information could have been transmitted in different ways: “bon”, “bueno”, “好的”, and “ਚੰਗਾ ਹੈ” are all ways that groups of people have agreed to convey the same idea.

On the Internet, a collection of rules about exchanging data between computers is called a protocol. There might be several protocols that do the same task (like the translations of the work “good” above), but there are also protocols that do specific things that others do not.

Example Protocols

There are many protocols used online, but a few examples will help you understand what they do.

For example, when you send an email, your email client (Outlook, Thunderbird, or a webmail client) uses a protocol called SMTP (Simple Mail Transport Protocol) to send it from you to the recipient (e.g. to get it from from your university email server to Gmail). SMTP gets the email to the recipient's mail server where they read their messages from.

If you want to transfer a file to a web server (so others can see it), you might do this with the SFTP (Secure File Transfer Protocol). This protocol is used to copy files between computers. SFTP is used when you have an account on the other computer: you enter a username and password to confirm your identity and then can manage your files.

Multiplayer online games (Counter-Strike, Minecraft, Call of Duty, …) all need to communicate game data over the Internet. Each of them has its own protocol to transmit the kind of information it needs (where an enemy is, how the player is moving, what is on the ground in a particular position, …). In each case, the game itself knows how to communicate and coordinate with the servers of the company that made the game, or with other players' computers directly.

The protocol that we're most interested in for this course is HTTP, the protocol used to transmit information on the World Wide Web. HTTP is one protocol that is used on the Internet, no better or worse than the others (but admittedly a very popular one). We will discuss it more in the next topic, The Web and HTTP.