1 00:00:00,420 --> 00:00:06,750 ‫The often used analogy to explain the domain name system is that it serves as the phonebook for the 2 00:00:06,750 --> 00:00:11,580 ‫internet by translating human friendly computer host names into IP addresses. 3 00:00:12,550 --> 00:00:18,610 ‫Simply, DNS is a directory of names that match with IP addresses. 4 00:00:19,610 --> 00:00:25,520 ‫As you may know, each device connected to the internet has a unique IP address, which other machines 5 00:00:25,520 --> 00:00:26,930 ‫use to find the device. 6 00:00:28,210 --> 00:00:34,930 ‫DNS servers eliminate the need for humans to memorize IP addresses, such as two one two eight eight 7 00:00:34,930 --> 00:00:37,420 ‫zero seven five one three four. 8 00:00:38,320 --> 00:00:40,060 ‫Think about the websites you visit every day. 9 00:00:40,270 --> 00:00:46,630 ‫Google and YouTube, Facebook, Twitter, etc. Without DNS, we would have to reach these sites by using 10 00:00:46,630 --> 00:00:48,720 ‫their IP addresses instead of their names. 11 00:00:49,610 --> 00:00:57,080 ‫I think remembering the names is so much easier than remembering the strange numbers, but it's still 12 00:00:57,110 --> 00:01:01,370 ‫possible to reach the computer with that strange number string as well. 13 00:01:03,090 --> 00:01:07,830 ‫Now, DNS deserves to have far more time spent on it. 14 00:01:08,160 --> 00:01:10,740 ‫It could be a whole course in and of itself. 15 00:01:11,040 --> 00:01:13,550 ‫But I just want to explain it simply without going to the. 16 00:01:14,560 --> 00:01:20,350 ‫So when you enter the URL, such as dub, dub, dub, dub, google.com, enter the web browser. 17 00:01:20,380 --> 00:01:23,950 ‫The request is not directly sent to the Google servers. 18 00:01:24,860 --> 00:01:31,010 ‫Instead, the request goes through the DNS server that uses a lookup table to determine the IP address 19 00:01:31,010 --> 00:01:32,720 ‫of the website that is being requested. 20 00:01:33,600 --> 00:01:40,020 ‫Then it forwards this information to the proper servers and returns, the information requested to your 21 00:01:40,050 --> 00:01:41,130 ‫specific browser. 22 00:01:42,490 --> 00:01:49,150 ‫DNS server is a computer server, which contains a database of public IP addresses and their associated 23 00:01:49,150 --> 00:01:54,370 ‫host names, it translates those common names to IP addresses as requested. 24 00:01:55,380 --> 00:02:01,740 ‫DNS servers run special software and communicate with each other using special protocols. 25 00:02:03,050 --> 00:02:07,010 ‫DNS is a client, server, network communication system. 26 00:02:08,330 --> 00:02:14,480 ‫DNS clients send their requests to and receive the responses from DNS servers. 27 00:02:15,540 --> 00:02:21,390 ‫The request containing the name and resulting in an IP address being returned from the server are called 28 00:02:21,660 --> 00:02:23,790 ‫forward DNS lookups. 29 00:02:25,180 --> 00:02:32,770 ‫The request containing IP addresses and resulting in the names are called the reverse DNS lookups. 30 00:02:33,820 --> 00:02:40,030 ‫The DNS directory that matches name two number isn't located all in one place. 31 00:02:41,810 --> 00:02:47,150 ‫Pretty much like the internet itself, the directory is distributed around the world, stored on domain 32 00:02:47,150 --> 00:02:54,740 ‫name servers that all communicate with each other on a very regular basis to provide updates as well 33 00:02:54,740 --> 00:02:55,760 ‫as redundancies. 34 00:02:56,710 --> 00:03:05,590 ‫There's more than 332 million domain names listed by the end of 2017, a single directory would be very 35 00:03:05,590 --> 00:03:06,310 ‫large indeed. 36 00:03:08,300 --> 00:03:14,090 ‫So when you type mailed out Google.com into your browser, your browser sends a query over the internet 37 00:03:14,090 --> 00:03:15,110 ‫to find the web site. 38 00:03:15,920 --> 00:03:20,330 ‫It's a query seeking to match the domain name with its corresponding IP address. 39 00:03:21,660 --> 00:03:25,380 ‫So let's follow the path of this question over the internet infrastructure. 40 00:03:27,250 --> 00:03:35,440 ‫The first server your query interacts with is the DNS Resolver, which can be operated by your ISP internet 41 00:03:35,440 --> 00:03:42,700 ‫service provider, a resolver is basically responsible for initiating and sequencing the queries that 42 00:03:42,700 --> 00:03:45,430 ‫ultimately lead to a full resolution. 43 00:03:46,900 --> 00:03:52,660 ‫Domain name resolvers determined the domain name servers responsible for the domain name in question 44 00:03:53,110 --> 00:03:56,210 ‫by a sequence of queries starting with the right most. 45 00:03:56,230 --> 00:03:58,420 ‫In other words, top level domain label. 46 00:04:00,000 --> 00:04:06,480 ‫Assuming the resolver has no cached records to accelerate the process, which is the worst case scenario, 47 00:04:07,350 --> 00:04:11,670 ‫the resolution process starts with a query to one of the root servers. 48 00:04:12,850 --> 00:04:19,450 ‫The root servers are running all over the world, and each one knows DNS information about top level 49 00:04:19,450 --> 00:04:22,690 ‫domains or TLD, such as dot com. 50 00:04:24,290 --> 00:04:30,620 ‫So to begin answering your query, the resolver asks a root server for DNS information about About.com. 51 00:04:32,210 --> 00:04:37,070 ‫So there are 13 sets of root servers in more than 300 locations around the world. 52 00:04:38,720 --> 00:04:45,830 ‫Each tailed DNS name, server stores, the address information for second level domains within the top 53 00:04:45,830 --> 00:04:46,580 ‫level domain. 54 00:04:46,830 --> 00:04:47,460 ‫Dot com. 55 00:04:47,480 --> 00:04:48,170 ‫In our example. 56 00:04:49,140 --> 00:04:55,770 ‫The second level domain is Google.com when your query reaches the TLD server. 57 00:04:56,190 --> 00:05:03,150 ‫The TLD server answers with the IP address of the domain name server, which will provide the next piece 58 00:05:03,150 --> 00:05:03,720 ‫of the puzzle. 59 00:05:04,930 --> 00:05:08,350 ‫So this is the final step of address resolution. 60 00:05:09,500 --> 00:05:13,760 ‫The recursive resolver sends the query to the domains named server. 61 00:05:14,610 --> 00:05:22,890 ‫This DNS server knows the IP address for the full domain mail that google.com and that answer is returned 62 00:05:23,010 --> 00:05:24,990 ‫to the recursive resolver. 63 00:05:26,350 --> 00:05:32,020 ‫Now that the recursive resolver knows the IP address for the domain name and your query, the recursive 64 00:05:32,020 --> 00:05:35,590 ‫resolver tells the browser what the IP address is. 65 00:05:36,880 --> 00:05:44,500 ‫So finally, your browser can send a request to the Web site to retrieve the website's content using 66 00:05:44,500 --> 00:05:46,120 ‫the IP address it just learned. 67 00:05:46,990 --> 00:05:54,280 ‫This whole process might seem, well, complicated, it certainly sounds it to talk it up, but really 68 00:05:54,280 --> 00:05:55,570 ‫takes very little time at all.