由于区域在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. 【转载】 HDU 动态规划46题【只提供思路与状态转移方程】

    1.Robberies 连接 :http://acm.hdu.edu.cn/showproblem.php?pid=2955      背包;第一次做的时候把概率当做背包(放大100000倍化为整数) ...

  2. 洛谷P1434 滑雪

    题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道在一个区域中最长 ...

  3. mysql日志配置

    mysql在错误排查,优化的时候会用到日志 有错误日志,查询日志,慢查询日志,二进制日志 先找到日志文件,linux 一般在/etc/my.cnf中 打开看到 log-error=/webserver ...

  4. mybatis基础犯错总结

    1.关于mybatis的文件一般都是其mapper文件出错: 首先关于输入参数parameterType出错: (1)基本数据类型:如果输入参数只有一个,其数据类型可以是基本数据类型,也可以是自己定的 ...

  5. at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:142) :json转化“$ref 循环引用”的问题

    原因: entity实体中存在@OneToMany,@ManyToOne注解,在转化json是产生了循环引用 报的错误 解决方法: springmvc @ResponseBody 默认的json转化用 ...

  6. [DeeplearningAI笔记]序列模型2.9情感分类

    5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.9 Sentiment classification 情感分类 情感分类任务简单来说是看一段文本,然后分辨这个人是否喜欢 ...

  7. eclipse+myeclipse 使用技巧备忘

    myeclipse 导入多模块maven项目 https://blog.csdn.net/jack85986370/article/details/51371853 maven项目在eclipse的l ...

  8. 如何卸载掉eclipse中的插件

    First-->Help->About Eclipse Second--> Third-->

  9. HDU 3507 单调队列 斜率优化

    斜率优化的模板题 给出n个数以及M,你可以将这些数划分成几个区间,每个区间的值是里面数的和的平方+M,问所有区间值总和最小是多少. 如果不考虑平方,那么我们显然可以使用队列维护单调性,优化DP的线性方 ...

  10. My deep learning reading list

    My deep learning reading list 主要是顺着Bengio的PAMI review的文章找出来的.包括几本综述文章,将近100篇论文,各位山头们的Presentation.全部 ...