一,DNS介绍
DNS域名系统是因特网的一项核心服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用记住能够被机器直接读取的IP数串。
全球13台DNS根服务器分布:
- 美国VeriSign公司 2台
- 网络管理组织IANA(Internet Assigned Number Authority) 1台
- 欧洲网络管理组织RIPE-NCC(Resource IP Europeens Network Coordination Centre) 1台
- 美国PSINet公司 1台
- 美国ISI(Information Sciences Institute) 1台
- 美国ISC(Internet Software Consortium) 1台
- 美国马里兰大学(University of Maryland) 1台
- 美国太空总署(NASA) 1台
- 美国国防部 1台
- 美国陆军研究所 1台
- 挪威NORDUnet 1台
- 日本WIDE(Widely Integrated Distributed Environments)研究计划 1台
“全世界只有13台(这13台根域名服务器名字分别为“A”至“M”),
1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本
二,DNS的作用
正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找对应的域名(反垃圾邮件的验证)
DNS使用的协议及端口号
DNS的默认的端口为53,端口分为TCP和UDP
TCP用来区域传送,多用于主从同步
在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息.
UDP用来做DNS解析
域名:通常由一个完全合格域名(FQDN)标识。FQDN 全称 Fully Qualified Domain Name ,它能准确表示出其相对于 DNS 域树根的位置, 也就是节点到DNS 树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用“.”分隔,对于DNS 域google来说,其完全正式域名(FQDN)为google.com。 例如,google 为 com 域的子域,其表示方法为 google.com,而 www 为 google 域中的子域, 可以使用www.google.com. 表示。
域名构成
1 http://www.sina.com.cn./
2 http://主机.子域.二级域.顶级域 根域/
三, DNS域名解析过程
-
正向解析:FQDN--------IP(一对多)------一般使用正向解析
-
反向解析:IP------------FQDN
FQDN:(Fully Qualified Domain Name)全限定域名: 同时带有主机名和域名的名称。从全限定域名中包含的信息可以看出主机在域名树中的位置。
正向解析过程:
- 先查询本地的缓存记录;
- 查询hosts文件;
- 查询dns域名服务器,交给dns域名服务器处理
- 这个dns服务器可能是本地域名服务器,也有个缓存,若有直接返回结果,若无,进行下一步
【客户端—本地dns服务器:属于递归查询】
5)求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器,让他去找顶级域服务器 6)求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器,让他去找二级域服务器 7)求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的IP地址返回给本地域名服务器 8)本地域名服务器将结果记录到缓存,然后把域名和IP的对应关系返回给客户端 【本地dns服务器----外网:属于迭代查询】
两种查询方式
1)递归查询
DNS服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机;
若DNS服务器本地没有存储查询DNS信息,服务器会询问其他服务器,并返回查询结果提交给客户机
【客户机发送请求后,只有等待结果即可,中间的具体过程交给服务器实现】
2)迭代查询(重指引)
客户机发送查询请求时,DNS服务器并不直接回复查询结果,而是告知客户机另一台DNS服务器地址;
客户机再向在这台DNS服务器提交请求,依次循环直到返回查询的结果为止
【客户机的请求需要自己挨个去查询才会得到结果,服务器没有结果时只会给你通过其他服务器的地址,而不是帮你请求查询】
综上:
递归查询时,返回的结果只有两种:查询成功或查询失败
迭代查询又称作重指引,返回的是最佳的查询点或者主机地址。
【windows系统查询dns缓存命令:ipconfig /displaydns
windows系统清理dns缓存命令:ipconfig /flushdns
linux清dns缓存需要安装nscd软件,启动、执行nscd -i hosts】
域名体系结构 DNS的分布式互联网解析库 根. 根域名DNS服务器:
位于域名空间最顶层,一般用一个“.” 表示;专门负责根域名
一级DNS服务器(顶级域):
专门负责一级域名解析(一种类型的组织机构或国家地区)
1 .com(工商 企业)
2 .net(网络供应商)
3 .edu(教育机构)
4 .cn(中国国家域名)
5 .org(团体组织)
6 .gov (政府部门)
二级DNS服务器:
明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理;专门负责二级域名的解析
顶级域名下面设置的二级域名:
.com.cn .net.cn .edu.cn
**子域名DNS服务器:**亦称为三级域名
各个组织或用户可以自由申请注册自己的域名
域名体系结构
所有的域名必须以点结尾:www.qq.com. www.baidu.com
根域名(.)
一级域名:.cn(中国) .kr(韩国) .jp(日本) .hk(香港).uk(英国)
二级域名:.com.cn(中国商业组织) edu.cn(教育机构) .org.cn(非盈利) .net.cn(中国运营商)
三级域名:sina.com.cn nb.com.cn haixi.com.cn .........
组织域:.com .org .net .CC
国家域:.cn .tw(台湾) .hk(香港) .iq .ir .jp(日本)
反向域
常见的:
114.114.114.114是国内移动、电信和联通通用的DNS
8.8.8.8是GOOGLE公司提供的DNS,该地址全球通用
223.5.5.5 和 223.6.6.6:阿里云DNS
江苏省南京市(中国电信)首选DNS为:218.2.135.1 备用DNS为:61.147.37.1
四,DNS服务器类型
主域名服务器:
负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
从域名服务器:
当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。
从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
缓存域名服务器:
**只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。**它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
转发域名服务器:
负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。
提高集群速度:host文件里配置主机名+IP地址