DNS概要
DNS(Domain Name System)域名系统,在TCP/IP网络中有非常重要的作用。其通过域名解析协议使实际IP与对外域名之间建立对应关系。
其最早部署在本地host主机。(在windows下System32.drivers.etc.hosts)。其局限性在于:从大量对应关系找目标过于困难且速度缓慢,同时也不能把所有的对应关系都写进去)
DNS是一个分布式数据库,命名系统采用层次的逻辑结构,如同一颗倒置的树,这个逻辑的树状结构称为域名空间,由于DNS化分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。
注:DNS域名空间中,树的最大长度不得超过127层,树中每个节点最长可以存储63个字符。
共有3种顶级域
组织域 | 3个字符,表示DNS域中所包含的组织的主要功能或活动 com:商业机构组织 edu:教育机构组织 gov:政府机构组织 mil:军事机构组织 net:网络机构组织 int:国际机构组织 org:非营利机构组织 |
地址域 | 采用两个字符的国家或地区代号,如cn-中国,kr-韩国,us-美国 |
反向域 | 这是一个特殊域,名字为in-addr.arpa,用于IP地址映射到名字(反向查询) |
例:www.baidu.com.
一共有四层,包含了一个根域。
工作过程
传输方式
1.学校等区域
DNS服务器的高速缓存区:记录IP地址,下一次再访问baidu就不会这么复杂,DNS服务器直接发送IP地址。默认存储一天,因为ip地址是会变化的,同时也可以手动清空。
2.手动设置
使用第三方浏览器就不会访问前面的DNS服务器。
好处:用到人比较多,都访问过,高速缓存区存储内容比较多,提高速度。
3.使用路由器自带的DNS服务器
使用DHCP协议自动获取路由器的DNS地址(默认网关地址)。
域和域名
DNS树上的每个节点代表了一个域,通过这些节点对整个域名空间进行划分,成为一个层次结构。
域名空间的每个域的名字,通过域名进行表示,并将每个节点用 “.” 分隔。
例:
顶级域名 test.com
二级域名 test.cn.com
三级域名 test.mail.cn.com
FQDN
完全合格域名,长度<=256字节,只允许使用字符a-z,0-9,A-Z和减号“-”,点号 " . " 只允许在域名标志之间或者FQDN的结尾使用。
分为根域,顶级域,二级域,子域。
区(zone),资源记录
区是DNS名称空间的一部分,其包含了一组存储在DNS服务器上的资源记录。
使用区的概念,DNS服务器回答关于自己区中主机的查询,每个区都有自己的授权服务器。
主域名服务器与辅助域名服务器(为了实现负载均衡)
当区的辅助服务器启动时,它与该区的主控服务器进行连接并启动一次区传输,区辅助服务器定期与区主控服务器通信,查看区数据是否改变,如果改变了,它就启动一次数据更新传输。
每个区必须有主服务器,另外每个区至少要有一台辅助服务器,否则如果该区的主服务器崩溃了,就无法解析该区的名称。(相当于备份)
辅助服务器优点
(1)容错能力
(2)减少广域链路的通信量
如果某个区在远程有大量客户机,用户就可以在远程添加该区的辅助服务器,并把远程的客户机配置成先查询这些服务器,这样就能防止远程客户机通过链路通信来进行DNS查询。
(3)减轻服务器的负载
辅助服务器能回答该区的查询,从而减少该区主服务器必须回答的查询数。
DNS服务器
运行DNS服务器程序的计算机。