由于区域在DNS中发挥着重要的作用,因此希望在网络上的多个DNS服务器中提供区域,以提供解析名称查询时的可用性和容错。否则,如果使用单个服务器而该服务器没有响应,则该区域中的名称查询会失败。对于主要区域的其他服务器,必须进行区域传输,以便从主要区域中复制和同步所有区域副本。

1. AXFR和IXFR区域传输 
当新的DNS服务器添加到网络,并且配置为现有区域的新的辅助服务器时,它执行该区域的完全初始传送,以便获得和复制区域的一份完整的资源记录副本。对于大多数较早版本的DNS服务器实现,在区域更改后如果区域请求更新,则还将使用相同的完全区域传输方法。对于运行Windows Server 2003的DNS服务器来说,DNS服务支持“增量区域传输”方式进行快速区域副本复制和同步。当作为区域源的Windows Server 2003 DNS服务器和从其中复制区域的任何服务器都支持递增传送时,它提供了公布区域变化和更新情况的更有效方法。

在较早的DNS实现中,更新区域数据的任何请求都需要通过使用完全区域传输(Full Zone Transfer,AXFR)查询来完全传送整个区域数据库。在Windows 2000以后的DNS系统中,允许进行增量区域传输(Incremental Zone Transfer,IXFR),这时可使用任选的查询类型,允许辅助服务器仅找出一些区域的变化用于区域副本与源区域(可以是另一DNS服务器维护的主要或辅助区域副本)之间的同步。

通过IXFR区域传输时,区域的复制版本和源区域之间的差异必须首先确定。如果该区域复制源DNS服务器的序号(如图所示)与申请同步复制的DNS服务器该区域的序列号所指示的版本相同,则不进行任何传送;如果复制源DNS服务器的序列号比申请同步复制的DNS服务器对应区域的序列号大,则传送的内容仅由区域中每个递增版本的资源记录的改动组成。

图 DNS区域序列号和主DNS服务器配置

为了使IXFR查询成功并发送更改的内容,此区域的主DNS服务器必须保留增量区域变化的历史记录,以便在应答这些查询时使用。实际上,增量区域传输过程在网络上需要更少的通信量,而且区域传输完成得更快。

区域传输始终在区域的辅助DNS服务器上发起请求,请求发送到作为区域源配置的主服务器(参见图2-2中的“主服务器”选项)中,但主服务器可以是加载区域的任何其他DNS服务器,如区域的主要DNS服务器或另一辅助DNS服务器。当主服务器接收区域的请求时,它可以通过区域的部分或全部传送来应答辅助服务器。

区域传输可能会发生在以下任何情况中:

l         当区域的刷新间隔(参见图2-2中的“刷新间隔”设置选项)到期时

l         当其主服务器主动向辅助服务器通知区域更改(也就是发出DNS通知,在本章后面介绍)时

l         当启动区域的辅助服务器时(辅助DNS服务器只能向主要DNS服务器复制记录)

l         在区域的辅助服务器使用DNS控制台以便手动启动(通过执行“刷新”菜单操作)来自其主服务器的传送时

2. 区域传输原理 
图显示了DNS服务器之间的区域传输过程。该过程取决于区域在以前是否复制过而变化,或者取决于是否在执行新区域的初次复制而变化。在此仅以第一次区域复制过程为例进行介绍。

图 DNS服务器区域复制顺序

(1)目标服务器向源服务器发出查询SOA(起始授权机构,也就是在图2-2中所配置的“主服务器”)查询的请求。因为目标服务器总是区域的辅助服务器,不能自定义主要服务器。

(2)源服务器给出SOA查询请求应答,告诉目标服务器SOA中配置的主服务器地址,也就是SOA资源记录。

(3)目标服务器向主要DNS服务器发送初始“所有区域”传送(AXFR)区域传输请求。

(4)主(源)服务器作出响应,并将此区域完全或者增量区域信息传送到辅助(目标)服务器。传输内容中同时包括了源服务器中的SOA配置的序列号,以阻止循环复制。SOA资源记录中也包含一个以秒为单位的状态刷新间隔(默认设置是900秒或15分钟),指出目标服务器下一次应在何时请求使用源服务器来续订该区域。

刷新间隔到期时,目标服务器再次使用SOA查询来请求从源服务器续订此区域。源服务器应答其SOA记录的查询。该响应包括该区域在源服务器中的当前状态的序列号。

(5)目标服务器检查响应中的SOA记录的序列号,并确定怎样续订该区域。

如果SOA响应中的序列号值等于其当前的本地序列号,那么得出结论,区域在两个服务器中都相同,并且不需要区域传输。然后,目标服务器根据来自源服务器的SOA响应中的该字段值重新设置其刷新间隔,来续订该区域。

如果SOA响应中的序列号值比其当前本地序列号要高,则可以确定此区域已更新并需要传送。

如果这个目标服务器推断此区域已经更改,则它会把IXFR查询发送至源服务器,其中包括此区域的SOA记录中序列号的当前本地值。

(6)源服务器通过区域的增理传输或完全传送作出响应。

如果源服务器通过对已修改的资源记录维护最新递增区域变化的历史记录来支持递增传送,则它可通过此区域的递增区域传输(IXFR)作出应答。如果源服务器不支持递增传送或没有区域变化的历史记录,则它可通过其他区域的完全(AXFR)传送作出应答。

【注意】对于运行Windows 2000和Windows Server 2003的服务器,支持通过IXFR查询进行增量区域传输。对于DNS服务的早期版本和许多其他DNS服务器实现系统,增量区域传输是不可用的,只能使用全区域(AXFR)查询来复制区域。

AXFR和IXFR区域传输及原理的更多相关文章

  1. kali linux之被动信息收集(dns信息收集,区域传输,字典爆破)

    公开可获取的信息,不与目标系统产生交互,避免留下痕迹 下图来自美军方 pdf链接:http://www.fas.org/irp/doddir/army/atp2-22-9.pdf 信息收集内容(可利用 ...

  2. DNS无法区域传送(axfr,ixfr)

    这两天博主在学习dns服务器的配 首先简单介绍一下axfr,ixfr axfr:完全区域传送 ixfr :增量区域传送 主要是在dns主从服务器上面进行备份更新的. ----------------- ...

  3. DNS区域传输和DNS字典爆破

    nslookup命令是已知域名的的解析记录下进行的查询.打个比方,已知sina.com这个域名有www.sina.com这条主机解析记录,就可以查询www.sina.com对应的ip以及其他相关信息. ...

  4. 【转】QQ传输文件原理参考(来自互联网)

    QQ的文件发送是怎样的过程呢?通常,发送文件的计算机首先要通过消息服务器将其IP地址发送给接收计算机,当接收计算机同意接收的确认消息反馈到消息服务器后,消息服务器将据此设置好文件传输对话.随即,发送计 ...

  5. Https 安全传输的原理

    序言 今天来聊一聊https 安全传输的原理. 在开始之前,我们来虚构两个人物, 一个是位于中国的张大胖(怎么又是你?!), 还有一个是位于米国的Bill (怎么还是你?!). 这俩哥们隔着千山万水, ...

  6. TCP传输工作原理

    引言 在TCP/IP体系结构中,IP协议只管将数据包尽力传送到目的主机,无论数据传输正确与否,它都不做验证,不发确认,也不保证数据包的顺序,因而不具有可靠性.这一问题要由传输层TCP协议来解决,TCP ...

  7. git传输协议原理

    git精神:distributed-is-the-new-centralized 转自:http://git-scm.com/book/zh/v1/Git-%E5%86%85%E9%83%A8%E5% ...

  8. FTP文件传输服务器原理

    FTP服务器,全称File Transfer Protocol Server,是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务.FTP,文件传输协议(File Transfer ...

  9. 随机线性网络编码的C语言实现,实现可靠传输:原理(1)

    线性方程组,大家都不陌生吧.来一组 A11 *X1 + A12 *X2 + A13 *X3 + A14 *X4 =Q1 A21 *X1 + A22 *X2 + A23 *X3 + A24 *X4 =Q ...

随机推荐

  1. 洛谷 P4066 [SHOI2003]吃豆豆 解题报告

    P4066 [SHOI2003]吃豆豆 题目描述 两个PACMAN吃豆豆.一开始的时候,PACMAN都在坐标原点的左下方,豆豆都在右上方.PACMAN走到豆豆处就会吃掉它.PACMAN行走的路线很奇怪 ...

  2. C++11——引入的新关键字

    1.auto auto是旧关键字,在C++11之前,auto用来声明自动变量,表明变量存储在栈,很少使用.在C++11中被赋予了新的含义和作用,用于类型推断. auto关键字主要有两种用途:一是在变量 ...

  3. python基础----再看property、描述符(__get__,__set__,__delete__)

    一.再看property                                                                          一个静态属性property ...

  4. 洛谷P1106 删数问题

    题目描述 键盘输入一个高精度的正整数N,去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对给定的N和k,寻找一种方案使得剩下的数字组成的新数最小. 输出应包括所去掉的数字的位置和 ...

  5. UVA-10375 数学

    UVA-10375 题意 : 输入p,q,r,s,求C(p,q)/C(r,s). p,q,r,s<=10000:结果不超过1e8 代码: //显然不能直接计算,考虑每个数都可以由若干个素数乘积得 ...

  6. Linux iptables:规则原理和基础

    什么是iptables? iptables是Linux下功能强大的应用层防火墙工具,但了解其规则原理和基础后,配置起来也非常简单. 什么是Netfilter? 说到iptables必然提到Netfil ...

  7. [Java多线程]-并发,并行,synchonrized同步的用法

    一.多线程的并发与并行: 并发:多个线程同时都处在运行中的状态.线程之间相互干扰,存在竞争,(CPU,缓冲区),每个线程轮流使用CPU,当一个线程占有CPU时,其他线程处于挂起状态,各线程断续推进. ...

  8. [吴恩达机器学习笔记]14降维3-4PCA算法原理

    14.降维 觉得有用的话,欢迎一起讨论相互学习~Follow Me 14.3主成分分析原理Proncipal Component Analysis Problem Formulation 主成分分析( ...

  9. [DeeplearningAI笔记]序列模型3.6Bleu得分/机器翻译得分指标

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.6Bleu得分 在机器翻译中往往对应有多种翻译,而且同样好,此时怎样评估一个机器翻译系统是一个难题. 常见的解决 ...

  10. Windows下搭建网络代理

    场景:有些场景下会出现局域网内的某些网段可能由于安全限制,不能访问外网,此时可以通过安装一些工具来实现借助局域网内某些能够上外网的电脑来实现网络代理的功能.以下工具均是使用于Window环境. 服务端 ...