LVS分析(下)IPIP模式的技术在其他领域也有体现,因为对IP进行重新封装,整个过程对应用层仍然是透明的。PPTP协议就是对IP隧道协议的一种应用。不过目前IPIP仅仅在Linux系统上实现。该协议必须在Kernel中打开设备选项支持,通过tunel设备绑定VIP,服务结点在返回应答数据时,可以以VIP作为源地址构筑应答包。 ◆直接路由模式 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模式
综上所述,我们在选择LVS作为集群负载均衡解决方案的时候,首先根据单前应用环境的情况确定使用哪一种IP负载均衡结构。如果你只拥有一个合法的IP地址,或者你需要构造一个安全的集群,又不太担心性能问题的话,完全可以使用NAT模式;如果对性能有比较高的要求,而应用又是基于Linux的话,使用IPIP或者DR模式一定会给你一个惊喜。 上一篇:LVS分析(上) 下一篇:Linux下ip隧道研究(1) 更多相关文章
|
推荐文章
精彩文章
|