• 关于LVS的DR模型


    关于LVS:

      LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。常用于负载均衡。

    阅读前的约定:

      VIP:即是LVS对外开放的公网IP地址。

      LVS:表示作为负载均衡服务的主机。

      RA...RN:表示真正提供服务的服务器主机。

      CA...CN:表示客户机。

    LVS的工作模式:

      LVS的工作模式有三种,分别是NAT模式,DR模式,TUN模式。本文主要讲解DR模式,关于NAT模式以及TUN模式就做简单介绍。

      NAT模式:顾名思义,该模式使用了NAT(Network Address Translation,网络地址转换)技术。当客户端CA的请求到达LVS时,LVS会根据负载调度算法选择一台真实主机RA,然后将请求包数据中的目标IP地址修改为RA的IP地址,然后转发至A服务器,A服务器处理完后再将响应结果返回给LVS,LVS将响应结果数据包中的原目标地址修改为VIP,将目标地址修改为CA的IP地址。(数据包流动方向为CA->LVS->RA->LVS->CA)

      DR模式:该模式要求真实主机RA...RN也拥有VIP,当客户端CA请求到达LVS后,由LVS通过MAC欺骗技术转发至真实服务器RA,然后由RA直接对CA响应。(数据包流动方向:CA->LVS(使用MAC欺骗)->RA->CA)

      TUN模式:即是隧道模式,当请求数据包从CA到达LVS时,LVS会对数据包封装一层IP数据报,然后将封装好的数据包发送至RA,最后由RA处理后,通过隐藏的VIP将响应数据发送到CA。(数据包流动方向:CA->LVS(隧道技术,即IP背IP)->RA->CA)

    LVS的三种工作模式的缺点:

      NAT模式:在该模式下,CA的请求,以及RA的响应都需要经过LVS的处理,尽管LVS不需要对CA和RA进行握手连接,但LVS的带宽仍然会成为该模式的瓶颈。对于请求数据包来说,包含的数据比较少,而对于响应数据包来说,包含的数据比较多。所以在一定时间内LVS可以处理较多的请求,但不一定能处理相同量的响应数据。

      DR模型:由于NAT模型存在的缺陷,所以DR模型的目的是使响应数据包直接由RA发送到CA,不需要经过LVS的处理,这就要求RA拥有LVS中的VIP,而对于公网来说IP是唯一的,所以这里使用了VIP隐藏的技术,也就是使VIP对外隐藏,对内可见。将到达LVS的请求数据的目标MAC地址修改为RA的MAC,然后RA接收后处理,再使用隐藏的VIP直接对RA进行响应。该模式中的LVS和RA...RN必须在同一个局域网内,因为如果跨域的话MAC地址是会改变的,这样数据包最后还是会到达LVS。

      TUN模型:由于DR中存在LVS和RA..RN必须在一个局域网的限制。所以TUN模型的出现就是为了突破这个限制,具体做法就是对CA到达LVS的数据包外加一层IP数据报,然后通过网络发送到达RA...RN,然后RA...RN通过隐藏的VIP直接对CA进行响应。

  • 相关阅读:
    LOJ6433 [PKUSC2018] 最大前缀和 【状压DP】
    [NOIP2017] 宝藏 【树形DP】【状压DP】
    51Nod1824 染色游戏 【Lucas定理】【FMT】【位运算】
    51Nod1778 小Q的集合 【组合数】【Lucas定理】
    LOJ6436 [PKUSC2018] 神仙的游戏 【FFT】
    LOJ6432 [PKUSC2018] 真实排名 【组合数】
    BZOJ5210 最大连通子块和 【树链剖分】【堆】【动态DP】
    LOJ2269 [SDOI2017] 切树游戏 【FWT】【动态DP】【树链剖分】【线段树】
    洛谷3707 [SDOI2017] 相关分析 【线段树】
    RBAC
  • 原文地址:https://www.cnblogs.com/xiezy/p/11265164.html
Copyright © 2020-2023  润新知