LVS系列—LVS的三种工作方式(TUN原理)(三)
来源:互联网 发布:软件项目 文档 编辑:程序博客网 时间:2024/06/05 21:02
很多网络上的文章都为读者介绍DR和TUN的工作方式类似,要么就是直接讲解DR模式和TUN模式的安装配置方式,然后总结两种模式类似。那为什么有了DR模式后还需要TUN模式呢?为什么ipvsadmin针对两种模式的配置参数不一样呢?
实际上LVS-DR模式和LVS-TUN模式的工作原理完全不一样,工作场景完全不一样。DR基于数据报文重写,TUN模式基于IP隧道,后者是对数据报文的重新封装。下面我们就来讲解一下LVS-TUN模式的工作原理。
首先要介绍一个概念:IP隧道。将一个完整的IP报文封装成另一个新的IP报文的数据部分,并通过路由器传送到指定的地点。在这个过程中路由器并不在意被封装的原始协议的内容。到达目的地点后,由目的地方依靠自己的计算能力和对IP隧道协议的支持,打开封装协议,取得原始协议。如下图:
可以说隧道协议就是为了解决跨子网传输准备的,在生产环境中由于业务需要、技术需要或者安全需要,可能使用交换机进行VLAN隔离(即形成若干个虚拟的独立的局域网),我们可能需要LVS节点在局域网A,而需要进行负载的多台MySQL读服务器可能在局域网B中。这个时候,我们就要配置LVS的隧道方式。LVS-TUN模式如下图所示(注意,目标节点要能够解开隧道协议,好消息是linux支持IPIP隧道协议):
上图中的线优点多,您只需要关注关心“有箭头”的虚线就可以了。
一旦LVS节点发现来目标为192.168.100.10 VIP的请求,就会使用IP隧道协议对这个请求报文进行封装。而不是像LVS-DR模式重写数据报文的MAC信息。如果配置了多个Real Server,那么LVS会使用设置的调度算法确定一个Real Server(这里为了简单,就只画了一个Real Server节点);
重新封装后的IPIP隧道协议报文会重新被回发到路由器,路由器(或三层交换机)会根据设置的LVAN映射情况,找到目标服务器,并将这个IPIP隧道报文发送过去;
Real Server收到这个IP隧道报文后,会将这个报文进行解包。这里注意一下,一般情况下IPIP隧道报文会进行分片,就如同IP报文分片一样,只是为了讲解方便,我们假定这个报文不需要分片。解压后得到的数据报文就是原来发送给VIP的请求报文;
Real Server设置的回环IP,让Real Server认为原始的请求报文是从自己本地的某个应用程序发出的,完成原始报文的校验后,它会对这个报文进行处理。剩下的过程就和LVS-DR相同了,这里就不再进行复述了。
可以说LVS-TUN方式基本上具有LVS-DR的优点。在此基础上又支持跨子网间穿透。这样的方案能够给我们架构师足够的系统设计场景。
- LVS系列—LVS的三种工作方式(TUN原理)(三)
- LVS系列—LVS的三种工作方式(NAT原理)(一)
- LVS系列—LVS的三种工作方式(DR原理)(二)
- LVS之一:三种工作模式的优缺点比较(NAT/TUN/DR)
- LVS系列—负载均衡之工作原理说明(TUN模式)
- LVS NAT/DR/TUN三种工作模式详解(转)
- LVS NAT/TUN/DR 三种方式比较
- LVS三种工作模式原理
- 运维笔记30 (lvs负载均衡的(nat,tun,dr三种模式,ldirectord健康检测,ldirectord结合heartbeat)keepalived+lvs介绍)
- LVS的三种工作模式
- LVS负载均衡的三种方式
- lvs-tun原理配置
- LVS 三种工作模式原理、以及优缺点比较
- LVS 三种工作模式原理、以及…
- LVS 三种工作模式原理、以及优缺点比较
- LVS 三种工作模式原理、以及优缺点比较
- LVS:三种负载均衡方式比较(转)
- Lvs之NAT、DR、TUN三种模式的应用配置案例
- 修改CentOS 7的系统默认语言
- TreeSet中引用类型的排序
- i2c 协议详解
- A problem is easy
- sublime安装服务器sublimeServer插件
- LVS系列—LVS的三种工作方式(TUN原理)(三)
- node.js window10上安装出现错误-“系统无法访问设备或文件error code 2755“
- 羊皮卷之二
- PAT 乙级 1037. 在霍格沃茨找零钱(20)
- ftp图片服务器搭建!ftp上传到图片服务器,通过http协议读取图片
- node.js学习之输出Hello World
- 结构体的内存结构以及位域的认识
- 面试题总结 —— JAVA高级工程师
- python实现翻转给定列表中的元素