Lvs ip-tun(ip隧道)的原理和实现

采用Nat技术时,由于请求和响应报文都必须经过调度器地址重写,当客户请求越来越多时,调度器的处理能力将成为瓶颈。为了解决这个问题,调度器把请求报文通过IP隧道转发至真实服务器,而真实服务器将响应直接返回给客户,所以调度器只处理请求报文。由于一般网络服务器应答比请求报文大许多,采用VS/TUN技术后,集群系统的最大吞吐量可以提高10倍。

Lvs ip-tun(ip隧道)的原理和实现_第1张图片
网络结构图

实验规划:

(1).将物理机上的VMnet1网卡的ip设置为200.168.10.4,子网掩码设置为255.255.255.0

(2).为Lvs服务器配置一块网卡eth0,网络连接设置为VMnet1,设置IP地址:ifconfig eth0 200.168.10.1

(3).为两台真实服务器配置一块网卡,网络连接设置为VMnet1,设置IP地址:ifconfig eth1 200.168.10.2和ifconfig eth1 200.168.10.3

(4).为Lvs服务器和两台真实服务器都配置一个tunl0网卡,配置为单独的网段:ifconfig tunl0 200.168.10.10 netmask 255.255.255.255 up,route add -host 200.168.10.10 dev tunl0

(5).Lvs ip-tun服务器脚本:

ipvsadm -C

ipvsadm -A -t 200.168.10.10:80 -s rr(-t:采用tcp协议;-s:模式参数;rr:采用轮叫算法)

ipvsadm -a -t200.168.10.10:80 -r 200.168.10.2 -i(-r:真实服务器ip;-i:ip-tun模式)

ipvsadm -a -t200.168.10.10:80 -r 200.168.10.3 -i

(6).真实服务器脚本:

echo "1" > /proc/sys/net/ipv4/conf/tunl0/arp_ignore

echo "2" > /proc/sys/net/ipv4/conf/tunl0/arp_announce

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

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

注:目前只有Unix/Linux版本的操作系统才具备ip-tun网卡

你可能感兴趣的:(Lvs ip-tun(ip隧道)的原理和实现)