NAT 把目标地址做了转换;适用于互联网的用户访问局域网的服务器
SNAT 是把原地址做了转换;适用于内网访问互联网
LVS-NAT与LVS-DR的区别:
NAT在请求报文的时候,把目标地址做了转换,而DR是把MAC的地址做了转换
NAT在响应报文的时候要经过LVS;而DR则不用经过LVS
NAT支持端口映射;DR则不行(着重点是MAC地址)
DR下的RS都需要配VIP
1.DIP、RIP可以是私网地址
3.请求报文经过LVS,响应不走LVS
5.RS的OS支持隧道功能
tun是隧道的意思
工作原理:在请求报文到达lvs后,会在请求报文中封装一个新的头部,传给RS,接收后这个新的头部又卸掉
TUN工作模式下,RS也需要配VIP,因为有路由器隔开了,不要考虑VIP冲突
在响应的时候也不需要经过LVS,同时可以配多个路由器,实现服务器的跨地域、跨机房
这个作为了解
DR中LVS和RS只能在一个机房,不能跨路由
因为响应不用经过LVS,所以TUN、DR可以支持更多RS调度算法:
面试:这两种的方法区别就是是否考虑后端RS的压力,静态不考虑(4种方法),动态考虑(6种)
1.RR轮询:就是平均分配,一个个的分发
2.WRR加权轮询,要考虑RS的性能(例如新旧服务器),加权就是权重,按照一定的比例
3.SH将SIPhash,根据源IP来首次访问的RS,进行绑定
4.DH将VIPhash,是根据上次的访问,RS1有记录,就往RS1分发,提高访问速度,加入RS是缓存服务器,还可以节约带宽
一般用的更多是RR、WRR
1.LC:负载压力越小,连接数越少就往这调度;没考虑到服务器性能问题
2.WLC:第二个在第一个基础上就要考虑到性能问题,加权重;那首次访问就往权重小(性能差)的访问也不合理;
3.SED:解决首次访问后,但有可能因为权重差异大,前期一直往权重大的发,也不合理
4.NQ:解决前期一直往权重大的分发问题,第一轮均匀分配,后续再按照sed算法
5.LBLC:动态的DH算法:正向代理的负载均衡(宽带运营商)
6.LBLCR:带复制功能的LBLC
一般场景用WLC、最优 NQ,LBLC、LBLCR基本上用在宽带运营商
操作用法:
要到lvs的vip才会分发;测试的话不能用ping去测试,ping不属于tcp协议;curl、http://vip等配LVS需要安装ipvsadm包