IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> LVS的四种工作模式总结对比 -> 正文阅读

[网络协议]LVS的四种工作模式总结对比

目录

lvs工作模式介绍

一、NAT模式

二、DR模式

三、TUN模式

四、FULLNAT模式

四种工作模式的对比


LVS作为一种负载均衡器,有4种工作模式,分别是NAT、DR、TUN、FULLNAT。

为了总结的时候方便,先罗列一下相关的术语:

负载均衡器:Load Balancer,简写成LB。

RS:Real Server,真实服务器。在不同的负载均衡软件里有不同的名称。nginx中叫upstream server,HAproxy中叫backend server。

CIP:客户端的IP。

VIP:虚拟服务IP,LB的外网IP,也就是客户端请求的IP。

DIP:LB内网的IP,负责与RS的连接与通信。

RIP:RS的IP。

使用lvs后一般的访问流程为:CIP<==>VIP==DIP<==>RIP。

lvs工作模式介绍

下面分别对这4种工作模式进行介绍。

一、NAT模式

NAT模式工作流程如下:

?①客户端发送请求到lvs。

?②lvs根据指定的调度算法重写请求报文包的目标IP端口为某一个RS的RIP和端口并将请求转发给这个RS。

?③RS处理请求,并将请求的响应返回给lvs。

?④lvs将响应报文的源IP和端口还原成之前请求的目标地址和端口。

?⑤lvs将修改后的响应报文返回给客户端。

LVS的本质是多目标IP的DNAT,通过将请求报文中目标IP和端口修改为某个RS的RIP和端口来实现请求的转发。

NAT模式具有如下特点:

⑴RIP和DIP应在同一个IP网络,且应该使用私网地址,RS的网关要指向DIP

⑵请求报文和响应报文都经由lvs转发,lvs容易成为系统瓶颈。

⑶支持端口映射,可修改请求报文的目标端口。

⑷lvs必须在linux系统,RS可以在任意系统。

⑸需要开启ip_forward。

二、DR模式

DR(直接路由)模式工作流程如下:

DR模式是lvs的默认模式,也是应用得最为广泛的一种模式。它通过为请求报文重新封装一个MAC首部来进行转发。封装的MAC首部中源MAC地址是DIP所在接口的MAC,目标MAC是某个RS的RIP所在接口的MAC;源IP、端口,以及目标IP、端口都保持不变

下图展示了这种MAC地址变更:

?可以看到,请求的转发过程中源IP和目标IP,包括端口都不会变更。只会修改目标MAC地址。

这里有一个问题,lvs和RS在同一个物理网络内,其上都绑定了VIP,如何确保IP地址不发生冲突?

答案是:在一个物理网中,是通过ARP广播的形式来确认IP地址是否冲突。只要在别的机器发出某个IP是否已存在的广播时本机不作出回应,且本机也不发出广播,就可以避免IP地址发生冲突。

另外需要设置RS上的VIP不对外公布,这样客户端就不能直接通过IP地址进行访问,而是需要通过lvs才可以访问。

DR模式的特点如下:

⑴lvs和各RS上都配置有VIP,RS的VIP配置在回环网卡(lo)上。

⑵需要确保前端路由器将目标IP为VIP的请求报文发送给lvs,而不是某一个RS。有以下3种方式可以实现:

①前端网关静态绑定VIP和lvs的MAC地址,这种方式的缺点是无法保障lvs的高可用。

②在RS上使用arptables工具。

arptables -A IN -d $VIP -j DROP
arptables -A OUT -s $VIP -j mangle --mangle-ip-s $RIP

③在RS上修改内核参数(arp_ignore、arp_announce)以限制arp通告和应答。

⑶RS的RIP使用公网和私网地址都可以。RIP和DIP要在同一物理网络,RIP网关不能指向DIP,以确保请求报文经过lvs而响应报文不经过lvs,响应报文由RS直接发给客户端。

⑷不支持端口映射。

⑸无需开启ip_forward。

⑹RS可使用大多数OS系统。

DR模式适用于LAN环境中。

?三、TUN模式

TUN(IP隧道)模式工作流程如下:

这种方式不修改请求报文的IP首部((源IP是CIP,目标IP是VIP)),而是通过在原报文外再封装一个IP首部(源IP是DIP,目标IP是RIP),将报文发送给某个目标RS,该RS直接响应客户端(源IP是VIP,目标IP是CIP)。示意图如下:

TUN模式的特点概括如下:

⑴RIP和DIP可处于不同物理网络,RS网关不能指向DIP,且RIP可以和公网通信。也就是说,TUN模式的集群节点可以跨互联网。DIP、VIP、RIP可以是公网地址。

⑵RS的TUN接口上要配置VIP,以便接收lvs转发过来的数据包,并作为响应报文的源IP。

⑶lvs将请求转发给RS时需要使用隧道,隧道外层IP首部源IP是DIP,目标IP是RIP。而RS响应客户端的IP首部是根据隧道内层IP首部分析得到,其源IP是VIP,目标IP是CIP。上面已经有分析。

⑷请求报文经由lvs,响应报文由RS自己发送,不经过lvs。

⑸不支持端口映射。

⑹RS的操作系统需支持IP隧道功能。

TUN模式适用于缓存服务器组的负载调度,这些缓存服务器在不同的网络环境中,可以就近返回响应给客户端。

TUN模式可用于WAN环境中,但在实际的WAN环境中,一般使用haproxy/nginx/DNS来实现,跨机房应用一般使用专用光纤或者DNS。

四、FULLNAT模式

FULLNAT的工作流程如下:

?

FULLNAT工作流程分析:

①客户端向VIP发送请求。

②lvs接收请求,对请求报文做FULLNAT处理,把源IP改为DIP,目标IP改为某个后端RS的RIP,并将请求报文发给该RS。

③RS收到请求后,会进行响应,响应报文的源IP为RIP,目标IP为DIP。

④lvs接收到响应后再次进行FULLNAT处理,将源IP改为VIP,目标IP改为CIP。

从以上的过程可以看出,FULLNAT是通过同时修改报文的源IP(SNAT)和目标IP(DNAT)来实现转发的。

FULLNAT模式有如下特点:

⑴VIP为公网IP,RIP和DIP为私网IP,且RIP跟DIP一般不在同一网络,因此RIP网关不会指向DIP。

⑵RS接收到的请求报文源IP是DIP,所以会响应给DIP。lvs要将其发往客户端,需要再次修改源IP和目标IP。

⑶请求和响应报文都需要经过lvs。

⑷相对于NAT模式,可以更好地实现lvs与RS间跨VLAN进行通信。

⑸支持端口映射。

值得说明的是,linux内核默认不支持这种模式。

四种工作模式的对比

NATDRTUNFULLNAT
RS的限制任意OS限制ARP需要支持Tunneling任意OS
RS的网络私有LANLAN/WAN私有
RS的数量少量大量大量少量
RS的网关lvs的DIP自己的路由自己的路由自己的路由
优点端口转换性能好WAN端口转换,跨VLAN
缺点性能瓶颈不支持跨网段需要支持Tunneling性能瓶颈,无法获得用户IP

?四种工作模式中DR模式是最常用的,它的高性能结合DNS负载技术可实现集群的高可用。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-08 11:06:18  更:2021-09-08 11:07:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:48:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码