Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

LVS分析(下)

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

IPIP模式的技术在其他领域也有体现,因为对IP进行重新封装,整个过程对应用层仍然是透明的。PPTP协议就是对IP隧道协议的一种应用。不过目前IPIP仅仅在Linux系统上实现。该协议必须在Kernel中打开设备选项支持,通过tunel设备绑定VIP,服务结点在返回应答数据时,可以以VIP作为源地址构筑应答包。

◆直接路由模式 DR

LVS的三层体系结构示意图

DR结构图与DR包处理流程

和IPIP模式一样,DR模式也是采用单工的连接方式,应答数据不再经过均衡器而直接返回给客户端。服务结点也必须拥有能够到达客户端的合法IP地址。而且,DR模式中,负载均衡器和服务结点必须位于同一个网段。

负载均衡器接收到客户端请求后,选择合适的服务结点,然后改写该请求包的MAC地址部分,使之成为目的服务结点的MAC地址,再将此包广播到均衡器所在的网段。由于每个服务结点都拥有一个虚拟的网括设备(可以是dummy0或者lo:0),这些设备上绑定了和均衡器一样的VIP,只是该设备并不响应对VIP的RAP解析,不会和均衡器的Vip地址冲突。负载均衡器收到符合自身MAC的IP包后,经过处理后直接将应答数据返回给客户,而此时的源地址仍然是VIP。这样,在客户端看来,访问的和接受响应的始终是集群的VIP地址了。

综合比较

虽然LVS支持三种负载均衡模式,但是从上面的分析我们发现,根据负载均衡器处理IP包的进出方式,LVS实际上包含了两种模型:单工处理和双工(双向连接工作模式)处理。显然,NAT地址转换模式属于双工连接处理,在这种模式下,负载均衡器不但需要处理进入集群的IP包,而且还要处理集群内部节点返回的应答IP包,一个用户从发出访问请求到接受响应,都要经过集群的核心负载均衡器的处理,因此称之为双工连接处理。而其他两种模式中,负载均衡器仅仅处理进入集群的IP请求包,而集群内部结点的响应数据则不再通过负载均衡器返回客户端,而是通过节点到客户端的路由通道直接发送到目的地。由于均衡器仅处理一次完整连接的IP请求部分,而对IP的应答数据则不处理,所以称之为单工连接模式。

二者比较,有什么有缺点呢。要知道,在现今的Web世界中,大多数的网络请求比较小,无非是一些URL页面请求,GET或者POST表单,在么就是某些指令等等,这些数据基本上在几百到几K个字节。对这样的IP数据包进行处理是比较轻松的事。而相反,Web中的应答数据通常很大,一个普通的Web页面也要几十K,更何况返回的如果是视频、音频流了,加上日益疯狂的网络下载,即使再强劲的处理器也无法承受这样大量的IP包处理工作。

因此,在IP负载均衡中,如果使用双工模式(NAT),不仅要对进入集群的请求做出处理(改写IP包的源、目的地址),还要对服务结点返回的大量数据做同样的工作。那么,随着集群服务节点池规模的增长,负载均衡器的处理能力很快就会达到饱和,也大大影响了LVS集群的规模可扩展性。而使用IPIP或者DR模式,负载均衡器只需要处理相对很少的IP数据包,对于大量的返回数据,都由服务节点通过路由器、交换机等设备直接返回给客户端。因此在规模可扩展性这一点上,单工模式有可扩展性方面的优势。

事物的存在总有他的道理。作者当初设计这三种负载模型,肯定是各有其有缺点的。NAT也并非一无是处。NAT虽然在性能表现上弱于其它两种模型,但是集群结点支持更多的操作系统,在网络安全性方面也比较高一些。以下是三者在各方面的比较:

NAT模式

  • 服务结点可以是任何操作系统。
  • 拥有私有IP地址的局域网络。
  • 10~20个,试均衡器的处理能力而定。
  • 均衡器即为服务结点的网关。
  • 较好,采用内部IP,服务结点隐蔽。
  • 仅需要一个合法IP地址作为VIP。

IPIP模式

  • 服务结点必须支持IP隧道协议,目前只有Linux。
  • 拥有合法IP地址的局域网或者广域网。
  • 较高,可以支持到100个服务结点。
  • 服务结点同自己的网关或者路由器连接,不经过均衡器。
  • 较差,采用公用IP地址,结点完全暴露。
  • 除VIP外,每个服务结点需拥有合法的IP地址,可以直接路由至客户端。

DR模式

  • 服务结点支持虚拟网服务结点支持虚拟网卡设备,能够禁用该设备的ARP响应功能。
  • 拥有合法IP地址的局域网,服务结点与均衡器必须在同一个网段。
  • 较高,可以支持到100个服务结点。
  • 服务结点同自己的网关或者路由器连接,不经过均衡器。
  • 较差,采用公用IP地址,结点完全暴露。
  • 除VIP外,每个服务结点需拥有合法的IP地址,可以直接路由至客户端。

三种模式的比较

综上所述,我们在选择LVS作为集群负载均衡解决方案的时候,首先根据单前应用环境的情况确定使用哪一种IP负载均衡结构。如果你只拥有一个合法的IP地址,或者你需要构造一个安全的集群,又不太担心性能问题的话,完全可以使用NAT模式;如果对性能有比较高的要求,而应用又是基于Linux的话,使用IPIP或者DR模式一定会给你一个惊喜。




 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:LVS分析(上)   下一篇:Linux下ip隧道研究(1)

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号