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