CIP即为客户端的IP地址 .
DIR为调度器 .
VIP为虚拟IP地址 .
RIP为真实服务器IP地址 .

假设CIP的mac为A1,ip为B1;DIR只有一个物理网卡mac为A2,IP为B2;RIP的mac为A3,IP为B3。

全部VIP为:100

  1. 客户端请求之前会发送arp广播,请求VIP地址对应的mac地址,那么由于所有的真实服务器都需要配置VIP,DIR上也需要配置VIP(且必须配置),但是为了让请求发送到dir上,我们要设置为不允许真实服务器的VIP进行响应arp请求(抑制真实服务器的arp查询和响应)。
  2. dir响应客户端,接到了请求

数据帧:

src mac dest mac src ip src port dest ip dest port
A1 A2 B1 10023 100 80
  1. DIR根据负载均衡算法选择一台真实服务器,将RIP的mac作为目标mac地址

数据帧:

src mac dest mac src ip src port dest ip dest port
A2 A3 B1 10023 100 80

在这一次封装中,源IP地址,源端口都没有改变,目标IP地址一直都是VIP,但是这次的mac地址转变为真实服务器的mac地址

  1. RIP在局域网中收到该包,拆包后查看目标IP与本机是否匹配,匹配则处理这个报文并通过路由进行回复
src mac dest mac src ip src port dest ip dest port
A3 A1 100 80 B1 10023

注意点:

- dir仅处理入站请求,回复数据包是由真实服务器直接通过路由发往客户端
- 真实服务器的网关不能只想dir,我们有时可能想,dir就是起一个nat的作用,但是那只是,接收请求连接的时候,我们回复请求连接的时候是由真实服务器直接回复客户端的。网关指向网络环境使用的网关即可
- 真实服务器配置VIP,要配置在loopback回环口上,因为具体配置时要针对该接口进行arp抑制,如果配置到真实接口上,会影响其它的网络正常通信

参考文章

LVS | LVS 负载均衡之工作原理说明(DR模式)

lvs 中的DR模式 ,解释的更多相关文章

  1. LVS负载均衡DR模式

    什么是集群? 一组相互独立的计算机,利用高速通信网络组成的一个计算机系统,对于客户机来说像是一个单一服务器,实际上是一组服务器.简而言之,一堆机器协同工作就是集群.集群的基本特点:高性能.高并发.高吞 ...

  2. LVS系列二、LVS集群-DR模式

    一. LVS-DR和LVS-IP TUN集群概述 1.  Direct Routing(直接路由) Director分配请求到不同的real server.real server处理请求后直接回应给用 ...

  3. LVS集群DR模式实例(4)

    LVS集群DR模式实例 1. 实验拓扑图 2. 实验环境 3台CentOS6.4 64bit的服务器. 类型 IP DR eth0:10.20.73.20  VIP eth0:0 10.20.73.3 ...

  4. lvs负载均衡(DR模式)

    lvs负载均衡(DR模式) 系统环境:lvs+keepalivedcentos7.5 ip:192.168.1.157 vip:192.168.1.150(主)centos7.5 ip:192.168 ...

  5. LVS负载均衡DR模式实现

    LVS负载均衡之DR模式配置 DR 模式架构图: 操作步骤 实验环境准备:(centos7平台) 所有服务器上配置 # systemctl stop firewalld //关闭防火墙 # sed - ...

  6. LVS跨网段DR模式并使用ldirectord实现RS高可用性

    DR模型的工作过程: Client向VIP发起请求,请求被路由器接收到,转发给不同网段的Director的VIP,Director再通过私有网络转给RS服务器,RS服务器处理请求并通过自身配置的VIP ...

  7. LVS+keepalived 的DR模式的两种做法

    LVS DR模式搭建 准备工作 三台机器: dr:192.168.13.15 rs1:192.168.13.16 rs2: 192.168.13.17 vip:192.168.13.100 修改DR上 ...

  8. 借助LVS+Keepalived通过DR模式实现负载均衡

    1.测试环境4台server,全部初始化一下,该关的关了 # vim /etc/hosts 192.168.1.101 lvs-master DIP 192.168.1.102 lvs-slave D ...

  9. LVS负载均衡DR模式部署

    目录: 1. 拓扑图 2. 搭建环境 3. LVS服务器部署 4. 测试 1. 拓扑图     LVS-DR模式采的IP地址全部为外网IP.    本例中IP的设置全部采用临时设置IP的方式,重启后会 ...

随机推荐

  1. matlab学习——05插值和拟合(黄河小浪底调水调沙问题)

    05插值和拟合 黄河小浪底调水调沙问题 data3.txt 1800 1900 2100 2200 2300 2400 2500 2600 2650 2700 2720 2650 32 60 75 8 ...

  2. scdbg分析shellcode

    https://isc.sans.edu/forums/diary/Another+quickie+Using+scdbg+to+analyze+shellcode/24058/ scdbg -f s ...

  3. Spring mvc +ajax 发送邮件

    1.前端页面--form表单提交,通过发送按钮的id=“send”定位DOM,触发ajax请求 <form class="form-horizontal" id=" ...

  4. PHP爬虫最全总结2-phpQuery,PHPcrawer,snoopy框架中文介绍

    第一篇文章介绍了使用原生的PHP和PHP的扩展库实现了爬虫技术.本文尝试使用PHP爬虫框架来写,首先对三种爬虫技术phpQuery,PHPcrawer, snoopy进行对比,然后分析模拟浏览器行为的 ...

  5. 【CUDA开发】CUDA编程接口(一)------一十八般武器

    子曰:工欲善其事,必先利其器.我们要把显卡作为通用并行处理器来做并行算法处理,就得知道CUDA给我提供了什么样的接口,就得了解CUDA作为通用高性能计算平台上的一十八般武器.(如果你想自己开发驱动,自 ...

  6. 判断浏览器是否ie6

    if ($.browser.msie && ($.browser.version == "6.0") && !$.support.style) { ...

  7. go os.State类用法

    参考文章: https://blog.csdn.net/weixin_43851310/article/details/87988648

  8. python argparse库

    argparse用法总结 https://blog.csdn.net/qq_24551305/article/details/90155858 args = parse.parse_args()par ...

  9. mysql 表字段部分替换

    update user set `ph` = REPLACE(`ph`,'shenji.osnt.me','60.210.113.147:555');

  10. 剑指offer53:表示数值的字符串,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是

    1 题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123","3 ...