2023-06-13 02:25:08 阅读( 1507)
一,双接入线路带宽合并是不小的难题最近笔者也在为这个问题而头疼,不过最终本人发现了一个不错的办法,今天就请各位IT168网络频道的读者跟随笔者一起通过围魏救赵的方法突破双网卡速度极限。
首先,双接入线路的带宽组合不是一个小问题
最近笔者也在为这个问题头疼,不过最后还是找到了一个好办法。今天就请IT168网络频道的读者跟随笔者一起突破双网卡限速围魏救赵。
笔者所在的企业申请了两条线路,一条是网通ADSL线路,带宽1M;另一条是带宽为2M的电信线路。在企业内部,内部数据包由代理服务器转发。
代理服务器上有双网卡;但是,我们一直没有找到一个完美的工具和手段来合并带宽。通常网通ADSL线路作为备用线路,一般只通过电信线路接入外网。
作者想要实现的是将代理服务器上的两块网卡分别连接到两条外网出口线,然后合并在一起,从而提高网络通信的整体速度。测试后看到下载速度达到两行之和就很完美了。原网通ADSL线、
带宽为1M,对应的下载速度为130KB/s,而后者电信线路带宽为2M,对应的下载速度为260 kb/s;组合的总带宽限制应该能够达到400 KB/s。
第二,从本地路由:实现双网卡带宽的有效组合
网上有一些工具是将多个网卡组合起来使用的,但是笔者之前尝试过,效果并不是很好,因为任何软件组合都不够智能,往往会造成两个网卡之间的传输冲突,从而对实际传输速度造成不利影响。
我今天要介绍的方法就是从本地路由入手突破网络速度限制。
众所周知,一台有多个网卡的电脑可以看作是一台路由器,代理服务器就是利用这种路由数据原理来工作的。所有路由器中都有一个名为路由表的数据条目,数据通过路由表中的信息转发。
当电脑有多个网卡时,是否可以通过设置路由表来转发数据?将一些数据发送到网卡1,并将其他数据转发到网络2进行传输,如何?答案是肯定的,我们可以像设置路由一样为计算机操作系统添加路由条目。
在Windows系统中,我们使用route print命令来检查属于本地系统的路由表。通过route add命令添加路由表条目,通过route delete命令删除路由表条目。
既然我们可以通过命令添加路由表和条目信息,那么我们如何填写路由条目呢?在route add命令中,我们需要知道转发网络的IP段和对应的子网掩码,还需要知道路由的下一跳地址。
笔者以企业实际应用为例进行介绍。
当企业电脑上有多个网卡时,我们可以通过ipconfig查看每个网卡的地址信息,比如网卡1是192.168.1.120,网卡1的网关是192 . 168 . 1 . 1;网卡2是116.245.96.246的,
因为是PPPOE拨号,网关也是116.245.96.246。(如图1所示)
接下来,我们需要确定数据默认来自哪个网卡。假设默认数据来自网卡2,当我们在命令提示符窗口中输入route print时,我们将能够在底部看到单词default gateway。这是默认网关。
从图中可以看出,当前系统的默认网关是NIC 2的地址116.245.96.246,而不是NIC 1的网关192.168.1.1。(如图2所示)
如果发现路由打印中显示的默认网关地址不是我们想要的默认网卡,该怎么办?例如,上述示例中的默认网关是NIC 1的网关192.168.1.1。
那么我们可以通过两种方式解决这个问题:首先禁用网卡1,然后重启电脑,再通过路由打印检查默认网卡。由于系统中只启用了网卡2,默认网卡自然会成为网卡2的网卡,最后启用网卡1。
如果这个方法不管用我们就需要编辑注册表中与本地连接有关的键值了,通过修改键值将网卡2的键值更改排列到网卡1的前面,从而解决了缺省网卡的问题。
具体键值为[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\,由于篇幅关系这里就不详细说明了,
一般来说大部分情况按照第一个办法可以解决。
确保默认网卡是自己认同的数据默认通讯地址后我们就要根据实际来添加路由表了,这里假设我们要访问58.129.0.0这个地址段,不过为了提高速度让他们不从默认网关(网卡2)通讯而是从网卡1走,
那么我们就需要添加一条这样的指令)route add 58.129.0.0 mask 255.255.0.0 192.168.1.1。(如图3)
首先route add后面跟的是网段,包括网络号和子网掩码,另外最后还需要写上下一跳地址,一般就是网卡1的网关地址,例如本例中的192.168.1.1。
添加完路由表条目后我们通过route print命令可以看到58.129.0.0对应的路由信息出现在路由表中,下一跳地址是192.168.1.1。(如图4)
小提示:
下一跳地址是数据转发到的地址,必须填写网卡1的网关地址,不是网卡1的IP地址,否则路由条目将无法正常工作,网络访问58.129.0.0这个网段将出现死循环,通讯数据连接超时。
当然除了route add命令是添加路由条目外,如果我们书写错误的话还可以通过route delete命令删除条目,记得书写时要写全才能让删除命令生效,当然route命令还有很多额外参数,
例如metric这类跳跃数设置等,在本例中用的不多,因为我们的路由都只是一跳而已,所以可以不填写,当然感兴趣的读者想知道具体命令可以通过/?来查询。
三,测试效果:双网卡的速度极限达400KB/s
通过一条简单的路由条目添加命令我们实现了有数据要访问58.129.0.0 255.255.0.0网段时通过网卡1传输出去,而其他所有数据都从网卡2传输出去,从而有效的扩大了带宽,
将两条线路的速度都极大的发挥出来。
设置完毕后笔者通过两个FTP服务器下载资源,一个FTP服务器位于58.129.0.0 255.255.0.0网段,另外一个FTP服务器在外网其他地址。正常情况下不设置路由条目的话,
我们只能够通过一个网卡来完成下载任务,最多也就250KB/s,而通过设置路由转发条目后访问58.129.0.0 255.255.0.0网段的数据从网卡1传输出去,
而访问另外一个FTP服务器的数据则依然走网卡2。从图中我们可以看到网卡2下载速度达到了250KB/s,而与此同时网卡1下载速度并没有受网卡2线路的最大带宽限制依然保持在157KB/s的极速。
要知道这样的下载并不是峰值而是稳定传输,通过巧妙设置我们发挥了双网卡的速度极限,两者之和可以达到400KB/s并且这种传输是稳定的。(如图5)
当然在实际使用过程中我们可以通过tracert 58.129.*.*(*号用实际IP替代)的命令来判断设置的路由条目是否生效,如果第一跳转发到192.168.1.1则表明设置正确,
如果还是走网卡2的缺省网关116.245.96.246的话就要再次执行route print查询故障了。例如笔者查询58段第一跳被成功转发到了192.168.1.1,这表明设置完全正确没有任何问题。
(如图6)
小提示:
我们通过手工添加的路由条目在系统重新启动后会自动消失,因此如果想长期使用和管理维护的话我们可以通过建立一个批处理文件并加入到启动项中自动运行的办法来解决,
这样每次重新启动系统后该路由条目依然会被自动添加。
四,如何实现数据分流?下载走网卡1,浏览走网卡2?
之前我们介绍的是基于网段的分流,通过添加多个网段我们可以实现更加详细的地址分段,发往不同地址的数据包通过不同网卡传输出去。不过在实际使用中笔者也遇到了这样的问题,有没有办法让所有的下载走网卡1,
浏览页面走网卡2通讯呢?笔者想来想去也没有找到能够高效解决的办法,希望有经验的读者可以和我们联系一起探讨。
笔者解决的办法是利用代理为软件分流,我们可以在网上找一个速度比较快有保障的代理服务器,知道了代理服务器地址后我们可以将这个代理服务器地址通过route add命令指定访问该代理服务器走哪块网卡。
接下来指定某软件使用代理服务器通讯即可。例如我们指定了迅雷下载使用代理服务器1.1.1.1,然后再利用route add将访问1.1.1.1的数据转发给网卡1的网关,其他数据依然从网卡2传输,
这样就解决了软件分流的问题。不过这个方法存在一个问题,那就是对代理服务器的稳定性和速度要求比较高,如果代理服务器隔三差五的无法使用,我们也不得不为频繁找代理频繁加路由条目而头疼。(如图7)
小提示:
对于不具备代理设置功能的软件来说我们可以利用第三方代理工具winsocks来实现指定该软件使用代理的功能。
五,总结:
通过本文介绍的围魏救赵曲线救国的方法,我们可以轻松将两块网卡合并到一起,发挥他们的速度极限,从而以最佳速度为企业应用服务,大大提高了企业应用的效率,让企业业务开展事半功倍。
猜你喜欢
Guessyoulike