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

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

网络结构图

实验规划:

(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网卡

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • VS/DR通过改写请求报文的Mac地址,将请求发送到真实服务器而真实服务器将响应直接返回给客户。同VS/TUN技术...
    杍劼阅读 1,820评论 0 2
  • 一、高可用集群 (一)提升系统高可用性的解决方案:冗余(redundant) 工作模式active/passive...
    哈喽别样阅读 1,746评论 2 5
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 5,989评论 1 13
  • 1.命令格式:ifconfig [网络设备] [参数] 2.命令功能: ifconfig 命令用来查看和配置网络设...
    Nuuuu阅读 3,810评论 0 12
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,135评论 6 174