LVS详解【篇四】 --VS/TUNNEL

TUNNEL



TUN模型:Tunneling隧道协议
Director收到Client的请求包后,在外层再加上一个IP头为DIP|RIP后封装成IP隧道协议报文,然后发送给realserver,所以realserver一定要可以理解IP隧道协议才可以,拆包后看到还有一个头是CIP|VIP,所以realserver就打上VIP|CIP的IP头直接回给Client.
TUN(virtual server via ip tunneling IP 隧道)调度器把请求的报文通过IP隧道转发到真实的服务器。真实的服务器将响应处理后的数据直接返回给客户端。这样调度器就只处理请求入站报文。此转发方式不修改请求报文的IP首部(源IP为CIP,目标IP为VIP),而在原IP报文之外再封装一个IP首部(源IP是DIP,目标IP是RIP),将报文发往挑选出的目标RS;RS直接响应给客户端(源IP是VIP,目标IP是CIP),由于一般网络服务应答数据比请求报文大很多,采用lvs-tun模式后,集群系统的最大吞吐量可以提高10倍

它 和NAT模式不同的是,它在LB和RS之间的传输不用改写IP地址。而是把客户请求包封装在一个IP tunnel里面,然后发送给RS节点服务器,节点服务器接收到之后解开IP tunnel后,进行响应处理。并且直接把包通过自己的外网地址发送给客户不用经过LB服务器。

原理图过程简述:
1、客户请求数据包,目标地址VIP发送到LB上。
2、 LB接收到客户请求包,进行IP Tunnel封装。即在原有的包头加上IP Tunnel的包头。然后会根据LVS设置的LB算法选择一个合适的realserver;并把client发送的package 包装到一个新的IP包里面;新的IP包的dst是realserver的IP。
3、 RS节点服务器根据IP Tunnel包头信息收到请求包,realserver 收到这个package后判断dst ip 是自己,然后解析出来的package的dst是VIP;会检测我们的网卡上是否绑定了VIP的ip地址;如果绑定了就会处理这个包,如果没有直接丢掉。 我们一般在realserver上面 lo:0 绑定了VIP的ip地址,就可以处理得到客户的请求包并进行响应处理。
4、响应处理完毕之后,RS服务器使用自己的公网线路将这个响应数据包发送给客户端。源IP地址是VIP地址。
IP TUNNEL 模式的注意事项:
TUNNEL 模式必须在所有的realserver 机器上面绑定VIP的IP地址
TUNNEL 模式的vip ------>realserver 的包通信通过TUNNEL 模式,不管是内网和外网都能通信,所以不需要lvs vip跟realserver 在同一个网段内
TUNNEL 模式 realserver会把packet 直接发给client 不会给lvs了
TUNNEL 模式走的隧道模式,所以运维起来比较难,所以一般不用。


你可能感兴趣的:(LVS详解【篇四】 --VS/TUNNEL)