TA的每日心情 | 开心 2012-3-7 10:15 |
---|
签到天数: 11 天 [LV.3]偶尔看看II
|
遇到一个问题,很奇怪,那就是公司某一台主机,用了不到几天就掉线,网卡显示是已连接上的,然后也有收发数据,只是比较少,更换IP也没效果,后来经过多方检查,终于发现了问题的根本,那就是双工模式的问题
发现交换机该端口使用的是全双工,可这台主机不知道是什么原因改成了半双工,而两个网口之间的模式是必须相同的,因为默认主机网卡的双工模式都是AUTO,所以找到这个问题可真是不容易,后来更该了主机的双工模式后终于好了,鉴于此问题,想告诉大家的是,解决网络通信问题时多从网络通信原理及要求去考虑,更改主机双工方法:
网上邻居-属性-选择连接时使用的那块网卡然后点配置-然后高级里面的介质类型的值就可以更改双工了
还有一种情况那就是如果你的网络特别慢,前提是就是你一个人的,PING内网其他机器有丢包和延时现象,或者动态域名网站不能被正常访问,很难连接,连接上也非常慢,请试试把DirectSend设为“总是关闭”。如果关闭后可以正常访问,这种情况就需要修改MTU。什么是MTU?
MTU是Maximum Transmission Unit的缩写。意思是网络上传送的最大数据包。MTU的单位是字节。
大部分网络设备的MTU都是1500。如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。把本机的MTU设成比网关的MTU小或相同,就可以减少丢包。
如何检测网关的MTU呢?
在本机打开dos窗口,执行:
ping -f -l 1472 192.168.0.1
其中192.168.0.1是网关IP地址,1472是数据包的长度。请注意,上面的参数是“-l”(小写的L),而不是“-1”。如果能ping通,表示数据包不需要拆包,可以通过网关发送出去。如果出现:
Packet needs to be fragmented but DF set.
表示数据包需要拆开来发送。此时,减少数据包长度,再执行上面的ping命令。从1400到1472之间多试几次,就能找到合适的数据包长度了。把数据包长度加上数据包头28字节,就得到MTU的值。
如果检测到网关的MTU值是1500,不需要修改。
如果网关有防火墙ping不通,可以试试直接把MTU设为1400。
那么如何修改本机的MTU值呢?
修改方法之一:
(1)、运行regedit
(2)、浏览到:
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Inte**ces
(3)、Inte**ces下有多个子项,每个子项对应一个网卡。请按如下方法选择网卡:
(a)确定本机用来连接Internet的网卡或拨号连接的IP,如192.168.0.19;
(b)用鼠标点击Inte**ces上的子项,查看键值列表中的IPAddress项;
(c)如果IPAddress的键值与(a)中的IP相同,即192.168.0.19,则该子项就是要找的网卡。
(4)、进入该子项,在右边的窗口里按鼠标右键,选择“新建”->“双字节值”,输入名称“MTU”,按回车。再用鼠标双击“MTU”,弹出修改窗口:
填入MTU的值。填写前请先把基数设为十进制。
设置好后,需要重启机器才能生效。
修改本机MTU值方法之二 :
修改本机默认的MTU值可以通过注册表来进行,但更直观稳妥的方法是使用一些系统优化软件,如“超级兔子”或“Windows优化大师”等. |
|