1. DNS背景
DNS(Domain Name System)
TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序. 但是IP地址不方便记忆
于是人们发明了一种叫主机名的东西, 是一个字符串, 并且使用hosts文件来描述主机名和IP地址的关系
DNS是应用层协议
DNS底层使用UDP进行解析
浏览器会缓存DNS结果
本质上还是需要把域名转换成IP地址~
记录了域名- IP之间的映射关系
测试某个程序的时候,要求通过某个域名来访问服务器但是域名可能还没申请好呢,在本地临时测试的时候就可以使用hosts文件进行手动映射
如果光使用hosts来进行DNS,这是不够用的~~
网站越来越多了.最开始网站少的时候,手工维护还行,手动维护,成本就非常高了,尤其是有些网站下线/更改IP ..
为了解决hosts手工维护的问题,就把这个映射关系放到服务器上了.而不是说直接在本地了(hosts文件虽然保留下来,但是已经不再使用了)
如何让全世界的客户端都能够被DNS系统提供服务呢?
解决方案:
1. 缓存
当我们去访问DNS服务器之后,我们就知道了这个域名对应的IP
下次我们再需要访问这个域名的时候,直接根据缓存的IP地址就能够进行访问
2. 分布式
DNS服务器在存储和管理域名的时候是分级访问的