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. 利用python批量修改word文件名的方法示例

    利用python批量修改word文件名的方法示例 最近不小心把硬盘给格式化了,由于当时的文件没有备份,所以一下所有的文件都没有了,于是只能采取补救措施,用文件恢复软件恢复了一部分的数据出来,但是恢复完 ...

  2. 直接用的tar压缩

    将目录里的doc文件夹压缩成tar.gz tar -czf  doc.tar.gz   doc 解压tar.gz tar -xzvf doc.tar.gz 在不解压的情况下查看压缩包的内容: tar ...

  3. 【leetcode算法-简单】53. 最大子序和

    [题目描述] 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:  ...

  4. shell基础教程

    shell基础教程 一.shell基础知识 1.shell是什么? Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言. Shell ...

  5. [转帖]Greenplum :基于 PostgreSQL 的分布式数据库内核揭秘 (上篇)

    Greenplum :基于 PostgreSQL 的分布式数据库内核揭秘 (上篇) https://www.infoq.cn/article/3IJ7L8HVR2MXhqaqI2RA 学长的文章.. ...

  6. plsql中文乱码 显示问号

    输入sql语句select * from V$NLS_PARAMETERS查看字符集,查看第一行value值是否为简体中文 解决方案: 新增环境变量 变量名: NLS_LANG 变量值: SIMPLI ...

  7. 第6章:LeetCode--数组(冒泡排序、快速排序)

    11. Container With Most Water class Solution { public: int maxArea(vector<int>& height) { ...

  8. OOP_面向对象程序设计概述

    李际军老师"面向对象程序设计"课程第一课笔记整理 面向对象程序设计概述 20世纪90年代以来面向对象程序设计(Object Oriented Programming, 简称OOP) ...

  9. 洛谷 P1019单词接龙

    看吧,多简单啊,没有人受伤的世界完成了.                                                                                ...

  10. 学习Python类的心得

      类的注意事项 1)命名规则 需要注意的是,在Python中,变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的, 是特殊变量,特殊变量是可以直接访问的,不是private变量, ...