DNS是什么
维护一个用来表示组织内部主机名和IP地址之间对应关系的数据库。用户输入域名,DNS自动检索该数据库,并将其转换为IP地址。用的是UDP传输协议
DNS域名解析过程
域名的构成
首先要知道域名的层级,比如www.qq.com一般是主站,mail.qq.com是邮箱业务,这都是隶属于qq这个权威DNS服务器下面的
如果域名服务器宕机,那么针对该域的DNS查询也就无法正常工作。因此,为了提高容灾能力,一般会设置至少两个以上的域名服务器。一旦第一个域名服务器无法提供查询时,就会自动转到第二个甚至第三个域名服务器上进行,以此可以按照顺序进行灾备处理。
域名解析过程
那么当浏览器输入网址,第一步就是看自己浏览器缓存或本机文件里也没有对应IP记录,有的话直接结束了。没有的话就要调用解析器发送解析请求,那么问题来了,发给谁呢。这个是我们本地配置的DNS地址,一般是找个最近的本地DNS服务器,国内的话可能是电信或者网通的。这一步假设出错误的话那可能出现上得了qq微信上不去网页的情况,因为前者是直接走的IP。
接下来,本地DNS服务器查自己内部缓存有没有这个域名,查到了就返回。没查到就得向它的根域名服务器。根DNS收到本地DNS的请求后,首先发现是.com,然后就告诉本地DNS去.com顶级域名服务器问。去问完,顶级域名服务器告诉本地域名服务器去server.com的权威域名服务器问,然后在这里就能得到对应的IP地址了。这样本地DNS服务器把这个IP地址还给客户端,客户端再用这个IP和目标建立联系。
DNS查询过程如下图所示:
DNS劫持、污染
就是你正常想用域名解析的功能,访问一个IP的资源。但中间有人劫持了或者怎样,不让DNS给你返还你想要的,而是给你他想给你的,这样可能造成你浏览的IP不对,进而造成用户名密码等隐私信息泄露