设为首页 收藏本站
查看: 909|回复: 0

[经验分享] LVS NAT模式简介

[复制链接]

尚未签到

发表于 2017-4-18 10:39:21 | 显示全部楼层 |阅读模式
  LVS 简称 Linux Virtual Server,在实际环境中经常作为B/S结构的网络应用中的负载均衡器来使用,工作在7层网络模型中的,网络层,也就是通常说的IP层,由于数据的处理是在Linux内核态完成的,所以性能很高,比起 Apache,Nginx,Haproxy来说,性能不在一个级别。
  这里我简单画一下LVS在应用时的部署环境:
DSC0000.gif

  简单解释一下一个用户访问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模式
DSC0001.gif

  用户访问的步骤如上图,其中LVS NAT模式会根据一张调度列表,选择一个Apache的IP地址,将数据包转发
  调度列表如下:
ProtocolVirtual IP AddressPortReal IP AddressPort
TCP 74.125.71.9980192.168.1.20180
192.168.1.20280
访问Web服务的报文可能有以下的源地址和目标地址:

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

  从Apache Server返回到LVS的响应报文如下:
  
source192.168.1.201:80dest220.181.112.143.3879

  这里source地址是Apache Server所在的内网地址,响应报文的源地址会被改写为LVS的地址74.125.71.99:80,再将报文发送给用户
  
source74.125.71.99:80dest220.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模式改造,下次有时间再写。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-365780-1-1.html 上篇帖子: LVS 集群负载均衡 下篇帖子: LVS负载的网站架构
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表