DNS学习笔记
DNS简单介绍:
1.DNS:是一个由分层的dns服务器实现的分布式数据库,是一个允许主机查询分布式数据库的应用层协议
2. DNS服务器:就相当于一个软件程序(其实一个重要DNS服务器是一个集群),他一般部署在unix或者linux系统上,DNS协议是运行在UDP协议之上,使用的是53号端口
3. 获取ip地址的过程:客户端浏览器一般都集成了一个DNS客户机,当用户从浏览器的url地址栏输入地址的时候,dns客户端主机就会获取到该主机名,并将主机名发送的DNS服务器,DNS服务器收到请求处理以后就会回答一个相应的回答,该回答中包含有发送的主机名对应的IP地址,当浏览器拿到这个IP地址以后,就可以找到对应的web服务器
4. DNS的缺点:增加了额外的延迟,增加了网络的负担
5.DNS负载均衡机制:比如一个web服务器的访问量很大,就会将相同的Web服务器部署在多个主机上,由于每一个主机的ip地址不一样,那怎么让web客户端(浏览器)知道该访问哪一台主机上的服务器,这时就完全要靠DNS服务器的负载均衡机制来解决。DNS服务器中,一个主机名可能会映射到能访问到web服务器的很多ip地址(每个地址对应一个相同的web服务端,不是一个台服务器),当客户端访DNS服务器的时候,DNS会将与请求的主机名的多个ip地址同时发给DNS客户端,但是DNS虽然收到了很多ip都能访问同一个网站,但是他一般会将排在第一的ip地址给浏览器使用;所以DNS通过控制返回的ip地址就可以实现负载均衡的目的;(邮件服务器也是有很多的,也可采用这种机制的)
6.DNS服务器种类:重要的DNS服务器种类有4种:根DNS服务器(全球有13个,每一个DNS服务器都是重复的集群,供安全使用),顶级域名DNS服务器(有com,org,net,edu种类的DNS服务器),权威DNS服务器,本地服务器
7.一个网址解析为IP的过程(忽略web缓存):假设获取www.map.baidu.com这个主机名的ip地址,DNS客户端会将该url发送到本地DNS服务器,然后本地服务器会向根DNS服务器发送请求,根DNS服务器通过com后缀判断该请求是要获取com的顶级DNS服务器,然后把com的顶级DNS服务器ip发给本地DNS服务器,本地DNS服务获取到com的DNS服务器ip地址之后,去访问com的DNS服务器,com的DNS服务器发现了字段baidu(其实是baidu.com字段),然后com的DNS服务器会将baidu.com的DNS服务器(假设baidu.com是一个权威的DNS服务器)的ip地址发送给本地DNS服务器(假设百度公司下面的很多应用都采用这个权威的DNS服务器,因此百度权威DNS服务器会存储很多的本地的DNS服务器的ip地址),客户端本地服务器去访问baidu的权威DNS服务器,百度的权威DNS服务器向客户端返回本地DNS服务器的IP地址,最后本地本地DNS服务器去访问百度的本地DNS服务器,本地服务器返回一个www.map.baidu.com的ip地址,客户端本地服务器获得www.map.baidu.com的ip地址以后,将给浏览器发送回一个应答,应答中包含请求的主机名的ip地址,这样浏览器就可以通过ip地址直接访问对应的web服务器。
8.权威DNS服务只是相对的,如果一个本地DNS服务器存放了其他本地DNS服务器的ip地址,他也可以说是其他本地DNS服务器的权威服务器
9.web缓存:为了减少在网络中的传输,一般本地DNS服务器都是有缓存功能的,他会将之前访问过的主机名与ip的映射存储起来;以后就可以不用再去绕那么多弯子了,同时本地DNS服务也是可以存储com的DNS服务器的ip,这样就可以绕过根DNS服务器了。