使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

概要

MS05-019 安全更新修改了操作系统验证 Internet 控制消息协议 (ICMP) 请求的方式。该安全更新可防止基于 ICMP 的攻击。但是,在特定情况下,该安全更新可能会导致计算机丢失网络连接。本文介绍的三种方法可以帮助防止计算机在安装 MS05-019 安全更新后丢失网络连接。

简介

本文介绍为最大传输单位 (MTU) 大小低于 576 的 WAN 链接推荐的 TCP/IP 设置。

更多信息

重要说明:此部分、方法或任务包含有关如何修改注册表的步骤。但是,注册表修改不当可能会出现严重问题。因此,请一定严格按照下列步骤操作。为了获得进一步保护,请在修改注册表之前对其进行备份。这样就可以在出现问题时还原注册表。有关如何备份和还原注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

322756 如何在 Windows XP 和 Windows Server 2003 中备份、编辑和还原注册表

MS05-019 安全更新修改了操作系统验证 Internet 控制消息协议 (ICMP) 请求的方式。该安全更新会将最小 MTU 大小限制为 576 个字节。限制 MTU 大小是为了防止基于 ICMP 的攻击。基于 ICMP 的攻击可将 MTU 大小降到非常低的值。非常低的 MTU 大小可导致服务器性能降低。

但是,将 MTU 大小限制为 576 个字节可能会影响某些 WAN 情形,如卫星链接。在这些 WAN 情形中,MTU 大小可能小于 576。此时,可能会丢失网络连接。 可以使用网络监视器这样的工具通过分析网络跟踪,来检测是否正遇到这样的情形。如果丢失网络连接的目标包含任何“无法达到 ICMP 目标”消息,且下一跃点 MTU 值小于 576,则表明可能遇到了此类情形。



在这些特殊情形中,请考虑使用下列建议之一。

注意:如果未遇到这些情形之一,请不要采用以下建议。以下建议可能会降低网络吞吐量。

方法 1:启用路径最大传送单元 (PMTU) 黑洞检测

如果启用了路径最大传送单元 (PMTU) 黑洞检测功能,TCP 将尝试发送未设置 Don't Fragment 位的片段。如果一个片段几次重新发送都没有得到确认,则 TCP 将尝试发送这些片段。如果片段得到确认,则最大片段大小 (MSS) 将减小,并且在连接上将在今后的数据包中设置 Don't Fragment 位。



请优先考虑此方法,因为数据包大小仅针对有问题的片段而减小。黑洞检测会增加特定片段的最大重新发送次数。

要启用 PMTU 黑洞检测,请按照下列步骤操作:

  1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。

  2. 在注册表中找到下面的项:



    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。

  4. 键入 EnablePMTUBHDetect,然后按 Enter。

  5. 在“编辑”菜单上,单击“修改”。

  6. 在“数值数据”框中,键入 1,然后单击“确定”。

  7. 退出注册表编辑器,然后重新启动计算机。

方法 2:禁用 PMTU 发现

如果禁用了 PMTU 发现,则 TCP 将仅发送 MTU 大小为 576 且未设置 Don't Fragment 位的数据包。这样路由器就能够将数据包分段并跨网络发送数据包。



此方法影响发送到所有目标的数据包。通常,在数据包大小为 576 时,性能处于一个可接受的级别,但是,如果启用了 PMTU 发现且路径支持的 MTU 大小大于 576,则性能将会更低。


要禁用 PMTU 发现,请按照下列步骤操作:

  1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。

  2. 在注册表中找到下面的项:



    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。

  4. 键入 EnablePMTUDiscovery,然后按 Enter。

  5. 在“编辑”菜单上,单击“修改”。

  6. 在“数值数据”框中,键入 0,然后单击“确定”。

  7. 退出注册表编辑器,然后重新启动计算机。

方法 3:手动为网络接口设置 MTU 大小

如果手动为某个网络接口设置 MTU 大小,则该设置会覆盖此网络接口的默认 MTU。MTU 大小是可以在底层网络上传输的最大数据包大小(以字节为单位)。



此方法影响发送到所有目标的数据包,并且可能会对性能造成显著影响,这取决于设置的 MTU 大小。


要为网络接口设置 MTU 大小,请按照下列步骤操作:

  1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。

  2. 在注册表中找到下面的项:



    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<ID for network interface>

  3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。

  4. 键入 MTU,然后按 Enter。

  5. 在“编辑”菜单上,单击“修改”。

  6. 在“数值数据”框中,键入 MTU 大小的值,然后单击“确定”。

  7. 退出注册表编辑器,然后重新启动计算机。

参考

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

898060 安装安全更新 MS05-019 或 Windows Server 2003 Service Pack 1 可能导致客户端和服务器之间的网络连接失败
有关 TCP/IP 的更多信息,请访问下面的 Microsoft TechNet 网站:

Overview of networking and TCP/IP
http://technet.microsoft.com/zh-cn/library/cc739443(en-us).aspx

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×