我们按照DR模型,要求负载均衡服务器和real-server在一个局域网内,那我们就从这里出发,能不能让他们不在同一个局域网
TUN隧道技术
如果想从DIP到RIP,如果能单独产生一个数据包,从DIP->RIP(1),当请求的数据包(携带CIP->VIP(2))到VIP后,让1携带2,因为2是可以到达RIP的;
生活中用到隧道技术的案例也很多,比如:
家里设置路由器的时候,也用到过这种方式,即PPPOE(Point-to-Point Protocol Over Ethernet)协议:以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协议
另外,VPN或者叫翻墙,跟上面说的隧道技术挂钩,我如果自己购买翻墙软件,我怕服务商劫持我的数据包,窥探我的隐私,那我如果在香港买一台云主机,在这台云主机上安装一个VPN的server,在手机上安装一个VPN的客户端,这样就可以访问国外的网站了,那么这个时候,就在国内的客户端和香港的云主机就出现了一个隧道,客户端将数据包扔给香港的服务器,云主机再往目标服务器去转,这就解决了一个问题,就是解决物理位置限制问题
LVS(LINUX虚拟服务器)
关于LVS的其他知识点:
1、对外隐藏,对内可见,如何实现
之前讲说,DR模型,在RIP中需要隐藏VIP,即对外隐藏,对内可见,该如何实现呢?
这些都是在内核层面实现的
/proc/sys/… :虚拟目录(内存里面的树状结构),并不是磁盘目录,开机之后才会有这个目录下的东西,里面放的就是内核以及启动后的进程,把里面的变量和参数抽象成文件,改文件中的值,就相当于改了内核里面的变量中参数的值
既然这个目录映射的是程序内存里面的变量,所以打开的时候就不能使用
vi
来打开了,所以只能用echo
重定向去覆盖,
arp_ignore
参数
举例解释下:
我有个家庭,我和我爱人,我们分别有一个手机号(MAC地址):
0:外界问我,你爱人的手机号是多少,配置是0,那么我就会告诉外界我爱人的手机号是XXXXXX
1:外界问我,你爱人的手机号是多少,配置是1,那么男生问的话,我就说跟你没关系,女生问的话,就回答没结婚呢,其实就是为了表达对我隐藏,对内可见,对外刻意隐藏
arp_announce
:定义将自己的地址向外通告时的通告级别;
我有个家庭,我和我爱人,我爱人有一个手机号(MAC地址),我有两个手机号,其中一个只有我自己知道
0:我会把三个手机号都公开,大家都知道
1;我我的网卡都说了
2:我只把我公开的那个手机号说了,我的另外一部和我爱人的是不会说的
补充一个知识点:
当我们使用ifconfig
,命令是,会显示出计算机上的网络设备信息
其中:eth0
即Ethernet第0块网卡,这是设备的物理网卡,而lo0
则是虚拟网卡,我们可以看到eth0
对应的IP地址位10.11.12.35
,而lo0
则对应的是127.0.0.1
也就是说,这个请求根本不会走物理网卡
1、即便是通了电了,产生了虚拟网卡,这个网卡的IP也不会暴露出去,外界的数据包只能到物理网卡,不能到虚拟网卡
2、任何接口都有子接口,所以我们在虚拟网卡上在做一个子接口(子IP)(每个网卡可以配置多个IP),因此吧VIP配置在虚拟网卡上
2、调度算法,从VIP怎么负载给各个RIP
调度算法分为静态调度,动态调度
四种静态调度
rr
:轮训
wrr
:
Dh
:
sh
:
动态调度算法
lc
:最少连接数,谁的负载数少,就负载给谁(如何判断是否负载或者负载多少呢,三次握手成功后,RIP上负载数统计会加一,四次挥手成功后就会减1)
wlc
:加权最少连接
sed
:最短期望延迟
nq
: never queue
LBLC
:基于本地的最少连接
DH
:
LBLCR
:基于本地的带复制功能的最少连接
Linux操作系统讲LVS的东西封装近了Linux操作系统,即ipvs内核模块,所以,现在的linux内核,默认都带着ipvs内核模块,所以不需要安装
但是要安装一个和他交互的接口ipvsadm
但是这个接口需要配置,并且需要配置两次,一个输入,一个输出
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !