1 00:00:10,190 --> 00:00:13,940 Hi! My name is Paola,and I am a software engineer at Microsoft. 2 00:00:13,940 --> 00:00:20,130 Let's talk about how the internet works. My job relies on networks being able 3 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. 4 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. 5 00:00:32,668 --> 00:00:38,559 This invention laid the groundwork for what we now call the internet. 6 00:00:38,559 --> 00:00:44,469 The internet is a network of networks. It links billions of devices together all 7 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 8 00:00:51,230 --> 00:00:56,999 that wifi connection connects to an internet service provider (or ISP), and that ISP connects 9 00:00:56,999 --> 00:01:01,600 you to billions and billions of devices around the world through hundreds of thousands of 10 00:01:01,600 --> 00:01:03,270 networks that are all interconnected. 11 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. 12 00:01:15,640 --> 00:01:20,300 A protocol is a well known set of rules and standards, that if all parties 13 00:01:20,300 --> 00:01:26,300 agree to use it will allow them to communicate without trouble. 14 00:01:26,300 --> 00:01:31,910 How the internet actually physically works is less important than the fact that this design philosophy 15 00:01:31,910 --> 00:01:37,710 has allowed the internet to adapt and absorb new communication technologies. 16 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. 17 00:01:42,610 --> 00:01:49,140 All the different devices on the internet have unique addresses. 18 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, 19 00:01:54,350 --> 00:02:00,170 that's unique to each computer or device at the edge of the network. 20 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 21 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 22 00:02:09,110 --> 00:02:14,190 the address properly so the letter can be carried by a mail system to its destination. 23 00:02:14,190 --> 00:02:19,870 The addressing system for computers on the internet is similar and it forms part of one 24 00:02:19,870 --> 00:02:25,340 of the most important protocols used in internet communication simply called the internet protocol or IP. 25 00:02:25,340 --> 00:02:31,890 A computer's address then is called its IP address. Visiting a website is really 26 00:02:31,900 --> 00:02:36,620 just your computer asking another computer for information. Your computer sends a message 27 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 28 00:02:41,280 --> 00:02:48,450 other computer knows where to send its response. 29 00:02:46,280 --> 00:02:49,450 You may have seen an IP address.It's just a bunch of numbers! 30 00:02:49,450 --> 00:02:50,910 These numbers are organized in a hierarchy. 31 00:02:54,910 --> 00:03:02,270 Just like a home address has a country, a city, a street, and a house number, 32 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. 33 00:03:09,520 --> 00:03:14,470 Traditional IP addresses are 32 bits long, with 8 bits for each part of the address. 34 00:03:15,520 --> 00:03:18,470 The earlier numbers usually identify the country and regional network of the device. 35 00:03:18,970 --> 00:03:22,470 Then come the subnetworks, and then finally the address of the specific device. 36 00:03:22,470 --> 00:03:30,470 This version of IP addressing is called IPv4. 37 00:03:30,470 --> 00:03:34,050 It was designed in 1973 and was widely adopted in the early 80s, 38 00:03:30,470 --> 00:03:38,050 and provides for more than 4 billion unique addresses for devices connecting to the internet. 39 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. 40 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 41 00:03:53,260 --> 00:04:03,660 called IPv6, which uses 128 bits per address and provides over 340 undecillion unique addresses. 42 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. 43 00:04:08,780 --> 00:04:15,739 Most users never see or care about internet addresses. 44 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. 45 00:04:23,410 --> 00:04:29,160 Your computer uses the DNS to look up domain names and get the associated IP 46 00:04:29,160 --> 00:04:33,290 address which is used to connect your computer to the destination on the internet. 47 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." 48 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?" 49 00:04:49,900 --> 00:04:59,100 (voice 3) "Yeah, I got it right here it's 174.129.14.120." 50 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. 51 00:05:04,500 --> 00:05:14,040 Hey here's that address you wanted." (voice 1) "Awesome! Thank you." 52 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? 53 00:05:20,120 --> 00:05:27,889 There is no way one DNS server can handle all the requests from all devices. 54 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, 55 00:05:33,000 --> 00:05:40,699 splitting up responsibility for the major domains such as .org, .com, .net, etc. 56 00:05:40,699 --> 00:05:48,030 DNS was originally created to be an open and public communication protocol for government 57 00:05:48,030 --> 00:05:55,370 and educational institutions. Because of its openness, DNS is susceptible to cyber attacks. 58 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 59 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. 60 00:06:09,479 --> 00:06:15,740 If this happens to you, you are vulnerable for more problems 61 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. 62 00:06:23,870 --> 00:06:30,790 But the domain name system and internet protocol are designed to scale, 63 00:06:30,790 --> 00:06:35,210 no matter how much the internet grows.