There are billions of devices that are currently connected to the Internet, with almost 8 new internet users being added every second worldwide. If this does not amaze you, it is estimated that soon more than 200 billion sensors will come online and report their data seamlessly over the internet. With such a rich ecosystem, the internet needs to be very rigid, well planned, and structured. In this new series, I will try my best to cover the different network elements and protocols that are build up this huge system.
What is Computer Networking?
By definition, a computer network is a group of computers that are linked together through a communication channel.
All the computer devices are called Hosts or End systems. Hosts sending requests are called clients while hosts receiving requests are called Servers. End systems are connected together by a network of communication links and packet switches. Communication links are made up of different types of physical media, including coaxial cable, copper wire, optical fiber, and radio spectrum. Different links can transmit data at different rates, with the transmission rate of a link measured in bits/second. When one end system has data to send to another end system, the sending end system segments the data and adds header bytes to each segment. The resulting packages of information, known as packets, are then sent through the network to the destination end system, where they are reassembled into the original data. A packet switch takes a packet arriving on one of its incoming communication links and forwards that packet on one of its outgoing communication links. Common packet switches are routers and link-layer switches.
End systems, packet switches, and other pieces of the Internet run protocols that control the sending and receiving of information within the Internet. The Transmission Control Protocol (TCP) and the Internet Protocol (IP) are two of the most important protocols on the Internet. The IP protocol specifies the format of the packets that are sent and received among router and end systems. The Internet’s principal protocols are collectively known as TCP/IP.
Given the importance of protocols to the Internet, it’s important that everyone agrees on what each and every protocol does so that people can create systems and products that interoperate. Internet standards are developed by the Internet Engineering Task Force (IETF) into documents called requests for comments (RFCs). RFCs tend to be quite technical and detailed. These define protocols such as TCP, IP, HTTP, DNS, and SMTP. There are currently more than 6,000 RFCs.
Internet Protocols are organized in a layered architecture. To explain this, let’s imagine you are trying to look for a meme from Google’s image search. The server has the image of your choice stored. Before the server sends out that information, it needs to convert that image into a package with all the necessary headers. Once it reaches the client, the reverse takes place. The packets have their headers removed in the reverse sequence and then converted back to the original data.
Now, to take a step further and look at the individual protocol layers. Below are the common TCP/IP model and the more detailed OSI model. For our analogy (and probably the rest of the series), I will stick to the TCP/IP model.
From the server to the internet, the sequence is top-down. When the server finds the Grumpy Cat image that the client requested, it will first convert it to a packet and add the Application Layer header. This protocol includes HTTP (which provides for Web document request and transfer), SMTP (which provides for the transfer of e-mail messages), and FTP (which provides for the transfer of files between two end systems). After that, the Transport Layer protocol adds the necessary changes. This later transports application-layer messages between application endpoints. Common Transport Layer protocols are TCP (which provides connection-oriented services to its applications) and UDP (which provides connection-less services to its applications). The Network Layer comes right after. This protocol is responsible for moving network-layer packets or datagrams from one host to another. Finally, the Network Access Layer takes care of the transfer across the communication links. Once the server receives the package, the entire process takes place in reverse (bottom-up) to transform the packets back to the original image.
Basics of IP Addresses in Computer Networking
Each device connected to the internet has a unique identifier. Most networks today, including all computers on the internet, use the TCP/IP as a standard to communicate on the network. In the TCP/IP protocol, this unique identifier is the IP Address. The two kinds of IP Addresses are IPv4 and IPv6.
IPv4 & IPv6
IPv4 uses 32 binary bits to create a single unique address on the network. An IPv4 address is expressed by four numbers separated by dots. Each number is the decimal (base-10) representation for an eight-digit binary (base-2) number, also called an octet.
IPv6 is the latest version of the Internet Protocol, which identifies devices across the internet so they can be located. Every device that uses the internet is identified through its own IP address in order for internet communication to work. In that respect, it’s just like the street addresses and zip codes you need to know in order to mail a letter.
Stay tuned for more interesting Content!