平时在使用迅雷的时候,有可能会出现一些问题,甚至会影响到网络使用。比如有可能会出现QQ掉线、网页无法打开或打开缓慢、网络延迟增加等等问题,这类问题表象简单,实则原因错综复杂。在定位这类问题的过程中,感觉就像探索一座孤岛,遇到各种奇怪的环境。不过,只要静下心来思考,往往能够很容易找到解决的办法。
一、DNS限制查询频率
问题现象:使用迅雷下载时无法打开网页,进行其他需要进行域名解析的操作失败。
问题排除:这个案例较为常见的,我们首次发现此问题是在一所学校的网络中,该用户描述使用迅雷进行下载时,无法打开网页,最初我们以为是下载过程中连接数过多导致的网络设备性能问题。但在问题定位过程中发现,在无法打开网页时,仍然可以通过QQ进行远程协助,收发消息。在正常时发起了ping请求,当出现无法打开网页问题时,ping值没有明显上升。因此网络是正常的,在发生无法打开网页的问题时,重新发起ping请求,返回域名解析失败。
问题定位:根据现象,我们怀疑是DNS解析服务器的问题,应该是一种限制逻辑,因此猜测可能的条件是“DNS解析请求的发起频率”。因为迅雷在下载时,会搜索候选资源,候选资源中有较多的服务器(Server)资源时,每个服务器(Server)资源的连接都需要进行一次DNS解析,任务刚开始时,DNS解析的频率是比较高的。因此,将一个下载任务的属性改为“仅从原始地址下载”这样将不搜索候选资源。进行任务就未发生DNS拒绝解析的问题了。但是不查询候选资源,下载成功率和下载速度会严重受影响。
解决方案:这并非是一种非常普遍的限制,更换了DNS服务器地址,问题解决。具体解决方法为:右击“本地连接”,选择“属性”命令,在打开窗口中双击“Internet协议(TCP/IP)”(如图1),此时可以看到如图2所示窗口,选择“使用下面的DNS服务器地址”一项,在主DNS中输入当地ISP服务商的DNS服务器IP地址,同时在辅助DNS中输入当前内网路由器的IP或者DNS服务器地址的IP。这样,我们的网卡会默认使用当地城市的DNS的服务器来直接解析DNS,如果当地城市的DNS失效,则会自动通过网路由器或者内部DNS服务器来解析地址,整体网络的速度自然会提升。迅雷下载时当然也会“水涨船高”了。
图1 准备修改DNS服务器地址
图2 正在修改DNS服务器地址
小提示
以下是一些全国主要城市DNS服务器地址:北京 202.96.0.133、上海 202.96.199.132、广州 202.96.128.143、深圳 202.96.134.133,大家也可以以“主要城市DNS服务器地址”为关键字从网上找到。
二、带宽不足或设备性能不足
问题现象:使用迅雷下载时打开网页缓慢,网络延迟上升。
问题背景:这个案例是最为常见的,可以说凡是下载软件都会遇到。因此要分2种情况来讨论:(1)连接数:低端的家用路由器或ADSL终端一般最多支持100-200个连接,而迅雷下载1个普通任务的时候,一般会建立50-80个连接,下载BT、eMule等任务时往往会建立4倍以上的连接。很显然,这些连接数超出了这些网络设备的性能范围。导致网页打开缓慢,延迟上升;(2)带宽:当下载速度接近带宽极限时,用于传输文件的数据包的收发会非常频繁,此时由其他网络操作发起的数据包收发会产生延迟。并且下行带宽也不足,导致网页打开缓慢,延迟上升。
问题定位:(1)连接数:根据现象我们只需要适度的限制下载核心发起新连接的频率和总量就可以解决此问题。但会进而引发其他问题,比如设备性能参差不齐,限制如果一成不变,无法适应各种环境,同时限制连接时可能会影响到用户的下载速度;(2)带宽:只需要根据当前的带宽,稍微限制下载速度,留出一部分带宽,就可以解决此问题。但难点是“如何始终准确的知道用户的带宽?”。
问题解决:在迅雷下载时请选择“工具”→“配置”命令,再单击“网络设置”标签,然后选择“下载模式”下的“智能限速模式”(如图3)。这是迅雷网络公司下载核心的同事们花费了大量时间开发并不断改进智能限速模块,设置了多种判断逻辑,对用户当前的网络状态,环境进行判断,并得出限制方案。此功能推出后,确实解决了不少问题。虽然有些情况下还有问题,但是优化仍在继续进行。
图3 设置智能限速模式
三、在局域网中下载被封杀
问题现象:启动迅雷后,没进行任何下载任务,就掉线。
问题背景:与某个用户远程协助时发现此问题,启动迅雷网络就断了。关了迅雷要等5分钟才能恢复,如果换个局域网IP,就会马上恢复。这种情况很明显,迅雷没有下载任务,也就不会对网络造成负担。
问题定位:我们判断局域网网络中存在限制,检测到迅雷的某个网络IO操作时,就封某个局域网IP。
问题解决:因为这个用户是在公司的局域网网络中使用的迅雷,而他们公司规定上班不能用迅雷,这样与规定冲突,也不能与管理者交涉,是没办法的事情。