您的位置:首页 > 其它

LVS之二:DR模型工作原理

2015-05-03 23:24 260 查看


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 43.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

本文出自 “anka” 博客,请务必保留此出处http://anka0501.blog.51cto.com/10129669/1641511
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: