[摘要]配置循环复用循环复用是 DNS 服务器用于共享和分配网络资源负载的本地平衡机制。如果发现主机名的多个 A RR,则可用它循环使用包含在查询应答中的主机 (A) 资源记录 (RR)。在默认情况下,DN...
配置循环复用
循环复用是 DNS 服务器用于共享和分配网络资源负载的本地平衡机制。如果发现主机名的多个 A RR,则可用它循环使用包含在查询应答中的主机 (A) 资源记录 (RR)。
在默认情况下,DNS 服务器的服务使用循环复用对资源记录进行排序,这些资源记录是在解析为多个映射 RR 的主机名应答中返回的。该功能提供了一种非常简便的方法,用于对客户机使用 Web 服务器和其他频繁查询的多宿主计算机的负载平衡。
要使循环复用正常工作,必须首先在该区域中注册所查询名称的多个 A RR。如果 DNS 服务器禁用循环复用,那么这些查询的响应顺序以应答列表中 RR 在区域(或者是它的区域文件,或者是 Active Directory)中存储时的静态排序为基础。
范例:循环复用
正向搜索型查询(对于所有匹配 DNS 域名的 A RR)用于有三个 IP 地址的多宿主计算机 (multihomed.example.microsoft.com)。独立的 A RR 用于将主机名映射到区域中的每个 IP 地址中。在存储的 example.microsoft.com 区域中,RR 以如下固定顺序显示:
multihomed IN A 10.0.0.2
multihomed IN A 10.0.0.3
multihomed IN A 10.0.0.1
查询服务器以解析该主机名的第一个 DNS 客户机以默认顺序接收列表。第二个客户机发送后续查询以解析该名称时,该列表将按以下方式循环使用:
multihomed IN A 10.0.0.2
multihomed IN A 10.0.0.3
multihomed IN A 10.0.0.1
注意
本地子网优先级取代了多宿主名称的循环复用。但是在启用时,循环复用仍然是对多个 RR 进行排序的辅助方法,这些 RR 是在作为地址 (A) 查询响应一部分的应答列表中返回的
区分本地子网的优先级
在默认情况下,当客户机查询解析为映射到多个 IP 地址的主机名时,DNS 服务使用本地子网优先排序作为给出同一网络上首选 IP 地址的方法。此功能要求客户应用程序尝试使用连接可用的最近(一般是最快的)IP 地址连接至主机。
DNS 服务按以下方式使用本地子网优先级:
DNS 服务确定是否需要本地子网的优先级排序查询响应。
如果有多个 A 资源记录 (RR) 与要查询的主机名匹配,则 DNS 服务可按其子网位置重新对记录进行排序。如果查询的主机名只与一个 A 资源记录匹配,或者客户机的 IP 网络地址与多重 RR 响应列表上的任何映射地址的 IP 网络地址匹配,则不需要进行优先排列。
对于匹配响应列表中的每一个 RR,DNS 服务决定了哪些记录(如果有)与查询客户机的子网位置匹配。
DNS 服务重新对响应列表进行排序,以便将与发出请求的客户机的本地子网匹配的 A RR 排在响应列表中的第一位。
按子网的顺序进行优先级排序后,响应列表将返回给发出请求的客户机。
简单范例:本地网络的优先排序
多宿主计算机 multihomed.example.microsoft.com,在 example.microsoft.com 区域中有三个主机 IP 地址相互分开的 A RR。单独的 A RR 用于每个主机的地址,该地址以如下顺序出现在区域中:
multihomed IN A 192.168.1.27
multihomed IN A 10.0.0.14
multihomed IN A 172.16.20.4
如果在 IP 地址 10.4.3.2 上的 DNS 客户机解析程序向服务器查询主机 multihomed.example.microsoft.com 的 IP 地址,则 DNS 服务将记录客户机的源 IP 网络地址 (10.0.0.0) 与 RR 响应列表中 10.0.0.4 地址的网络(类型 A)部分匹配。但是,DNS 服务按如下方式重新排序响应中的地址:
multihomed IN A 10.0.0.14
multihomed IN A 192.168.1.27
multihomed IN A 172.16.20.4
如果发出请求的客户机的 IP 地址没有与响应列表中任何 RR 匹配的本地网络,在这个列表不进行按优先级的排序。
复杂范例:本地子网的优先排序
如果要在使用 IP 子网(非默认子网掩码)的网络上工作,那么只存在很少的差异。如果在网络部分有多个地址匹配,则匹配的地址将被进一步排序并且最接近匹配子网地址的 RR 排列在第一位。
例如,多宿主计算机 multihomed.example.microsoft.com,在 example.microsoft.com 区域有四个主机 IP 地址相互分开的 A RR。其中的两个 IP 地址不是本地网的。虽然另外两个 IP 地址共享公用的 IP 网络地址,但是,因为使用了 IP 子网,因此它们代表基于自定义(非默认)子网掩码值 255.255.248.0 的不同物理子网连接。这些 RR 的例子以下列顺序出现在区域中:
multihomed IN A 192.168.1.27
multihomed IN A 172.16.22.4
multihomed IN A 10.0.0.14
multihomed IN A 172.16.31.5
如果发出请求的客户机的 IP 地址是 172.16.22.8,则与客户机相同的 IP 网络(172.16.0.0 网络)匹配的两个 IP 地址从响应列表的顶端返回到客户机。但是,在该例中,地址 172.16.22.4 被置于地址 172.16.31.5 之前,因为它与沿客户机 IP 地址一直到 172.16.20.0 的子网地址相匹配。
由 DNS 服务返回的重新排序的响应列表应为:
multihomed IN A 172.16.22.4
multihomed IN A 172.16.31.5
multihomed IN A 192.168.1.27
multihomed IN A 10.0.0.14
注意
IP 子网通过使用网络上所有 IP 地址的自定义或非默认子网掩码值进行加强。详细信息,请参阅子网掩码。
本地子网优先级取代了多宿主名称的循环复用。但是在启用循环复用时,通过将循环复用作为排序响应列表的辅助方法,RR 继续得以循环使用
这两个功能的最大的用处就是负载平衡,最常用的方式就是这样的:
假设你现在有两台WEB服务器使用了相同的内容,一个在内网一个在外网,为了减少内网用户访问外网中的网络并为内网用户提供一个较高的速度,你希望在使用一个DNS的情况下能够做到内网用户在使用域名访问时访问的是内网服务器,外网用户在使用域名访问的是外网服务器.
使用Win2000DNS这一点就非常容易做到,只要为每个服务器在DNS中使用相同的主机名建立A记录并启用DNS的循环复用与启用本地子网优先级功能就可以了,DNS服务器自然为你做好引导工作.
网络的神奇作用吸引着越来越多的用户加入其中,正因如此,网络的承受能力也面临着越来越严峻的考验―从硬件上、软件上、所用标准上......,各项技术都需要适时应势,对应发展,这正是网络迅速走向进步的催化剂。
……