Hi! My name is Paola,and I am a software engineer at Microsoft. Let’s talk about how the internet works. My job relies on networks being able to talk with one another, but back in the 1970s there was no standard method for this. It took the work of Vint Cerf and Bob Kahn to invent the internetworking protocol, to make communication possible. This invention laid the groundwork for what we now call the internet. The internet is a network of networks. It links billions of devices together all around the globe. So maybe you’re connected with a laptop or a phone through wifi, then that wifi connection connects to an internet service provider (or ISP), and that ISP connects you to billions and billions of devices around the world through hundreds of thousands of networks that are all interconnected. One thing that most people do not appreciate is that the internet is really
a design philosophy and an architecture expressed in a set of protocols. A protocol is a well known set of rules and standards, that if all parties agree to use it will allow them to communicate without trouble. How the internet actually physically works is less important than the fact that this design philosophy has allowed the internet to adapt and absorb new communication technologies. This is because in order for a new technology to use the internet in some fashion, it just needs to know which protocols to work with. All the different devices on the internet have unique addresses. An address on the internet is just a number, similar to a phone number or a sort of street address, that’s unique to each computer or device at the edge of the network. This is similar to how most homes and businesses have a mailing address. You don’t need to know a person to send them a letter in the mail, but you do need to know their address and how to write the address properly so the letter can be carried by a mail system to its destination. The addressing system for computers on the internet is similar and it forms part of one of the most important protocols used in internet communication simply called the internet protocol or IP. A computer’s address then is called its IP address. Visiting a website is really just your computer asking another computer for information. Your computer sends a message to the other computer’s IP address and it also sends along its origin address, so the other computer knows where to send its response. You may have seen an IP address.It’s just a bunch of numbers! These numbers are organized in a hierarchy. Just like a home address has a country, a city, a street, and a house number, an IP address has many parts. Just like all digital data, each of these numbers is represented in bits. Traditional IP addresses are 32 bits long, with 8 bits for each part of the address. The earlier numbers usually identify the country and regional network of the device. Then come the subnetworks, and then finally the address of the specific device. This version of IP addressing is called IPv4. It was designed in 1973 and was widely adopted in the early 80s, and provides for more than 4 billion unique addresses for devices connecting to the internet. But the internet has turned out to be much more popular than even Vint
Cerf imagined and 4 billion unique addresses won’t be enough. We’re now in the middle of a multi-year transition to a longer IP address format called IPv6, which uses 128 bits per address and provides over 340 undecillion unique addresses. That’s more than enough for every grain of sand on Earth to have its own IP address. Most users never see or care about internet addresses. A system called the domain name system or DNS associates names like www.example.com with the corresponding addresses. Your computer uses the DNS to look up domain names and get the associated IP address which is used to connect your computer to the destination on the internet. And it goes a little something like this: (voice1) “Hey, hi there, I want to go to www.code.org.” (voice 2) “Mm.. yeah I don’t know the IP address for that domain let me ask around.
Hey, do you know how to get to code.org?” (voice 3) “Yeah, I got it right here it’s 220.127.116.11.” (voice 2) “Oh okay, great, thanks. I’m gonna write that down and save it for later in case I need it again. Hey here’s that address you wanted.” (voice 1) “Awesome! Thank you.” So how do we design a system for billions of devices to find any one of billions of different websites? There is no way one DNS server can handle all the requests from all devices. The answer is that DNS servers are connected in a distributed hierarchy, and are divided into zones, splitting up responsibility for the major domains such as .org, .com, .net, etc. DNS was originally created to be an open and public communication protocol for government and educational institutions. Because of its openness, DNS is susceptible to cyber attacks. An example attack is DNS spoofing. That’s when a hacker taps into a DNS server and changes it to match a domain name with the wrong IP address. This lets the attacker send people to an imposter website. If this happens to you, you are vulnerable for more problems because you are using that fake website as if it’s real. The internet is huge and getting bigger everyday. But the domain name system and internet protocol are designed to scale, no matter how much the internet grows.