How Does Internet Work? Fundamentals And Principals of a Global Network. IP Protocol
The Internet is a global computer network, which brings together billions of devices in the world, and allows these devices to exchange information. So, as you read this, you are connected to the Internet using your computer, tablet, mobile phone or some other device.
But how this text came to your screen? What happens when you type a web address or click on a hyperlink in the text? Today we will get the answers to all these questions.
Let's agree that any device that you use to access the Internet, we will call "computer". So it will be easier for communication, and in general - is not too far from the truth.
Computer and Computer Network
As we know, the computer - it is a device that allows you to run one or another program. At the dawn of the computer era computers were created specifically for this purpose. But if we have more than one computer, it would be interesting to write a program that would allow multiple computers to "talk" to each other. Naturally, to achieve this you will need somehow to connect coputers each other. I'm sure such thought like this was into engineering heads, when the idea of creating the first computer network came into.
The first computer network appeared on September 2, 1969 at the University of California at Los Angeles city. It was created by a group of students led by Professor Leonard Kleinrock as a part of the U.S. military program. Thus, the first two processing complex at the university were connected by a cable with length of 4.5 meters and the first transmission of data was made between two remote computers.
Subsequently, the cables were connected computers of four American universities, and in the future, this network has become the basis for the information network of the Ministry of Defense called ARPANET.
Further, this development becomes the basis for developing the Internet.
So, the computer network - it is two or more computers which are connected to each other and having the ability to transmit bits of information between each other.
Today, there are many ways to connect computers with each other. This can be done both via cables or by using different wireless technologies.
To make communication on the network between computers available it is required to use a special software. That such programs can interact with each other (or, as we say - "talk" to each other), they must follow the same rules and conventions. Such rules among engineers are called "protocols". Thus, the main protocol of the Internet network is IP-protocol.
What is The Protocol?
Before we continue, let's understand what the word "protocol" means in the theory of computer networks. I am sure you have often heard this word, but not everyone understands what is hidden behind it.
Quite simply, the "protocol" is a collection of some rules and conventions to be followed by computer programs. For example, imagine that we have two computer programs that operate independently of each other, and we needed to organize somehow their interaction with each other. For example, one program writes some command, which it wants to be executed by another program into a file on disk. To allow another program read this file and run the command, we need to set a specific format of the file. In this case, the first program will have to construct the contents of the file according to certain rules, and the other program, using the same set rules should be able to read it. These rules are referred to be an agreement between our programs, so them are the "protocol".
That's it, in this case, the protocol will describe all of the rules by which our programs interact with each other, for example, as follows:
- Interaction organized by using the specific file.
- File format as described.
- The program One is writing to the file the command as described.
- The program Two reads the command from a file and performs action as described...
That is the primitive description of the protocol for cooperation between our programs.
Similarly, for the organization of computer network protocols are required especially to describe the rules and conventions for functioning of the programs and computers in the network.
The basic protocol upon which the Internet works - is an IP protocol.
So, our first protocol in stack - is an IP protocol. This abbreviation stands for is very simple - Internet Protocol (surprise!), and describes the rules for addressing computers on the network.
Indeed, if we have two devices, we must somehow determine from whom and to whom the message was sent. This is similar to how you want to send regular paper letter to some your relative who lives in another city. To send it, you'll need to write a correct address on an envelope, than mail service will be able to deliver it to its destination. Also according to the rules of postal service you will need to specify your back address, so that way they can return a message back to you if it can not be delivered to its destination, or your relative will know what address he should write you an answer.
So what's should be used as computer address? To solve this problem, engineers have suggested that if they assign to every computer in the network a unique number, this number can be easily used as computer address!
On the other hand, the Internet - a global network, which employs a lot of devices. Therefore, the numbers assigned to computers connected to the network should be sufficiently large enough to be unique for all devices which are or may be connected to the network. So, a few decades ago, engineers thought that more than 4 billion of available addesses will be sufficient number and developed a 32-bit IP-addresses, which today are used as address space in the Internet.
Thus that's the notion of IP-addresses. It's just a number that is a unique address of each computer connected to the Internet (although a bit more complicated, but, in general, this is true explanation).
But only an address of the computer may be insufficient for organizing the delivery of messages between computers. After all, the computer executes the programs. And today, on your computer is running several programs at once! For example, you listen to Internet radio while browsing the site or receive an email.
Therefore, in order to understand what the program should process the message that came on your computer from the network it must also have its own address within your computer. This address is known as "port" and it is also a simple integer. By protocol, each computer could address 65535 ports for its applications.
That is, each message that is sent from one computer to another is transferred to a special address, which consists of two rooms - IP-address of the computer and port of the corresponding program.
In order to understand it will be easier to imagine that the IP-address - this is the address of your apartment. A port - as the destination - your last and first name. After all, you can live in an apartment not alone, so you have to know that it's a letter delivered exactly for you.
That's how is done addressing between computers and programs on the Internet.