All you need to know about the Internet! (Part -1)
Unraveling the Mysteries of the Internet: A Beginner's Guide
How did it start?
The Internet started in the 1960s as a way for government researchers to share information. Computers in the '60s were large and immobile. To make use of information stored in any one computer, one had to either travel to the site of the computer or have magnetic computer tapes sent through the conventional postal system.
Another catalyst in the formation of the Internet was the heating up of the Cold War. The Soviet Union's launch of the Sputnik satellite spurred the U.S. Defence Department to consider ways information could still be disseminated even after a nuclear attack. This eventually led to the formation of the ARPANET (Advanced Research Projects Agency Network), the network that ultimately evolved into what we now know as the Internet. ARPANET was a great success but membership was limited to certain academic and research organizations that had contracts with the Defence Department.
January 1, 1983, is considered the official birthday of the Internet. Before this, the various computer networks did not have a standard way to communicate with each other. A new communications protocol was established called Transfer Control Protocol/Internetwork Protocol (TCP/IP). This allowed different kinds of computers on various networks to "talk" to each other. ARPANET and the Defence Data Network officially changed to the TCP/IP standard on January 1, 1983, hence the birth of the Internet.
Where the Web was born
Tim Berners-Lee, a British scientist, invented the World Wide Web (WWW) in 1989 while working at CERN. The Web was originally conceived and developed to meet the demand for automated information-sharing between scientists in universities and institutes around the world.
The basic idea of the WWW was to merge the evolving technologies of computers, data networks and hypertext into a powerful and easy-to-use global information system.
π Wanna see the world's first-ever website? π Click here!
How in the world the computers on the internet communicate with each other?
Well, I don't know about you but when I was a kid I used to think that the Internet is somewhere in the sky, between the clouds. Sounds funny, right?
Sending a message or an email takes just a few seconds. With a click of a button, it is possible to connect with any website. Even though the internet functionality looks so simple, it is actually quite complicated. The world is connected with the help of approximately 750,000 miles of submarine cables. In total, there are around 380 underwater cables in the world. Therefore, even though it looks like the internet is on the cloud, it is buried deep inside the ocean. Submarine cable plays a critical role in the flow of network data globally.
All the computers of the world on the Internet network communicate with each other with underground or underwater cables. Today, there are around 380 underwater cables in operation around the world, spanning a length of over 1.2 million kilometres (745,645 miles).
Underwater cables are the invisible force driving the modern internet, with many in recent years being funded by internet giants such as Facebook, Google, Microsoft and Amazon. They carry almost all our communications and yet β in a world of wireless networking and smartphones β we are barely aware that they exist.
Yet as the internet has become more mobile and wireless, the amount of data travelling across undersea cables has increased exponentially.
Did you know that in 2012, Hurricane Sandy slammed into the US East Coast, causing an estimated $71 billion in damage and knocking out several key exchanges where undersea cables linked North America and Europe.
π Wanna see the Submarine cable map? π Click here!
If you wanna know more then you can watch the Glad You Asked S1 video presented by Vox.
Well, right now I think you're getting really interested in all this cool stuff. Am I right?
Now Let's dive deep to know how exactly things are working behind.
Breakdown of a home network?
Well, let's assume for the sake of discussion that it's a home network. So over here are, some number of devices that actually get you on the internet. But what are those devices? Well, odds are, inside of your home, for instance, you have a device that might be called a cable modem, or a DSL modem, or a FiOS device these days, and that device is something you generally pay some number of dollars per month for because you're paying for an ISP, an internet service provider. So that device is somehow connected to the internet, which for now our purposes right now we'll just assume is a cloud, and that there is the internet but you actually know how we got internet across the oceans, right?
And that device comes from an internet service provider like Verizon, Comcast, or any number of other providers, and somehow they themselves are on the internet. But how do we now get the rest of our home on the internet if all we have is just this one device? Well depending on how this device functions, it might just be all that you need. And wirelessly, somehow now, your phone and your laptop, and all of your other devices just work. Or, maybe you need a second device, that we might call a home router, that is somehow connected to that cable modem, or FiOS device, or the like, that in turn makes network connectivity possible in your own home. And maybe this little home router does a little bit more, and maybe it's got a couple of antennas that actually provide the Wi-Fi service. Meanwhile, maybe it also has some jacks or some physical ports in back into it you can plug cables so that if you have a wired device like a DVR, or an Xbox, or something else that's not necessarily wireless, you have someplace to plug those devices into as well.
What is actually going on underneath the hood, so to speak, and how is it that bits, zeros and ones, can transmit themselves from my house to everywhere else in the world and back. Well, let's take a closer look. Every computer on the internet, it turns out, has something called an IP address, or an internet protocol address, which really is just a numerical value with a couple of decimals.
How data is transferred? IP Address
Now as you knew that all the computers of the world on the Internet network communicate with each other with underground or underwater cables or wirelessly. If I want to download a file from the internet or load a web page or literally do anything related to the internet, my computer must have an address so that other computers can find and locate mine in order to deliver that particular file or webpage that I am requesting. In technical terms, that address is called an IP Address or Internet Protocol Address.
An IP address is a unique address that is used to identify computers or nodes on the internet. It is generally expressed in a set of numbers for example 192.155.12.1.
Here each number in the set is from the 0 to 255 range. Or we can say that a full IP address ranges from 0.0.0.0 to 255.255.255.255.
And these IP addresses are assigned by IANA(known as Internet Corporation For Internet Assigned Numbers Authority)
Working of IP addresses:
Your device directly requests your Internet Service Provider which then grants your device access to the web.
And an IP Address is assigned to your device from the given range available.
Your internet activity goes through your service provider, and they route it back to you, using your IP address.
Your IP address can change. For example, turning your router on or off can change your IP Address.
When you are out of your home location your home IP address doesnβt accompany you. It changes as you change the network of your device.
Now it turns out there are other types of IP addresses today that are actually much bigger than this, but more on that in a bit. So these IP addresses, much like our postal addresses, uniquely identify computers on the internet. So if you have a laptop, if you have a desktop, if you have a mobile phone, if you have an Xbox on the internet, that device, by definition of how the internet works, has an IP address. It has a unique address that allows other computers on the internet to talk to it, much like you might live at 123 Main Street in any ABC City, in India. These very specific phrases describe uniquely some building in the world, much like these numbers just find uniquely some computer in the world. But where do these numbers come from?
If I open up my laptop, turn on my desktop, or take out my phone, how does any of those devices know what IP address to use? I don't remember ever having typed in a value like that into my phone, so it's got to be coming from somewhere else. But where?
Well, this is one of the things you get from your Internet Service Provider or ISP. You get an IP address.
There's actually something called DHCP, Dynamic Host Configuration Protocol, which is software that ISPs, Internet Service Providers, run and really provide to you that allowed your Mac, or your PC, or your iPhone, or Android device to say upon turning on, hello world, I need a unique address. And that DHCP server responds to those open-ended questions with a specific IP address that the internet service provider controls and has allocated specifically for your home.
DHCP Servers
A DHCP server is a network server that automatically provides and assigns IP addresses, default gateways and other network parameters to client devices. It relies on the standard protocol known as Dynamic Host Configuration Protocol or DHCP to respond to the broadcast queries by the client.
Don't get bored it's getting interesting from this point!
When I type an address into a browser, it's not numeric the last time I checked. Indeed the last time I typed something into a browser was not something X.X.X.X, it was like Facebook.com, Twitter.com, Gmail.com or any number of other domain names. Because indeed, recall that most websites certainly these days that you'd visit have a domain name. It's something.com, or something.edu, or something dot any number of other Top Level Domains or TLDs. So we humans are much better at remembering, I would think words, and/or phrases like dot com and dot edu, then we are arbitrary numeric addresses, like 1.2.3.4, or 5.6.7.8, or completely arbitrary numbers that aren't even so simple to remember as those.
So how is it that when I type in Facebook.com or Google.com, my computer knows how to find that computer in the world, if in the world there are computers with just these IP addresses? Well, it turns out that computers not only have IP addresses that they get from DHCP servers, but they also have what are called DNS servers. And indeed, DHCP provides us with access to exactly that as well. So in addition to having a DHCP server somewhere out there in the world from your ISP or maybe even your home, you also have DNS servers. And DNS servers or Domain Name System servers, and their sole purpose in life really is to convert domain names like Facebook.com and Gmail.com to corresponding IP addresses.
DNS servers
All computers on the internet communicate with one another using numbers. These numbers are known as IP addresses. When you open a web browser and go to a website, you don't have to remember and enter a long number.
Instead, you can enter a domain name like facebook.com, or Amazon.com, and still end up in the right place. That's all is only possible with the help of a DNS server.
It stands for Domain Name System.
The DNS provides a mapping between human-readable names (like amazon.com) and their associate IP address (like 205.251.242.103).
DNS can be best compared to a phone book where you look up the phone numbers listed by easier-to-remember names.
DNS comes under the Application layer Protocol. we'll be understanding this layer in the OSI model.
Now here comes the part which will give you a crystal clear idea of communication between computers and devices on the internet.
Packets
The way computers communicate on the internet is by sending packets to one another.
By definition, a network package is a basic unit of data that is grouped together and transferred over a computer network, typically a packet-switch network such as the Internet.
Each packet or chunk of data forms a part of a complete message and carrier pertinent address information that helps identify the sending computer and intended recipient of the message. A network packet has three parts: the packet header, payload, and trailer.
Conceptually a network packet is like a postal package. In this scenario, the header is the box or envelope, the payload is the content and the trailer is the signature. The header contains data related to data in the packet.
A network packet works by choosing the best route available to its destination. This is the route taken by all the other packets within a message, making the network traffic more efficient in terms of balancing the load across various pieces of equipment during message transmission. The packets are redirected through the routers, to ensure that the entire message gets to its destination.
Generally, most networks today operate on TCP/IP stack, which makes it possible for devices connected to the internet to communicate with one another across different networks.
while it's possible to transfer data without using packets, it would be highly impractical to send the data without first slicing it into smaller chunks.
The following are some benefits of using packets:
Different paths can be used to route packets to their destination. The process is known as packet switching.
If an error occurs, the packet can be stored and retransmitted later.
Packets use the best route available for delivery.
To ensure secure delivery, packets can be encrypted.
TCP/IP
TCP/IP stands for Transmission control protocol/Internet Protocol. It is a set of conventions or rules and methods that are used to interconnect network devices on the internet.
It chooses how the information will be traded over the web through end-to-end communication that incorporates how the information ought to be organized into bundles (bundles of data), addressed, sent, and received at the goal.
TCP/IP layers (top to bottom):
Applications of TCP/IP:
Simple Mail Transfer Protocol(SMTP): It helps to send emails to another email address.
File Transfer Protocol(FTP): It is used for sending large files.
Dynamic Host Configure Protocol(DHCP): It assigns the IP address.
Telnet: Bi-directional text communication via a terminal application.
HyperText Transfer Protocol(HTTP): Used to transfer web pages.
Domain Name System(DNS): It translates the website name to IP addresses.
Simple Network Time Protocol(SNTP): It provides the time of a day to the network devices.
"TCP guarantees the delivery of the packets, as it knows how to respond to packets as needed."
Ports
A port in networking is a software-defined number associated with a network protocol that receives or transmits a communication for a specific service.
OR
A port is a number assigned to uniquely identify a connection endpoint and to direct data to a specific service.
ex- X.X.X.X:80
port 80, port 443, port 25 etc.
port 80 is the port number assigned to the commonly used protocol communication protocol, Hypertext transfer protocol (HTTP). It is the default network port used to send and receive unencrypted web pages.
Today, most websites use HTTPS, a more secure version of the HTTP protocol that uses port 443. Port 443 allows data transmission over an encrypted network.
Some well-known port numbers | Internet Protocol |
80 | HTTP |
443 | HTTPs |
21 | File Transfer Protocol (FTP) |
25 | Simple Mail Transfer Protocol (SMTP) |
53 | DNS |
Protocols
A network protocol is an accepted set of rules that govern data communication between different devices in the network.
The Protocols can be classified into three major categories:
Communication Protocols: it contains protocols like HTTP, TCP, UDP, IP, and DHCP.
Management Protocols: protocols like SNMP, FTP, and Telnet comes under management protocols.
Security Protocols: it contains SSL, HTTPS, and TLS.
UDP protocol
UDP stands for User Diagram Protocol (UDP)
UDP is a transport layer protocol. it is part of the Internet Protocol suite, referred to as the UDP/IP suite.
Unlike TCP, it is an unreliable and connectionless protocol.so, there is no need to establish a connection prior to data transfer.
The UDP helps to establish low-latency and loss-tolerating connections establish over the network.
The biggest difference between UDP and TCP is that UDP does not guarantee delivery so long as the internet is actually up and running between you and some endpoint, while on the other hand, TCP guarantees the delivery of the packets, as it knows how to respond to packets as needed.
So why would you ever want to send a request, and maybe or maybe not get a response? or in other words what is the need for such protocol?
Well, sometimes this is useful. like if you're watching AppleTV, Netflix, or iTunes or something, those do tend to buffer because you don't want to miss a few seconds of or a minute of a movie or some climatic ending. But in real-time when talking to another human, it's not really ideal to just delay the conversation while someone else is there on the other end of the line. And because there are so many packets going back and forth for things like video conferencing, you know what if you drop a few, literally, like if some of those packets got missing it doesn't bother us, we understand the meaning which makes sense and we'll forge ahead.
Normally UDP is used for real-time applications which cannot tolerate uneven delays between sections of a received message.
Now I hope that's Okay for the first part, if you need part - 2 soon then I guess you'll have to wait for a while or for the next blog (maybe).
Share your views by commenting down below, I'll be happy to read all of em' β¨
So see ya! we'll meet in the next blog with another exciting topic and theme that you will definitely like.