DNS
DNS产生的背景
在Internet网中连接着数量众多的主机,要让这些主机进行通信,更多情况下使用IP得知来标识计算机,主机在互联网上靠IP地址进行位置标识。但是这种纯数字的表示方式不便于人的记忆,因此提出了主机名的识别方式,如www.baiodu.com的形式,这种名字便于记忆,容易被人们接受,在具体应用中多采用主机名方式访问主机。主机之间访问需要IP地址,人民访问服务习惯记忆主机名,为了兼顾人和机器,产生了一个翻译机制实现两者之间的转换,这就是主机名与IP地址的映射关系。
早期接入互联网的设备很少,IP的管理比较简单,最开始是通过本地Host文件的方式对域名和IP的映射关心进行管理;后来为了解决本地Host带来的配置不一致的问题,改为Hosts文件由Ftp统一发布,各设备定时从Ftp更新Hosts文件;再到后来出现了中心化的DNS服务集群提供域名解析服务;但随着接入互联网的设备增加,域名解析的请求量暴增,中心化的DNS服务集群开始暴露出明显的缺陷。客户机之间将所有查询请求发往中心化的DNS服务器,同时DNS服务器之间对所有查询客户机做出响应,出现了有单点故障,通信容量,远距离通信延迟,维护开销大等问题。为了解决中心化DNS服务存在的问题,出现了分布式DNS层次架构。
DNS相关概念
DNS(Domain Name System,域名系统)是是互联网上一种层次结构的基于域的命名方式和实现这种命名方式的分布式数据库,其中记录了各种助剂域名和IP地址的对应关系,能够使用户更加方便的访问网站。用户可以直接输入域名登陆网站DNS会将域名解析成IP地址,然后用户根据这个IP地址找到相应的网站,从而访问到域名对应的网站,通过主机名获取到主机名对应IP地址的过程叫作域名解析。
DNS协议建立在UDP协议之上,在某些情况下可以切换到TCP,使用端口号53,是一种客户/服务器服务模式。
什么时候会使用到TCP协议:
1.当解析器发出一个request后,返回的response中的tc删节标志比特位被置1时,说明反馈报文因为超长而有删节。这是因为UDP的报文最大长度为512字节。解析器发现后,将使用TCP重发request,TCP允许报文长度超过512字节。既然TCP能将data sream 分成多个segment,他就能用更多的segment来传送任意长度的数据。UDP报文的最大长度为512字节,而TCP则允许报文长度超过512字节。
2.当一个与的辅助域名服务器启动时,将从该域的主域名服务器primary DNS sever执行区域传送。除此之外,辅域名服务器也会定时(一般时3小时)向PDS进行查询以便了解SOA的数据是否有变动。如有变动,也会执行一次区域传送。区域传送将使用TCP而不是UDP,因为传送的数据量比一个request或response多得多。
3.DNS的规范规定了2种类型的DNS服务器,一个叫主DNS服务器,一个叫辅助DNS服务器。在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。当一个辅助DNS服务器启动时,它需要与主DNS服务器通信,并加载数据信息,这就叫做区传送(zone transfer)。
DNS主要还是使用UDP,解析器还是服务端都必须自己处理重传和超时。
域:
域是逻辑上的概念,再出说实话瓜分互联网的时候,Internet组织将世界上的计算机划分为若干个大类,如com、gov、org、net、com、edu、cn、us等
每一个大类我们称为一个域
在每个大类里面划分出比较小一点的,成为子域,域是可以嵌套的,大域包含小域,小域可以包含更小的域
域名:
在每个域里面都有很多主机,每个主机都有一个主机名,我们在这个主机名后面冠上主