APP下载

Linux策略路由技术在远程教学网络带宽合并中的应用

2015-08-10宋伟奇等

广西教育·C版 2015年7期
关键词:负载均衡

宋伟奇等

【摘 要】分析当前西部农村地区远程教学网络的现状及宽带合并的基本模型和思路,提出了一种基于Linux环境下,使用策略路由方式实现的带宽合并方案,并简述了其配置思路。

【关键词】教学网 带宽合并 Linux 策略路由 负载均衡

【中图分类号】 G 【文献标识码】 A

【文章编号】0450-9889(2015)07C-0181-02

当前,远程网络教学的方式越来越多地受到农村地区学员的欢迎,特别是在西部山区,当地农民接受继续教育的主要方式都是通过远程网络。但网络速度问题一直困扰着基层教学点,由于地处偏远,以专线接入的方式成本很高,一般教学点无法实现,出于网络可靠性和成本的考虑往往需要接入两家甚至更多家电信运营商ISP的ADSL线路,有时为了增加网络访问速度,甚至会从一家ISP购买几条带宽。这些ISP宽带往往是独立的,运营商并不负责使用者获得多个宽带的叠加的网络效果,这个问题需要用户自己通过带宽合并来解决。带宽合并是指多条等速或者不等速的外网带宽,合并成一个逻辑上更大的带宽来使用,给用户更好的网速体验。市场上目前出现所谓解决带宽合并问题的负载均衡器,一般是基于会话(Session)的轮询来处理的,效果不是很理想,而且价格也比较高,我们针对这一情况,提出了一种基于Linux系统下的策略路由机制来解决宽带合并问题的方案,简单易行而且经济。

一、带宽合并模型

网络带宽合并的模型一般如图1所示,这里统一用ADSL带宽为例来说明,每条带宽是8M/1M(下行带宽为8M,上行为1M),如果两条带宽合并使用,其效果应该和16M/2M相差不大。

图1 带宽合并模型

二、负载均衡器的弊端

因为负载均衡器的工作没有得到电信运营商ISP的支持,我们只能在本地通过对TCP/IP协议中的会话(Session)层进行改变来解决流量分摊的问题。其工作机制是局域网内部主机对Internet产生第一条链接会话时,负载均衡器会将该会话导入第一条线路;当主机产生第二条链接会话时,负载均衡器会将其导入第二条线路;产生第三条链接,又会把该会话导入第一条线路上,以此类推进行轮询访问,达到带宽合并。这种合并解决了线路带宽利用的问题,也解决了负载均衡的问题,但是单一链路的会话的带宽上限很明显都无法达到16M/2M的效果。由于负载均衡器是一款网络设备,需要另外投入资金,这对农村地区来说比较困难,性能好的价格也不便宜;另外如果发生问题,从购买设备到重新部署需要不少时间和人力维护。

三、Linux下基于策略路由的带宽合并方案

Linux对硬件的要求很小,我们可以利用学校里多余的主机甚至是实验室、机房等淘汰了的主机来自己架设一款网络带宽合并主机。

首先我们需要一台主机,主机上有三块网卡。本方案测试的设备配置是(奔腾2.4G CPU,512M内存,RealTek100M网卡三块)。

(一) NAT介绍

在日常网络部署中,应用比较多的一对一的NAT和利用端口复用机制的一对多的NAT。如图2,则是一对多的机制。当192.168.1.0/24的主机网段想通过NAT装置上网时,NAT的POSTRTOUTING机制会把数据包内来源端IP换成202.103.224.65,然后再交给路由,通过查表转发。

图2 NAT基本原理

(二)Linux下宽带合并方案设计

常用的思路是对于内部网络进行分类,各设置两个不同的固定网关,以实现负载均衡的能力,但是对于某一个内部主机,它只能通过一条固定的ISP进出,这种方式当然不能实现带宽合并的功能。因此,需要让主机的网关不断地改变,才能使对外的链接平均分配在两条实际的线路上。接下来以图3为例来示范网络带宽合并。

图3

为了实现这个目标,在Linux下进行以下的配置:

[root@localhost ~]# ip rule show

0: from all lookup local

32766: from all lookup local

32767: from all lookup local

[root@localhost ~]# ip rule add from 192.168.10.1 46 table 10 ①

[root@localhost ~]# ip rule add from 192.168.11.1 46 table 20

[root@localhost ~]#

[root@localhost ~]# ip route add 192.168.10.0/24 dev eth0 table 10

[root@localhost ~]# ip route rule add default via 192.168.10.254 table 10

[root@localhost ~]#

[root@localhost ~]# ip route add 192.168.11.0/24 dev eth1 table 20

[root@localhost ~]# ip route rule add default via 192.168.1.254 table 20

[root@localhost ~]# ip route replace default \ ②

nexthop via 192.168.10.254 dev eth0 weight 1 \

nexthop via 192.168.11.254 dev eth1 weight 1

[root@localhost ~]#

[root@localhost ~]# iptables –t nat –a POSTROUTING \ ③

–s 192.168.122.0/24 –j MASQUERAD

[root@localhost ~]# traceroute

首先采用 ①建立基本的路由信息表,使用③命令来实现“一对多的NAT”任务,可以确保内网的主机转化为多个不同的网关。这里,把网关设置为192.168.10.254和192.168.11.254,如果设置网关为192.168.10.254时,通过NAT转换后IP就是192.168.10.1;如果设置网关为192.168.112.54时,通过NAT转换后IP就是192.168.11.1 。

如何让主机的网关不断地改变,使对外的连接分摊到两条线路上去,这个目标用②的命令行解决,其中replace default参数是指添加或者取代目前的网关地址。最后用weight 1来标明每个网关的使用率,因为实验环境中,两线路带宽一致,所以使用率设置为1:1。通过上述配置以后,Linux主机可以让由内到外的连接经过NAT,平均地转换到两条不同的实体线路上。例如,第一条连接会转换到第一条实体线路的IP,第二条连接会转换到第二条线路上,而第三条连接又会转换到第一条线路上,如此反复不断循环。

(三)测试结果

通过上述的配置搭建环境后,在本机做了路由测试,可以看到主机两个连接采用了不同的网关,实现两条线路的合并使用。同时基于篇幅限制,中间的十几条路由信息并未列出。

表1 本地主机测试结果(一)

[root@localhost ~]# traceroute –n 8.8.8.8

Traceroute to 8.8.8.8(8.8.8.8),30 hops,60byte packets

1 192.168.10.254 0.652 ms 0.736 ms 0.975 ms

2 192.168.100.1 1.112 ms 2.426 ms 4.537 ms

3 125.71.230.173 2.228 ms 4.360 ms 3.854 ms

4 125.71.230.29 1.667 ms 5.223 ms 1.668ms

5 125.71.230.1 1.775 ms 2 .582ms 1.562 ms

……

18 8.8.8.8 76.892 ms 65.355 ms 65.224 ms

表2 本地主机测试结果(二)

[root@localhost ~]# traceroute –n 8.8.8.8

Traceroute to 8.8.8.8(8.8.8.8),30 hops,60byte packets

1 192.168.11.254 0.336 ms 0.432 ms 0.415 ms

2 192.168.120.1 0.662ms 0.714 ms 0.754 ms

3 125.71.230.173 3.167ms 4.112ms 4.320 ms

4 125.71.230.29 4.127 ms 5.228 ms 4.872ms

5 125.71.230.1 2.372 ms 3 .560ms 2.431ms

……

18 8.8.8.8 86.116 ms 78.288 ms 77.554ms

四、结论

实践证明通过Linux的策略路由机制,可以有效解决偏远农村地区校园网络带宽不足的问题,实现两条出口线路的网络宽带合并的功能。这样的方式无需额外购买添置新的网络设备,这对于农村远程教学点或中小学校来说是一个不错的借鉴。同时,也为网络管理和部署提供了一个新的思路,显示出Linux系统在计算机网络领域中解决多种问题的强大功能。

【参考文献】

[1]陈勇勋.Linux网络安全技术与实现(第2版)[M]. 北京:清华大学出版社,2012

【基金项目】柳州市科学研究与技术开发计划课题(2013G020403)

【作者简介】宋伟奇(1976- ),男,河北张家口人,柳州城市职业学院副教授,研究方向:计算机网络及应用。覃妮妮(1983- ),女,广西河池市人,柳州铁道职业技术学院讲师,研究方向:信息工程管理与应用,计算机教学改革与管理。

(责编 丁 梦)

猜你喜欢

负载均衡
Linux负载均衡集群技术在网络服务器中的应用
Oracle MAA在汽车行业电子政务平台中的应用
异构环境下改进的LATE调度算法
基于负载均衡的云资源调度策略研究
多站点同步更新系统的设计
模糊理论在Ad hoc网络通信领域的应用