DNS的因特网规范是RFC1034,1035,它被设计成一个网络化的分布式系统数据库管理。
根据DNS要求,网站域名中的模型全部由英文字母和数据组成,每个模型不超过63个字符,不分英文大小写,(例如www.baidu.com或WWW.BaiDU.coM是网站域名中的等效电路)。除了连接器(-)以外,模型中不能使用标点符号。
根域名服务器:根域名服务器是最大最重要的域名服务器。所有根域名服务器都知道所有顶级域名服务器的网站域名和IP地址。根域名服务器是最重要的网络服务器,因为无论哪个本地服务器,如果要分析互联网上所有网站的域名,如果自己做不到,就会第一个规定它会帮助根域名服务器。互联网上有13个IP地址不同的根域名服务器。他们的名字用一个英文字母命名,从A到M(前13个英文字母)。该根域名服务器匹配的网站域名为a.rootservers.net、...、m.rootservers.net分别。但必须注意的是,根域名服务器的数量并不是13台设备,而只是13台安装[w-root]。事实上,截至2014年10月,全球共有504台根服务器,编号为A到M的有13个型号。由于采用了Anycast技术,大部分序列号相同的根服务器使用相同的IP,504根服务器只使用13个IP,因此可以抵御分布式系统拒绝服务攻击***(DDoS)。在北京和mainlandChina有两个编号为L的镜像系统,一个编号为F、I和J的镜像系统,总共有五个镜像系统。香港有2个序号为D和J的镜像系统,共有8个序号为A、F、I和L的镜像系统。台湾省有三套,序号分别为F、I、J。
anycast:anycastIP数据文件的终端是一组地址不同但IP地址相同的服务器,IP数据文件交给离数据库点最近的服务器。
迭代DNS更新查看和递归查询的全过程。
第一,服务器一般选择递归查询来查询本地域名服务器。如果服务器查看的本地域名服务器不知道域名查询的IP,那么本地域名服务器作为DNS手机客户端的真实身份,会将请求消息格式发送给另一个根域名服务器(即更换服务器重新查看),而不是让服务器自己进行下一步的查看。所以递归查询返回的检查结果要么是要检查的IP,要么是错误,表示无法检查到必要的IP地址。
其次,本地域名服务器一般选择迭代查询向根域名服务器输出查看。迭代检查的特点是:当根域名服务器收到本地域名服务器迭代更新所需的报文格式时,要么可以获取IP地址进行检查,要么可以告诉本地域名服务器:“接下来应该检查哪个域名服务器?”一般来说,根域名服务器会将其所知道的顶级域名服务器的IP地址告知本地域名服务器,以便本地域名服务器可以与顶级域名服务器进行核对。顶级域名服务器收到本地域名服务器的检查请求后,要么找到要检查的IP地址,要么通知本地域名服务器下一步应该检查哪个有管理权限的域名服务器。这就是本地域名服务器执行迭代更新检查的方式。最后知道待分析网站的域名IP地址,然后将结果返回给服务器查看。自然,本地域名服务器也可以选择递归查询。这是因为初始查看要求消息格式的设置指定应用哪种查看方法。
DNS☆查询例如:(a)本地域名服务器使用迭代更新和检查;(b)本地域名服务器使用递归查询。
假设网站域名为y.abc.com的服务器想知道另一台服务器的IP地址(网站域名为y.abc.com),
以下是图(A)中的一些查看过程:
1.服务器m.xyz.com首先对其本地域名服务器dns.xyz.com进行递归查询。
2.本地域名服务器选择迭代更新视图。它首先查看根域名服务器。
3.根域名服务器通知本地域名服务器dns.com的IP地址,下次要检查的项目级域名服务器。
4.本地域名服务器检查dns.com顶级域名服务器。
5.顶级域名服务器dns.com通知本地域名服务器dns.abc.com的IP地址,下次应该检查该管理域名服务器。
6.本地域名服务器检查作为管理机构的域名服务器dns.abc.com。
7.管理机构域名服务器dns.abc.com将被查看服务器的IP地址通知给本地域名服务器。
8.本地域名服务器最终将查看结果通知给服务器m.xyz.com。
注意,在这八个过程中使用了八种UDP客户数据报消息格式。本地网站域名
经过三次迭代,从域名服务器dns.abc.com获得了服务器y.abc.com的IP地址,最后
将结果返回给服务器m.xyz.com进行查看。
图(b)显示了本地域名服务器对递归查询的选择。在这种情况下,本地域名服务器只需要
检查一次根域名服务器,之后的检查都是在很多其他域名服务器之间进行的(流程7
到6)。只有在过程7中,本地域名服务器从根域名服务器获得所需的IP地址。终于
8、本地域名服务器将浏览结果通知服务器m.xyz.com。所有视图也适用于八。
UDP消息格式。
为了提高DNS查看的效率,减轻根域名服务器的负荷,减少互联网上DNS查看报文格式的总数,在域名服务器中广泛使用缓存(有时也称为缓存域名服务器)。缓存用于存储最近查看过的网站域名以及从哪里获取域名映射信息内容的记录。
例如,在查看图(a)的整个过程中,如果客户在不久前已经查看过域名为y.abc.com的网站的IP地址,那么本地域名服务器就不需要再与根域名服务器核对y.abc.com的IP地址,而是立即将缓存中存储的前次查看结果(即y.ABC.com的IP地址)通知客户。
假设本地域名服务器的缓存文件中没有y.abccom的IP地址,只有顶级域名服务器dns.com的IP地址,本地域名服务器可以立即将所需的报文格式推送到com顶级域名服务器,而不用检查根域名服务器。这不仅可以大大减轻根域名服务器的负荷,还可以大大减少互联网上DNS检查要求和响应消息格式的总数。
因为名称和详细地址之间的关联不会经常改变,为了保持缓存中的内容正确,域名服务器应该为每个项目设置一个计时器,并解决超过有效时间的项目(例如,每个新项目只会存储两天)。当域名服务器从缓存文件中删除了一些信息内容,并被要求查看这些信息内容时,需要从权限被管理的域名服务器获取相关的信息内容。管理权限域名服务器响应查看请求时,在响应中指出关联合理存在的时间值。增加这个时间值可以降低上网成本,减少这个时间值可以提高网站域名转换的准确性。
不仅在本地域名服务器中,也在服务器中。很多服务器免费启动从本地域名服务器下载名称和详细地址的所有数据库查询,维护自己最热门网站域名的缓存,只有在缓存文件中找不到名称时才使用域名服务器。当然,维护本地域名服务器数据库查询的服务器要按时检查域名服务器以获取新的投影信息内容,服务器必须从缓存文件中删除无效项。由于网站域名修改并不频繁,大部分营业网点不用花费太多精力就能保持数据库查询的一致性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)