LVS集群---DR模式和IP TUN模式

LVS-DR和LVS-IP TUN集群概述
服务概述:
Direct Routing(直接路由)
director分配请求到不同的real server。real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接。负载均衡器仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性。Direct Routing由于采用物理层(修改MAC地址)技术,因此所有服务器都必须在一个网段中。

IP Tunneling(IP隧道)
director分配请求到不同的real server。real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接。IP Tunneling技术极大地提高了director的调度处理能力,同时也极大地提高了系统能容纳的最大节点数,可以超过100个节点。real server可以在任何LAN或WAN上运行,这意味着允许地理上的分布,这在灾难恢复中有重要意义。服务器必须拥有正式的公网IP地址用于与客户机直接通信,并且所有服务器必须支持IP隧道协议。

Direct Routing 和IP Tunneling 区别:
Direct Routing与IP Tunneling相比,没有IP封装的开销,但由于采用数据链路层(修改MAC地址)技术,所有服务器都必须在一个物理网段。

DR模式实际拓扑图及工作DR方式工作流程图:
Lvs-dr的工作原理:Deiector收到请求,将请求转发给了我们的realserver,但是接下来的工作就是我们的realserver和我们的客户端进行通讯了,所以原理图如下
LVS集群---DR模式和IP TUN模式_第1张图片
LVS DR模式工作原理:
MAC转换过程
实例场景设备清单: director分发器,IP: 192.168.1.70, VIP : 192.168.1.63
在这里插入图片描述
client基本信息: IP:192.168.1.101向目标vip发出请求,Director接收。此时IP包头及数据帧头信息如下:
LVS集群---DR模式和IP TUN模式_第2张图片
Director分发器根据负载均衡算法选择一台active的realserver(假设是192.168.1.62),将此RIP所在网卡的mac地址作为目标mac地址,发送到局域网里。此时IP包头及数据帧头信息如下:
LVS集群---DR模式和IP TUN模式_第3张图片
realserver(192.168.1.62)在局域网中收到这个帧,拆开后发现目标IP(VIP)与本地匹配,于是处理这个报文。随后重新封装报文,发送到局域网。此时IP包头及数据帧头信息如下:
LVS集群---DR模式和IP TUN模式_第4张图片
③如果client与VS同一网段,那么client(192.168.1.101)将收到这个回复报文。如果跨了网段,那么报文通过gateway/路由器经由Internet返回给用户。
归纳一下:
1)接收client的请求,根据你设定的负载均衡算法选取一台realserver的ip;
2)以选取的这个ip对应的mac地址作为目标mac,然后重新将IP包封装成帧转发给这台RS;
3)在hash table中记录连接信息。
数据包、数据帧的大致流向是这样的:client --> VS --> RS --> client
以上就是对LVS/DR模式的原理介绍
为什么需要DR? 因为NAT模式效率太低。
DR方式特点?成本?都是公网地址
LVS集群---DR模式和IP TUN模式_第5张图片
网络转发:
基于2层的数据报文的转发, 要比基于3层的网络转发效率要高

lvs-DR 是基于2层的转发, 所以在LVS中所有的模式, 效率是最好的
	
1):基于mac的数据报文转发, 是效率最好的, 但是是根据交换机的MAC地址表来实现的
	MAC表主要告诉你, 到xxxx地方该走那个端口
	如果交换不知道对方在哪儿, 这个时候, 他就要进行广播, 就问xxxx在哪儿, 如果对应的设备给了回应, 那么交换机也就更新了自己的MAC地址表 记录到xxxx需要走这个端口		
2):2层设备不具有路由功能, 那么广播也就不具有跨路由的功能, 所有要实现mac地址广播, 必须在同一物理网段
3):vlan具有隔离广播的功能, 所有要能处理mac地址广播, 就应该在同一个VLAN中
	
因此: 如果要实现LVS-DR模式
	1): 所有的设备应该在同一个物理网段
	2): 所有的设备都应该在同一个广播域中

LVS-DR模式工作原理:
1), DR模式, 全程目标地址, 原地址不变, 因为DR模式工作于2层
2), 请求报文从客户端发出:
原地址: CIP 源MAC CMAC 目标地址: VIP 目标mac: xxx
3), 请求报文到达机房防火墙之后, 会在防火墙的内网口进行广播, 找到VIP在哪儿 然后把包丢出去
原地址: CIP 目标地址: VIP
源MAC: FMAC 目标MAC: VMAC
4), 报文到达director之后, 解包, 发现目标mac是自己, 开始解析这个报文
处理完成, 通过自定义的一个调度算法, 转发报文到达其中一台RS上
原地址: CIP 目标地址: VIP
源mac: DMAC 目标MAC: RMAC
5), 数据报文到达RS之后, 进行节封装, 发现目标mac是自己, 开始解析, 发现VIP也有,开始处理
6), 处理完成之后, 数据直接通过RS流向客户端

DR方式是通过MAC,规模是一个交换网络。而TUN方式,是通过给数据包加上新的IP头部来实现,这个可以跨整个广域网。
如图:LVS集群---DR模式和IP TUN模式_第6张图片

你可能感兴趣的:(LVS集群---DR模式和IP TUN模式)