LVS的默认模型:默认模型DR


DR模型原理图-->


在讲DR模型要点之前,需要了解网络的相关知识:
  1. 接收的报文拆解顺序:帧(MAC)-->数据包(IP)-->数据报文(port)
  2. ARP是广播,即只能在同一个局域网之内,不能穿过路由设备,作用是通告自己的MAC和请求目标IP的MAC

DR模型要点-->

  • Real Server修改内核参数,忽略别人的ARP请求,同时禁止自己ARP通告,从而避免了外部的服务请求包转发到Real Server:
  1. echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
  2. echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
  3. echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
  4. echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

arp_ignore=1的意思是,仅当ARP广播查询的IP是进口网卡IP的时候,才予以回应,因为VIP不是,所以不回应。

arp_announce=2的意思是,对查询目标通告本地最合适的IP地址.那么何为最合适的IP地址.即:本地某个接口的IP地址和这个查询目标处于同一个子网内;如果这个条件不成立,则通告能接收到此ARP查询数据包的接口网卡MAC.
那么我们可以得到如下结论:
依据arp_ignore = 1,我们可以防止来自client的数据包被网关设备直接发往real server,因此,所有的client请求都到了DR上
依据arp_announce = 2,我们可以让DR获取到real server的DIP所在网卡的MAC.因此,DR就可以将目的MAC修改为real server的MAC,从而将数据包转发给Real server
  • 在Real Server的lo上添加VIP,但是VIP不能添加到RIP网卡上,原因在于内核的ARP限制是在网卡上限制的
  • 在Real Server上先修改内核参数,再配置IP地址,原因在于如果先配置IP,ARP就直接通告出去了
  • RIP和DIP必须在一个网段,原因在于服务请求的报文,它的目标IP和源IP都不能更改,所以只能通过更改目标MAC地址来进行转发,不在一个网段,怎么知晓Real Server的MAC,不知道MAC,就无从修改网络服务报文的目标MAC,从而无法转发
  • Real Server的网关必须指向RIP同一网段的另一个路由设备的lan口,从而发包到互联网上

负载均衡集群之LVS的DR模型详解(Diretor Routing)的更多相关文章

  1. 负载均衡集群之LVS算法和模型

    LVS-->Linux Virtual Server 实现算法-->静态/动态,共10种 静态算法:     rr(round robin):         解析:轮叫算法,即0-9循环 ...

  2. LVS搭建负载均衡集群(二)——DR模式

    (1).DR模式和TUN模式介绍 Direct Routing(直接路由):director分配请求到不同的real server.real server处理请求后直接回应给用户,这样director ...

  3. 负载均衡集群之LVS配置命令

    ipvs/ipvsadm 添加集群服务--> ipvsadm -A|E -t|u|f VIP[:Port] -s scheduler [-p timeout] [-O] [-M netmask] ...

  4. 负载均衡集群介绍 LVS介绍 LVS调度算法 LVS NAT模式搭建

    LVS BAT模式搭建 更改主机名: hostnamectl set-hostname centos7-three bash 准备工作 • 三台机器 • 分发器,也叫调度器(简写为dir) • 内网: ...

  5. 负载均衡集群之LVS持久链接

    原理--> 通过构建一个hash表,利用CIP与RS的对应关系,来保持来自一个CIP的各种服务都走同一个RS 目的--> 保持持久链接的同时,将多个服务合并起来,例如http和https ...

  6. LB(Load balance)负载均衡集群--{LVS-[NAT+DR]单实例实验+LVS+keeplived实验} 菜鸟入门级

    LB(Load balance)负载均衡集群 LVS-[NAT+DR]单实例实验 LVS+keeplived实验 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一 ...

  7. centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课

    centos   LB负载均衡集群 三种模式区别 LVS/NAT 配置  LVS/DR 配置  LVS/DR + keepalived配置  nginx ip_hash 实现长连接  LVS是四层LB ...

  8. Keepalived+LVS(dr)高可用负载均衡集群的实现

    一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2 ...

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

    目录: 一.LVS-DR数据包流向分析 二.DR 模式的特点 三.LVS-DR中的ARP问题 四.DR模式 LVS负载均衡群集部署 一.LVS-DR数据包流向分析 1.为方便进行原理分析,将clien ...

随机推荐

  1. jQuery验证表单格式

    工作之余整理一些工作中编写的代码,记录自己工作中的技术要点,便于自己记忆已经整合.以下是关于此jQuery验证的一些标记以及使用方法: 整个js代码都放入jquery_validate_1.1.0.j ...

  2. /users/products.:format 这种写法的其对应解析字符写法

    “products.:format" 这种写法可以有对应的下面两种路由形式 /products.json /products.xml "products.:format?" ...

  3. 用 C 语言编写 Windows 服务程序的五个步骤

    Windows 服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务.为了学习这种控制台应用程序的基础知识,C(不是C++)是最佳选择.本文将建立并实现一个简单的服务程序,其功能是查询系统 ...

  4. linux中查找命令find、locate、whereis、which、type区别

    linux中查找命令find.locate.whereis.which.type区别 1. find Java代码 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/ ...

  5. PowerShell 远程管理之 about_Remote_Troubleshooting

    主题 about_Remote_Troubleshooting 简短说明 说明如何解决 Windows PowerShell 中的远程操作的问题. 详细说明 本节描述您在使用 Windows Powe ...

  6. UVa 147 Dollars(硬币转换)

    题目大意:给出五种硬币,价值分别为 1,5,10,25,50,.当给出一个价值时,求出能够组合的种数(每种硬币可以用无限次). 思路:完全背包, dp[i][j]表示总数 i 能够被表示的种数.状态转 ...

  7. 计算机程序的思维逻辑 (63) - 实用序列化: JSON/XML/MessagePack

    上节,我们介绍了Java中的标准序列化机制,我们提到,它有一些重要的限制,最重要的是不能跨语言,实践中经常使用一些替代方案,比如XML/JSON/MessagePack. Java SDK中对这些格式 ...

  8. java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]

    此方法为Timestamp的 转换方法. 这几天做到excel导入功能,其中里面有几个时间时段,所以用了这个类来将导入的字符串格式转换Timestamp格式. 不慎出现了 java.lang.Ille ...

  9. jquery 自动跳出列表

    先上效果图:当鼠标经过相亲会自动弹出取最新的10条数据

  10. Oracle 方法

    1.递归 select zxdept from (select d.id, d.zxdept, d.RANK, d.fatherId from web_dept d start with d.id = ...