网络历险记之四层负载均衡及其应用

2023-11-22 09:45:52 浏览数 (2)

记得偶尔我会被问怎么重装电脑或者怎么破解某个软件,每次被问到,我就会把百度到的内容告诉别人,因为我也不懂(是的,我就是个乐色)。

我讲这个例子,是为了说明,我们从事的是行业里的某个职位,因此并不是从事计算机行业,就一定会装机、修电脑;不是从事艺术行业,就一定琴棋书画样样精通。

对我来说,我对于底层网络知识就仅限于了解,像一些网络协议或者工作原理,我总是看了又忘,忘了又看。

刚好,最近花时间了解了公司的网络架构以及使用的组件,总算给自己扫了下盲。因此记录下关于四层负载均衡及其应用的理解,防止忘记。

名词解释

LVS:Linux Virutal Server,Linux 虚拟服务器。 DR:Direct Route,直接路由。 RS:Real Server,真实服务器。 DIR:Director,LVS 中的转发器。 VIP:LVS 暴露的公网 IP。 RIP:RS 对应的 IP。 NAT:Network Address Transfer,网络地址转换。

为什么需要负载均衡

负载均衡是指,在有多个后台服务器时,把请求按照某种策略均匀地转发到某个后台服务器处理。当请求量少时,只有一个后台服务器就能处理所有请求,那么就不需要这么复杂。当请求量大了,有多台服务器,才需要考虑负载均衡。

四层负载均衡

四层负载均衡,顾名思义,就是在第四层——传输层上的负载均衡。它是基于 IP PORT 来做的负载均衡。 目前广泛使用的四层负载均衡组件有 LVS 。LVS的基本工作原理如图:

LVS 中使用的转发方式有 NAT 和 IP 隧道等模式,下面将对这两种模式作简要介绍。

NAT

NAT 是指在 IP 数据包通过防火墙或者路由器过程中将来源 IP 或者目的 IP 进行转换的技术。利用它可以将一个公网 IP 匹配到多个私有网络的主机,最初是为了解决 ipv4 下 ip 资源不足的情况。

LVS 的 NAT 模式原理

LVS 通过某种负载均衡算法得到 RIP,然后通过改写请求体和响应体的目的 IP 和源 IP 来达到让客户端和 RS 通信的目的。

IP 隧道

NAT 的方式最常用。因为简单灵活,还可以节省 IP 资源,只需要 VIP 为公网 IP,所有 RIP 均为私网 IP 即可。但是有个问题:请求和返回体的转发都经过 LVS,如果量大则 LVS 可能成为瓶颈。IP 隧道模式可以减轻该问题,它可以让返回体直接转发到客户端,代价是所有的 RIP 都需要为公网 IP。 所谓 IP 隧道,就是一种网络通信通道,在该通道中,IP 数据包会经过二次封装,进行转发。

LVS 的 IP 隧道模式原理

LVS 通过某种负载均衡算法得到 RIP,然后通过二次封装请求体,并将新请求体转发到 RS 中。将 RS 对新请求体解包后,会继续解请求体,发现 目的 IP 为网卡绑定的 VIP。因此 RS 处理完成后,返回体直接走 RS 的公网出口回客户端,并且源 IP 仍然为 VIP。

0 人点赞