论文部分内容阅读
随着企业对网络带宽需求的不断扩大和对网络安全的日益重视,越来越多的企业使用多条链路连接到互联网,实现增加出口带宽和链路冗余的功能,提高企业网络到互联网的整体可用性和可靠性。若多条访问链路分别来自不同的网络服务提供商(ISPs),则属于多归属链路问题。而多归属链路的负载均衡技术就是为了实现以上的提到的要求的一项关键技术。它能将企业的Internet流量通过策略在多条链路上分担来提高整体的吞吐量,并且在链路失效或出现故障时,通过对流量的重定向来分担失效链路上的流量。目前,虽然有一些商业的多链路负载均衡产品,然而我们并不清楚其实现机制,而且价格比较昂贵,对于中小企业来说,无法承担其昂贵的费用。因此需要一种廉价而实用的链路负载均衡方案。正是基于这一原因,本文提出了一种基于Linux的多链路负载均衡实施方案。文中先阐述了多链路负载均衡系统的设计思路,分析了链路负载均衡和链路失效保护策略的实现机制,并根据企业链路流量的特性,将链路负载均衡分为出站流量(内网用户访问因特网流量)的负载均衡和入站流量(外网用户访问网内服务器的流量)的负载均衡。对于出站流量,首先利用Linux的策略路由技术实现流量的多链路分配,然后执行源地址转换并将数据流转发出去。实现了三种出站流量负载均衡方案:基于目标地址的负载均衡,基于源地址的负载均衡和基于应用服务的负载均衡。对于入站流量,首先利用DNS的动态解析技术将流量引导到不同的链路,然后执行目标地址转发至内部服务器。实现了两种入站流量负载均衡方案:基于循环解析技术的负载均衡和基于View动态解析的负载均衡方案。同时,利用SNMP的轮询机制作为链路状态检测的机制,结合Linux的脚本实现了链路失效保护机制,即当两条链路均正常工作时保持链路负载均衡,当有一条链路失效时,对流量进行重定向,由另一条链路来承担。本文还对以上多链路负载均衡和链路保护方案进行了测试。测试结果显示,此方案达到了较好的负载均衡效果,而且提高了企业用户到Internet和外网用户访问内部服务器的访问速度,提高了链路的可用性,还通过链路的失效保护机制,提高了链路的可靠性。由于Linux开放源代码以及稳定的内核,利用其新的路由、过滤和地址转换功能,完全可以用一台装有Linux的计算机作为多链路接入的网关,不但投资较少,而且实现容易,性能稳定,适合中小企业建立自己的链路负载均衡系统。