MTU 相关

转自MS

http://support.microsoft.com/?kbid=826159

http://support.microsoft.com/kb/283165/zh-cn

http://support.microsoft.com/kb/900926

Microsoft Windows Server 2003、Microsoft Windows 2000 和 Microsoft Windows XP 使用的 MTU 大小是固定的,对于所有的 PPP 连接为 1500 字节,对于所有的 VPN 连接为 1400 字节。对于正在运行路由和远程访问的 PPP 客户端、VPN 客户端、PPP 服务器或 VPN 服务器,此为默认设置。

如调制解调器连接、综合业务数字网 (ISDN) 连接或通过空的串行电缆或通过并行电缆的直接电缆连接都是 PPP 连接。VPN 连接是点对点隧道协议 (PPTP) 连接或第 2 层隧道协议 (L2TP) 连接。

[@more@]

更改 PPP 连接的 MTU 设置

要更改 PPP 连接的 MTU 设置,请在下面的注册表项中添加 ProtocolType DWORD 值、PPPProtocolType DWORD 值和 ProtocolMTU DWORD 值:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetNdiswanParametersProtocols
为此,请按以下步骤操作。

警告:“注册表编辑器”使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因“注册表编辑器”使用不当而导致的问题。使用“注册表编辑器”需要您自担风险。
  1. 单击“开始”,单击“运行”,在“打开”框中键入 regedit,然后单击“确定”。
  2. 在注册表中找到并单击以下子项:
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNdisWanParameters
  3. 添加一个 Protocols 子项(如果它不存在)。为此,请按照下列步骤操作:
    1. 在“编辑”菜单上,指向“新建”,然后单击“项”。
    2. 键入 Protocols,然后按 Enter 键。
  4. 为 Protocols 子项添加一个 0(零)子项。为此,请按照下列步骤操作:
    1. 单击在步骤 3 中创建的 Protocols 子项。
    2. 在“编辑”菜单上,指向“新建”,然后单击“项”。
    3. 键入 0(零),然后按 Enter 键。
  5. 单击在步骤 4 中创建的 0 子项。
  6. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
  7. 在“数值数据”框中,键入 ProtocolType,然后单击“确定”。
  8. 在“编辑”菜单上,单击“修改”。
  9. 在“数值数据”框中,键入 800,请确认“基数”下面的“十六进制”被选中,然后单击“确定”。
  10. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
  11. 键入 PPPProtocolType,然后按 Enter 键。
  12. 在“编辑”菜单上,单击“修改”。
  13. 在“数值数据”框中,键入 21,请确认“基数”下面的“十六进制”被选中,然后单击“确定”。
  14. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
  15. 键入 ProtocolMTU,然后按 Enter 键。
  16. 在“编辑”菜单上,单击“修改”。
  17. 在“基数”下面,单击“十进制”,键入在“数值数据”框中想要的 MTU 的大小,然后单击“确定”。
  18. 退出“注册表编辑器”。
  19. 重新启动计算机。

更改 VPN 连接的 MTU 设置

要更改 VPN 连接的 MTU 设置,请在下面的注册表项中添加 ProtocolType DWORD 值、PPPProtocolType DWORD 值和 TunnelMTU DWORD 值:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetNdiswanParametersProtocols
为此,请按以下步骤操作。

警告:“注册表编辑器”使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因“注册表编辑器”使用不当而导致的问题。使用“注册表编辑器”需要您自担风险。
  1. 单击“开始”,单击“运行”,在“打开”框中键入 regedit,然后单击“确定”。
  2. 在注册表中找到并单击以下子项:
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNdisWanParameters
  3. 添加一个 Protocols 子项(如果它不存在)。为此,请按照下列步骤操作:
    1. 在“编辑”菜单上,指向“新建”,然后单击“项”。
    2. 键入 Protocols,然后按 Enter 键。
  4. 为 Protocols 子项添加一个 0(零)子项。为此,请按照下列步骤操作:
    1. 单击在步骤 3 中创建的 Protocols 子项。
    2. 在“编辑”菜单上,指向“新建”,然后单击“项”。
    3. 键入 0(零),然后按 Enter 键。
  5. 单击在步骤 4 中创建的 0 子项。
  6. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
  7. 在“数值数据”框中,键入 ProtocolType,然后单击“确定”。
  8. 在“编辑”菜单上,单击“修改”。
  9. 在“数值数据”框中,键入 800,请确认“基数”下面的“十六进制”被选中,然后单击“确定”。
  10. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
  11. 键入 PPPProtocolType,然后按 Enter 键。
  12. 在“编辑”菜单上,单击“修改”。
  13. 在“数值数据”框中,键入 21,请确认“基数”下面的“十六进制”被选中,然后单击“确定”。
  14. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
  15. 键入 TunnelMTU,然后按 Enter 键。
  16. 在“编辑”菜单上,单击“修改”。
  17. 在“基数”下面,单击“十进制”,键入在“数值数据”框中想要的 MTU 的大小,然后单击“确定”。
  18. 退出“注册表编辑器”。
  19. 重新启动计算机。

本文介绍如何更改 PPPoE 最大传送单位 (MTU) 大小。

默认和最大 PPPoE MTU 大小为 1,480 字节。对于某些 Internet 服务提供商 (ISP),您可能需要将 PPPoE 连接的 MTU 大小降至 1,400 和 1,480 之间的一个值(例如 1,454)。不要将 MTU 大小设置为小于 1,400。 有关默认 MTU 大小的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

314496 (http://support.microsoft.com/kb/314496/ ) 不同网络拓扑的默认 MTU 大小
有关如何确定是否需要降低 PPPoE 连接的 MTU 大小的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
159211 (http://support.microsoft.com/kb/159211/ ) Diagnoses and Treatment of Black Hole Routers

修改 MTU 大小

警告:“注册表编辑器”使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因“注册表编辑器”使用不当而导致的问题。使用“注册表编辑器”需要您自担风险。

要修改 PPPoE MTU 大小,请创建以下注册表项:
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesNdiswanParametersProtocols
并添加下列注册表值:
数值名称:ProtocolType
数据类型:REG_DWORD
数值数据:0x00000800

数值名称:PPPProtocolType
数据类型:REG_DWORD
数值数据:0x00000021

数值名称:ProtocolMTU
数据类型:REG_DWORD
数值数据适当的 MTU 大小(十进制)
为此,请按下列步骤操作:
  1. 单击开始,单击运行,键入 regedit,然后单击确定
  2. 在注册表中找到并单击以下注册表项:
    HKEY_LOCAL_MACHINESystemCurrentControlSetServicesNdiswanParameters
  3. 编辑菜单上,指向新建,然后单击
  4. 键入 Protocols,然后按 Enter 键。
  5. 编辑菜单上,指向新建,然后单击
  6. 键入 0,然后按 Enter 键。
  7. 编辑菜单上,指向新建,然后单击 DWORD 值
  8. 键入 ProtocolType,然后按 Enter 键。
  9. 编辑菜单上,单击修改
  10. 键入 800,然后单击确定
  11. 编辑菜单上,指向新建,然后单击 DWORD 值
  12. 键入 PPPProtocolType,然后按 Enter 键。
  13. 编辑菜单上,单击修改
  14. 键入 21,然后单击确定
  15. 编辑菜单上,指向新建,然后单击 DWORD 值
  16. 键入 ProtocolMTU,然后按 Enter 键。
  17. 编辑菜单上,单击修改
  18. 键入 适当的 MTU 大小(十进制值),然后单击确定
  19. 退出“注册表编辑器”。
注意:
  • 结果,如果 MTU 大小被设置为 1460(十进制),则以下命令行中的 NUM 的最大值可以为 1432:
    ping IP_address -f -l NUM
  • 您可能需要重新启动计算机才能使这一更改生效。

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

322756 (http://support.microsoft.com/kb/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_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
  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_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
  3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
  4. 键入 EnablePMTUDiscovery,然后按 Enter。
  5. 在“编辑”菜单上,单击“修改”。
  6. 在“数值数据”框中,键入 0,然后单击“确定”。
  7. 退出注册表编辑器,然后重新启动计算机。

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

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

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

要为网络接口设置 MTU 大小,请按照下列步骤操作:
  1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
  2. 在注册表中找到下面的项:
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces
  3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
  4. 键入 MTU,然后按 Enter。
  5. 在“编辑”菜单上,单击“修改”。
  6. 在“数值数据”框中,键入 MTU 大小的值,然后单击“确定”。
  7. 退出注册表编辑器,然后重新启动计算机。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7329581/viewspace-1023523/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7329581/viewspace-1023523/

在Ubuntu中,可以使用sudo ifconfig eth0 mtu命令来修改MTU值。但是,当MTU值大于1500时,可能会遇到"SIOCSIFMTU: 无效的参数"错误。这个错误的原因可能是网卡驱动版本过低。你可以使用如下命令来查看网卡驱动版本: 另外,你也可以通过修改/etc/sysconfig/network-scripts/ifcfg-eth0文件来设置MTU值。你可以使用vim编辑器打开该文件,并在其中添加相应的内容。 关于Ubuntu的MTU问题,还有一个与SSH登录相关的情况。有时候,当你的MTU值大于等于服务器的MTU值时,可能会出现卡住的情况,并显示"expecting SSH2_MSG_KEX_ECDH_REPLY"。这可能是由于MTU值不匹配导致的。 所以,MTU值在Ubuntu中可以通过sudo ifconfig eth0 mtu命令或修改/etc/sysconfig/network-scripts/ifcfg-eth0文件来进行设置。同时,需要注意在SSH登录时MTU值的匹配问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [修改Ubuntu14.04虚拟机MTU值](https://blog.csdn.net/hhhlizhao/article/details/76223657)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Ubuntu修改mtu](https://blog.csdn.net/jyong/article/details/130355379)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值