面试的时候必问这个四种工作模式,因为这几乎是企业里面必用的内容,所以一定要将其理解通透。

一、lvs-nat模式

二、LVS-DR模式(默认)

三、LVS-tun模式

四、LVS-fullnat模式

一、lvs-nat模式

lvs-nat本质是多目标IP的DNAT,通过将请求报文中的目标IP地址和目标端口修改为某挑出的RS的RIP和PORT实现转发。

  1. RIP和DIP应该在同一个IP网段,且应使用私网地址;RS的网关要指向DIP。
  2. 请求报文和响应报文都必须经由director转发,director易于成为系统瓶颈
  3. 支持端口映射,可修改请求报文的目标PORT
  4. VS必须是linux,RS可以是任何OS系统

CIP  XXXXX------------------------->VIP 80/tcp

CIP  XXXXX------------------------->RIP 80/tcp      #去的时候把目标地址VIP替换成了RIP,去的时候替换的是目标地址

RIP1  80/tcp--------------------------->CIP  XXXXX     #回来的时要把源地址RIP再替换成VIP,回来的时候替换的是源地址,相像一下,很好理解。

VIP 80/tcp---------------------------->CIP XXXXX

NOTE:

数据来回都要走LVS,压力比较大,很有可能会成为瓶颈

LVS与服务器之间通常是有交换机相连,当然用路由器也是可以的。

二、LVS-DR模式(默认)

LVS-DR,DR(direct routing直连路由),LVS的默认模式,应用最为广泛,通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变。

  1. director和各RS都配置有VIP
  2. 确保前端路由器将目标VIP的请求报文发往director

在前端网关做静态绑定VIP和director的MAC地址

在RS上使用arptables工具

所有的RS都要配置VIP,那么不会冲突吗?我们可以在RS的系统上配置一下内核,使其配置完IP地址之后不向外发送arp广播,同时也不回应arp广播,这样就能默默的占用这个IP地址。

DR模式最大的特点就是来回路径不一致,用户的请求一定会通过LVS的转发,而RS的回应报文不用经过LVS(包括三次握手),这么做有啥子好处吗?来回路径不一致会减轻LVS的压力,这样的可以接待更多的用户请求。

物理上是一个网段,逻辑是两个网段,路由器的内网接口需要两个地址,为什么需要两个地址呢?一个地址不行吗?假如说用一个地址的话,arp广播的时候访问谁是VIP的时候就好玩了!因为好几台主机都有VIP,所以路由器的内网接口一定要有两个地址,当路由器把用户请求扔给LVS需要一个单独的网段,当LVS再将请求给RS的时候又需要另一个网段,所以不仅路由器需要两个地址,LVS也需要两个地址,那么RS需要几个地址?RS只需要一个地址就够了。

RS的RIP可以使用私网地址,也可以是公网地址;RIP与DIP在同一网络;RIP的网关不能指向DIP,以确保响应报文不会经由LVS。

RS和LVS要在同一个物理网段

请求报文要经由LVS,但响应报文不经由lvs,而由RS直接发往client

不支持端口映射(端口不能修改),为什么不能修改呢?因为DR模式只能更改MAC地址,而不能更改IP和端口。

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

生产环境当中通常是多级调度:

大家想一下,这样行吗?是可以的,单臂路由,这样是可以的,逻辑通信过程是一样的。

三、LVS-tun模式

转发方式:不修改请求报文的IP首部(源IP为CIP,目标IP为VIP),而在源IP报文之外再封装一个IP首部(源IP是DIP,目标IP是RIP),将报文发往挑选出的目标RS;RS直接响应给客户端(源IP是VIP,目标IP是CIP)

(1)DIP、VIP、RIP都应该是公网地址

(2)RS的网关一般不能指向DIP

(3)请求报文要经由LVS,但响应不经过LVS

(4)不支持端口映射

(5)RS的OS需要支持隧道功能。

再封装一个新的头部,类似VPN隧道。

是否应该是公网地址取决于是否是专线。

加源dip,目标是RIP,dip必须再配置vip,不配置就会扔了,不用考虑地址冲突,因为往往中间会陋路由器,正常给cip回应,不用原路返回。

好处就是跨机房远程调度,大企业,在全国各地都有服务器。

四、LVS-fullnat模式

此类型内核默认不支持,应用场景比较少。

lvs-fullnat:通过同时修改请求报文的源IP地址和目标IP地址进行转发

CIP-----DIP

VIP-----RIP

  1. VIP是公网地址,RIP和DIP的私网地址,且通常不在同一个网络;因此,RIP的网关一般不会指向DIP。
  2. RS收到的请求报文源地址是DIP,因此,只需要响应给DIP;但director还要将其发往client。
  3. 请求和响应报文都经由derctor
  4. 支持端口映射

NOTE:DNAT只替换目标地址,源不动;full-nat的模式下全部替换,如下所示:

DNAT和FULL-NAT都只可以隔路由器。

小项目用LVS,有钱的企业用F5。

DR模型有一个局限性,DR模型只能在一个机房里面。

LVS(二):四种工作模型的更多相关文章

  1. 集群,lvs负载均衡的四种工作模式

    集群 集群的三种分类以及用途 负载均衡: 分配流量(调度器),提升速度 高可用: 关键性业务 高性能: 开发算法,天气预报,国家安全 负载均衡的集群 lvs(适用于大规模) haproxy(适用于中型 ...

  2. 四种IO模型

    四种 IO 模型:       首先需要明确,IO发生在 用户进程 与 操作系统 之间.可以是客户端IO也可以是服务器端IO. 阻塞IO(blocking IO):     在linux中,默认情况下 ...

  3. HTTPD三种工作模型

    HTTPD三种工作模型 MPM是apache的多道处理模块,用于定义apache对客户端请求的处理方式.在linux中apache常用的三种MPM模型分别是prefork.worker和event. ...

  4. 转载-LVS的三种工作模式

    来源地址:http://www.uml.org.cn/zjjs/201211124.asp 1.lvs简介         lvs是一个开源的软件,由毕业于国防科技大学的章文嵩博士于1998年5月创立 ...

  5. AndroidManifest.xml文件详解(activity)(三)四种工作模式

    android:launchMode 这个属性定义了应该如何启动Activity的一个指令.有四种工作模式会跟Intent对象中的Activity标记(FLAG_ACTIVITY_*常量)结合在一起用 ...

  6. 2.LVS的三种工作模式_NAT模式

    1.LVS的三种工作模式 1)VS/NAT模式(Network address translation) 2)VS/TUN模式(tunneling) 3)DR模式(Direct routing) 1. ...

  7. vim的四种工作模式(转载别人的)

    Vim操作的四种模式 Vim的四种模式一.启动Vim1.双击桌面的图标,就可以启动Vim(是图形界面的)2.在开始菜单---点--运行 接着输入 vim 或者gvim,就可以启动Vim或Gvim了.二 ...

  8. 图解四种 IO 模型

    最近越来越认为,在讲解技术相关问题时,大白话固然很重要,通俗易懂,让人有想读下去的欲望.但几乎所有的事,都有两面性,在看到其带来好处时,不妨想想是否也引入了不好的地方. 例如在博客中,过于大白话的语言 ...

  9. 31、activity 四种工作模式

    一个应用通常(不一定)对应一个任务栈,相当于有个集合,保存了这个app里所有的页面栈的规则是先进后出,"进"就相当于打开了一个页面,"出"就相当于返回时关闭一个 ...

随机推荐

  1. zabbix使用钉钉告警

    1.钉钉创建群 2.[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf # 配置文件中查找”Alert”查看告警脚本存放路径 [root@lo ...

  2. mysql命令大全一

    mysql -u root -p;create database qa;show databases;use qa; create table results(id int not null auto ...

  3. aliyun-oss 通过redis来实现跨域上传图片到阿里 OSS并回显进度条

    public class PutObjectProgressListener implements ProgressListener {        private long bytesWritte ...

  4. 机器学习之线性回归以及Logistic回归

    1.线性回归 回归的目的是预测数值型数据的目标值.目标值的计算是通过一个线性方程得到的,这个方程称为回归方程,各未知量(特征)前的系数为回归系数,求这些系数的过程就是回归. 对于普通线性回归使用的损失 ...

  5. AutoDesk公司搞的fbx模型格式

    FBX® data exchange technology is a 3D asset exchange format that facilitates higher-fidelity data ex ...

  6. Salesforce学习之路(八)一次拉取多个文件或全部文件至本地

    在开发中,经常会遇到本地工程错乱或者误操作导致本地本地项目被删除,此时利用SFDX: Retrieve Source from Org只会拉取新建并且名称相同的组件,若通过创建一个个文件,然后再拉取的 ...

  7. poj-3404 Bridge over a rough river Ad Hoc

    Bridge over a rough river POJ - 3404 Bridge over a rough river Time Limit: 1000MS   Memory Limit: 65 ...

  8. jwt入门

    JWT(JSON Web Token)是一个非常轻巧的规范,这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息,通常使用在HTTP通信过程中进行身份认证. 我们知道,HTTP通信是无状态的 ...

  9. C# 中如何深度复制某一个类型(备注:可能有 N 个类型需要复制)的对象?

    如题,针对某一个特定的类型,深度复制,没有那么难,最起码可以手动赋值,但如果要针对 N 多类型深度复制,最简单的方法,是把这个对象序列化成 XML.JSON 或其它可以序列化的载体,然后再将这个载体反 ...

  10. 【题解】Puzzle [Uva1399]

    [题解]Puzzle [Uva1399] 传送门:\(\text{Puzzle [Uva1399]}\) [题目描述] 给定 \(m\) 和 \(n\),表示有 \(m\) 种不同的字符(大写字母\( ...