潜龙勿用,见龙在田
全部博文(540)
分类: LINUX
2010-10-15 16:32:01
这个问题应该区分对待:
LB=LoadBalancer ; RS=RealServer
1) 当LVS工作在NAT模式下,是工作在OSI模型的第四层,因为LB必须修改第四层报头信息,包括IP地址和端口,在选择RS的时候不但要看IP地址,还要看端口,也即在NAT模式下lvs支持基于同一IP不同端口的第四层负载均衡.
2) 在DR模式下,LB根本都不用拆包到网络层,因为LB根本就不用将IP包拆开,直接在链路层将目的MAC地址改成RS的MAC地址就完成了转发工作.当然,转发规则里是以IP的形式呈现,但是获得目的IP的MAC地址则是通过arp协议来完成,仍旧是链路层,所以确切地说DR模式在包处理上工作在链路层,而在RS的选择上(也就是负载均衡)是根据转发规则里的IP地址和调度算法,而虚拟服务端口必须与RS服务端口一致,所以LVS/DR模式单独讲负载均衡功能而言的话,它是工作在网络(IP)层.
3) TUN模式主要是IP封装,根据IP地址进行选择RS,也是网络层负载均衡.
以上纯属个人观点,不正之处欢迎指正. 欢迎转载,但请注明出处.