教你怎么优化TCP/IP网络

ZDNet软件频道 时间:2009-12-06 作者:zdnet安全频道 | 论坛整理 我要评论()
本文关键词:TCP/IP
现在网络上通行的协议就是TCP/IP协议,在Windows系统中配置TCP/IP非常简单,只要指定IP地址、掩码、网关、DNS等选项后就能够让其进行工作。
  现在Windows服务器是众多用户的首先,以其使用方法、配置简单赢得了大家一致的好评。而现在网络上通行的协议就是TCP/IP协议,在Windows系统中配置TCP/IP非常简单,只要指定IP地址、掩码、网关、DNS等选项后就能够让其进行工作。而我们在学习TCP/IP的时候,所了解的情况并不是如此简单的。之所以出现两种截然相反的情况,是因为对于TCP/IP很多参数,Windows采用了默认的设置。我们知道一般默认的设置都讲究“不求有功,但求无过”的思想,即采用保守的配置以满意大部分用户的一般需求。对于追求性能的用户来说,就需要手工进行调整了。在对TCP/IP调整的过程中,最重要有效的就是调整最大传输单元MTU的值。下面我们就向大家介绍具体的优化过程。
 
  一、找出最合适的MTU值
 
  在默认情况下,TCP/IP在网络中的最大传输单元为1500.这是什么意思呢?我们知道网络传输数据是按数据包的形式来传送的,例如默认的MTU值为1500字节,那么当传送的数据大于1500时,则会以此为标准,将其分封个若干个1500字节,然后进行封包、解包操作。由此看来,MTU值的大小会影响到封包和解包操作的频率。
 
  那么我们是不是将MTU的值设的越大越好呢?当然不是,首先值过小,那么会在网络中进行频繁的封包和解包,其影响显而易见;而设置的值过大那么适合局域网内部的高速传输,但是接入Internet则会影响稳定性。因此我们需要寻找最合适的MTU值。
 
  寻找MTU合适大小的方法是借助Ping工具来完成的。在运行窗口中输入“cmd”后回车打开命令提示符窗口,输入“ping -f -l MTU值 网关IP”,其中-f表示不进行碎片整理,-l表示指定MTU的值,而最终朱则试我们一般是拿网关为标准。
 
  在测试时,我们可以先取一个基准数据,例如默认设置1500,如果命令执行之后返回的提示信息是“Packet needs to be fragmented but DF set.”时,那则说明我们设置的MTU值过大,不适合当前的网络(图1);当不适合时则需要重新执行该命令并将MTU值改小,而返回的信息变成“Reply from 192.168.1.254: bytes=1472 time=1ms TTL=64”的时候(图2),那么则可以将MTU值再增大,一直找到在两种状态之间的那个MTU值,这个数值就是当前环境下最合适的MTU值了。知道了这个数值后,我们才好进行后面的工作。
 
  

  图1

 
  

  图2

  二、修改MTU值
 
  尽管找到了最合适的MTU值大小,但是怎么去修改呢?因为Windows系统默认都已经设置好了,并没有给我们提供修改的选项。
 
  不要紧张,系统的参数设置都是保存在注册表中的,因此我们可以通过修改注册表的方法来实现修改MTU的值。打开运行窗口,输入“regedit”后回车打开注册表编辑器,然后依次选择“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces”,在该项下会看到很多接口,单击其中的每个接口,在右侧则都会有一个“IPAddress”的键,查看它的值,如果它的值与当前网卡的IP地址相同,那么就表示这个接口为当前使用的(图3)。
 
  

  图3


 
  这样只要在该接口上单击鼠标右键,选择弹出菜单中的“新建——Dword值”,创建一个名为“MTU”的Dword主键,然后将其值设为前面获取的MTU值即可(图4)。
 
  

  图4


 
  最后提醒大家,在修改注册表之前,最好做好备份之后再修改,以避免修改出错导致系统产生故障。

  三、应用实例
 
  修改了MTU值后,只要数值大小合适,那么网络性能一般都会有所提高。尤其是传送较大容量的数据时效果会比较明显。但是在实际的使用中,仍然有一些情况需要我们注意。下面笔者继续向大家作一介绍。
 
  1.启用MTU路径检测
 
  前面我们知道,MTU的值是要讲究环境的,很多朋友会说,我确定最适合的MTU值时是以本地网关为参照的,如果出了局域网进入互联网该怎么办呢?不要紧,我们只要启用MTU路径检测,那么TCP/IP协议就会自动检测到达目标远程主机路径中所经过的网络MTU值并自动作出调整,从而避免冲突。
 
  打开注册后,依次选择“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters”,然后在右侧创建一个名为“enablepmtudiscovery”的Dword值,再把它的值设为设为1表示启用MTU路径检测(图5)。
 
  

  图5

 
  2.启用默认路由
 
  我们知道,Windows 2000/XP/2003在某种情况下可以充当路由器来使用,但是默认状态下该功能却是关闭的。如果启用该功能,那则可允许内置的路由缓冲和队列来优化TCP/IP网络。因此我们可以打开注册表,定位到“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters”,然后新建一个“ipenablerouter”的Dword值,并设为1即可。
 
  经过上面的优化,我们既能享受到Windows系统带来的操作简单


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134