博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019/05/21 LVS工作模型
阅读量:3927 次
发布时间:2019-05-23

本文共 2785 字,大约阅读时间需要 9 分钟。

LVS工作原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
讲iptables,提到过DNAT,把目标地址作为转换,适用于从互联网网络中访问企业内部网络(先是用户的请求,连接公网的地址,公网地址得到请求后转发到企业内部私网地址服务,但是DNAT是一对一,是能把公网请求转发的一个服务器上去,不能转发到多个服务器上去,只能实现单一的一个主机的转发,做不到调度功能,把用户的请求根据某种算法调度到后端的多个服务器上去
在这里插入图片描述
充当调度器,LVS只是其中一种,nginx也可以,haproxy
后端真正提供服务的是real serve叫RS,在nginx里可以叫上游服务器upstream server
叫haproxy叫backend server 后端服务器
作为调度器可能有一个公网地址VIP,还有一个连接内网的内网地址DIP
在这里插入图片描述
在这里插入图片描述
**调度器连接内网的地址
**
在这里插入图片描述
访问流程,客户端连接VIP,vip转发的时候走DIP,再到后端真正服务的RIP(real server ip)
在这里插入图片描述
要实现LVS,就需要使用对应相应工具
ipvsadm就是软件包,作用类似于iptable,(LVS内核级的功能)ipvsadm是一个命令行工具,通过命令行工具可以定义ipvsadm规则
ipvs就是再内核里涉及到的执行lvs的框架,也是一个钩子函数(iptable5个钩子,链,prerouting,postrouting,forward,input,output)
在这里插入图片描述
一旦lvs发现用户请求就截住,触发规则,通过 路由表转发到内部服务器
在这里插入图片描述
在这里插入图片描述
分四种集群,
nat,(类似之前的DNAT)只不过实现了多目标的DNAT
dr,
tun,了解原理即可
fullnat,了解原理即可
在这里插入图片描述
DNAT工作原理,目标地址替换
在这里插入图片描述
**第一种工作原理,NAT,响应报文和请求报文都要经过LVS服务器,所有的服务器来回都要经过lvs服务器,这样就造成lvs服务器压力大。
**
在这里插入图片描述
中间没有遇到DIP 说明通讯的过程中不一定是要再一个网段的,可以在中间加上路由器,但是路由器是带宽比较低的设备,一般是交换机比较多,不过一般没有必要加
在这里插入图片描述
1.可以不在同一网络,应当在同一网络,但是不是必须的,内部用的是私网ip,但是非要用公网ip也不是不行,可以用,但是没有必要用,用私网地址足够了,就意味着RS的网关没有必要指着DIP了,如果是交换机就需要指向DIP,因为要从DIP出去,
用路由器的话,就用路由器作为网关
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
内部的机器可以不是80端口,可以不一样,互联网访问的端口,和真正提供服务器的端口可以不一样
在这里插入图片描述
中间的lVS必须是linux 系统,后端的real server 就没有要求了
在这里插入图片描述
客户端发请求到,先到达企业和互联网之前的路由器,源地址CIP,目标地址VIP,
中间是lVS服务器,上面配置了VIP地址,先到达prerouting,检查路由表,如果是到自己的,就到了INPUT钩子函数上,截获住了,到达路由表,从postrouting转出去 了,进来的时候还是VIP,出去的时候目标地址已经对应某个RIP了,
real server 需要响应数据报文,源地址就变成 了RIP,目标地址变成了CIP,这个数据报文就回来了 ,回来的时候LVS服务器收到了再把RIP替换成VIP,目标地址替换成CIP,
在这里插入图片描述
NAT模式就是多端口的DNAT
在这里插入图片描述
DR模式,应用更加广泛,比较复杂,direct routing直接路由,是LVS的默认模式
工作原理
涉及到一个mac地址的变化
调度的时候非常特殊,源地址不变,目标地址仍然不变,但是mac地址变了
在这里插入图片描述
怎么知道rs1的mac地址,就需要LVS用ARP广播来找,既然用广播就需要用到swith隔断
RS1收到广播,但是ip地址不是它的,所以就需要RS1,2都配上VIP
怎么让这些ip地址不冲突(地址冲突是因为,当你采用这个地址,网络服务一启动,它回向网络种发ARP广播(询问,机器上配的地址,网络中有没有人也使用,如果有人配置了这个地址,就会回应这个广播,说我在使用,一回应就知道有人在使用,就地址冲突了)
避免冲突
1.不发广播,默默使用
2.不回应广播
第一不向外部发布自己的地址,第二也不打理别人的询问
这就是在配置一个地址在多个主机上的一种手段

**这个路由器如果不解决地址冲突的问题,就会把请求直接转发到rs1,2上去,不经过你的调度器了

**
在这里插入图片描述
可以换一种思路,在路由器绑死了,VIP可以绑定上MACLVS
在这里插入图片描述
但有缺点,需要配置路由,万一LVS服务器宕机 ,还需要修改路由器配置,不灵活,路由器配置一般运维工程师是没有能力进行修改的
这种冲突需要在内核级上修改响应级别
在这里插入图片描述
arp_ignore(忽略,别人问不搭理),arp_announce(发布,自己也不发布自己地址
也有第三种方法,用arptables工具
在这里插入图片描述
一般都用第三种方法,让三台主机都不发布主机的地址
在这里插入图片描述
在这里插入图片描述
rs1收到请求后,需要回应数据包,源地址就变成VIP mac地址rs1,目标CIP ,MAC2(路由器2的mac地址)
在这里插入图片描述
源地址再变成VIP ,MAC1,目标是CIP MACC

真正的通讯过程,

客户端发送请求,先三次握手 ,SYN请求到达LVS,LVS服务器收到请求后就转到RS1了,把数据包的mac地址改了,改了以后到达RS1,同步请求,等于走了两次才实现了第一次握手
在这里插入图片描述
第二次握手,直接回来,SYN ,ACK两个标记为
在这里插入图片描述
**第三次握手,ACK,只要是请求报文必须经跟LVS,响应报文不需要经过它
**在这里插入图片描述
抓包才能深入研究
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看一些特性
在这里插入图片描述
整个工作中,并没有涉及到RIP,所以公网还是私网这个并没有关系,所以RIP一般采用私有地址
在这里插入图片描述
但是采用私有地址就有点问题,物理上在一个网段,但是逻辑上是在两个网段(交换机相连就是在一个网段),所以这个时候在路由器上应该有两个地址(一个是公网的网关,一个是私网的网关)再加上对外一个地址,在路由器上有三个地址(对外的网卡配置一个地址,对内的网卡需要配置2个地址)
在这里插入图片描述
在这里插入图片描述
不支持端口映射,改的是mac地址,IP地址没有改变过,端口也没有变过,改的是mac地址,所以不支持端口映射
没有修改ip报文,只改了数据链路层的报文头部
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
应该些路由器接口的mac地址
在这里插入图片描述
应该是路由器接口的mac地址
在这里插入图片描述
源mac因该是real-server的mac地址,目标是路由器接口mac
在这里插入图片描述
DR模式优势就是响应报文不经过LVS服务器了,这样性能负载就小多了
谷歌一天PV才几十亿
生产中一般都是这么分的,调度器2个F5(或者LVS) 高可用
下面是反向代理服务器
(调度器,如果访问www。网站,就调度到nginx服务器上去,如果是app手机应用,就调度到另外的服务器上去
比如wap,手机浏览器,就转发的haproxy
反向代理服务器(说白了也是调度器)还有一堆服务器,这样无论多少的并发都能接受
在这里插入图片描述

转载地址:http://ffkgn.baihongyu.com/

你可能感兴趣的文章
微信小程序wxss设置样式
查看>>
Linux C代码获取天气情况
查看>>
python+opencv礼帽黑帽
查看>>
python链表反转
查看>>
c/c++查询M个数在N数组中出现的次数
查看>>
uva 147 - Dollars(动态规划--完全背包)
查看>>
uva 357 - Let Me Count The Ways(动态规划-注意dp初始化的问题)
查看>>
uva 562 - Dividing coins(注意判断条件,可以转换成01背包做)
查看>>
uva 10404 - Bachet's Game(DP)
查看>>
最优二叉搜索树
查看>>
hdu 1008 Elevator
查看>>
hdu 1005 Number Sequence(数学题目,好好看)
查看>>
zoj 2106 Tick and Tick(比较好的数学题目,代码特麻烦,注意精度)
查看>>
zoj 2107 Quoit Design(最近点对问题,好好思考,分治)
查看>>
zoj 2111 Starship Troopers(树形DP)
查看>>
vector 容器的使用方法
查看>>
hdu 1520 Anniversary party(基本树形DP)
查看>>
poj 1463 Strategic game(树形DP)
查看>>
poj 3342 Party at Hali-Bula(树形DP+判断方式是不是唯一)
查看>>
Problem 2129 子序列个数 (动态规划题目,注意模余的问题)
查看>>