LVS 负载均衡之工作原理说明(NAT模式)

LVS-NAT模式:NAT用法本来是因为网络IP地址不足而把内部保留IP地址通过映射转换成公网地址的一种上网方式(源地址NAT)。如果把NAT的过程稍微变化,就可以 成为负载均衡的一种方式。原理其实就是把从客户端发来的IP包的IP头目的地址在DIR上换成其中一台REALSERVER的IP地址并发至此 REALSERVER,而REALSERVER则在处理完成后把数据经过DIR主机发回给客户端,DIR在这个时候再把数据包的源IP地址改为DIR接口上的IP地址即可。期间,无论是进来的流量,还是出去的流量,都必须经过DIR。
如下为LVS/NAT模式的示意说明图
在这里插入图片描述
CIP:192.168.10.13/24
VIP:192.168.10.100/24
DIR:eth0:192.168.1.100/24 eth1:192.168.10.100/24
Real-server:192.168.1.10/24、192.168.1.11/24和192.168.1.12/24(提供http服务)
整个请求过程示意:

  1. client发送request到LVS的VIP上,VIP根据负载算法选择一个Real-server,并记录连接信息到hash表中,然后修改client的request的目的IP地址为Real-server的地址,将请求发给Real-server;
  2. Real-server收到request包后,发现目的IP是自己的IP,于是处理请求,然后发送reply给LVS;
  3. LVS收到reply包后,修改reply包的的源地址为VIP,发送给client;
  4. 从client来的属于本次连接的包,查hash表,然后发给对应的Real-server;
  5. 当client发送完毕,此次连接结束或者连接超时,那么LVS自动从hash表中删除此条记录。
    以下为数据的封装过程:
    ① client向目标vip发出请求,DIR接收。此时IP包头及数据帧头信息如下:
    src ip src port dst ip dst port
    192.168.10.13 10011 192.168.10.100 80

② DIR根据负载均衡算法选择一台active的RS(RIP1),将此RIP1所在网卡的IP地址作为目标IP地址,并记录到hash表中,DIR讲请求包发送到局域网里。此时IP包头及数据帧头信息如下:
src ip src port dst ip dst port
192.168.10.13 10011 192.168.1.10 80

③ RIP1(192.168.1.10)在局域网中收到这个包,拆开后发现目标IP与本地接口IP匹配,于是处理这个报文。随后重新封装报文,发送到局域网。此时IP包头及数据帧头信息如下:
src ip src port dst ip dst port
192.168.1.10 80 192.168.10.13 10011

④ LVS(192.168.1.10)收到后端的RIP的reply包,利用SANT重新封装IP包首部将源IP修改为VIP,再发送给客户端,此时IP包头信息如下:
src ip src port dst ip dst port
192.168.10.100 80 192.168.10.13 10011

LVS-NAT模式主要是将客户端发送过来的包目标地址更改为后端RIP的IP,主要把三层的信息做了更改,其他都不变,此配置下后端RIP不需要做任何配置,但必须保证RIP的网关必须为与RIP相连的DIR接口IP,因为LVS-NAT主要用到DNAT和SNAT原理。
LVS负载均衡模式—NAT模式特点:

  1. RS和DIP属于同一IP网络中网卡应该使用私网地址,且RS的网关要指向DIP;
  2. 请求和响应报文都要经由director转发;极高负载的场景中,director可能会成为系统瓶颈;
  3. 支持端口映射;
  4. RS可以使用任意操作系统(OS);
  5. DIR需要两块网卡(属于典型的lan/wan)RIP和Director的必须有一块网卡在同一IP网络;
  6. VIP需要配置在DIR接受客户端请求网卡上,且直接对外提供服务。
    优点:实现方便简单,也容易理解;
    缺点:Director会称为一个优化的瓶颈,所有的报文都要经过Director,因此,负载后端RS的台数在10-20台左右,服务器性能而定,如果Director坏掉,后果很严重,不支持异地容灾;
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值