Windows Server 2003 DNS 中 netmask 排序功能和轮循机制功能的说明

本文介绍 netmask 排序功能和轮循机制功能,以及如何结合使用这些功能。

适用于: Window Server 2003
原始 KB 数: 842197

总结

本文介绍 Windows Server 2003 域名系统(DNS)中的网络掩码排序功能和轮循机制功能。 此外,本文介绍如何结合使用这些功能。 为此,可以随机化从 netmask 有序服务器返回的结果。

注意

DNS 的轮循机制功能使 DNS 可以每次以不同的顺序返回名称的 IP 地址。

详细信息

netmask 排序功能用于返回类型 A DNS 查询的地址,以便将本地资源优先分配给客户端。 例如,如果满足以下条件,则基于 Internet 协议(IP)地址邻近度将名称查询的结果返回到客户端:

  • 具有相同 DNS 名称的八个类型 A 记录。
  • 八种类型的 A 记录中的每条都有一个单独的地址。

在 Microsoft Windows 2000 Server 的初始版本中,此邻近度是根据分配给客户端的本机地址类计算的。 如果客户端分配了本机类 A 地址,则发送到客户端的响应由与客户端类 A 网络成员身份匹配的条目确定优先级。 这也适用于本机类 B 和本机类 C 地址。

轮循机制功能用于随机化类似查询类型的结果,以提供基本的负载均衡功能。 在前面的示例中,具有相同名称和不同 IP 地址的八个类型 A 记录会导致每个查询将不同的答案排在顶部。 由于每个查询将新的 IP 地址优先于顶部,因此不会重复将客户端路由到同一服务器。

Windows 2000 Server 的初始版本不能同时使用网络掩码排序功能和轮循机制功能。 如果启用了 netmask 排序功能,则始终按相同的顺序向客户端提供答案。 在 Windows Server 2003 中,此行为已更改为允许同时使用基于子网的 netmask 排序功能和轮循机制功能。 使用 netmask 排序功能和轮循机制功能可提供邻近感知和负载均衡。

在许多当前网络环境中,具有本机为实际地址的子网掩码并不常见。 因此,基于 IP 地址的本机类的 netmask 排序在预测网络是否为本地时是不可靠的。 无论本机地址类如何,Windows Server 2003 基数都位于 C 类上。

例如,公司分配有 126.45.x.x 子网。 8 位子网掩码不太可能用于在其内部网络中定义此子网。 此外,公司只拥有 A 类子网的一部分。 由于此范围可能分为 B 类或较小的网络,因此网络掩码排序可能不会返回靠近客户端的结果。 如果网络配置不同于本机地址类隐含的网络配置,则为 true。 由于 Windows Server 2003 基于类 C 的邻近度,因此关闭资源更易于发现。

可以使用 Dnscmd /Config /LocalNetPriorityNetMask 0x000000FF Dnscmd.exe 此命令将 Windows Server 2003 设置还原到默认设置。

尽管 Windows Server 2003 中的默认设置是基于类 C 的邻近度,但可以更改此设置。 可以根据环境定义掩码的相对部分。 发出 /LocalNetPriorityNetMask 开关时,可以指定对 netmask 排序操作非常重要的位。 可以使用 Dnscmd /Config /LocalNetPriorityNetMask 0x0000FFFF 命令将类 B(或 16 位)用于 netmask 排序。

下表列出了其他 netmask 排序设置:

网络掩码 LocalPriorityNet
255.255.255.0 0x000000ff
255.255.0.0 0x0000ffff
255.0.0.0 0x00ffffff

如果主机仅使用 6 位,掩码为 255.255.255.192。 在 CIDR 表示法中,无类域间路由是 /26 掩码。 可以使用 Dnscmd /Config /LocalNetPriorityNetMask 0x0000003F Dnscmd.exe 该命令配置子网类 C 地址。

重要位设置地址的哪个部分是主机空间。 由于0x3的二进制等效项为 11,0xF的二进制等效项为 1111,因此 6 位设置为主机地址的一部分。 如果需要 7 位(255.255.255.128 或 /25),则该值将0x0000007F,因为二进制等效0x7F为 0111 1111。 如果只需要 5 位(255.255.255.224 或 /27),则该值将0x0000001F,因为二进制等效的 x1F 为 0001 1111。

Dnscmd /Config /LocalNetPriorityNetMask 0xFFFFFFFF 命令将 Windows Server 2003 配置为使用基于客户端本机 IP 地址类的轮循机制和 netmask 排序。