00:01
大家好,欢迎大家继续收看上硅谷的Linux云计算视频,我是刘川老师。那么我们本节课呢,来给大家讲一个网络服务当中和DNS服务相关的一个面试题目,OK,首先我们来看一下我们的题目。对应的题目呢,是要求我们描述出用户访问网站时这个DNS一个解析过程,OK。那么来分析一下,对应这个题目。首先呢,这个题目它属于我们这个题目当中纯概念类的,那其次呢,它考察这么两个知识点,第一个就是和域名相关的信息,大家都知道我们DNS这个服务又称为又称之为叫域名解析服务。那既然称之为叫域名解析服务,对应的肯定和域名相关,那么要对域名做一定的了解。其次呢,是它的解析过程,也就是说我们要去了解关于DNS的一个解析的流程,OK,那这也就是我们这个题目所考察的两个方向。
01:01
OK,那我们就围绕这两个方向来把对应的信息给大家描述一下。首先呢,第一个就是域名和IP地址信息,那这个地方啊,大家都知道我们的DNS叫做域名解析服务。对应的域名解析,解析成什么呢?解析成的对象就是我们的对应的IP地址,很简单。域名和IP地址分别属于两类不同的地址,域名呢,一般是用来帮助我们来方便记忆一个网站,或者说呃,一组服务器的这么一个。有的。啊,专业字串,那它的特点呢,是具有唯一性啊,具有唯一性,而IP地址呢,它是这样的,它是为每一个网络设备来。设置一个唯一的网络地址。或者说我们的一个特殊的唯一标识号,以此呢来实现不同的机器之间通讯的这么一种地址。
02:00
这两个呢,是不太一样的IP地址,又称之为叫网络地址,它呢。能够。帮助我们实现。在我们的互联网当中的各种协议上进行一个资源定位,但是域名是不可以的。注意,我刚才说了,域名这个东西是来帮助人来方便记忆对应的这个网站或者一组服务器的一个专有名词,但它不能定位位置。但它不能定位位置,所以说。我们当在浏览器上。输入对应的一个网址来访问这个网站的时候,对应这个域名是不能够直接找到对应的这个网站的。而是要先把域名解析成对应的IP地址。我们才能够。访问的这个网站,那首先我们先来把这个。域名的结果给大家说一下,比如说我们这个上硅谷的这个网站叫3W点艾特硅谷点。com。
03:03
那对应的其实呢,这并不是完整的域名结构,大家会发现我在这个域名后边加了一个点。那我们把这个域名的结构拆分开之后,给大家简单说一下。那域名呢,简单分为。第一部分呢,叫做根。是由一个点组成。这个呢,我们一般情况下在写域名的时候很少写啊,我们直接就忽略掉它了。那其次呢,是顶级域啊。com.com。除了点com之外,还有很多顶级什么点org.edu啊之类的,有非常多,OK。那二级域,二级域呢,又称之为叫注册域,一般情况下,我们这种域名管理机构向外提供了这种注册和租用功能。那我们可以花一定的价钱去啊,申请一个你想要的对应的这样一个域名,或者购买你想要的这个域名。而对应的这个域名呢,在拿到手之后呢,就可以作为我们的。
04:02
个人的一个网站的一个代名词啊,或者说一个代表OK。那其次呢,最后是一个三级域,这个三级域就是当你买了某个二级域之后,在这个二级域前边加的一个。额外的一个子玉那。除了3W之外,其实大家应该见过很多不同的这种3G,比如说有什么book。有什么博客?New。等等等等,非常多,那3W呢,只不过是一个呃,相对比较常用的比较常见的网站的一个三级域名啊。就是网页服务,那如果说我们网站上还有什么图书模块,博客模块,新闻模块。等等模块的话,这个3W可以替换成对应的一个其他的前缀就没有问题了,那这个呢,是我们的一个域名的一个结构,OK。下,大家在我们的浏览器上在书写我们的这个网站地址的时候,一般情况下都会按照对应的这个格式来去书写我们的网址,当然除了这个域名之外,我们还要有对应的协议,比如说我们一般情况下在浏览器上所输入的信息一般是HTTP冒号。
05:17
啊,双斜杠加对应的域名,3W对应的IP地址,呃,对应的这个域名。丁居民。以及这个。一个资源,那资源类型那。这是我们访问我们的这个。网络资源时所需要写的一个内容,但是这个网络资源啊,很快就会被我们。专有的工具从域名转化为IP地址,那转化IP地址的这个过程就叫做域名解析,那谁能做这个事儿呢?那就是我们的DNS服务器了,那接下来我们来看一下对应的关于DNS服务器它的一个工作的一个过程。首先左侧这个。
06:00
是一个个人的电脑和一个网站服务器,那这个时候呢,我们个人电脑想去访问网站服务器,必须要知道网站服务器的网络地址,所有的网络地址其实就是IP地址。那这个时候个人电脑肯定不可能直接知道,我只知道这个网站叫3W硅谷点com,但是并不知道这个网站对应的IP地址,怎么办呢?那这个时候呢,我们的客户机就会想方设法的把对应的这个叫3w.S。归古点。com的域名解析成一个。注意这个时候啊,它并不是直接去找我们的这个DNS服务器,而是什么呢?而是有一个不一样的过程。大家都知道我们的Linux服务器当中有一个配置文件,这个配置文件呢,叫做。为什么打开ETC下的叫hosts?我们的这个地方有一个文件叫ETC hosts,当然这个文件呢,在Windows里边,在Mac OS里边,在所有的目前已知的操作系统里边,基本上都是存在的,那这个配置文件的作用。
07:11
和我们说的DNS服务器的作用是一样的。它也是用来进行域名解析的,只不过里边的解析只解析了自己的本地地址,比如说有一个IV4的本地地址1270001,有一个IPV6的本地互换地址。然后对应的解析成了我们的本机的域名localhost。后边这些呢,都是我们的一些别名,比如说一个IP地址可以解析成多个名称,但是呃,这些名称都可以被当做我们来访问服务器时所使用的一个名称。那如果我们想使用host文件来做解析的话,我们可以这样写,192.16 8.8 8.10。然后呢,对应的。空一个格后边来写,我们要解析成域名,比如说我们要解析成3w.at硅谷点。
08:05
然后我们保存退出一下,注意这个文件呢,它是保存即生效的,那么怎么来验证一下对应的这个域名已经解析成IP了呢?OK,很简单,我们可以通过使用一个PIN的命令。去聘一下3W硅谷点com。大家发现我们P通了。并且呢,P通之后的结果告诉我们,P通的这个3W硅谷点com对应的IP地址是19216888610。很明显,我们的这个host文件的解析是成功了的。啊,是成功的。我们再回到我们的PPT当中。我们再回到我们的PPT当中。那首先呢,我们的这个PC机在想访问网站时,会优先查找自己内部的这个叫host文件里边的信息,然后看这里边有没有解息,如果有直接就把里边的解析结果拿出来,然后访问服务器。但是。
09:05
注意。Host文件来作为网站域名解析的,这个功能啊,其实早就被取代掉了,原因很简单。一开始刚有互联网和网站的时候,那个时候网站数量很小,只需要人为的进行维护就可以了,我们可以把呃,这个所有的网站以及对应的网,这个域名和IP里的映射关系写到一个文件里,然后相互传到各自的这个电脑里就可以来访问了。但是久而久之,大家会发现,随着互联网规模的增大,我们的网站数量。非常非常多的。这个时候我们的这个文件如果再用来存储对应的网站和域名的信息的话,首先第一个它存储内容多了之后,打开很慢啊,也就是说查询很慢,第二个也不容易维护。因为现在啊,互联网上的网站,它的这种呃。
10:00
更新速度非常快,可能前一秒你的文件刚更新,后一秒就又新增了两个网站,那新增的两个网站是不是要新写新的文件呢?所以说这个时候就会形成一个非常大的一个维护的一个压力,那为了解决我们这种域名和IP地址的这种解析解析关系,那有人呢,就发明一种新的功能。就是我们现在所使用的DNS啊,现在所使用的DNS那。如果在我们的这个hosts文件里边并没有找到对应。域名的解析,那我们就会在本机的网卡配置文件里边,注意是在本机的网卡配置文件里边。查询对应的DNS服务器的地址,那我们来看一下。我们来打开我们的网卡配置文件。咱们的网卡配置文件当中呢,并没有发现对应的DNS信息,那是因为我们没有设置,那假如说我们这个地方添加了对应的DNS地址,那我们就可以通过对应的DNS地址去连接到对应的DNS服务器,比如说哎,我来修改一下这个配置文件。
11:11
我在配置文件里面添加两条记录。第一条叫。Getaway。等于192.168.88.2。啊,第二条呢,叫做DNS1 OK,等于。114.114.114.114。那除此之外呢,我们还可以添一个叫DS2的,等于。8.8.8.8。好了,我们保存一下。然后我们来说明一下这三条记录。新增加的这三条记录getway大家都知道,就是网关嘛,我们既然要访问这个某一网站了,肯定要访问互联网了,也就是说我们要突破局域网限制,那一定要有网关才能出去。第二个就是我们。到达了互联网上,想要访问某个域名对应的网站时,那必须要将域名解析成IP地址,那这个时候必须要有一个DNS服务器来帮助我们去解析,那这个地方我填了个DNS1和二,一代表的叫做首选DNS。
12:15
所谓的首选,就是优先找他来查询和询问。那如果首选DS并没有把对应的答案告诉我们,那我们再去找DS2叫做备用DNS。做备用DS啊。可以理解为就是备胎首选,不管用了,哎,你来顶上。那有人说了,那如果两个都没有查询到对应域名的解析呢?那对吧,可能你这个网站就访问不了了,但是一般情况下,我们的DNS服务器都能找到对应域名的解析关系解析结果的。好了,这就是我们关于配置文件里边的内容。注意,当我们修改完Linux。网卡里边的信息时,记得要重启我们对应的。网络服务,然后呢,对应的内容才会生效,OK。
13:02
我们也可以趁机验证一下我们对应的这个信息,就是填写好网关念S之后,它能不能连接互联网,比如说我们来P一下3W硅谷点。OK,大家发现是能够P通的啊,当然这个P通啊是有问题的,为啥大家发现我们P通的是不是本地的这个82910啊,那我们还要去把那个host文件删掉,那这个地方呢,也给大家带出来了,另外一个这个提示,那就是如果我们本机的host文件里边有对应的一个域名的解析关系时,那他就会优先找host文件,而不会去找DNS服务器,原因很简单,找DNS是不是要跨越互联网啊?肯定所消耗的时间要长一些,而本地几乎没有额外的消耗时间。所以说。优先查找本地,但是如果你的本地写好了,那就不会查找互联网了。那我们把这个host文件删除掉。Host文件里边的内容删除掉。
14:00
保存退出,然后我们再来P我们的3w com。哎,大家会发现这个时候P的就不再是我们那个对应的什么。那个呃。选的就是1921688210,而是另外一个IP地址,那对应的这个IP地址就是我们的这个啊。三就是3W硅谷点。com对应这个域名的一个IP地址。好了,这就是我们给大家做的对应的一个演示,OK。这个时候呢,我们的客户机如果在后侧文件里边查不到信息,则就会去找我们的本地DNS,但是我们刚才也提到过。如果本地DNS服务器当中有对应域名的解析关系,则会把结果告诉你。但是往往它里边可能并不一定有。当这个本地的DNS服务器没有对应的解析结果时,那我们应该怎么让这个客户机访问的这个服务器呢?也是有办法的,那就到了另外一个步骤,那首先我们把前面这个步骤总结一下,前面这个步骤呢,我们称之为叫递归查询。
15:06
称之为叫递归查询。通过我们本地服务器来查询,如果他没有剩下的活,就交给我们的这个本地DNS服务器来操作。比如说客户机像访问3W点艾点com,但是他在自己的记录里边找了一遍,发现没有OK,剩下的事交给这个本地DNS服务器来处理。他呢,会首先向我们的最上层的一个叫做干预服务器的。服务器上发起请求。请求什么呢?问。能不能把点。com。这个顶级域服务器的地址告诉我。下我们的域名结构,再给大家写一下啊,叫3W点。硅谷。那这个时候呢?本地DNS服务器向根域服务器查的时候,它只是查了点。com,为什么呢?是。
16:05
我们的顶级预服务器只负责记录它的。呃,根域服务器只负责记录它的顶级域服务器的地址,也就是说。他们只负责他的直属下级,而不会跨级去管理下下级,不存在这种情况了。根域服务器在接收到我们的本地DNS服务器查询之后呢,它会把我们的这种顶级域服务器的。所对应的服务器的IP地址告诉客户端啊。你来问我啊,我来回答你,那当本地DNS服务器呢,获取到对应的顶级域服务器之后的IP地址之后,再去查找顶级域服务器,再问他要什么呢?再问他要我们的二级域服务器对应的。服务器所在地址,比如说我们问。At硅谷点com这个服务器对应的这个服务器在哪?那同样它也只是管理自己的直属下级,查找之后把这个对应的IP地址告诉了我们的本地DNS,那本地DNS再去查询对应的这这个叫做at特硅谷点com的服务器。
17:17
下,当问到他的时候,就可以来问具体的什么完整的域名了,就可以问3W硅谷点com对应的ipd是多少。由于他是专门来管理我们这个叫做艾特硅谷。com的。一个域名服务器,所以说在里边肯定是有会对这个叫3W的三级域名的一个解析,那除此之外呢,如果你有别的,比如说还有什么博客呀,呃,论坛呀等等的BBS呀,都会有一个对应的一个解析,并且告诉我们的本地DS。这样的这个过程大家会发现非常麻烦。要找什么根域?根域告诉顶级域,再找顶级域,顶级域告诉二级域,再找二级域,二级域告诉三级域,最终他拿到了对应三级域名的解析IP地址,然后会把这个对应的三级的域名的解析IP地址。
18:10
告诉我们的PCGPCG在拿着IP地址去访问。方真服务器。这个就是我们的过程。啊,这个就是我们的过程。那这个时候呢,我们再总结一下,关于我们的本地DNS服务器和我们这些什么。这些比较高层次的服务器的这么一个关系,那。它们之间的这几次解析过程呢,我们称之为叫什么迭代查询啊,为什么要迭代呢?先找到了。根域服务器,再找到了顶级服务器,再找到了二级域服务器,然后由二级域服务器告诉了三级域的解析地址,那这个时候我们是一步一步把这个对应的完整地址,或者说对应的一个具体的网站的这个IP地址迭代出来,所以说这个过程叫做。一带上去。
19:00
除此之外呢,啊。那除此之外呢,我们这些服务器呢,他们还是有各自的一个其他的名称的。比如说我们这个服务器,除了叫做本地服务器之外,它还叫做什么呢?还叫做啊。我们的地规定。递归,刚才我们说过。一个递归过程,那就是他俩之间的过程,叫做递归。那这个服务器我们称之为叫递归服务器。而右边的这三个服务器呢,啊,最下层这个二级域服务器,我们称之为叫权威DNS。权威DS,那为什么要称之为叫权威DS呢?很简单。所有的本地DNS所解析的域名和IP对应的映射关系都是来自对应的这一类权威DNS,也就是说他们所知道的所有信息都是来自于这儿,而这就是官方,就是权威。它的功能是什么呢?我们来简单描述一下,它的功能很简单,就是来解析对应域名和ipg的映射关系的。
20:06
但是它还有另外一个功能,可以把这个解析的结果和答案告诉。本地DNS,也就是说我可以授权给你,让你来使用这个解析功能。这也就是我们的另外两个身份,它呢叫做递归DS,它呢叫做权威DS,其实啊。整个右边的几个服务器,我们都可以称之为叫。权威电视。啊,很简单,他们干的事都是同一个事,为本DDS找到对应域名的IP地址解析关系。那这个呢,就是我们一个。S的一个解析过程,那么通过文字的方式来进行一个汇总和总结,那。总结之后呢,就是对应的我们题目的一个答案了,那首先第一个步骤。啊,首先第一个步骤,那客户机呢,先查看本机的hosts文件是否有解析记录,有则直接访问。那没有,则在网卡里查询首选DNS,也就是我们所谓的本地DNS,并且向DNS服务器发起查询请求。
21:08
如果本地DNS有记录,则返回客户端,客户端访问这个网站服务器,那这是一个比较顺利的过程。但是往往并不一定顺利,那我们把这个地方画一个分界线。那当本地DNS服务器当中没有这个解析的时候,我们的本地DNS服务器就开始做第二个事儿了,那就是开始进行迭代查询,那本地DNS服务器会向干预服务器发起请求,要求解析对应顶级域带地址。本DDNS得到了顶级域服务器M地址后,再向顶级域服务器发起请求,请求解析权威DNS服务器的地址,也就对应的我们那个什么二级域名服务器的地址。下本地DNS服务器,得到了权威DNS服务器IP之后,再向其查询完整域名的进行解析,那权威DNS肯定知道对应完整里的解析啊,那会将最终查询的DNS结果返回给我们的本地DNS。
22:09
然后本地DNS在接收到这个解析结果之后呢,会把这个解析结果发送到客户端一份,并且会在它的本地记录一份,那我们回过头来看一下这个图。什么意思呀?如果我不知道你问我的问题的答案,我就问他们三个人。那如果我从他们三个人这儿问到了答案,我一个是会把答案告诉你,其次我还会把答案记到这儿,为什么防止有其他的人也来问我相同的问题,那下次我就不用再啰啰嗦嗦的找这三个人去了,而我直接就可以把对应的答案告诉你,让你去直接访问。这个就是我们的DNS的解析流程。DNS的解析流程。OK,好了。到此呢,我们的这个DNS的解析流程讲完了,那除此之外呢,我们还有对应的。
23:00
一个扩展题目,那就是解释权威DS和DDNS的含义,并描述我们智能DS实现原理。那其实权威DNS和DVDS刚才我给大家简单描述过了,我们再来总结一下。所谓的权威DNS。所谓的权威DNS,就是经上级授权对域名进行解析的DNS服务器。并且呢,它还可以把解析授权给其他的服务器,那同样再来看这个图。它呢,是经上层服务器授权,能够用来解析某域名的。这种映射关系的这么一个服务器,它就叫做权威服务器。同样,他可以把自己的这种解析的结果授权给其他人,让其他人也能够用来解析那。授权的对象就是本地DNS服务器。所以说它叫做DNS服务器,那对应的这个本地DNS服务器呢,也称之为叫做递归DNS服务器,咱们再来看概念。
24:08
所谓的递归DNS服务器,就是负责直接对接用户的。直接负责接收用户的查询请求,并且将查询结果返回给用户。它可以避免我们的用户直接对上层。哪上层啊,就是权威,直接对权威DS服务器发起访问。同样在获得这个图。大家发现我并没有画一个这个PC机的线路,直接连接到这个服务器,原因很简单,如果我们所有的这种客户机都直接查他,那这台服务器的压力会非常非常巨大。非常非常巨大,所以说呢,我们一般情况下都是什么。客户机查本地DNS服务器,本地DNS服务器不知道的再去查权威DNS。可以。在。逐层的去把最终结果找到。
25:03
这就是我们的这个。关于。权威DNS和递归DNS对应含对应的一个含义,然后最终呢,我们再来说一下智能DNS。智能DNS呢,其实是目前我们生产环境广泛使用的一种啊。模式,那它的主要作用很简单,就是为了提高我们用户的一个体验,以及节省我们的一个流量。也就是说增加我们的一个速度。那怎么来去提高效率,提高速度呢?很简单啊,大家都知道我们国内有很多的这种运营商,网络运营商,什么这种网通的呀。嗯,什么电信的呀。包括呃电信,包括什么教育网络等等,当然教育网络现在已经被合并了啊,OK,还有什么一些其他的网络。这么多不同的运营商,他们的线路注意是相对独立的。然后呢,会在某些地方,会在某些城市的中心节点服务器进行一个交汇和汇总。
26:06
那这个时候就会有一个问题,那就有一个问题,假设啊假设。我们在一个城市当中,我们在一个城市当中,这个地方有一个什么电信的一个线路。啊,有一个电信的一个线路。然后呢,在这个地方呢,有一个网通的一个线路。啊,有一个网通的一个线路。下张三呢?使用网通的线路来连接互联网。然后李四呢,使用电信的网络来进行连接互联网。那这个时候呢,我们的这种。数据连接的时候就会发现啊,它是有一个不同的模式的。我们的这有一个网站,这个网站呢,既联通了我们的电信的网络,又联通了我们的。网通了我们的网络。张三在使用我们的互联网网络时,使用的是网通的,那他走的线路就应该是这样来走。
27:05
应该是这样做。而李四在连接我们这个网站的时候。所走的线路就应该是走电信的网络。走哪个线路取决于谁呢?取决于DNS解析成这个网站的哪个地址。啊,解析成这个网站哪个地址。那这个时候我们再画一个辅助的一个交汇,比如说这个地方有一个什么。中心的一个节点服务器是用来让电信和网通互相连接的,比如说他们两家的这个网络是可以通的。那假如说。我们的这个张三这个用户在自己的这个电脑上的网卡上填写这个DNS服务器的时候。填写的是电信的电子服务器。张三家用的是网通的线路,但是填了一个电信的DNS,那这个时候。
28:02
张三的访问的过程就是这样的,首先通过自己的网通线路找到中心机电,再找到电信服务器,在电信的服务器的DNS服务器上查询对应网站的IP地址。这个DNS在解析的时候,发现我们的这个张三用户是来自于网通的,那就会把对应的这个服务器的网通的IP地址解析给张三,而这个时候你会发现张三在访问网站时走的是这条线路。但如果不是智能DNS,也就是说没有那么智能的话,那这个DNS服务器就会把自己的对应的这个网电信的这个DNS解析给我们的张三用户,那张三访问的时候就可能是这样的一个线路。啊,就可这样的一个线路,那当这样的线路出现之后呢,大家会发现首先一个是距离远了。啊,首先一个是距离远了,其次呢,还有一个问题就是。我们的两个不同的这种运营商之间,虽然中心有中心节点,但是两个中心节点在进行交汇汇总的时候,他们之间的这个带宽肯定会有一些约束和限制,这就会导致我们的数据包在传输的时候肯定会有一个延迟或降低。
29:16
所以呢,如果当我们没有DNS智能DNS这种东西的时候,我们的这种请求就会非常麻烦。绕远路。就会绕远路,所以说所谓的智能电源就会就是会判断用户发起查询的这个请求是哪个运营商的用户,然后呢,对应的交给指定的运营商来处理这个对应的IP请求。减少跨域。减少跨运营商。提高我们的访问效率啊,提高我们的访问效率,那这个就是我们的所谓的。智能DNS的这么一个。查询过程,或者说一个处理方案,那这个东西呢,在生产环境中,它的一个应用还是非常广泛的啊,还是非常广。
30:03
OK。至此呢,我们的这个DNS的这个面试题就给大家讲完了,那这个希望大家这个。多去把我们的这些原理类的题目去,呃。梳理了解一下,OK。如果这个题目当中还有哪些实验不太明白的话,可以去找到我们对应的这个官方的视频,关注我们的公众号,然后去看一下我们。完整的线上视频,以及对应的一个课件,里边呢,有详细的搭建流程,OK。好了,那我们的本节课就到这儿,我们下节课再见。
我来说两句