目录

lvs的调度算法

lvs的四种模式

四层均衡负载和七层的区别

1、lvs调度算法(最常用的四种)

轮叫调度(rr)

调度器通过外部请求的顺序轮流分配到集群中的真实服务器上,对每台服务器都是均等的;但是这样调度器不会考虑服务器上实际的连接数和系统负载,导致服务器处理请求慢,系统负载增大。

加权轮叫(wrr)

调度器通过一个算法根据真实服务器的不同处理能力来分配访问请求,这样可以保证服务器的处理能力。

最少连接(lc)

调度器将访问请求自动的分配到已建立连接最少的服务器上,如果在集群中每台服务器的性能差不多的话,则这种算法可以较好的均衡负载。

加权最小连接(wlc)

主要用于集群中服务器性能差异大的情况下,调度器可以优化负载性能,具有较高权值的服务器可以将承受较大的活动连接。

2、lvs的四种模式

LVS 是四层负载均衡,建立在 OSI 模型的第四层——传输层之上,LVS 支持 TCP/UDP 的负载均衡。

LVS 的转发主要通过修改 IP 地址(NAT 模式,分为源地址修改 SNAT 和目标地址修改 DNAT)、修改目标 MAC(DR 模式)来实现。

LVS 的工作模式主要有 4 种:

DR(最常用)(也称直接路由模式)

NAT

TUNNEL(不用)

Full-NAT(了解即可)

1、DR模式

请求由 LVS 接受,由真实提供服务的服务器(RealServer, RS)直接返回给用户,返回的时候不经过 LVS。

DR 模式下需要 LVS 和绑定同一个 VIP(RS 通过将 VIP 绑定在 loopback 实现)。

一个请求过来时,LVS 只需要将网络帧的 MAC 地址修改为某一台 RS 的 MAC,该包就会被转发到相应的 RS 处理,注意此时的源 IP 和目标 IP 都没变。

RS 收到 LVS 转发来的包,链路层发现 MAC 是自己的,到上面的网络层,发现 IP 也是自己的,于是这个包被合法地接受,RS 感知不到前面有 LVS 的存在。

而当 RS 返回响应时,只要直接向源 IP(即用户的 IP)返回即可,不再经过 LVS。

DR 模式是性能最好的一种模式。

2、NAT模式

NAT(Network Address Translation)是一种外网和内网地址映射的技术。

NAT 模式下,网络报的进出都要经过 LVS 的处理。LVS 需要作为 RS 的网关。

当包到达 LVS 时,LVS 做目标地址转换(DNAT),将目标 IP 改为 RS 的 IP。RS 接收到包以后,仿佛是客户端直接发给它的一样。

RS 处理完,返回响应时,源 IP 是 RS IP,目标 IP 是客户端的 IP。

这时 RS 的包通过网关(LVS)中转,LVS 会做源地址转换(SNAT),将包的源地址改为 VIP,这样,这个包对客户端看起来就仿佛是 LVS 直接返回给它的。客户端无法感知到后端 RS 的存在。

3、Full-NAT()

在包从 LVS 转到 RS 的过程中,源地址从客户端 IP 被替换成了 LVS 的内网 IP。

内网 IP 之间可以通过多个交换机跨 VLAN 通信。

当 RS 处理完接受到的包,返回时,会将这个包返回给 LVS 的内网 IP,这一步也不受限于 VLAN。

LVS 收到包后,在 NAT 模式修改源地址的基础上,再把 RS 发来的包中的目标地址从 LVS 内网 IP 改为客户端的 IP。

Full-NAT 主要的思想是把网关和其下机器的通信,改为了普通的网络通信,从而解决了跨 VLAN 的问题。采用这种方式,LVS 和 RS 的部署在 VLAN 上将不再有任何限制,大大提高了运维部署的便利性。

4、四层负载均衡和七层的区别

1、四层负载均衡

通过报文中的目标地址和端口,再加上负载均衡设备设置的调度算法,决定选择哪台内部服务器与请求客户端建立TCP连接,然后发送Client请求的数据。

2、七层负载均衡

是基于虚拟的URL或主机IP的负载均衡:在四层负载均衡的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。

5、四层负载均衡和七层的优缺点

1、四层负载均衡:

(1)抗负载能力强,可以支持高并发数万

(2)配置性比较低,不宜出人为配置错误

(3)无流量,LVS只分发请求,而流量并不从它本身出去

(4)应用范围比较广,因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡,包括http、数据库等

缺点:软件本身不支持正则表达式处理,不能做动静分离

2、七层负载均衡:

(1) 使整个网络更“智能化”,能把对图片类的请求转发到图片服务器,对文字的请求转发到文字服务器

(2) 可以有效防止 SYN Flood攻击,使网站更安全

缺点:对设备要求高

6、四层、七层软件(已知常用)

四层:LVS   F5

七层:Nginx     Haproxy

总的来说,一般是lvs做4层负载;nginx做7层负载;haproxy比较灵活,4层和7层负载均衡都能做。

lvs工作在第几层_LVS 原理(调度算法、四种模式、四层负载均衡和七层 的区别)...相关推荐

  1. f5 会话保持 负载均衡_四层负载均衡和七层负载均衡区别在哪里?

    年后至今这段时间工作重心都在调整公司现有API Gateway的系统架构以及对现有技术栈选型.经过对主流互联网网关所实现各种方案的调研,我们在API Gateway前置一层接入层,接入层主要用于实现限 ...

  2. 四层负载均衡和七层负载均衡的区别

    四层负载均衡和七层负载均衡的区别 1. 四层负责均衡:是通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器与请求客户端建立TCP连接,然后发送Client请求 ...

  3. 四层负载均衡与七层负载均衡

    lvs+nginx的拓扑结构 四层负载均衡 四层的负载均衡就是基于IP+端口的负载均衡:在三层负载均衡的基础上,通过发布三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需 ...

  4. 负载均衡集群 [ 1 ] ---集群的认识,四层负载,七层负载 ,LVS 实现四层负载均衡

    文章目录 负载均衡集群 1.集群是什么? 2.负载均衡集群技术 3.负载均衡集群技术的实现 4.负载均衡分类 5.四层负载均衡(基于IP+端口的负载均衡) 6.七层的负载均衡(基于虚拟的URL或主机I ...

  5. LVS四层负载均衡原理解析

    一.网络层协议 网络协议是由七层ISO协议定义,自底向上分为物理层.数据链路层.网络层.传输层.会话层.表现层和应用层. 四层负载均衡主要工作在网络七层ISO协议的第四层,即传输层.传输层的代表协议为 ...

  6. 利用LVS(Linux Virtual Server)系统实现Web服务器集群的负载均衡

    利用LVS(Linux Virtual Server)系统实现Web服务器集群的负载均衡 LVS系统结构与特点: 1. Linux Virtual Server:简称LVS.是基于Linux服务器集群 ...

  7. LVS的四种模式的实现

    LVS 是四层负载均衡,也就是说建立在 OSI 模型的第四层--传输层之上,传输层上有我们熟悉的 TCP/UDP,LVS 支持 TCP/UDP 的负载均衡. LVS 的转发主要通过修改 IP 地址(N ...

  8. CDN基于谷歌开源Katran四层负载均衡方案的应用 - 原理篇

    CDN作为一种分布式缓存加速服务,对于访问量级大的区域,单个节点带宽建设一般可达百Gb量级,对外配置虚拟IP提供服务,节点内部需要通过多层负载均衡(LB)将请求分发到内部的若干台服务器进行处理.一般情 ...

  9. 读懂TCP IP四层模型与OSI七层模型

    目录 一.OSI七层模型 二.TCP/IP四层模型 三.OSI模型的七层解读 3.1 OSI七层模型小结 3.2 TCP/IP模型与OSI模型的对应关系 四.常见的网络相关协议 五.TCP和UDP协议 ...

最新文章

  1. 可集成DevOps的Scrum敏捷工具!
  2. Xamarin如何生成Android项目的APK
  3. 开发日记-20190616 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
  4. 离散数学反对称关系_【离散数学】1.2&1.3集合与元素,集合与集合之间的关系...
  5. 最小生成树算法讨论(转)
  6. 人口预测和阻尼-增长模型_使用分类模型预测利率-第2部分
  7. idea中event log_【JavaScript 教程】事件——Event 对象
  8. thinkphp5.0l路由冲突原因及解决方法
  9. Linux系统编程3:基础篇之详解Linux软件包管理器yum
  10. 基于Metronic的Bootstrap开发框架经验总结(11)--页面菜单的几种呈现方式
  11. java输入一个矩阵顺时针打印_剑指Offer(Java版):顺时针打印矩阵
  12. Springboot 下 ModelAndView 的简单使用
  13. logit回归模型的参数估计过程_LOGISTIC模型参数估计及预测实例.pdf
  14. 下载频道2013免积分人气资源大汇总
  15. 激光粒度仪测试原理及详情解答【注解】
  16. PCB电路板EN 45545-2:2020最新标准的测试要求
  17. ajax打开新窗口被浏览器拦截的解决办法
  18. 验证邮箱格式html代码,jquery验证邮箱格式是否正确实例讲解
  19. mysql outer join的用法_MySQL 8 中的连接语法JOIN、OUTER JOIN的相关用法
  20. Python实现手写体数字图片识别+GUI界面+画板数字识别

热门文章

  1. oracle 31693,ORACLE expdp备份与ORA-31693、ORA-02354、ORA-01555
  2. 腾讯视频APP如何提交反馈
  3. uc浏览器TV版最新版本功能简介
  4. Windows平台Unity3d下如何同时播放多路RTSP或RTMP流
  5. java int比较用==,整数-在Java中使用==运算符比较包装对象
  6. springboot-项目获取resources下文件的方法
  7. 博途变量类型_PLC数据类型(UDT)
  8. 编写并调试一个单道处理系统的作业调度模拟程序_操作系统系列(2):操作系统发展历史...
  9. 华为路由器hilink怎么用_华为无线充电怎么用?MatePadPro无线充电使用方法
  10. work节点使用外部包_AFLSmart工具简单分析及使用介绍