LVS之二:DR模型工作原理

1.当客户端访问集群中的服务(例如web),源IP(定义为A)和目标IP(定义为B)如上图所示,发送数据报文到调度器上

<1>客户端发送报文必须到调度器上,不能到Rearserver上,不然无法实现调度

实现原理:虽然RS上的lo口也配置VIP,但是却无法相应,通过如下配置在RS上实现

echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce

echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce

arp_ignore(接受到arp请求时的响应级别,默认0)

1) 0:只要本地配置有相应的地址,给予响应

2) 1:仅在请求的目标地址配置请求到达的接口上的时候,才给于响应

arp_announce(将自己地址向外通告时的通告级别,默认0)

1) 0:将本地任何接口上的任何地址向外通告

2) 1:试图仅向目标网络通告语气网络匹配的地址

3) 2:仅向与本地接口上地址匹配的网络进行通告

2.调度器收到报文后查询ipvsadm规则,符合集群服务后发送报文到RS上,源目IP地址不变,是通过修改MAC地址发送到RS上的,

<1>调度器规则

ipvsadm -A -t 192.168.11.100:80 -s wrr

ipvsadm -a -t 192.168.11.100:80 -r 192.168.11.12 -g -w 2

ipvsadm -a -t 192.168.11.100:80 -r 192.168.11.13 -g -w 4

3.RS收到报文后,发现目标IP为自己的VIP(lo:0上配置,不对外响应,只做回报的源IP),用自己的VIP作为源地址发送报文

<1>如何实现发送报文时,源IP为自己的lo:0上的VIP,默认linux报文从哪个接口出源IP为那个接口

实现原理:ifconfig lo:1 192.168.11.100 netmask 255.255.255.255 up  (配置RS的VIP,不对外响应)

route add -h 192.168.11.100 dev lo:0   (增加路由,报文目标IP为192.168.11.100的接口为lo:0,

这样回报也是通过lo:0回报,确保报文源IP为VIP)

<2>确保调度器上的发包正确,增加如下配置

ifconfig eth:0 192.168.11.100 netmask 255.255.255.255 up  (添加VIP地址)

route add -h 192.168.11.100 dev eth:0

4.客户端收到后源IP为VIP,目的IP为客户端的IP,

报文的封装为:RS通过自己的lo:0回应报文,源IP则为VIP,目标IP则为客户端IP

时间: 2024-10-06 10:29:26

LVS之二:DR模型工作原理的相关文章

路由器开发(二)—— 路由器工作原理

当信息需要在两个网络之间传输时,常用路由器这种互连设备来负责数据的传输.路由器的主要工作是:路径的决定和数据包的转发(从路由器一个接口输入,然后选择合适接口输出):维护路由表. 路由器工作的方式非常简洁明了,从接收报文中抽取目的地址,并确定地址中的网络号,查找路由选择表以获得与目标网络相匹配的表项.在路由选择表中的匹配表项中包括下一站.目的地.输出接口和其它与路由有关的参数.报文被封装在适合输出接口的帧中,并由输出接口输出. 下面具体分析路由器两种工作的工作原理. 一.路由的概念  路由是将对象

android camera(二):摄像头工作原理、s5PV310 摄像头接口(CAMIF)

一.摄像头工作原理 上一篇我们讲了摄像头模组的组成,工作原理,做为一种了解.下面我们析摄像头从寄存器角度是怎么工作的.如何阅读摄像头规格书(针对驱动调节时用到关键参数,以GT2005为例). 规格书,也就是一个器件所有的说明,精确到器件每一个细节,软件关心的寄存器.硬件关心的电气特性.封装等等.单单驱动方面,我们只看对我们有用的方面就可以了,没必要全部看完.主要这样资料全都是鸟语(En),全部看完一方面时间上会用的比较多,找到关键的地方就行了. 1.camera的总体示意图如下:控制部分为摄像头

LVS负载均衡DR模型实验

lvsDR模型原理: 外部请求到来时,源IP是CIP目标IP是VIP,进入路由,路由arp解析,由于只能让Director给予响应,所以禁用RS的arp响应广播,只能响应连入网络中的接口对应的ip的解析,所以将VIP设置在lo:0接口,这样之后Director可以响应路由器的arp解析,客户端请求进去Director,通过PREROUTING进入INPUT,在INPUT设置了lvs服务,凡是请求vip:80的请求,均进行转发,于是在Director INPUT链上根据调度规则,选出合适的RS,进

lvs编译安装DR模型

一.环境 系统:CentOS 6.4x64最小化安装 DR:192.168.3.20 RS1:192.168.3.21 RS2:192.168.3.22 VIP: 192.168.3.23 二.Realserver配置httpd服务做测试 RS1配置 [[email protected] ~]# yum install httpd -y [[email protected] ~]# service httpd start Starting httpd: httpd: apr_sockaddr_i

LVS之三:DR模型(通过脚本实现)

1.当客户端访问集群中的服务(例如web),源IP(定义为A)和目标IP(定义为B)如上图所示,发送数据报文到调度器上 <1>客户端发送报文必须到调度器上,不能到Rearserver上,不然无法实现调度 实现原理:虽然RS上的lo口也配置VIP,但是却无法相应,通过如下配置在RS上实现 echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce echo

SERVLETJSP学习(二)—— Servlet工作原理

1. Servlet核心(I) 1.1. 请求方式 1.1.1. 请求方式的种类 请求数据包中的请求行的第一个参数就是请求方式,是客户端向Web服务器发送请求时的意向说明,以此告知服务器该如何处理及解析提交的这些数据,而客户端提交的数据也会因为采用的提交方式不同来处理.后续的一切解析都是基于请求方式的不同而不同.在RFC标准文档中有详细的规定来说明请求方式的种类及作用. 区分请求种类也会为浏览器采用不同的缓存方式处理后续请求提供一个依据,从而提升响应速度.所以对于编程人员来讲,使用正确的请求方式

Linux实验报告-构建一个LVS的DR模型

Linux实验报告-构建一个LVS的DR模型 实验背景: 学习笔记,构建一个LVS的DR模型 实验目的: 了解LVS的DR模型工作原理 实现一个LVS的DR模型的实验 实验环境: Vmware Workstation 9,CentOS 6.4  实验步骤: 1,实验目的规划如下模型,CIP.VIP.DIP与RIP在同一网段 2.RS1上配置如下: 配置内核参数: #echo 1 > /prco/sys/net/ipv4/conf/lo/arp_ignore                    

初识LVS(二)——LVS的DR工作模式

LVS的DR模式介绍 LVS在NAT模式下所有的请求和响应报文都需要经过director,尽管LVS工作在内核层不受套接字文件65535的数量限制,但也有可能会成为性能瓶颈(如视频网站),以下介绍LVS的另一种工作模式--dr模式,它是LVS默认的工作模式.与nat模式通过单边修改源或目标的IP地址实现负载均衡功能不同,dr模式则是通过修改mac地址来实现该功能,整个过程中源和目标的IP地址不发生变法. LVS的dr模式工作原理 与nat模式下LVS负载均衡器充当内网中RS服务器的网关不同,dr

LVS详解及基于DR模型的案例

LVS简介 LVS(Linux Virtual Server),即Linux上虚拟的服务器集群系统.其实LVS就是一个前端的负载调度器,它在软件层次上实现了负载均衡,将接收到的请求均衡地转移至多个不同的服务器上运行,用较低的成本实现了将一组服务器构建成高性能.高可用的服务器集群. LVS由两部分组成ipvsadm和ipvs,ipvsadm工作于用户空间,用于编写集群服务.ipvs工作于内核空间.ipvsadm编写的集群服务交由ipvs来具体实现.ipvs是基于netfilter实现的,它工作在i