DNS基本概念
根域
根域即常说的“.”,如百度网址www.baidu.com,其真实域名应该是www.baidu.com.(最后有一点),但为了方便,一般在浏览器输入时会省略后面的点,这现在也已经成为了用户的习惯。
根域服务器具有13个IP地址,但机器数量却不是13台,因为这些IP地址借助了任播的技术,所以可以在全球设立这些IP的镜像站点,用户访问到的这个IP并不是唯一的那台主机。
域的划分
根域以下就是顶级域或者叫一级域,有两种划分方式,一种互联网刚兴起时按照行业性质划分的com.,net.等,一种是按国家划分的如cn.,jp.等。
每个域都会有域名服务器,也叫权威域名服务器。
baidu.com就是一个顶级域名,而www.baidu.com却不是顶级域名,他是在baidu.com 这个域里的一叫做www的主机。
一级域之后还有二级域,三级域,如果用户买了一个顶级域,并且搭建了自己的BIND服务器(或者其他软件搭建的)并注册到互联网中,那么他就可以随意在前面多加几个域(当然长度是有限制的)。
域名服务器
域名服务器是能提供域名解析的服务器,上面的记录类型可以是A(address)记录,NS(name server)记录,MX(mail),CNAME等。
A记录就是记录一个IP地址和一个主机名字,比如一个域名服务器所在的域为test.baidu.com,这是一个二级的域名,然后域名服务器里面有一条A记录,记录了一个名为a的主机的IP。
现在如果想通过baidu.com这个域名服务器查询a.test.baidu.com,那么这个顶级域名服务器就会发现请求的这个网址在test.baidu.com这个域中,baidu.com域名服务器里记录了这个二级域的域名服务器test.baidu.com的NS的IP,查询时会把NS的IP返回给用户,用户通过这个IP再去查a主机的地址。
这些域内的域名服务器都称为权威服务器,直接提供DNS查询服务。(这些服务器不会做递归)
解析过程
下面简述一下常见的域名解析过程:
现在有一台计算机,通过ISP接入了互联网,那么ISP就会给它分配一个DNS服务器,这个DNS服务器不是权威服务器,而是相当于一个代理的DNS解析服务器,它会帮PC迭代权威服务器返回的应答,然后把最终查到IP返回给PC;
此时计算机要向这台ISPDNS发起请求查询www.baidu.com这个域名(这里其实准确来说不是ISPDNS,而应该是用户自己电脑网络设置里的DNS,并不一定是ISPDNS,如设置成8.8.8.8);
ISPDNS拿到请求后,先检查一下本地缓存中有没有这个地址,如果有就直接返回。这个时候拿到的IP地址,会被标记为非权威服务器的应答;
如果缓存中没有,ISPDNS会从配置文件里面读取13个根域名服务器的地址(这些地址是不变的,直接在BIND的配置文件中);
然后向其中一台发起请求;
根服务器拿到这个请求后,知道是com.这个顶级域名下的,所以就会返回com域中的NS记录,一般来说是13台主机名和IP。
然后ISPDNS向其中一台再次发起请求,com域的服务器发现这请求是baidu.com这个域的,并且查到了这个域的NS,于是就将其IP返回回去(目前百度有4台baidu.com的顶级域名服务器);
ISPDNS再次向baidu.com这个域的权威服务器发起请求,baidu.com收到之后,查找www主机,并把主机IP返回给ISPDNS;
ISPDNS拿到了之后,将其返回给了客户端,并且把这个IP保存在高速缓存中。
至此,整个域名解析过程完成。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。