How Does The Internet Works
InternetThe internet has become an integral part of our lives, enabling us to connect, communicate, and access information seamlessly. But have you ever wondered how this vast network operates behind the scenes? How does the information travel through invisible pathways and reach your screen in a matter of seconds? In this blog post, we'll delve into the intricate world of the internet.
What is the Internet?
According to Wikipedia:
The Internet (or internet) is the global system of interconnected computer networks that utilizes the Internet protocol suite (TCP/IP) to facilitate communication between various networks and devices.
As stated, the internet is a collection of devices interlinked within a single network, capable of exchanging information and data. The process and method of how this data is sent and received are regulated and standardized by protocols. It can be said that the very foundation of the internet lies within networks and protocols.
Understanding Networks and How Data is Transmitted
A network is a collection of devices (computers, smartphones, etc.) that are interconnected through fiber optic cables or radio waves (WiFi), enabling them to exchange data. But what kind of data is actually sent during this data exchange process? Well, computers fundamentally store information in the form of bits or binary code, represented as 0 or 1. These binary codes come together to form information, and new units like 8 bits equal 1 byte, 1024 bytes equal 1 kilobyte, 1024 kilobytes forming 1 megabyte, and so on. All forms of computer data, whether it's music (.mp3) or images (.png, .jpeg, etc.), are converted into binary so that computers can read and display the information through the screen or any kind of output devices. Now, how is this data physically transmitted?
Let's say we want to send an image from our smartphone to a computer through messenger app. The way this devices can communicate each other is using protocol like TCP/IP and/or HTTP or another protocol. Once these devices connected to the internet simply by activating their data internet or by connect to WiFi, these devices can exchange any data or information. When we click send the image, the application program running by sending the file through the internet and finally the file succesfully received by the destination device. Because the computer store the information in the form of bits, 0 or 1, the way our smartphone or computer sending these data is by converted this bits information into blinking lights, "on" or "off," when transmitted through fiber optic cables or into waves that rise and fall in the case of radio waves. It's somewhat reminiscent of Morse code, but at incredibly high speeds. Once the data is received, the computer compiles and converts it back into specific information and processes the information. Fascinating, isn't it? For a clearer visual, you can watch the explanatory video from code.org (link).
The Client-Server Model
In the realm of interactions between devices within an internet network, devices can be essentially categorized into two roles: server and client. The server acts as a computer that harbors the wellspring of data and information accessible on the internet. This encompasses websites, specific application services, and much more. On the flip side, a client denotes the device we employ to access said information—devices such as smartphones and laptops.
For instance, let's consider the scenario of opening a website in a browser. Here's how the server and client communicate:
When you type a website's URL into your browser's address bar and hit enter, your device takes on the role of the client. It sends a request to the appropriate server where the website's data is stored. The server receives the request and promptly sends back the necessary data to your client. This data includes the website's code, images, text, and other resources.
Subsequently, your browser takes on the responsibility of rendering the received data, constructing the web page as you see it. Voilà! The webpage becomes visually accessible on your screen.
Delving Deeper into IP Addresses and Domain Names
Having learned about the transmission of data packets in the internet network, the next question arises: how does data know where to go amidst the myriad devices traversing from one to another? To manage the multitude of devices, a protocol called IP Address steps in. This protocol is tasked with identifying each device within a network using a numeric format separated by periods. For instance, 192.168.1.1. Therefore, each time we join a network—say, when activating cellular data on a smartphone or connecting to WiFi—our device is assigned an IP address by our ISP.
However, given the complexity of remembering numerical combinations, we have domain names like google.com, facebook.com, and the like. Essentially, when we type a domain such as google.com in our browser, the browser sends a request to DNS Server to determine the IP Address associated with the domain we're aiming for—in this case, google.com. Subsequently, the request is forwarded to the relevant IP address. The process of translating a domain into an IP address is orchestrated by a protocol called DNS (Domain Name System).
Common Protocols Involved in the Internet
- TCP: The Transmission Control Protocol (TCP) is a transport layer protocol that governs how computer programs and devices can exchange data and information. TCP ensures the orderly and error-checked delivery of data, playing a crucial role in vital internet functions such as the World Wide Web, email, and file transfer. Being a transport layer protocol, TCP serves as a foundation for other high-level protocols that utilize it to transmit data, including HTTP, FTP, SSH, and SMTP.
- HTTP/HTTPS: It is an application layer protocol that serves as the cornerstone of the World Wide Web, forming the fundamental framework for the internet experience that most users engage with. The basic concept of how HTTP operates involves the client sending a request to the server, which then responds with a corresponding message. An HTTP Request is composed of an HTTP method, HTTP headers, and an HTTP body. Similarly, an HTTP Response includes elements like HTTP Status codes, Response Headers, and an HTTP body. To bolster security, HTTPS emerges as a fortified version of HTTP, employing the SSL/TLS protocol to ensure a secure connection between the client and server.
- DNS: The Domain Name System (DNS) functions as the internet's equivalent of a phonebook, converting domain names into IP addresses. This seamless translation enables web browsers to access internet resources with ease.
- UDP: The User Datagram Protocol (UDP) is a transport layer protocol designed for time-sensitive applications such as gaming or video streaming. It prioritizes swift data delivery, making it ideal for situations where speed is crucial. However, unlike TCP, UDP sacrifices some reliability for speed, making it less suitable for applications where data integrity is paramount.
Conclusion
In conclusion, the intricate world of the internet unveils a realm where devices, protocols, and networks collaborate seamlessly to deliver the digital experiences we enjoy daily. From the binary underpinnings of data transmission to the sophisticated dance of client-server interactions, the internet's invisible pathways have become the backbone of modern society. As we navigate the virtual landscape, understanding the fundamental concepts behind IP addresses, domain names, and the protocols that govern them empowers us to appreciate the astonishing complexity that underlies our seemingly effortless online interactions. The internet's evolution continues to shape the course of human communication, information sharing, and innovation, fostering a future where the marvels of connectivity are limited only by the bounds of imagination.