mtu值相关
Mac 系统
Mac 下能连接VPN但是上不了网的,在System Preference->Network->Ethernet->Advanced->Ethernet->MTU的值
默认的是1500 改成1450就可以了。如不行,继续改小。
特别提示:有网友报告,使用Airport无线网卡连接VPN时,mtu的自定义值无效,是苹果系统著名BUG。
不完美解决办法:打开Utilities(实用工具)->Terminal(终端),键入:sudo ifconfig en1 mtu 1450——其中en1通常是Airport网卡,1450是多数VPN适合的MTU,可根据不同网络环境调整,如将MTU设为1444。然后回车,输入管理员密码。
此方法每次开机重启都要做一次。
用有线网卡连接VPN的朋友可以忽略这个提示。
Win XP
连上VPN去这个地址看目前MTU:
http://www.speedguide.net/analyzer.php
修改MTU用:
http://www.speedguide.net/files/TCPOptimizer.exe
微软官方文档
如何更改 PPP 连接或 VPN 连接的默认最大传输单位 (MTU) 大小设置
怎样改变MTU设置
一般情况Windows Server 2003, 2000 和XP使用一个固定的最大信号流通值(MTU),所有PPP连接使用1500bytes MTU而所有VPN连接使用1400bytes. 但是如果您使用 MTU原有设定的话可能有时会遇到VPN和网速减慢或终断的情况,特别是如果您使用DSL连网的话. 下面是如何改变点至点联通配置(PPP)和虚拟私人网路(VPN)的MTU设置的步骤
如何在XP上改变VPN的MTU设置
要改变VPN的MTU设置,您需要添加VPN ProtocolType DWORD值, PPPProtocolType DWORD值,和TunnelMTU DWORD值到下面的registry key:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNdiswanParametersProt ocols
请按照下面的步骤做:
1. 点击Start, 点击Run, 在打开的项键入 regedit, 点击OK.
2. 找到并点击下面registry的subkey:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNdisWanParameters
3. 加入Protocols subkey (如果没有已经存在). 这样做:
a. 在Edit菜单上, 指向New, 然后点击Key.
b. 键入Protocols, 然后点击ENTER.
4. 加一个0 (零) subkey 在Protocols subkey上. 这样做:
a. 点击在第三步中加入的Protocols sub key.
b. 在Edit菜单, 指向New, 然后点击Key.
c. 键入 0 (零), and 然后点击ENTER.
5. 点击在第四步中加入的 0 subkey.
6. 在Edit菜单, 指向New, 然后点击DWORD值.
7. 在开出的填项中键入ProtocolType, 然后点击OK.
8. 在Edit菜单上, 点击Modify.
9. 在填项中键入800, 确认下面的Hexadecimal is已被选, 然后点击OK.
10. 在Edit菜单上, 指向New, 然后点击DWORD值.
11. 键入PPPProtocolType, 然后点击ENTER.
12. 在Edit菜单上, 点击Modify.
13. 在填项中键入21, 确认下面的Hexadecimal已被选, 然后点击OK.
14. 在Edit菜单上, 指向New, 然后点击DWORD值.
15. 键入TunnelMTU, 然后点击ENTER.
16. 在Edit菜单上, 点击Modify.
17. 在下面,点击Decimal, 在打开的填项中键入您想要的MTU值 (例如 1460), 然后点击 OK.
18. 关闭Registry修改程序.
19. 重新启动您的电脑.
MTU知识
MTU (最大传输单元)是网络设备传输的信息包最大值。对于NETGEAR的设备,最佳的MTU值通常都是默认值。有时,更改MTU 值可提高设备工作性能,做起来很简单,但事实上,这样做往往会导致出现其他问题。最好保持MTU不变,除非有以下情况出现:
- 当连接不到ISP或者不能使用其他的因特网服务时,且他们的技术支持人员建议更改MTU值
- 当您使用 VPN,遇到性能问题时可以考虑更改MTU
- 为了提高网络的某些性能,使用了可优化MTU 值的应用程序,而这引起了连通性和其他性能方面的问题
一个信息包被发送到MTU值较小的设备时,将被分解为若干小块。理论上,在所有电脑、交换机、路由器及您能访问到的因特网的所有设备上的MTU值应该设置为同一大小。但是您不能控制因特网上的 MTU 值,而事实上在一个局域网中的最佳MTU值取决于硬件、软件、无线接口等等。
- 在一种情形下修改MTU的大小可使设备很好地工作, 但在其他方面却可能引起性能和连接性问题
- 当具有不同MTU值的设备相互通信时,信息包将会被分成多个以便能传给具有最小的MTU值的设备
- Windows XP自动设置MTU ,换句话说,它使MTU对于各种应用综合性能最优化。微软的文章解释了使用Windows XP的宽带用户不能连接到ISP的原因
- 一旦网络设备分解了一个信息包,此信息包在到达目的地前一直保持分解的状态
各种应用下的最佳MTU值
设置MTU大小是一个反复试验的过程: 由最大值1500开始下降,直至问题解决。使用下列值之一或许能解决一些由MTU值引起的问题:
- 1500. 以太网信息包最大值,也是默认值。是没有PPPoE和VPN 的网络连接的典型设置。是 NETGEAR 路由器、网络适配器和交换机的默认设置
- 1492. PPPoE 的最佳值
- 1472. 使用 ping 的最大值 (大于此值的信息包会先被分解)
- 1468. DHCP的最佳值
- 1430. VPN和PPTP 的最佳值
- 576. 拨号连接到ISP的标准值
下面给出宽带网络下利用Ping命令测试本地最佳MTU值的方法。
测试思路如下:在广域网上,大小超出ISP要求的数据包将无法传输,而路由器则会根据本机MTU值自动将大小不符合要求的数据进行分包处理再进行传输,所以我们可以通过向Internet上的某台主机发送一个定长数据包,并且不允许路由器更改其大小的方式去检查该数据包能否被正常传输,如果数据包小于或等于ISP的MTU值时,传输就能正常进行,而如果发送的数据包大于ISP使用的MTU值时,传输就会失败,这样我们就能通过不断发送不同大小的数据包最终得到ISP端的MTU大小,而这个数据再加上28字节的包头信息就是我们需要的最终MTU值。
测试步骤如下:
1. 拨号上网,并打开“开始”菜单→“程序→附件→命令提示符”。
2. 输入命令“ping -l 14xx -f www.google.com”,这里我们解释一下命令参数的含义:
* –l 14xx参数:发送一个定长数据包,14xx是要测试的包大小,如前所述,ADSL的MTU一般在1450与1492之间,第3步中将每次更换一次该值。上面的式子中,-l是L的小写(不是1喔)。
* –f 参数:通知路由器不能私自更改该数据包大小。
* www.google.com:任意一台Internet上的主机,也可使用其它主机名或IP地址。
3. 观察反馈结果并判断ISP的MTU值。
1) 第一次发送测试包,包长1492
如图1,提示数据包过大,需要分包,因此判断该数值(1492)大于ISP的MTU,应降低包大小。

2) 第二次发送测试包,包长1460
如图2,数据包大小降为1460,提示数据包过大,因此判断该值(1460)仍大于ISP的MTU,还应继续降低。

3) 第三次发送测试包,包长1450
如图3,数据包大小降为1450,提示该数据包可以正常传输,因此判断ISP的MTU值在1450~1460之间。

4) 第四次发送测试包,包长1455
如图4,数据包大小升为1455,提示数据包过大,因此判断MTU数值在1450~1455之间。

5) 第五次发送测试包,包长1452
如图5,数据包大小升为1452,提示可正常传输,因此判断MTU数值在1452~1455之间。

6) 第六次发送数据包,包长1453
如图6,数据包大小升为1453,提示因数据包过大无法传输,因此,判断出该ISP的MTU值为1452。

4. 修改路由器的MTU值
上面得到的MTU值不能直接用于本地设置上,还应在此基础上加上28(数据包头大小28字节),因此最终在WAN设置页面修改MTU大小为1480。
经过测试,通过修改路由器中的MTU值可以成功解决通过路由器上网后“能上QQ不能打开网页”、“部分网站或链接打不开”、“MSN登录不了”(请将MTU置为1480)、“Email无法发送附件”等问题。
Howdy, i read your blog occasionally and i own a similar one and i was just wondering if you get a lot of spam comments? If so how do you prevent it, any plugin or anything you can advise? I get so much lately it’s driving me mad so any assistance is very much appreciated.