关于负载均衡:四层负载均衡的NAT模型与DR模型推导-京东物流技术团队

48次阅读

共计 1796 个字符,预计需要花费 5 分钟才能阅读完成。

导读

本文首先讲述四层负载平衡技术的特点,而后通过发问的形式推导出四层负载均衡器的 NAT 模型和 DR 模型的工作原理。通过本文能够理解到四层负载平衡的技术特点、NAT 模型和 DR 模型的工作原理、以及 NAT 模型和 DR 模型的优缺点。读者能够重点关注 NAT 模型到 DR 模型演进的起因(一种技术的诞生必定是为了补救现有技术的有余)。除此之外,读者能够多多关注一些根本的、底层的常识,比方内核空间、用户空间、计算机网络等。为了叙述不便,文中将“四层负载均衡器”简称为“FLB”(Four-tier Load Balancer)。

一、FLB 在网络中的根本拓扑

FLB 工作在 OSI 七层网络参考模型的第四层(传输管制层),FLB 上必须具备两个 IP 地址,VIP 和 DIP。VIP 是裸露给客户端的拜访地址;DIP 是 FLB 的散发 IP,将数据包通过 DIP 所在的网卡发送给后端的实在提供服务的服务器(前面简称“RS”(Real Server)),如下图。

图 1 FLB 的根本网络拓扑图

其中 CIP 为客户端的 ip,RIP 为 RS 的 ip。

二、四层负载平衡技术的特点

因为 FLB 工作在传输管制层,因而它对数据包的解决(转发)总是运行在内核态,不会产生内核态和用户态的切换。

尽管 FLB 工作在传输管制层,然而它并不会和 client 进行三次握手,它只是“偷窥”数据包中的 ip 地址和端口号,而后依据配置的规定进行数据包的转发,速度极快。

三、提出问题

在图 1 中,如果 client 发送数据包最终达到 server1,因为 client 数据包的目标 ip 为 VIP,当 server1 收到数据包时,发现数据包的目标 ip 居然不是本人的 ip,那岂不会抛弃数据包?

四、NAT 模型

NAT(Network Address Translation)模型, 针对 3 中的问题,能够在 FLB 中减少对客户端的目标地址 vip 的地址转换,将 vip 转换成后端某一 RS 的 ip,而后再将数据包发送进来,具体的网络拓扑如图 2。

图 2 FLB 的 NAT 模型的根本网络拓扑图

须要留神的是,下面的后端的 server 的默认网关须要配置成负载平衡服务器的地址。这样 server 响应的数据包能力回到负载平衡服务器上。

NAT 模型的弊病

很显著的一点是,在做 NAT 地址转换时,会耗费负载平衡服务器 cpu 的算力。大多数状况下,client 向 server 申请的数据报文很小,而 server 向 client 响应的数据报文很大,这就是“非对称 ”的。在通过 NAT 的形式实现负载平衡时,client 申请报文和 server 返回的数据报文都要通过负载平衡服务器进行网络地址转换,如果申请的并发流量很大,那么大量并发的响应报文返回到 FLB 时, 负载平衡服务器的网络带宽就会成为瓶颈

五、DR(Direct Route)模型

间接路由模式能够解决 NAT 模型的两个弊病。DR 模式不通过 NAT 地址转换,而是将 server 端返回的数据包的源 ip 间接写成 VIP 发送进来。这其中波及到几个要点:

  • 因为 server 返回的数据包的源 ip 要写成 vip,而不是 rip,那么在 server 本地须要配置 vip。并且这个 vip 必须是对外暗藏的,也就是说外界(客户端、负载均衡器) 不能间接拜访到 server 中的 vip,而是必须拜访负载均衡器裸露的 vip。
  • 在负载均衡器中,接管到 client 的数据包的源 ip 是 cip,目标 ip 是负载均衡器裸露的 vip,那么负载均衡器如何能力将该数据包发送给 server 呢?(因为 server 的 vip 是暗藏的,负载平衡服务器只能看到 rip)。在 DR 模式中,是通过 MAC 地址坑骗 的形式来实现。负载平衡服务器接管到 client 的申请数据包之后,将目标 MAC 地址替换为后端某一台 server1 的 MAC 地址(替换之前,目标 MAC 地址为负载均衡器的 MAC 地址),而后将数据包发送进来,进行点到点通信,这样 server1 就收到了 client 的数据包。点对点通信依赖的是 MAC 地址(数据链路层)。
  • 基于上述内容:要实现负载均衡器和后端 server 点对点通信,因而束缚了:负载平衡服务器的 DIP 和后端的 server 必须在同一个机房(局域网)。

依据下面的推导,DR 模型的根本网络拓扑如图 3 所示。

图 3 FLB 的 DR 模型的根本网络拓扑图

在 RS 中如何配置 VIP,如何实现 VIP 暗藏?且听下回分解:LVS DR 模型试验搭建与验证。

作者:京东物流 伍泓全

起源:京东云开发者社区 自猿其说 Tech 转载请注明起源

正文完
 0