图解 lvs 工作原理

blob.png

blob.png

blob.png

一.lvs 基本工作流程介绍

 如图1,ipvsadm定义lvs服务监听的ip和port,并发送给ipvs,而ipvs是工作在netfilter的input钩子上的程序,当input链中有目标ip属于lvs服务的请求报文时,ipvs就会修改该报文的链路,使其不进入用户空间而直接转到postrouting链上,并转发给其中一台real server,转发的方式由下文详述。

二.lvs 4种工作模式介绍

  • lvs-nat:

    多目标nat

    转发方式:如图2.1,Director将请求报文的目标IP修改RIP(步骤②),响应报文的源IP修改为VIP(步骤④)

    • 步骤③④中Director将响应报文源IP修改为VIP,所以RS网关需指向到DIP

    • 请求报文、响应报文都由Director转发,所以Director易成为性能瓶颈

  • lvs-dr

    direct routing(常用)

    转发方式:如图2.2,Director仅为请求报文 新封装一个MAC首部(步骤②),目标MAC为RIP的MAC,故DIP与RIP需要在同一物理网络以实现arp通信;并且RS的本地回环接口lo配置VIP,响应报文从lo的VIP发出,所以IP首部中的源IP就会是VIP

    • RS、Director都有VIP,所以需要确保请求报文只发到Director,常见方法为修改RS的内核参数arp_ignore、arp_announce设为1,使RS不响应其他主机的ARP通信

  • lvs-tun

    tunnel

    转发方式:如图2.3,Director在请求报文的原有IP上再封装一个IP首部,响应报文不经由Director,直接发到CIP,故多个RS可不在同一网络

    • 当RS不在同一网络时,很难保持会话一致性

  • lvs-fullnat

    转发方式:如图2.4,Director同时修改请求报文、响应报文的源IP和目标IP,

    • 请求报文修改后源IP是DIP,故DIP与RIP可以不在同一网络

原创文章,作者:N24_lizi1,如若转载,请注明出处:http://www.178linux.com/55919

(0)
N24_lizi1N24_lizi1
上一篇 2016-10-30
下一篇 2016-10-30

相关推荐

  • 单引号、双引号和反引号使用方法

        首先向马哥和马哥团队敬个礼,谢谢你们带我进入Linux的世界,刚开始接触linux时,经常看到单引号、双引号和反引号特殊符号,经常搞混淆和误用,应该用双引号,有时用到单引号。经过几天的混乱引用,总算搞明白了一些,简单总一下三者的使用和区别。  单引号 ‘’     单引号里的内容全部以普通字符的含义进…

    Linux干货 2015-07-29
  • 文件相关命令

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp:copy 源文件:目标文件 单源复制:cp [OPTION]… [-T] SOURCE DEST 如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中 如果DEST存在: 如果DEST是非目录文件:则覆盖目标文件 如果DEST是目录文件:则先在D…

    Linux干货 2016-09-23
  • Linux入门之计算机组成及其功能

    计算机基础以及Linux基础

    2018-03-06
  • Apache、nginx 、lighttpd性能比较

    1. web服务器简介 1. lighttpd      Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的Web server环境         Lighttpd是一个具有非常低的…

    Linux干货 2015-04-10
  • 硬链接与软链接

    硬连接:          其本质就是:一个文件,多个名字。注意:目录是没有硬链接的。 用ln filename linkname创建硬链接,注意源文件和链接文件位置顺序,硬链接不可以跨分区建。 在创建硬链接时会增加硬连接数,可以通过ls –l查看,如下图所示的,可看到硬链接数。…

    2017-07-20

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-02 16:00

    内容格式把握得很好,原理部分可以加入一些自己的理解,加油!