`
tuhaitao
  • 浏览: 375261 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

LVS NAT模式简介

 
阅读更多

LVS 简称 Linux Virtual Server,在实际环境中经常作为B/S结构的网络应用中的负载均衡器来使用,工作在7层网络模型中的,网络层,也就是通常说的IP层,由于数据的处理是在Linux内核态完成的,所以性能很高,比起 Apache,Nginx,Haproxy来说,性能不在一个级别。

 

这里我简单画一下LVS在应用时的部署环境:

 

LVS

 

简单解释一下一个用户访问www.opencfg.com的流程:

 

1.用户在浏览器输入http://www.opencfg.com, 用户的电脑通过网络询问DNS,www.opencfg.com域名的IP地址

2.DNS服务器通过用户的地址,在服务器列表里选择一个距离用户最近的LVS虚拟服务IP地址(VIP)

3.用户浏览器通过DNS获得的IP地址,访问LVS服务器

4.这里有三种LVS的使用方法:

(1).NAT模式

(2).DR模式,直接路由

(3).TUN模式,IP隧道

5.如果采用NAT模式,那么会产生步骤5,web服务器将数据返回给LVS

6.如果采用DR/TUN模式,数据将由web服务器直接返回给用户(此时web服务器需要外网IP地址),NAT模式,是web服务器先返回给LVS(这里web服务器不需要外网IP), LVS再返回给用户

 

 

LVS的核心技术在与三种方法的使用,这里先介绍第一种模式,NAT

 

一、传统的NAT模式

 

LVS NAT模式

 

用户访问的步骤如上图,其中LVS NAT模式会根据一张调度列表,选择一个Apache的IP地址,将数据包转发

 

调度列表如下:

 

Protocol Virtual IP Address Port Real IP Address Port
TCP  74.125.71.99 80 192.168.1.201 80
192.168.1.202 80

 

 

访问Web服务的报文可能有以下的源地址和目标地址:

source 220.181.112.143:3879 dest 74.125.71.99:80

 

LVS从调度列表中选出一台服务器,例如是192.168.1.201:80。该报文的dest目标地址将会被改写为192.168.1.201:80,并将它发送给选出的Apache Server

source 220.181.112.143:3879 dest 192.168.1.201:80

 

从Apache Server返回到LVS的响应报文如下:

source 192.168.1.201:80 dest 220.181.112.143.3879

 

这里source地址是Apache Server所在的内网地址,响应报文的源地址会被改写为LVS的地址74.125.71.99:80,再将报文发送给用户

source 74.125.71.99:80 dest 220.181.112.143.3879

 

这样,用户认为是从LVS(74.125.71.99:80)得到正确的响应,而不会知道该请求是Apache Server 192.168.1.201还是服务器Apache Server 192.168.1.202处理的,从而完成了内网地址与外网地址的转换。

 

NAT模式的最大的优点在于:

 

1.节省外网IP

    不占用外网IP地址,对于IPV4地址短缺的现状,是个不错的选择。

2.非侵入性

   不需要对Apache Server做任何设置,只需要一个内网IP地址即可,对用户来说,内部的Apache Server是透明的

   还有一点很重要,在NAT模式工作的LVS的Linux系统上不需要修改MTU的大小,完全输入一种非侵入式,轻量级的

   做法。

3.安全性

   NAT的网络结构呈现为一种类似防火墙的私有网结构,通过内部IP地址,将服务结点池

   同互联网隔离开来。服务结点无法和客户端直接通信,不论是请求数据还是应答数据,都需要经过负载均衡器进行IP

   包处理工作,方便一些集中处理操作。

 

NAT模式的缺点在于:

 

要对进入和流出集群的网络包进行改写包头地址的工作,在负荷比较重的时候会影响整个集群的性能,负载均衡器容易成为瓶颈。

 

为了解决NAT模式出现瓶颈,可以使用DR与TUN模式改造,下次有时间再写。

 

6
5
分享到:
评论
1 楼 faye.feelcool 2011-07-20  
谢谢分享。
图文并茂,分章介绍,逐个深入。
有点意思。
期待后续大作。

相关推荐

    lvs NAT模式总结详细笔记

    lvs NAT模式总结详细笔记

    lvs NAT模式 练习1

    Centos7 lvs NAT 模式拓扑图案例环境:系统类型IP地址主机名所需软件Centos 7.4 1708 64bit192.168.100.102192

    Redhat Linux 6 操作系统LVS_NAT模式配置

    Redhat Linux 6 操作系统LVS_DR模式配置的详细文档,按照文档的部署和配置可实现 LVS_NAT模式的负载均衡。

    LVS/NAT与LVS/DR模式集群的概述与配置

    负载均衡的调度算法,LVS简介,LB负载均衡集群,HA高可用集群 以及在生产生活环境中集群的一些简单配置

    LVS 工作模式以及工作原理1

    2. 作的基本原理: 3. LVS DR模式的注意情况: 1. LVS NAT 模式的络结构: 2. NAT 模式的基本原理: 3. NAT 模式的注意事项:

    Centos LVS部署DR、NAT模式 负载均衡

    文章目录简介LVS集群的组成LVS术语LVS工作模式调度算法部署LVS部署LVS-NAT集群部署LVS-DR集群动态检测脚本 简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998...

    第六集.Lvs.Nat和ip-tun模式

    第六集.Lvs.Nat和ip-tun模式

    4.LVS--NAT模式+DR模式.docx

    LVS详解,运维实战基础,有不足地方请指教,虚心求教。 将所需积分更改为免费 让更多的人看到学习到

    LVS的NAT模式.zip_运维

    把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器,负载均衡器再把数据包的原IP地址改为自己的IP,将目的地址改为客户端IP地址...

    LVS-NAT集群.doc

    使用LVS实现NAT模式的集群调度服务器,为用户提供Web服务 集群对外公网IP地址为192.168.4.5 调度器内网IP地址为192.168.2.5 真实Web服务器地址分别为192.168.2.100、192.168.2.200 使用加权轮询调度算法,真实服务器...

    多种负载均衡部署文档,实操笔记 Nginx,lvs(dr,nat,fullnat),haproxy等,dpdk-lvs

    多种负载均衡部署文档,实操笔记。Nginx,lvs(dr,nat,fullnat),haproxy等,dpdk-lvs

    企业级调度器LVS原理与实战

    lvs原理,集群和分布式,工作模式及相关命令,ARP抑制技术,实战案例(NAT模式和DR模式),故障解决

    LVS四种实现模式详解1

    1、lvs-nat(net adress translation) 3、lvs-tun(Tunnel transmission) 1、编译安装或yum源安装 3

    LVS集群的体系结构及NAT模式配置

    LVS是LinuxVirtualServer的简称,也就是Linux虚拟服务器,现在LVS已经是Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的...

    LVS-DR集群.doc

    LVS开源企业级4层代理服务器,稳定性和效率非常的高,LVS有三种常见模式,NAT模式、DR模式、IP Tunnel模式,本篇文章为大家分享LVS利用DR模式代理后台网站服务。

    SNAT网关Lvs-snat.zip

    兼容lvs原有功能,可以作为网关单独部署,也可以负载均衡部署在同一台机器,跟vs/nat,vs/fullnat等转发模式一起使用 请注意我们使用fwmark 1作为snat的开关,并不需要iptables配合使用 标签:Lvssnat

    lvs负载均衡集群详解

    运维、系统工程师、架构工程师必备知识--lvs负载均衡集群详解

    LVS三种模式配置及优点缺点比较

    LVS是什么:http://www.linuxvirtualserver.org/VS-NAT.htmlhttp://www.linuxvirtualserver.org/VS-IPTunneling.htmlhttp://www.linuxvirtualserver.org/VS-DRouting.html首先是安装ipvsadm管理程序下载:...

Global site tag (gtag.js) - Google Analytics