你目前正处于脱机状态,正在等待 Internet 重新连接

更新用于 Windows NT 的 TCP/IP 间隔网关检测算法

本文的发布号曾为 CHS171564
症状
当主网关发生故障时,您可能经历过无法通过路由器连接计算机的情况,尽管您已经出于冗余目的为 Windows NT 计算机配置了多个默认网关。
原因
Windows NT 4.0 支持通过 RFC 816 中所描述的“触发重选”的方法进行死网关检测。这种方法可以很容易地将当前默认网关切换到已配置好的第二、第三网关;然而,在做这一更改之前它并没有先去测试要切换到的那一网关是否正常。
解决方案
要解决这一问题,请获得 Windows NT 4.0 或 Windows NT Server 4.0 以及 Terminal Server Edition 的最新服务包。 有关其它信息,请参见 Microsoft Knowledge Base 中的下列文章:
152734 如何获得 Windows NT 4.0 的最新服务包

状态
Microsoft 已经确认这是 Windows NT 4.0 和 Windows NT Server 4.0,Terminal Server Edition 中存在的一个问题。 这一问题最先在 Windows NT 4.0 Service Pack 4 和 Windows NT Server 4.0,Terminal Server Edition Service Pack 4 中得到了纠正。
更多信息
以下是对 Windows NT 4.0 死网关检测算法的一些说明和解释:
  • 当路由通过默认网关的任一 TCP 连接试图向某个目标发送 TCP 数据包时,如果尝试次数达到 TcpMaxDataRetransmissions 注册表值的一半还没收到响应,死网关检测算法就建议 IP 切换到列表中的下一网关。

    经过更新的算法在建议 IP 切换网关时更加谨慎:

  • 当路由通过默认网关的任一 TCP 连接试图向某个目标发送 TCP 数据包时,如果尝试次数达到 TcpMaxDataRetransmissions 注册表值的一半还没有收到响应,算法只将该远程 IP 地址的路由缓存项 (RCE) 改为使用列表中的下一默认网关。 当超过 25% 的 TCP 连接转向下一默认网关时,新算法才建议 IP 将整个计算机的默认网关都改为这些连接正使用的网关。

新算法示例



假设当前有通向 11 个不同 IP 地址的 TCP 连接路由通过默认网关。 现在假定默认网关出现故障,而计算机已经配置好了第二默认网关,TcpMaxDataRetransmissions 的值为默认的 5。

当第一个 TCP 连接试图发送数据时,收不到任何响应。 重复发送三次以后,该远程 IP 地址的 RCE 将改为使用列表中的下一默认网关。 到此为止,通向该远程 IP 地址的任何 TCP 连接都转为使用第二网关,但其余的连接仍将企图使用原来的默认网关。

当第二个 TCP 连接试图发送数据时,发生与上述相同的过程。 现在,11 个 RCE 中的 2 个指向了新网关。

当第三个 TCP 连接试图发送数据并尝试三次以后,就会有 11 个 RCE 中的 3 个切换到了第二默认网关。 到此为止,已经有超过 25% 的 RCE 发生了变化,因此整台计算机的默认网关也都将改为新的网关。

这时候,该默认网关将一直作为计算机的主网关,直到它也发生问题(引起死网关算法再次尝试列表中的下一网关)或计算机重新启动为止。

如果算法到达了默认网关列表的底部,它将返回列表开头重新搜索。
属性

文章 ID:171564 - 上次审阅时间:03/16/2000 18:29:00 - 修订版本: 1.0

  • Microsoft Windows NT Workstation 4.0 开发员版
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Server 4.0 Terminal Server(终端服务器)
  • kbbug kbfix kbnetwork kbwinnt400sp4fix KB171564
反馈