ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

lvs四种工作模式的介绍

2021-05-04 15:01:45  阅读:196  来源: 互联网

标签:请求 lvs RS IP 报文 模式 director DIP 四种


lvs:

  lvs:linux Virtual Server
  L4:Layer 4,四层交换,四层路由

lvs管理工具: 

ipvsadm/ipvs(让用户定义规则)

ipvsadm:用户空间的命令行工具,用于管理集群服务;(即规则的增删查改)

支持TCP,UDP,AH,EST,AH_EST,SCTP等诸多协议

lvs几个概念:

  •   调度器:director,dispatcher,balancer
  •   RS:Real Server(后端真实提供服务主机)
  •   Client IP:CIP(客户访问的IP)
  •   Director Virtual IP:VIP(提供外网访问的虚拟IP)
  •   Director IP:DIP(虚拟IP主机上的真实IP)
  •   Real Server IP:RIP(后端真实提供服务主机的IP)

lvs工作模式:

  •   Lvs-nat:通常称为MASQUERADE
  •   Lvs-dr(direct routing直接路由):GATEWAY
  •   Lvs-tun(ip tunneling,隧道模式):IPIP
  •   Lvs-fullnat:

lvs-nat模式:

  请求和响应报文都经过director,而且DIP和RIP    必须在同一网段;
  多目标的DNAT(iptables):它通过修改请求报文的目标IP地址(同时可能会修改目标端口)至挑选出某RS的RIP实现转发;
  (1)RS应该和DIP应该使用私网地址,且RS的网关要指向DIP; 
  (2)请求和响应报文都经由director转发;极高负载的场景中,director可能会成系统瓶颈;
  (3)支持端口映射;
  (4)RS可以使用任意OS;
  (5)RS的RIP和Director的DIP必须在同一IP网络;
  (6)由于数据包来回都需要经过高度器,因此要开启内核转发功能,当然防火墙Iptables也要开启forward功能

lvs-dr模式(生产中最常用的模式):

  dr模式的工作原理:
    a.direct routing,客户端请求报文经由director; 
    b.direct通过修改请求报文的目标MAC地址进行转发,将MAC改为后端RS的MAC,然后将请求发送给修改后的MAC对应的RS;
    c.响应报文经由RS直接经由网关响应客户端; 

    在以上流程中,唯一修改的就是目标MAC
    所有节点和LVS要处于一个局域网,可以是不同网段; 

  后端RS如何实现直接将请求直接响应:

    a.在RS的lo上绑定VIP

    b.抑制arp广播响应

    注:修改RS主机内核的参数(抑制arp广播,因为RS会在lo上配置VIP,客户端请求时会发arp广播,如果不抑制,会有2个主机进行响应,LVS功能就会失效;在LVS和RS之间没有广播进行,LVS是直接封闭信息,经由Director算法找到RS,从而由RS直接进行转发)

  (1)保证前端路由器将目标IP为VIP的请求报文发送给director;
  (2)RS的RIP可以使用私有地址,但也可以使用公网地址;
  (3)RS跟Director必须在同一物理网络中;可以是不同网段;
  (4)请求报文经由Director调度,但响应报文一定不能经由Director;
  (5)不支持端口映射;
  (6)RS可以是大多数OS;
  (7)RS的网关不能指向DIP;
  (8)理论上只要RS可以出网即可,不是必须要配置外网IP,当然配置外网响应速度会更快(否则容易造成网关瓶颈)
  (9)总的来说DR模式效率很高,但配置较麻烦,建议日PV在1000-2000WPV或并发请求1万以下的建议用haproxy/nginx模型
  (10)直接对外的访问业务,例如:web服务做RS节点,RS最好用公网IP地址,如果不直接对外的业务,例如:mysql,存储系统RS节点,最好只用内部IP地址

Lvs-tun模式:(ipip隧道)

  不修改请求报文的IP首部,而是通过在原有的IP首部(CIP-VIP)之外,再封装一个ip首部(DIP-RIP);
  (1)RIP,DIP,VIP全得是公网地址;
  (2)RS的网关不能指向DIP;
  (3)请求报文必须经由director调度,但响应报文必须不能经由director;
  (4)不支持端口映射;
  (5)RS的OS必须支持隧道功能;
  基本上同dr模式一样,只是在客户端请求的时候在首部添加一个指向RS的IP头部

Lvs-fullnat:源地址和目标地址都会改变

  director通过同时修改请求报文的上标地址和源地址进行转发;
  (1)VIP是公网地址;RIP和DIP是私网地址,二者无须在同一个网络中:
  (2)RS接收到的请求报文的源地址为DIP,因此要响应给DIP; 
  (3)请求报文和响应报文都必须经由Director;
  (4)支持端口映射机制;
  (5)RS的OS可以是任意OS;

标签:请求,lvs,RS,IP,报文,模式,director,DIP,四种
来源: https://www.cnblogs.com/lichouluoyu/p/14729521.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有