摘要
MS05-019 安全更新修改了操作系统验证 Internet 控制消息协议 (ICMP) 请求的方式。 此安全更新可防止基于 ICMP 的攻击。 但是,在特殊情况下,此安全更新可能会导致计算机失去网络连接。 本文介绍了三种方法,可用于帮助防止计算机在安装 MS05-019 安全更新后断开网络连接。
简介
本文介绍最大传输单元 (MTU) 大小小于 576 的广域网 (WAN) 链路的推荐 TCP/IP 设置。
详细信息
重要:本节、方法或任务包含如何修改注册表的步骤。 但如果注册表修改不当,可能造成严重问题。 因此,请务必仔细遵循以下步骤。 为增强保护,请在修改前备份注册表。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的更多信息,请单击下面的文章编号查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows 中备份和还原注册表
MS05-019 安全更新修改了操作系统验证 Internet 控制消息协议 (ICMP) 请求的方式。 此安全更新将最小 MTU 大小限制为 576 字节。 限制 MTU 大小以防止基于 ICMP 的攻击。 基于 ICMP 的攻击可能会将 MTU 大小减小到非常低的值。 非常低的 MTU 大小可能会导致性能严重下降。
但是,限制为 576 字节的 MTU 大小可能会影响某些 WAN 方案,例如卫星链路。 在这些 WAN 方案中,MTU 大小可能小于 576。 在这些 WAN 方案中,网络连接可能会丢失。 可以使用网络监视器等工具通过分析网络跟踪来检测是否正在经历此类场景。 如果网络连接丢失的目标具有任何下一跃点 MTU 值小于 576 的 ICMP 目标不可达消息,则说明您正在经历这种情况。
在这些特殊情况下,请考虑使用以下建议之一。
注意:如果您没有遇到这些情况之一,则不应使用以下建议。 以下建议可能会降低网络吞吐量。
方法 1:启用路径最大传输单元 (PMTU) 黑洞检测
如果启用 PMTU) 黑洞检测 (路径最大传输单元“功能,TCP 将尝试发送未设置”不分段“位的段。 如果一个段的多次重传未得到确认,TCP 将尝试发送这些段。 如果确认某个段,则将减小 MSS) (最大段大小,并且将在连接的未来数据包中设置“不分段”位。
此方法是首选,因为仅有问题的段的数据包大小会降低。 黑洞检测增加了特定段的最大重传次数。
要启用 PMTU 黑洞探测,请按照下列步骤操作:
单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
在注册表中找到以下键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
键入 EnablePMTUBHDetect,然后按 Enter 键。
在“编辑”菜单上,单击“修改”。
在“数值数据”框中,键入 1,然后单击“确定”。
退出注册表编辑器,然后重启计算机。
方法 2:禁用 PMTU 发现
如果禁用 PMTU 发现,TCP 将仅发送 MTU 大小为 576 且未设置“不分段”的数据包。 这使路由器能够对数据包进行分段并通过网络发送数据包。
此方法会影响发送到所有目标的数据包。 大多数时候,当数据包大小为 576 时,性能将处于可接受的水平。 但是,性能将低于启用 PMTU 发现且路径支持大于 576 的 MTU 大小的情况。
要禁用 PMTU 发现,请按照下列步骤操作:
单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
在注册表中找到以下键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
键入 EnablePMTUDiscovery,然后按 Enter 键。
在“编辑”菜单上,单击“修改”。
在 “值数据 ”框中,键入 0,然后单击 “确定”。
退出注册表编辑器,然后重启计算机。
方法 3:手动设置网络接口的 MTU 大小
如果手动设置网络接口的 MTU 大小,则此设置将替代网络接口的默认 MTU。 MTU 大小是传输将通过基础网络传输的最大数据包大小(以字节为单位)。
此方法会影响发送到所有目标的数据包,并且可能会显著影响性能,具体取决于设置的 MTU 大小。
若要设置网络接口的 MTU 大小,请执行以下步骤:
单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
在注册表中找到以下键:
网络接口的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<ID>
在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
键入“MTU”,然后按 Enter。
在“编辑”菜单上,单击“修改”。
在 “值数据 ”框中,键入 MTU 大小的值,然后单击 “确定”。
退出注册表编辑器,然后重启计算机。
参考资料
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
898060 安装安全更新 MS05-019 或 Windows Server 2003 Service Pack 1 后,客户端和服务器之间的网络连接可能会失败
有关 TCP/IP 的更多信息,请访问下面的 Microsoft TechNet 网站:
网络和 TCP/IP 概述
http://technet.microsoft.com/en-us/library/cc739443 (WS.10) .aspx