区域传输技术

来源:互联网 发布:上海进出口数据 编辑:程序博客网 时间:2024/05/17 06:07

<摘自--https://msdn.microsoft.com/zh-cn/library/cc781340(v=ws.10).aspx>

了解区域和区域传输

域名系统 (DNS) 允许 DNS 名称空间分成几个区域,这些区域存储有关一个或多个 DNS 域的名称信息。对于包括在区域中的每个 DNS 域名,该区域成为该域的有关信息的权威性信息源。

了解区域和域之间的差异

对于单个 DNS 域名,区域作为存储数据库启动。如果其他的域添加到用于创建该区域的域的下面,那么这些域可以或者是同一区域的一部分,或者属于另一个区域。一旦添加了子域,则它可以:

  • 作为源区域记录的一部分管理和包含,或

  • 委派到为支持子域而创建的另一区域

例如,下图显示了 microsoft.com 域,该域包括 Microsoft 的域名。在单个服务器上首次创建 microsoft.com 域时,对于所有的 Microsoft DNS 名称空间,该域配置为单独区域。然而,如果这个 microsoft.com 域需要使用子域,则这些子域必须包含在该区域中或委派到另一个区域。

区域和域之间的差异

在此范例中,example.microsoft.com 域表示新的子域,example.microsoft.com 由 microsoft.com 域委派并在它自己的区域中管理。但是,microsoft.com 区域需要包含几个资源记录以提供委派信息,该信息参考了对于委派的 example.microsoft.com 子域具有绝对权威的 DNS 服务器。

如果 microsoft.com 区域不对子域使用委派方式,则子域的任何数据都保留为 microsoft.com 区域的一部分。例如,虽然没有委派子域 dev.microsoft.com,但是它由 microsoft.com 区域管理。

为什么需要区域复制和区域传输

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

当新的 DNS 服务器添加到网络,并且配置为现有区域的新的辅助服务器时,它执行该区域的完全初始传输,以便获得和复制区域的一份完整的资源记录副本。对于大多数较早版本的 DNS 服务器实现,在区域更改后如果区域请求更新,则还将使用相同的完全区域传输方法。对于运行 Windows Server 2003 的 DNS 服务器来说,DNS 服务支持“增量区域传输”,它是一种用于中间更改的修订的 DNS 区域传输过程。

增量区域传输

在征求意见文档 RFC 1995 中,递增区域传输被描述为另一个复制 DNS 区域的 DNS 标准。有关 RFC 的详细信息,请参阅 RFC Editor 网站。当作为区域源的 DNS 服务器和从其中复制区域的任何服务器都支持递增传输时,它提供了公布区域变化和更新情况的更有效方法。

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

通过 IXFR 区域传输时,区域的复制版本和源区域之间的差异必须首先确定。如果该区域识别为与每个区域的启动授权机构 (SOA) 资源记录中序列号字段所指示的版本相同,则不进行任何传送。

如果源区域中区域的序列号比申请辅助服务器中的大,则传输的内容仅由区域中每个递增版本的资源记录的改动组成。为了使 IXFR 查询成功并发送更改的内容,此区域的源 DNS 服务器必须保留递增区域变化的历史记录,以便在应答这些查询时使用。实际上,递增传输过程在网络上需要更少的通讯量,而且区域传输完成得更快。

例如:区域传输

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

  • 当区域的刷新间隔到期时

  • 当其主服务器向辅助服务器通知区域更改时

  • 当 DNS 服务器服务在区域的辅助服务器上启动时

  • 在区域的辅助服务器使用 DNS 控制台以便手动启动来自其主服务器的传输时

区域传输始终在区域的辅助服务器上开始,并且发送到作为区域源配置的主服务器中。主服务器可以是加载区域的任何其他 DNS 服务器,如区域的主服务器或另一辅助服务器。当主服务器接收区域的请求时,它可以通过区域的部分或全部传输来应答辅助服务器。

如下图所示,服务器之间的区域传输按顺序进行。该过程取决于区域在以前是否复制过而变化,或者取决于是否在执行新区域的初次复制而变化。

示例: 区域复制

在本范例中,请求辅助服务器(区域的目标服务器)及其源服务器(提供区域的另一 DNS 服务器)按以下顺序执行。

  1. 在进行新的配置期间,目标服务器向主 DNS 服务器(配置为区域源)发送初始“所有区域”传送 (AXFR) 请求。

  2. 主(源)服务器作出响应,并将此区域完全传输到辅助(目标)服务器。 

    该区域发送给请求传输的目标服务器,通过启动授权机构 (SOA) 资源记录 (RR) 的属性中的“序列号”字段建立的版本一起传输。SOA RR 也包含一个以秒为单位的状态刷新间隔(默认设置是 900 秒或 15 分钟),指出目标服务器下一次应在何时请求使用源服务器来续订该区域。

  3. 刷新间隔到期时,目标服务器使用 SOA 查询来请求从源服务器续订此区域。

  4. 源服务器应答其 SOA 记录的查询。 

    该响应包括该区域在源服务器中的当前状态的序列号。

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

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

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

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

  7. 源服务器通过区域的递增传输或完全传输作出响应。 

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

    如果源服务器不支持递增传输或没有区域变化的历史记录,则它可通过其他区域的完全 (AXFR) 传输作出应答。

注意

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

DNS 通知

基于 Windows 的 DNS 服务器支持 DNS 通知,即原始 DNS 协议规范的更新,它允许在区域发生更改时使用向辅助服务器发送通知的方法 (RFC 1996)。当某个区域更新时,“DNS 通知”执行推传递机制,通知选定的辅助服务器组。然后被通知的服务器可开始进行上述区域传输,以便从它们的主服务器提取区域变化并更新此区域的本地副本。

由于辅助服务器从充当它们所配置的区域源的 DNS 服务器那儿获得通知,每个辅助服务器都必须首先在源服务器的通知列表中拥有其 IP 地址。使用 DNS 控制台时,该列表保存在“通知”对话框中,它可以从区域“属性”中的“区域传输”选项卡进行访问。

除了通知列出的服务器外,DNS 控制台还允许将通知列表的内容,作为限制区域传输只访问列表中所指定的辅助服务器的一种方式。它有助于防止未知的或未批准的 DNS 服务器在提取、请求或区域更新方面做一些不希望进行的尝试。详细信息,请参阅创建和管理区域的通知列表。

以下是对区域更新的典型 DNS 通知过程的简要总结:

  1. 在 DNS 服务器上充当主服务器的本地区域,即其他服务器的区域源,将被更新。当此区域在主服务器或源服务器上更新时,SOA RR 中的序列号字段也被更新,表示这是该区域的新的本地版本。

  2. 主服务器将 DNS 通知消息发送到其他服务器,它们是其配置的通知列表的一部分。

  3. 接收通知消息的所有辅助服务器,随后可通过将区域传输请求发回通知主服务器来作出响应。

正常的区域传输过程随后就可如上所述继续进行。

不能为存根区域配置通知列表。

要点

  • 使用 DNS 通知仅用于通知作为区域辅助服务器操作的服务器。对于和目录集成的区域的复制,不需要 DNS 通知。 

    这是因为从 Active Directory 加载区域的任何 DNS 服务器,将自动轮询目录(如 SOA 资源记录的刷新间隔指定的那样)以便更新与刷新该区域。

    在这些情况下,配置通知列表确实可能降低系统性能,因为对更新区域产生了不必要的其他传输请求。

注意

  • 默认情况下,DNS 服务器只允许向区域的名称服务器 (NS) 的资源记录中列出的权威 DNS 服务器进行区域传输

0 0