The co-founder of the Internet Vint Cerf and software engineer Paola Mejia take us through the ins and outs of how networks talk to each other.
(upbeat piano and drum music) - 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. Maybe you're connected with a laptop or a phone through wifi. But 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 the 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 eight 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 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. - [Voiceover] And it goes a little something like this. - Hey, hi there. I want to go to www.code.org - Yeah, well I don't know the IP address for that domain. Let me ask around. Hey, anyone know how to get to a... code.org? - Yeah, I got it right here. It's 174 dot 129 dot 14 dot 120. - Oh, okay, great. Thanks. Yeah, I'm gonna write that down and save it for later in case I need it. Hey, here's that address you wanted. - Awesome. Thank you. (piano flourish) - 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 of 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, et cetera. 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 one imposter website. If this happens to you, you are vulnerable for more problems because you are using that fake website as if it is real. The internet is huge, and getting bigger every day. But the Domain Name System and Internet Protocol are designed to scale, no matter how much the internet grows.