本文出自《网管员世界》2003年第1期 征文选登 栏目
宽带复用需求分析 随着国内互连网络的蓬勃发展,ADSL和Cable-Modem接入已越来越普遍,同时资费也较传统的DDN和专线接入便宜许多。在实现多用户共享宽带接入的时候,用户的数量急剧增加会带来网络性能的下降,甚至拥塞。根据我们的经验,一条2M的DSL线路,当支持用户的数量超过100个后,在网络使用的高峰期就会产生严重的拥塞问题。因此,出于对网络性能的追求连同提高网络的费效比的目的,如何将资费较为便宜的DSL或Cable-Modem线路进行复用就成为我们面临的问题。 根据实际的应用需求,一个切实可用的宽带复用方案需要达到以下目的: 1.实现宽带接入的负载均衡。 2.当部分线路出现故障时,只要有一条接入线路可用,则网络的使用不受影响。 3.当故障排除后,系统能立即启用排除故障后的线路。 4.任何操作均自动进行,无须管理员干预,并对用户透明。 以我们的实际应用为例说明。如图1,首先配置一台装有四块网卡的Linux服务器,一块网卡接内网,其他三块接外网,目的是复用DSL线路1、DSL线路2和数字电路1,使得三条宽带接入线路(带宽均为2M)可协同工作。其中DSL线路1 IP为1.0.0.2,DSL线路2 IP为1.0.0.3,接入数字电路的网卡IP为3.0.0.2。 从接入链路的物理性质来说,所复用DSL和Cable-Modem的带宽是无法累加的,现在Linux/BSD系统的实现方法是基于IP随机分配的策略,因此对单机而言,宽带复用没有任何意义,IP随机分配的优势只有在多用户访问的时候才能体现出来。
 由于多数提供DSL和Cable-Modem的ISP只提供一个IP甚至是动态分配IP地址,因此需要采用NAT技术实现IP地址转换。 实现复用的简单方法 由2.2内核开始,Linux便开始支持高级路由技术,提供策略路由,流量控制等多项高级路由功能,配合Netfilter包过滤软件,可实现许多专业路由器和防火墙才能实现的高级功能。 Linux内核的网络部分代码由最开始模仿Sun OS的网络系统,到2.2版本,重写了全部内核网络代码并推出了实现高级路由管理的软件包iproute2,现在,许多Linux商业版本都配置了该软件。 iproute2提供了整套网络管理的工具,提供了从网络配置、流量控制、策略路由等全面的网络功能。iproute的研发者还建议用户不再使用传统的 ifconfig、route等基于System V的网络命令,因为这些工具无法使用Linux系统的高级网络功能。 基于iproute2,我们能够很容易地实现接入的负载均衡。 首先删除系统的默认网关。 然后运行ip route命令: # ip route add default equalize nexthop via 1.0.0.1 dev eth1 nexthop via 1.0.0.1 dev eth2 nexthop via 3.0.0.1 dev eth3 该命令实现了系统在三个接入IP之间随机进行选择,并送往不同的ISP。但当其中一条或多条线路失效时,系统会删除该路由,不会自动将失效线路用户转至有效线路,并且当线路失效重建时,无法恢复该路由。因此,这个解决方案不能满足我们的需求。 宽带复用的实现 Linux系统中有多种路由类型,如下表: 静态路由在失效后即被内核删除,重新生效后仍无法重建。内核路由由内核维护,对失效路由并不删除,只是标记,待线路恢复正常时可重新使用该路由。 Julian Anastasov为Linux内核写了一个补丁,实现了内核管理STATIC路由的功能,从而能够实现我们所需要的线路自适应功能。2.4.19版本内核的补丁,可在 http://www.linuxvirtualserver.org/~julian/routes-2.4.19-8.diff 下载。 编译前需要打开内核以下选项(对2.4内核),当然,最好选择网络部分的除实验功能外的任何选项: Networking options→ [*] IP: advanced router [*] IP: policy routing [*] IP: equal cost multipath Routes补丁修补了4个头文档和12个内核的C源代码,但只是对系统的部分代码进行修改,没有新添任何新的功能。当然,打完补丁后需要重新编译内核和各个模块。 在修改内核后,就能够实现真正的自适应宽带复用。 ① NAT的实现 #echo 1 > /proc/sys/net/ipv4/ip_forward #iptables -t nat -A POSTROUTING -o ppp* -s 192.168.0.0/24 -j MASQUERADE #iptables -t nat -A POSTROUTING -o eth3 -s 192.168.0.0/24 -j MASQUERADE 首先需要打开系统的IP转发功能(ip_forward)以实现路由功能,同时对任何内网IP进行伪装,其中ppp*指系统任何DSL线路。 对于动态分配IP的网卡,使用MASQUERADE关键字,而对于获得了固定共网IP的网络,可使用SNAT对源地址进行伪装。 然后加载必要的NAT模块: #depmod -a #insmod ip_nat_ftp #insmod ip_conntrack_ftp #insmod ip_nat_irc #insmod ip_conntrack_irc
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
| | 版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2007 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86263408 86263960 86264018 86267838 86262244 86263408 售前咨询:总机转201 202 203 204 205 206 207 208 售后服务:总机转211
212 213 214 217 218 晚上0点以后拔分机225 |
| 财务咨询:总机转224
223 传真:028-86264041 财务QQ: 635483282
售前咨询QQ: 327314358 241975952 275026793 408235859 2182518 499513144 售后服务QQ: 634349278 809071471 307742704 512359778 287976517 363783715 在线咨询
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号
|
|