博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LVS三种调度模式
阅读量:5926 次
发布时间:2019-06-19

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

一、NAT模式-网络地址转换1、NAT模式简介:    NAT模式是通过网络地址转换的方法来实现调度的。    首先调度器(LB)接收到客户的请求数据包时(请求的目的IP为VIP),根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。    然后调度就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP),这样真实服务器(RS)就能够接收到客户的请求数据包了。    真实服务器响应完请求后,查看默认路由(NAT模式下我们需要把RS的默认路由设置为LB服务器。)把响应后的数据包发送给LB    LB再接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。调度过程IP包详细图:

LVS三种调度模式

2、NAT原理图:    1)客户端请求数据,目标IP为VIP发送到LB上。    2)请求数据到达LB服务器,LB根据调度算法将目的地址修改为RIP地址及对应端口(此RIP地址是根据调度算法得出的。)并在连接HASH表中记录下这个连接。    3)数据包从LB服务器到达RS服务器webserver,然后webserver进行响应。Webserver的网关必须是LB,然后将数据返回给LB服务器。    4)收到RS的返回后的数据,根据连接HASH表修改源地址VIP&目标地址CIP,及对应端口80.然后数据就从LB出发到达客户端。    5)客户端收到的就只能看到VIP\DIP信息。3、NAT模式优缺点:    1)NAT技术将请求的报文和响应的报文都需要通过LB进行地址改写,因此网站访问量比较大的时候LB负载均衡调度器有比较大的瓶颈,一般要求最多之能10-20台节点    2)只需要在LB上配置一个公网IP地址就可以了。    3)每台内部的节点服务器的网关地址必须是调度器LB的内网地址。    4)NAT模式支持对IP地址和端口进行转换。即用户请求的端口和真实服务器的端口可以不一致。二、TUN模式1、TUN模式简介:    采用NAT模式时,由于请求和响应的报文必须通过调度器地址重写。当客户请求越来越多时,调度器处理能力将成为瓶颈。    为了解决这个问题,调度器把请求的报文通过IP隧道转发到真实的服务器。真实的服务器将响应处理后的数据直接返回给客户端。这样调度器就只处理请求入站报文。    由于一般网络服务应答数据比请求报文大很多,采用VS/TUN模式后,集群系统的最大吞吐量可以提高10倍。    调度过程IP包详细图:

LVS三种调度模式

2、TUN模式原理图过程简述:    1)客户请求数据包,目标地址VIP发送到LB上。    2)LB接收到客户请求包,进行IP Tunnel封装。即在原有的包头加上IP Tunnel的包头。然后发送出去。    3)RS节点服务器根据IP Tunnel包头信息(此时就又一种逻辑上的隐形隧道,只有LB和RS之间懂)收到请求包,然后解开IP Tunnel包头信息,得到客户的请求包并进行响应处理。    4)响应处理完毕之后,RS服务器使用自己的出公网的线路,将这个响应数据包发送给客户端。源IP地址还是VIP地址。(RS节点服务器需要在本机配置VIP)    3、TUN模式优缺点:    优点:负载均衡器只负责将请求包分发给物理服务器,而物理服务器将应答包直接发给用户。                所以,这种方式负载均衡器能处理很大的请求量,负载均衡器不再是系统的瓶颈。    不足:这种方式需要所有的服务器支持"IP Tunneling"(IP Encapsulation)协议,已知的仅在Linux系统上实现了这个。三、DR模式1、DR模式简介:    DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的。而真实服务器响应后的处理结果直接返回给客户端用户。    同TUN模式一样,DR模式可以极大的提高集群系统的伸缩性。    而且DR模式没有IP隧道的开销,对集群中的真实服务器也没有必要必须支持IP隧道协议的要求。    但是要求调度器LB与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。        调度过程IP包详细图:

LVS三种调度模式

2、DR模式原理图过程简述:它的连接调度和管理与NAT和TUN中的一样,它的报文转发方法和前两种不同。DR模式将报文直接路由给目标真实服务器。1)客户请求数据包,目标地址VIP发送到LB上。2)在DR模式中,调度器根据调度算法选择一台服务器,将请求报文的数据帧的目标MAC地址改为真实服务器的MAC地址。(不修改目标IP地址和目标端口,也不封装IP报文)3)然后再将修改的数据帧在服务器组的局域网上发送。因为数据帧的MAC地址是真实服务器的MAC地址,并且又在同一个局域网。那么根据局域网的通讯原理,真实服务器是一定能够收到由LB发出的数据包。4)真实服务器接收到请求数据包的时候,解开IP包头查看到的目标IP是VIP。(此时只有自己的IP符合目标IP才会接收进来,所以我们需要在本地的回环接口上面配置VIP)注意:由于网络接口都会进行ARP广播响应,但集群的其他机器都有这个VIP的lo接口,都响应就会冲突。所以我们需要把真实服务器的lo接口的ARP响应关闭掉。5)然后真实服务器做成请求响应,之后根据自己的路由信息将这个响应数据包发送回给客户,并且源IP地址还是VIP。3、DR模式小结:1)通过在调度器LB上修改数据包的目的MAC地址实现转发。注意源地址仍然是CIP,目的地址仍然是VIP地址。2)请求的报文经过调度器,而RS响应处理后的报文无需经过调度器LB,因此并发访问量大时使用效率很高(和NAT模式比)3)因为DR模式是通过MAC地址改写机制实现转发,因此所有RS节点和调度器LB只能在一个局域网里面4)RS主机需要绑定VIP地址在LO接口上,并且需要配置ARP抑制。5)RS节点的默认网关不需要配置成LB,而是直接配置为上级路由的网关,能让RS直接出网就可以。6)由于DR模式的调度器仅做MAC地址的改写,所以调度器LB就不能改写目标端口,那么RS服务器就得使用和VIP相同的端口提供服务。4、DR模式优缺点:优点:和VS-TUN一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器。不足:MAC地址通信,要求负载均衡器的网卡必须与物理网卡在一个物理段上

转载于:https://blog.51cto.com/10630401/2044655

你可能感兴趣的文章
重复数据删除:块级技术VS.字节级技术
查看>>
免杀新姿势:利用线程将恶意代码注入到内存中
查看>>
使用RxJava从多个数据源获取数据
查看>>
Javascript中的循环变量声明,到底应该放在哪儿?
查看>>
苹果的热榜:积分墙背后的隐秘世界
查看>>
大数据能否力挽国足败落狂澜?
查看>>
HealthKit有名无实,疑点重重
查看>>
“爱思助手”曝为iOS木马:可绕过苹果DRM机制
查看>>
“威胁情报”在手,反黑客终于有地图了!
查看>>
从零开始来看一下Java泛型的设计
查看>>
互联网打响云上争夺战:从计算到生态
查看>>
如何使用CPU来加速你的Linux命令
查看>>
多云战略:企业如何精益求精?
查看>>
12款白帽子用于黑客渗透测试的操作系统
查看>>
大数据对六大领域的挑战
查看>>
思科为其核心网络业务增加了订阅服务
查看>>
社交背水一战?校园日记背后,支付宝野心你真能懂?
查看>>
《企业级ios应用开发实战》一导读
查看>>
嵌入式WiFi芯片价格战已经打响 MCU企业该醒悟了
查看>>
Facebook为Messenger应用添加群组付款功能
查看>>