LVS详解(二)——LVS工作模式

今天继续给大家介绍Linux运维相关知识,本文主要内容是LVS工作模式。

一、LVS工作模式简介

在前文(LVS详解(一)——LVS理论知识)中,我们介绍了LVS的工作结构,如下图所示:
LVS详解(二)——LVS工作模式_第1张图片
尽管LVS的架构图如上所示,但是LVS也存在这三种工作模式,这三种工作模式决定了不同的数据包转发方式,分别是NAT模式、DR模式和Tunnel模式。下面,我就对这三种工作模式进行详解阐述。

二、NAT工作模式详解

所谓NAT模式,即网络地址转换模式,分发器有着一个公网IP地址,该公网IP地址对外提供服务,当客户端的请求数据发送到分发器后,由分发器将公网地址转换成私网地址,根据一定的算法,分发给后台的服务器组进行处理。后台的服务器组在处理完成后,将响应数据包发送给分发器,由分发器将私网IP地址转化成公网IP地址后,再反馈给客户端。
在NAT工作模式下,由于分发器要同时处理数据包的处理和响应,因此分发器的性能称为整个架构的瓶颈。如果后台真实服务器数量过多,则分发器的工作量就会越大,并且分发器还要维护NAT表,消耗大量的内存资源,因此这个模式尽管很适合公司网络,但是其后台能够支持的真实服务器数量不多。

三、Tunnel工作模式详解

Tunnel模式即隧道模式,所谓Tunnel模式,即分发器只负责接收客户端发送过来的数据包,然后将该数据包封装后按照算法发送给真实服务器,真实服务器在处理完该数据包后,不需要将该数据包发送给分发器,而是直接将该数据包发送给客户端。
在Tunnel模式下,每个真实服务器都会有自己的公网IP地址,该公网IP地址一方面用于接收从分发器发送的客户端请求,一方面给客户端发送其响应报文。也正因为每个真实都有自己的公网IP地址,因此真实服务器不用拘泥于网络架构,可以分散存储,起到容灾备份的作用。

四、DR工作模式详解

DR模式,即Direct Routing,直接路由模式。在此模式下,分发器有接收客户端请求的公网IP地址,各个真实服务器也要有自己的环回地址,该地址与分发器公网IP地址完全相同,并且该地址还需要能够正常访问公网。这样,当客户端的请求发送到分发器后,分发器只需要将该请求数据包修改MAC地址后,发送给后端真实服务器即可,由于目的MAC地址和IP地址都是自己,因此后端真实服务器会对该数据包进行正常响应。在响应完成后,真实服务器会将该数据包直接从环回地址处发送出去,也不需要经过分发器。
在DR模式下,网络层面需要解决两个问题,一个是解决IP地址冲突的问题,由于在一个局域网中存在多个相同的公网IP地址,因此必须设置后端真实服务器不对ARP请求报文进行响应;另一个是后端真实服务器的转发问题,必须设置真实服务器使用自己的真实网卡转发环回网卡的数据包。

五、LVS三种工作模式对比

LVS三种工作模式之前的差异如下表所示:

项目 NAT模式 Tunnel模式 DR模式
对服务器结点的要求 任意操作系统 必须支持IP隧道模式的操作系统,不可以是windows操作系统 服务器需要支持虚拟网卡设置,能够禁用设备的ARP响应,当前主流服务器都支持
网络要求 拥有一个公网IP的局域网 分发器和真实服务器可以不在一个网段内,但是都必须有公网IP地址 拥有一个公网IP的局域网,真实服务器要有该公网IP的虚拟IP地址(环回地址)
架构支持结点数量 分发器处理数据包来和会两个方向的请求,为LVS架构的性能瓶颈,因此NAT模式最多支持10~20个左右的真实服务结点 分发器只处理数据包来方向的请求,性能较高,通常可以支持100个左右的服务结点 与Tunnel模式相同,分发器只处理数据包来方向的请求,性能较高,通常可以支持100个左右的服务结点
网关 分发器对内有一个私网IP地址,将该私网IP地址作为内网中真实服务器的网关 每个服务结点和分发器之间网关可以相同也可以不同,保证正常上网即可 分发器和内部真实服务器之间有相同的网关,该网关的设置需要保证能够访问公网
服务结点安全性 好,真实服务器采用了私网IP,隐藏了架构内部实现细节 差,真实服务器采用公网IP,服务器完全暴露 稍好,尽管真实服务器有着公网IP,但是该IP地址只能用于数据包回传的源IP地址,不能被外部直接访问
公网IP要求 仅需要一个公网IP 分发器和每个真实服务器都需要有公网IP 分发器需要有公网IP,真实服务器需要有与该公网IP相同的环回地址,并且内部架构可以保障该网卡的数据包可以直接发送至公网
配置复杂性 简单 复杂 复杂
架构拓展性 非常好

原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

你可能感兴趣的:(服务器运维,linux,服务器,运维,lvs,集群)