DNS(Domain Name System)

定义:

网络通信中通过ip确定主机的地址,但这个ip是一串数字,不便于记忆,所以有了dns解析,把这些ip地址包装成一个容易记忆的域名。

域名解析:

dns通过域名去定位真实ip的过程叫做域名解析,这个地方有两种方法,一种是在本机的host文件中配置相应的域名映射,这样在本机上即已可以通过域名去访问对应的ip;但是明显是不可能为每个客户端都去配置host文件的,所以需要在一台主机上搭建一个dns服务器,网络中没个请求都通过这个dns去做域名解析;

这个地方本地的域名对应配置叫做静态解析,dns叫做动态解析,本地发出的请求是先走静态解析再做dns解析,所以可以把常用的域名映射写入本地的静态映射中从而提高访问效率。

域名层级:

提供一个案例域名www.google.com 理论上说后面省略了根域名.root 也就是完整的应该是www.google.com.root 但我访问这个域名实际是访问不通的

.root 是根域名 .com 是顶级域名 .google 是次级域名 www 是三级域名

域名解析的原理是通过根域名服务器找到顶级域名服务器依次向下查找,那么dns如何知道根域名服务器的ip地址的,世界上现有13台根域名服务器,这个东西基本是不会发生改变的,所以被内置到了dns里面,每1000个小时才会重新做一次查询

DNS先查找根域名服务器ip,取13个服务器中第一个返回的作为缓存,后续的解析都向这台服务器发起请求

常见的顶级域名:表示工商企业的 .com,表示网络提供商的 .net,表示非盈利组织的 .org等

DNS污染:

一般来说,网站在互联网上一般都有可信赖的域名服务器,但为减免网络上的交通,一般的域名都会把外间的域名服务器数据暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。一旦有相关网域的局域域名服务器的缓存受到污染,就会把网域内的电脑导引往错误的服务器或服务器的网址。