Internet and Computer Networks

It’s now time to talk about the computer not as something isolated but as a machine connected to many others.
How do the computers to talk to each other? We think this is the question many people puts when accessing a site on the Internet. What happens between the act of clicking on a link (a piece of text) and receiving the page of the site with the information we want?
We’ll try with such a simple as possible approach, unravel the used processes. Because this exposition can get to some complexity levels, our work will evolve from the simplicities gradually increasing the complexity of the exposition. Since the complexity is not more than the sum of many simplicities, we’ll try to get there keeping you interested. As you will evolve in the reading of this work just stop where you think it’s enough for you and jump to the next step. You can always get back if and when you are more prepared and/or interested in reaching more complex levels.
For the computers to talk with each other a multitude of protocols at several levels them was created. Protocol is like an agreement between two parties in which the language used with each other as well as the way it will be used and read is established. A dictionary is  built, not only translating the words but also their meaning according to their location within the message. This way, while writing and reading the messages according with the established protocol and in the possession of the dictionary, they can understand each other.
This is where our friends the errand boys (the bits) get in while assuming the appropriate places the Protocol designates within the messages and so giving the correct meaning to what the computers exchange between each other.
Network communications are made by layers, specifically using the OSI model, achieved after a great deal of standardization in communications. This model was simplified by the Internet in the TCP/IP (Transport Control Protocol/ Internet Protocol) model, the one that we will follow in the development of this work. Actually this is the model adopted by most private networks operating today.
Our work in this Chapter will fulfill a goal. On the Client machine (the Browser in our computer) we’ll click on a given link, this way asking the server machine (the Web Server) the index page of a site (index.html) and receiving and presenting it in the client Browser.
We talked about Client/Server because the TCP/IP model uses this type of network architecture. The other two network architectures type are the Peer to Peer (P2P) architecture and the Hybrid architecture, a mix of the two previous ones.
We will give to the messages (or their parts) the name used for them in the networks that we’ll deal with, which is the Packet. The packet must be understood as a message encapsulation allowing its isolation from all other traffic on a network.
Let’s think of it the same way we put inside an envelope (or a packet) the letter we want to send by mail to someone, in order to isolate its sheets from all the other sets of sheets that are sent by the same way. Otherwise it would be a mess with all the paper sheets of our letter being blended with the paper sheets of the other letters.
For the post office to know where and whom to deliver the letter to (the packet) we write at the previously established locations the name and address of the recipient and sender.
But the post office can’t just pick up the letter and expect it to arrive at its destination by itself. So they check its destination: a city in a given country in another continent for instance. Then they put the letter into a Packet for that given city together with other letters having the same city as destination. The same way they put that packet together with others for the same state into another packet having that same country as destination. And they do the same thing regarding the continent.
Then the final packet is sent to the other continent and will be read and unpacked in inverse order until the letter reaches its final destination.
Although the functionality is not identical with this text we aimed to illustrate the meaning of the layers in a network transmission. The message is packaged in each layer and each new packet carries a header (the protocol) that identifies it towards the recipient at the same level (in the same layer), till we finally get to the package that is placed in the path.
We strongly recommend viewing the YouTube videos whose links we put here together, where you can enjoy an exceptional animation about the package journey which will surely sharpen your curiosity to learn more:

The Warriors of the Net (English) – http://www.youtube.com/watch?v=Ve7_4ot-Dzs
Os Guerreiros da Internet (Português)  http://http://www.youtube.com/watch?v=e6SU42eP7e4

The Layers are abstractions which were created with the purpose of treating process of sending a message  in the several aspects that allow it to reach its destination as it was conceived. In TCP/IP model we have five layers:

The Application layer is then one where the messages are prepared by the programs (applications) according to the protocol that will be used, as we’ll see. To the packet built in this layer we call message and it is compose by the message data and by a header.
At this layer we have protocols like the HTTP, the SMTP, the FTP, the DNS or the Bit Torrent. We’ll analyze the HTTP (Hiper Text Transfer Protocol) and the DNS (Domain Name System). The HTTP is implemented in the Client machine (Browser) and in the server machine (Web Server) and describes the shape and structure that the two machines will use to exchange messages between them. It’s thus through the HTTP that the two machines will talk with each other.
The DNS protocol is the one allowing us through a machine name finding its address in the Internet, using for that purpose dedicated servers. For instance it allows us to know that the machine that we know by the name www.condominiopartners.pt has the address 188.72.202.158, or 10111100 01001000 11001010  11001010.

The Transport layer is the one where the conditions of the message transport are defined , i.e. with or without delivery assurance, with or without delivery by order assurance, with or without error detection and correction , etc., according to the used transport protocol. To the Message packet is added a header with this layer protocol and the new built packet will have the name of Segment.
The computer has just pushed out of its applicational domain a message intended for the network. In order to do it the message is placed into an interface named  Socket , a communication interface between an application and the network. A socket is associated with a port and both compose a computer communication form with the outside .
Two types of protocol are associated with this layer in the internet, the TCP and the UDP. We’ll develop our work with TCP (Transfer Control Protocol) protocol which is responsible to assure the integrity and order of the message packets delivery. We mention message packets in the plural because the message is divided into many segments, as the maximum packet size on the Internet is of 1,500 Bytes. It’s the TCP which divides the message packet into segments and puts them together again in the correct order. It’s the TCP which will initiate, manage and terminate the connection between the two machines.

The network layer is the one responsible for addressing, routing and forwarding the message on the network and for its delivery to the upper layer at the destination. To the segment packet is added an header with this layer protocol and to the resulting packet is given the name of datagram.
This layer is the Lord IP (Internet Protocol) kingdom, which you’ve heard about in the video that we have recommended. The IP is the network layer protocol on the Internet and has no competitor. It’s the IP which provides the packets with the necessary information for them to find their destination. When a packet travels from a sender to a recipient, obviously it doesn’t follow a direct route. It is not like the High Speed Train, being more like the Mail Train, for it stops in all stations.
The IP protocol is based on the Best Effort service model, i.e. the IP does not ensure bandwidth, does not ensure ordered delivery, not even delivery. All its effort goes towards driving the packets to their destination.
The IP protocol concerns Internet fundamental concepts such as Addressing , Routing and Forwarding. We’ll develop our greatest effort to make clear how each one of these fundamental concepts of the Internet or any network works.

The link layer is the one whose protocol allows the messages transmission in the media. This layer protocol is added to the Datagram and the new resulting packet is called Frame. Within this layer the devices recognize different identifiers from those we have been using until now.
Link is the route that a frame will travel between two nodes of a network. These nodes can be Routers, Switches, Hubs or terminal Computers.
In this layer the address has a different name and shape. It is the physical address of each device interface, unique and exclusive, assigned to it by the manufacturer in accordance with a global monitoring organization. Its name is MAC Address ( Media Access Control Address ). The translation from the IP address to the MAC address is performed by the ARP (Address Resolution Protocol) protocol.
The technology used by Internet  at the link layer of the Local Networks (LAN) is the Ethernet, nowadays commonly used by the vast majority of existing local networks. It is present in the Network Cards (the Routers and terminal computers interfaces), in the HUB and in the Switch.
It’s also in this layer that we will analyze the WiFi or IEEE 802.11 technology, used for wireless transmissions in LAN (Local Area Network) but always communicating with the network devices through Ethernet .

The Physical layer is the one responsible for transporting the bits within the network between the devices that will bring the package to the destination. This form of transport varies according to the environment in which the transmission is made (copper wire, fiber optics, radio, etc.). The physical layer is responsible for the bits modulation according to the physical media on which the packet will be transmitted. Modulation in electromagnetic waves, in electromagnetic, optical, or laser pulses, etc. It’s a process that has more to do with aspects of electrical engineering than with informatics engineering, so escaping the scope of this work.
The same frame can go through several physical media. Its content will always be the same. The headers for Ethernet and Wi-Fi have already been analyzed. Out of the Wireless mean the transmissions will always be read by Ethernet cards . Therefore, between the routers and/or the terminal computers, the bits to be modulated according to the physical medium between them include the Ethernet header. In terminal networks they may find protocols different from Ethernet (very unlikely), but it was not the aim of this work to cover such cases.
The same frame can be sent from one point to another using for instance the following medias:

  • Wi-Fi (micro pulses of Radio Frequency which with given compositions represent the value of a bit) sent to a WAP (Wireless Access Point)
  • Ethernet cable transmission (usually through Manchester coding) from the WAP until a Router which will have associated with it a modulator for transmission by
  • Coaxial cable, the media used for the frame to go until the outside of the building or Campus, where it is recovered from the coaxial cable modulation and modulated for transmission by
  • Optical fiber. The frame goes like that until it gets to a Area border Router where it’s recovered from the optical fiber modulation and is modulated for a transmission by
  • Micro Waves, the shape it preserves until the AS border Router. There the frame is recovered from its micro wave modulation and is modulated for a transmission by
  • Satellite, preserving this shape until it reaches the AS birder Router of destination,
  • following the same course in the reverse order (micro waves,optical fiber, coaxial cable, Ethernet, Wi-Fi and Ethernet) until the destination final computer.
  • And the answer to the request will follow the same course.

Each of these forms of transmission has its own way of representing the bits according to protocols that allow the sender and receiver to understand each other.
For summary is enough. Now we have 66 pages of this work devoted to this theme, which seek to make noticeable with abundant graphs the complexity of the trip of about 1400 packets only respecting to the home page of the website that we used as an example, which is displayed in the Browser in milliseconds.

See the global synopsis of this work

We introduce here the table of contents of the Paper Book to describe the themes approached in this Chapter

C14__Indice_Ing