LVS的工作原理和相关算法
我们要了解LVS的工作机制: LVS里Director本身不响应请求,只是接受转发请求到后方,Realservers才是后台真正响应请求. LVS 工作原理基本类似DNAT,又不完全相像,它是一种四层交换,默认情况下来通过用户请求的的地址和端口,来判断用户的请求,从而转发到后台真正提供服务的主机,而判断这种请求的是通过套接字来实现,四层就可以实现.这个转发的过程对用户而言是透明的(简单的讲,就是用户访问的是DR的IP,而DR转发给RSS,而用户不知道这个过程) LVS的工作模式: 1.DNAT 2.直接路由 3.隧道 提供的优点: 1.高并发 2.高冗余 3.适用性,扩展服务器,缩减服务器,方便服务器扩展和收缩 LVS 的IP地址类型 1.VIP:虚拟IP地址,并不提供服务,而是将用户的请求转发到后方 2 RIP:真正IP地址,客户端真正提供服务的IP地址 3.DIP:调度IP地址,通常是和RIP相连的LVS的IP地址 4.CIP:客户端IP地址,用户请求时,用户的IP 流程:如下图 ===============================分 割 线============================== LVS集群的类型: 1.LVS-NAT DNAT 2.LVS-DR 直接路由 3.LVS-TUN 隧道
下面我们详细说明这三种类型:
LVS-NAT模型原理 用户的请求和响应都需要经过Director 源地址,目标地址都需要经过转换,而目标地址转换是透明的 这种架构的扩展有限调度器,Director将处理所有的请求,压力比较大,扩展到10个结点就不行了
要求: 1.集群节点在同一个物理网络中,同一个子网或者VLAN 2.DIP和RIP只能在同一个网络(子网)中,不能跨越网段 3.RIP地址通常是私有地址 4.所有的RIP,以DIP为网关(地址转换) 5.NAT的地址可以做端口转换(比如80--à8080) 6.任何操作系统都可以做RIP 7.Director有可能成为整个系统的瓶颈 数据传输: 通过二层(数据链路层)转发(ARP)将DR的MAC地址转换成RIP的MAC地址(不是转变,而是转发),这样就实现了数据的传输,在RSS响应后,再将RSS的MAC地址转换成RIP的MAC地址.
===============================分 割 线============================== LVS-DR模型原理 用户的请求经过Director,而realserver在响应的使用直接返回请求(图有问题,有可能设的网关不同,还存在一台路由器) 需要配置iptables规则,拒绝响应MAC地址转换,或者通过修改LINUX内核响应 优点:它比NAT少了一个地址转换,响应速度更快 特点 1.处于同一个物理网络中(连在同一个交换机上) 2.RIP可以使用公网地址(建议使用) 3.Director只转发请求,而realserver直接响应请求而不转发 4.集群节点的网关,不能指向DIP 5.不能做端口转换(不支持) 6.绝大多数的操作系统都可以实现realserver,而realserver需要同一个网卡配置多个Ip地址 7.DR模式的Director比NAT模式能够带动更多的节点 数据传输: 解决数据进入: 为了避免RS直接响应,给服务器的lo:0设置VIP地址,给本地网卡设置成CIP,这样RS就不会直接响应了,隐藏了RS 解决数据出去: 而默认情况下,Linux设置数据包从哪块网卡出去,源地址设为该网卡地址,通过添加一条特殊路由信息,如果目标地址是lo的VIP地址,那么出去的时候源地址设置为lo的地址. 路由信息的原理: 添加一条主机路由,将VIP的地址自己设置成一个网段,既子网掩码为255.255.255.255,这样VIP出去的时候没有比VIP更优的了,就成为最佳IP
在互联网上性能最佳的就是DR应用,但是有一个缺点,要求主机间距离比较近(比如一个机房),如果发生天灾人祸,集群就完了,我们为了实现异地分布,要采用隧道比如VPN ===============================分 割 线============================== LVS-TUN模型原理: 虚拟隧道实现: 1.专线(加密) 2.二层:在MAC之外再加一层MAC 3.三层:源IP目标IP之 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |