什么是DNS域名系统,什么是本地DNS?
什么是DNS?
Internet上的节点都是用IP地址惟一标识,但是IP地址太长、太难记。因此,人们发明了域名(Domain Name),域名可将一个IP地址关联到一组有意义的字符上去。用户访问一个网站的时候,既可以输入该网站的IP地址,也可以输入其域名,对浏览器而言,两者是等价的。例如:百度公司的Web服务器的IP地址是39.156.69.79,其对应的域名是www.hkm168.com,无论用户输入39.156.69.79,还是www.hkm168.com都是可以访问到网站的页面的。
我们在浏览器中访问www.hkm168.com时,浏览器并不认识域名,域名是为了方便人类记忆和使用的,浏览器只认识IP地址,那么这时候就需要DNS(域名解析系统)来把域名翻译成IP地址,浏览器再通过IP地址访问服务器。
域名也是阶级森严的!
在讲述DNS解析流程前先来介绍一下什么是域名。域名按照从右到左的顺序来划分等级,最右边的是最高级的根域,根域就是所谓的”.”,其实www.hkm168.com在访问时应该是www.hkm168.com.一般我们在浏览器里输入时会省略后面的点。接下来就是顶级域又称一级域,一级域之后还有二级三级域。如何区分当前域名是几级域,可以参考域名中有几个点来判断(除了根域外)。
例如:www.hkm168.com中.com就是顶级域名,.hkm168.com就是二级域名,www就是百度服务器的主机名。
上面说了域名的分级,下面说一说域名由几部分字段组成的。域名由四部分组成:主机名、机构名、网络名、高层域名。但是我们最常见的域名只有主机名、机构名、高层域名组成。
常见的顶级域名有哪些呢?
域名
用途
.com
商业机构
.top
商业机构
.edu
教育机构
.gov
政府机构
.mil
军事机构
.net
网络运营中心
.org
非盈利性组织
.ac
科研机构
.cn
中国
.uk
英国
上面仅列举了部分较为常见的顶级域名,我们大多数时候可以通过域名判断网站的性质。其实域名还有很多,现在也出现了.中国、.企业等中文域名,可以登录万网购买。(现在万网已被阿里云收购)
什么是本地DNS呢?
在讲述DNS解析流程前还需要理解什么是本地DNS?
本地DNS是指你电脑上网时IPv4或者IPv6设置中填写的那个DNS。这个有可能是手工指定的或者是默认分配的。
如果你的电脑是直连运营商(ISP)网络,一般默认设置情况下DNS为ISP的服务器地址。
如果你的电脑和ISP之间还加了无线或者有线路由(一般的路由器本身还会内置DNS转发器),它的作用是将发往它所有的DNS请求转发到上层DNS,但最终会转发到ISP的DNS。
如果手动修改了DNS,比如改成8.8.8.8或者114.114.114.114这样的公用DNS服务器,那么指的就是这个服务器。
如下图所示,就是之后我们讲到的本地DNS服务器。
终于到了DNS解析的过程了!
现在我有一台电脑,在浏览器中输入www.hkm168.com域名。
浏览器:@浏览器缓存,你知道www.hkm168.com对应的IP么?
浏览器缓存:知道,是39.156.69.79
浏览器:好的,我去访问啦!
浏览器缓存:不知道
浏览器:@系统缓存,你知道www.hkm168.com对应的IP么?
系统缓存:我查询一下hosts文件哦,找到了,是39.156.69.79
浏览器:好的,我去访问啦~
系统缓存:我看下hosts哦,哎呀没有找到哎
浏览器:好的,我无能为力了,@客户机想想办法
客户机:我去问问@本地DNS服务器,你知道www.hkm168.com对应的IP么?
本地DNS服务器:我去DNS服务器缓存中找找,找到了,是39.156.69.79
客户机:@浏览器,是39.156.69.79,你去访问吧
浏览器:好的,我去访问啦#
本地DNS服务器:我去DNS服务器缓存中找找,哎呀没有找到哎
本地DNS服务器:想个办法,先去找大哥@根DNS服务器,你知道www.hkm168.com对应的IP么?
根DNS服务器:我知道com DNS服务器的IP,你叫他给你查
本地DNS服务器:好的,@com DNS服务器,你知道www.hkm168.com对应的IP么?
com DNS服务器:我知道hkm168.com DNS服务器的IP,你叫他给你查
本地DNS服务器:怎么开始踢皮球了,@hkm168.com DNS服务器,你知道www.hkm168.com对应的IP么?
hkm168.com DNS服务器:我这里查到了,IP是39.156.69.79
本地DNS服务器:太开心了@客户机IP是39.156.69.79。这么麻烦,先记到DNS服务器缓存,免得下次又这么折腾。
客户机:@浏览器 IP是39.156.69.79
浏览器:好的,我去访问啦