WEBVTT 00:00:10.190 --> 00:00:13.940 Hi! My name is Paola,and I am a software engineer at Microsoft. 00:00:13.940 --> 00:00:20.130 Let's talk about how the internet works. My job relies on networks being able 00:00:20.130 --> 00:00:26.489 to talk with one another, but back in the 1970s there was no standard method for this. 00:00:26.489 --> 00:00:32.668 It took the work of Vint Cerf and Bob Kahn to invent the internetworking protocol, to make communication possible. 00:00:32.668 --> 00:00:38.559 This invention laid the groundwork for what we now call the internet. 00:00:38.559 --> 00:00:44.469 The internet is a network of networks. It links billions of devices together all 00:00:44.469 --> 00:00:51.230 around the globe. So maybe you're connected with a laptop or a phone through wifi, then 00:00:51.230 --> 00:00:56.999 that wifi connection connects to an internet service provider (or ISP), and that ISP connects 00:00:56.999 --> 00:01:01.600 you to billions and billions of devices around the world through hundreds of thousands of 00:01:01.600 --> 00:01:03.270 networks that are all interconnected. 00:01:05.600 --> 00:01:15.670 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. 00:01:15.640 --> 00:01:20.300 A protocol is a well known set of rules and standards, that if all parties 00:01:20.300 --> 00:01:26.300 agree to use it will allow them to communicate without trouble. 00:01:26.300 --> 00:01:31.910 How the internet actually physically works is less important than the fact that this design philosophy 00:01:31.910 --> 00:01:37.710 has allowed the internet to adapt and absorb new communication technologies. 00:01:37.710 --> 00:01:42.610 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. 00:01:42.610 --> 00:01:49.140 All the different devices on the internet have unique addresses. 00:01:49.140 --> 00:01:54.350 An address on the internet is just a number, similar to a phone number or a sort of street address, 00:01:54.350 --> 00:02:00.170 that's unique to each computer or device at the edge of the network. 00:02:00.170 --> 00:02:04.690 This is similar to how most homes and businesses have a mailing address. You don't need to know a person to 00:02:04.690 --> 00:02:09.110 send them a letter in the mail, but you do need to know their address and how to write 00:02:09.110 --> 00:02:14.190 the address properly so the letter can be carried by a mail system to its destination. 00:02:14.190 --> 00:02:19.870 The addressing system for computers on the internet is similar and it forms part of one 00:02:19.870 --> 00:02:25.340 of the most important protocols used in internet communication simply called the internet protocol or IP. 00:02:25.340 --> 00:02:31.890 A computer's address then is called its IP address. Visiting a website is really 00:02:31.900 --> 00:02:36.620 just your computer asking another computer for information. Your computer sends a message 00:02:36.620 --> 00:02:41.280 to the other computer's IP address and it also sends along its origin address, so the 00:02:41.280 --> 00:02:48.450 other computer knows where to send its response. 00:02:46.280 --> 00:02:49.450 You may have seen an IP address.It's just a bunch of numbers! 00:02:49.450 --> 00:02:50.910 These numbers are organized in a hierarchy. 00:02:54.910 --> 00:03:02.270 Just like a home address has a country, a city, a street, and a house number, 00:03:02.270 --> 00:03:09.520 an IP address has many parts. Just like all digital data, each of these numbers is represented in bits. 00:03:09.520 --> 00:03:14.470 Traditional IP addresses are 32 bits long, with 8 bits for each part of the address. 00:03:15.520 --> 00:03:18.470 The earlier numbers usually identify the country and regional network of the device. 00:03:18.970 --> 00:03:22.470 Then come the subnetworks, and then finally the address of the specific device. 00:03:22.470 --> 00:03:30.470 This version of IP addressing is called IPv4. 00:03:30.470 --> 00:03:34.050 It was designed in 1973 and was widely adopted in the early 80s, 00:03:30.470 --> 00:03:38.050 and provides for more than 4 billion unique addresses for devices connecting to the internet. 00:03:40.420 --> 00:03:47.340 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. 00:03:47.340 --> 00:03:53.260 We're now in the middle of a multi-year transition to a longer IP address format 00:03:53.260 --> 00:04:03.660 called IPv6, which uses 128 bits per address and provides over 340 undecillion unique addresses. 00:04:03.660 --> 00:04:08.780 That's more than enough for every grain of sand on Earth to have its own IP address. 00:04:08.780 --> 00:04:15.739 Most users never see or care about internet addresses. 00:04:15.739 --> 00:04:23.410 A system called the domain name system or DNS associates names like www.example.com with the corresponding addresses. 00:04:23.410 --> 00:04:29.160 Your computer uses the DNS to look up domain names and get the associated IP 00:04:29.160 --> 00:04:33.290 address which is used to connect your computer to the destination on the internet. 00:04:33.290 --> 00:04:38.050 And it goes a little something like this: (voice1) "Hey, hi there, I want to go to www.code.org." 00:04:38.050 --> 00:04:49.900 (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?" 00:04:49.900 --> 00:04:59.100 (voice 3) "Yeah, I got it right here it's 174.129.14.120." 00:04:59.100 --> 00:05:04.500 (voice 2) "Oh okay, great, thanks. I'm gonna write that down and save it for later in case I need it again. 00:05:04.500 --> 00:05:14.040 Hey here's that address you wanted." (voice 1) "Awesome! Thank you." 00:05:14.040 --> 00:05:20.120 So how do we design a system for billions of devices to find any one of billions of different websites? 00:05:20.120 --> 00:05:27.889 There is no way one DNS server can handle all the requests from all devices. 00:05:27.889 --> 00:05:33.000 The answer is that DNS servers are connected in a distributed hierarchy, and are divided into zones, 00:05:33.000 --> 00:05:40.699 splitting up responsibility for the major domains such as .org, .com, .net, etc. 00:05:40.699 --> 00:05:48.030 DNS was originally created to be an open and public communication protocol for government 00:05:48.030 --> 00:05:55.370 and educational institutions. Because of its openness, DNS is susceptible to cyber attacks. 00:05:55.370 --> 00:06:02.540 An example attack is DNS spoofing. That's when a hacker taps into a DNS server and changes 00:06:02.540 --> 00:06:09.479 it to match a domain name with the wrong IP address. This lets the attacker send people to an imposter website. 00:06:09.479 --> 00:06:15.740 If this happens to you, you are vulnerable for more problems 00:06:15.740 --> 00:06:23.870 because you are using that fake website as if it's real. The internet is huge and getting bigger everyday. 00:06:23.870 --> 00:06:30.790 But the domain name system and internet protocol are designed to scale, 00:06:30.790 --> 00:06:35.210 no matter how much the internet grows.