【分享】多条上行带宽相同,下行带宽不同的PPPOE拨号有意义的负载均衡
在上图网络中,ROS接入三条带宽(上行/下行,单位为bps)分别为512k/4M、512k/8M、512k/12M的ADSL PPPOE线路。
如果使用先NTH标记分流连接,进而标记分流路由的方式,那么三线的上行负载可能不能均衡。比如,内部有三个用户访问外网,A用户是开网页,B用户是打开游戏,C用户是下载文件。他们所需的上行带宽是不同的,但由于先前做了标记路由,每个用户的上行是沿一条线路的,比如A用户的上行走线路A,B用户的上行走线路B,C用户的上行走线路C。这样一来就造成了三条线路的上行负载不均衡。
要想做到真正的上行负载均衡,那需要将提交给上级网络的包均分给各个线路,也就是说,对所有上行包用NTH做负载均衡。配置结果如下:
其中192.168.1.0/24为内部网段。
使用上述配置后,有个问题,包均衡的从各个出口出了,默认情况下,包出ROS的某个接口时,会将此接口的IP填充到包的源IP地址段。也就是说,从ROS到外网的包的源IP地址段被均衡的填充为三个接口的IP地址。如果这些包属于一个通信连接的话,将导致通信失败。此时,我们需要先行标记连接,进而让从ROS出外网的包的源IP地址段能根据每个连接来填充源IP地址,保证正常通信。标记连接和针对标记连接做的SRC-NAT配置如下:
三条线路使用6条标记的原因是,做到真正的下行负载均衡。因为三条线路的下行负载比重为:1:2:3,下行带宽不一样。上行带宽一样,上行包需要均衡的从三个出口出,下行带宽不同,因此需要让回程的包能从不同的入口入,回程包从哪个入口入,是根据先前请求包的源IP地址决定的。因此需要按权重修改上行包的源IP地址及做上述的SRC-NAT。由于是PPPOE拨号,IP地址随时可能发生改变,因此需要使用脚本来动态修改上述SRC-NAT,脚本内容如下:
ip route里的配置如下:
注意,依据三条线路的下行带宽,适当修改缺省路由的Distance值,带宽最大的,此值应该最小。
上述配置是针对上行带宽相同时的配置,如果上行带宽不相同时,则需要标记路由时按上述src-nat那样来设置均衡。
上述配置方法,也适用于使用PCC的负载均衡。
上述配置方法,采用的是包负载均衡,实际上,从三个出口出去的包的大小也不尽一样大小,因此在在查看接口流量时会存在一定的误差。
上述配置方法,如果上级网络有“状态检测”,则可能不行,一般情况下,ISP不会做此配置。
上述配置方法,需多条线路均是一家运营商,如果是网通和电信的混合,则不行。
好!不知道!运行起来怎么样! taijiang 发表于 2011-10-27 14:48 static/image/common/back.gif
pcc是否一样?
机理是一样的,重点是标记连接后按权衡做SRC-NAT和标记路由。 :hug:力顶楼主,在他博客学到很多关于ROS的知识。。。谢谢 :)能够提供pcc的方案就好了 。。。以为你Y的没有这里的账号。结果是有啊
我说行文风格咋和你博客的那么像呢! host2318 发表于 2011-11-1 14:25 static/image/common/back.gif
。。。以为你Y的没有这里的账号。结果是有啊
我说行文风格咋和你博客的那么像呢!
你是哪个马甲呀。。。 ewangsoft 发表于 2011-11-3 13:33 static/image/common/back.gif
你是哪个马甲呀。。。
你老乡,中庸 此贴应该加精
至少我看了一些加精贴没有看到这一贴学到的多 lzw83 发表于 2011-11-3 21:20 static/image/common/back.gif
此贴应该加精
至少我看了一些加精贴没有看到这一贴学到的多
哥哥,你马屁拍大了。。。此帖乃一小技巧而已。。。
谢谢分享,支持一下
学习一下,谢谢楼主。
页:
[1]