2023-03-02 23:06:09 发布人:hao333 阅读( 6400)
一,双接入线路带宽合并是不小的难题最近笔者也在为这个问题而头疼,不过最终本人发现了一个不错的办法,今天就请各位IT168网络频道的读者跟随笔者一起通过围魏救赵的方法突破双网卡速度极限。
第一,双接入线路的带宽组合不是小问题。
最近笔者也在为这个问题头疼,不过最后我还是找到了一个好的解决方法。今天就请IT168网络频道的读者跟随笔者一起通过围魏救赵来突破双网卡的速度限制。
笔者所在的公司申请了两条线路,一条是网通ADSL线路,带宽1M;另一条是带宽为2M的电信线路。企业通过代理服务器转发内部数据包。代理上有双网卡;然而,一直没有找到完美的工具和手段来组合带宽。通常网通ADSL线路作为备用线路,一般情况下只使用电信线路接入外网。
作者的目的是将代理服务器上的两块网卡分别连接到两个外网出线上,然后合并在一起,提高网络通信的整体速度。测试后,看到下载速度达到两行之和,非常完美。前者网通ADSL线路带宽1M,对应下载速度130KB/s,后者电信线路带宽2M,对应下载速度260 kb/s;组合的总带宽限制应该达到400 KB/s。
二、从本地路由入手:实现双网卡带宽的有效组合。
网上有一些将多个网卡组合在一起使用的工具,但是笔者之前尝试过,效果并不是很好,因为任何软件组合都不够智能,往往会造成两个网卡之间的传输冲突,从而适得其反影响实际传输速度。我今天要介绍的方法就是从本地路由入手突破网络速度限制。
众所周知,对于一台有多个网卡的电脑,我们可以把它看成一个路由器,代理服务器就是利用这个路由数据原理来工作的。每个路由器中都有一个名为路由表的数据条目,数据通过路由表中的信息进行转发。当一台电脑有多个网卡时,是否可以通过设置路由表来转发数据?将一部分数据发送到NIC 1,将另一部分转发到network 2进行传输?答案是肯定的,我们可以向计算机操作系统添加路由条目,就像设置路由一样。
在Windows系统中,我们使用route print命令查看路由表,路由表属于本地系统;通过route add命令添加路由表条目,通过route delete命令删除路由表条目。
既然我们可以通过命令添加路由表和条目信息,那么我们如何填写路由条目呢?在route add命令中,我们需要知道转发网络的IP段和对应的子网掩码,以及路由的下一跳地址。笔者以企业实际应用为例进行介绍。
当企业电脑上有多个网卡时,我们可以通过ipconfig查看每个网卡的地址信息。比如网卡1是192.168.1.120,网卡1的网关是192 . 168 . 1 . 1;网卡是116.245.96.246的,网关也是116.245.96.246的,因为是PPPOE拨号。(图1)
接下来,我们必须确定数据默认来自哪个网卡。这里假设默认数据来自网卡2,因此当我们在命令提示符窗口中输入route print时,我们可以在底部看到默认网关字样。这是默认网关。从图中可以看出,当前系统的默认网关是网卡2的地址116.245.96.246,而不是网卡1的网关192.168.1.1。(图2)
如果发现路由打印中显示的默认网关地址不是我们想要的默认网卡,该怎么办?例如,上述示例中的默认网关是网卡1的网关192.168.1.1。那么我们可以通过两种方法解决问题:先禁用网卡1,然后重启电脑,再通过路由打印检查默认网卡。由于系统中只启用了网卡2,默认网卡自然成为网卡2的网卡,最后启用网卡1。如果这个方法不行,我们需要在注册表中编辑与本地连接相关的键值。通过修改键值,将网卡2的键值排在网卡1的前面,解决了默认网卡的问题。具体的键值是【HKEY本地机器\系统\控制集001 \服务\ tcpip \参数\接口】。由于篇幅原因,这里就不详细解释了。一般来说,大多数情况都可以按照第一种方法解决。
在确定默认网卡是我们同意的数据默认通信地址后,我们需要根据实际情况添加路由表。这里假设我们要访问58.129.0.0的地址段,但是为了加快通信速度,我们需要添加一个这样的命令(route add 58 . 129 . 0 . 0 mask 255 . 255 . 0 . 0)(图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命令中还有许多其他参数,例如度量和其他跳数设置,本例中没有用到。因为我们的路由只有一跳,所以可以留空。当然,有兴趣的读者想知道具体的命令是否可以通过/?来查询。
三、测试结果:双网卡限速400 KB/s。
通过一个简单的路由条目添加命令,我们实现了当有数据访问58.129.0.0 255.255.0.0网段时,通过网卡1传输,其他所有数据都通过网卡2传输,有效地扩展了带宽,充分发挥了两条线路的速度。
设置完成后,作者通过两台FTP服务器下载资源,一台位于58.129.0.0 255.255.0.0网段,另一台位于外网其他地址。一般情况下,如果没有设置路由入口,我们只能通过一块网卡完成下载任务,最多250KB/s。但是,设置路由条目后访问58.129.0.0 255.255.0.0网段的数据将从网卡1传输,而访问另一个FTP服务器的数据仍将经过网卡2。从图中我们可以看到NIC 2的下载速度达到了250KB/s,而与此同时NIC 1的下载速度并没有受到NIC 2线路最大带宽的限制,仍然保持在157 KB/s的最高速度,要知道这个下载并不是峰值而是稳定传输,我们通过巧妙的设置,打出了双网卡的限速,两者之和可以达到400KB/s并且这个传输是稳定的。(图5)
当然,在实际使用过程中,我们可以通过Tracert 58.129的命令来判断设置的路由条目是否有效。* *(用实际IP替换*号)。如果第一跳转发到192.168.1.1,则设置是正确的。如果仍然使用网卡2的默认网关116.245.96.246,则需要再次执行路由打印查询。比如作者查询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来实现指定软件使用的代理的功能。
动词(verb的缩写)总结:
通过本文介绍的围魏救赵的方法,可以轻松地将两块网卡合并在一起,充分发挥它们的速度极限,以最佳的速度服务于企业应用,大大提高企业应用的效率,事半功倍。
相关阅读
RelatedReading猜你喜欢
Guessyoulike