lvs原理, 只改 ip 不改端口, vpn arp tcp 隧道 (子网掩码作用和局域网传输)

思考问题角度:

 

  0. 前置数据和条件

  1. 正常流程

  2. 一个人多次,多个人多次

  3.每个对象身上的状态

对于 lvs :

 1.正常流程:

     client:  ip地址. 每次传输时 mac 地址获取机制? .传输出去的 ip 和 mac

     路由器: 接受到的 ip,mac 地址. 发出去的 ip,mac 地址. 如何获取的?

     lvs: 同上.

    realserver: 配置.

未完.

前置理解: 内网的数据传输和 ip 包,链路层的包.

  包的层级封装关系拉平后变成"数组数据的前后关系.

二、子网掩码的第二个作用是计算网络号
例1:A电脑IP地址为192.168.1.1,子网掩码为255.255.255.0;B电脑IP地址为192.168.1.2,子网掩码为255.255.225.0。大家都知道这二台电脑在同一网段,相互能PING通。

例2:A电脑的IP地址为192.168.1.1,子网掩码为255.255.255.0;B电脑的IP地址为192.168.2.1,子网掩码为255.255.0.0。大家分析一下二台电脑能相互PING通吗?
分析:这个问题需要大家理解子网掩码在网络通讯时的作用。不能简单的认为A电脑处在192.168.1.0网段,B电脑处在192.168.0.0网段,所以不能PING通。正确的分析应该如下:
⑴ 每台电脑事先会把自己IP和自己的子网掩码进行“与”操作,得到自己的网段号,如A电脑处在192.168.1.0网段,B电脑处在192.168.0.0网段。
⑵ B电脑向A电脑发数据包时,会把A电脑的IPB电脑的子网掩码进行“与”操作,得到网络号是192.168.0.0,B电脑会认为A电脑与自己在同一网段,所以数据包会顺利发出。
⑶ A电脑由于与B电脑在同一网段,肯定能收到B电脑发出的数据包,由于PING操作要求A电脑回应一个响应包。这样A电脑会把B电脑的IP与A电脑的子网掩码进行“与”操作,得到网络号192.168.2.0,A电脑发现网络号与自己所处的192.168.1.0不在同一网段,由于A电脑目前没有设置默认网关,所以对该数据包将进行丢弃操作,结果B电脑当然就无法收到A电脑的回应包,所以B电脑上会显示“Request timed out”,即网络超时。
⑷ 如果在A电脑上去PING B电脑,根据前面的分析,A电脑会认为B电脑与A电脑不在网段,而A电脑又没有设置默认网关,所以会显示“Destination host unreachable”,即目标主机不可达。

NOTE:当发现掩码后,和自己的掩码前缀不一致. 那么就通过网关发出去. ip包不变. 加一个网关的 mac 头. (局域网内通过 mac 地址,传输数据)

 

1. vpn的隧道原理 通俗易懂版本

1.1VPN的原理(内含流程图)   http://guoyueheng148.blog.163.com/blog/static/6016709120100851830647/

(但是这个封包被送到VPN Server(A)之后②,VPN Server 会把这个封包以特殊的方式来处理,如图8-5 所示,VPN Server 会把原本的整个封包当做其所要传递的数据内容)

类似本地的vpn虚拟网卡. 所有流量都经过该软件改包.

1.2 vpn的实现原理 http://jingyan.baidu.com/article/02027811886aee1bcd9ce54f.html

(分公司B局域网的VPN网关在接收到终端(192.168.2.2)发出的访问数据包①时对其目标地址(192.168.1.252)进行检查,发现目标地址属于公司总部A网络的地址,)

1.3. 专业版本 vpn分类.

https://wenku.baidu.com/view/3e5dd9ea172ded630b1cb699.html

vpn和代理的区别.

     vpn是将两个局域网联结到一起,需要本地vpn服务器封装ip头,远端vpn服务器拆解ip头,双方都要安装统一的 vpn 模块, 相当于在原来的 ip 头和数据之间又安插了一个头. 工作在网络层(ip)

     代理服务器: 代理服务器把ip头的源地址替换. 只有一个服务器.http代理,工作在应用层第7层.socket代理工作在传输层(tcp).

     隧道的好处: 1.  能够在自己的pc 上,通过软件配置后, 访问一个本来访问不到的ip.  2. 代理比较简单, 只能某个浏览器里使用,不能加密. 隧道可以做的更多,网卡层. 都是在 ip 和 mac 中间横插了一个头部.

    数据依赖和层级,类似于互联网架构. 怎么组装,装饰上层业务决定.

lvs原理:

文嵩博士 2006写的: 可伸缩网络服务的设计与实现 http://zh.linuxvirtualserver.org/node/7

运维lvs配置的几个阶段,实战版理解:  LVS集群部署详细过程(LVS+OSPF) http://navyaijm.blog.51cto.com/4647068/1346053/

Document

http://kb.linuxvirtualserver.org/wiki/IPVS_FULLNAT_and_SYNPROXY

Media:LVS操作手册.zip

Media:lvs-fullnat-synproxy-doc.zip

  lvs直接:

      

           需要理解 :

                     1.arp_ignore 避免vip的请求落到realServer上 

                     2.回环接口上配置和lvs机器相同的vip, 保证能接受lvs的DR转发

          

            LVS-DR工作原理图文详解http://www.cnblogs.com/czh-liyu/archive/2011/11/29/2267963.html

            其他参考文章

           LVS DR模式中arp_ignore和arp_announce的作用解释http://blog.csdn.net/gzh0222/article/details/856651

            lvs持久性工作原理和配置http://www.cnblogs.com/zengkefu/p/5494028.html

           Linux中的lo回环接口详细介绍:http://soft.chinabyte.com/os/327/11628327.shtml

     lvs隧道: 类似vpn隧道. 故realServer也是隧道的另一端,需要配置一个vpn拆包模块.对新增加的 ip 头部解析.

   好处: lvs   和realServer可以不在同一个网段.

           lvs隧道和 vpn隧道的不同是 , response直接和client交互,不需要经过vpn隧道网关.

lvs nat:

      理解核心:

             1.改dst ip

             2. 返回数据经过lvs的原因是 real server的 网关配置的是lvs机器的vip

  LVS配置NAT模式简单示例http://blog.csdn.net/kkdelta/article/details/39454303

所以只能相同局域网.(通过网关的. 要一个内网.)

  LVS NAT模式简介   mtu层面的关注.

lvs fullNat: 淘宝开源的. 结合

理解核心:

    1. in 修改source ip 和 dst ip .可以不在一个网段. out也要修改,见下面. 有啥好处?

          full nat 跟nat 相比的优点是:保证RS回包一定能够回到LVS;因为源地址就是LVS--> 不确定

  • 引入local address(内网IP地址)。cip-vip转换为lip->rip,而 lip和rip均为IDC内网IP,可以跨VLAN通讯。

    

    2.需要增加sessionMap

    http://zymlinux.net/ADC2012/3_%E6%99%AE%E7%A9%BA_LVS%E5%9C%A8%E6%B7%98%E5%AE%9D%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8.pdf

  • FULLNAT技术概述https://help.aliyun.com/knowledge_detail/39444.html#%E9%9B%86%E7%BE%A4%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F
  • OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),
  • SynProxy 工作原理

nat模式下报文变化

发送       接收

cip ---> vip

cip ---> rip ( DNAT )

rip ---> cip

vip ---> cip ( SNAT )

fullnat模式下报文变化

发送       接收

cip ---> vip

lip ---> rip ( SNAT + DNAT )

rip ---> lip

vip ---> cip ( SNAT + DNAT )

注释:

  1. cip为客户端的地址
  2. vip为虚拟地址
  3. rip为真实的服务器
  4. lip为本地地址
  5. SNAT为来源地址转换
  6. DNAT为目的地址转换

LVS  DR、NAT、FULL NAT、IP TUNNEL 模式的区别:

  1.  是否需要lvs vip跟realserver 在同一个网段:

             DR 模式因为只修改 package的 MAC地址通过ARP广播的形势找到realserver,所以 要求LVS 的VIP 和realserver的IP 必须在同一个网段内,也就是在挂载VIP 时先确认LVS的工作模式,如果是DR模式需要先确认这个IP 只是否能挂在这个LVS下面。

            其他模式因为都会修改DST ip 为 realserver的IP 地址,所以不需要在同一个网段内

        2.   是否需要在realserver 绑定LVS vip 的IP 地址:

              realserver 收到package后会判断dst ip 是否是自己的ip,如果不是就直接丢掉包;因为DR模式dst 没有修改还是LVS的VIP;所以需要在realserver上面绑定VIP;IP TUNNEL 模式只是对package 重新包装一层,realserver解析后的IP包的DST  仍然是 LVS的VIP ;也需要在realserver上面绑定VIP;其他的都不需要

        3.   四种模式的性能比较:

             因为DR模式   TP TUNELL 模式都是在package in 时经过LVS ;在package out是直接返回给client;所以二者的性能比NAT 模式高;但IP TUNNEL 因为是TUNNEL 模式比较复杂,其性能不如DR模式;FULL NAT 模式因为不仅要更换 DST IP 还更换 SOURCE IP  所以性能比NAT 下降10%

             所以,4中模式的性能如下:DR  --> IP TUNNEL  --->NAT ----->FULL NAT

 LVS 实践中的积累

1. lvs 不会主动断开连接

比如 client 通过LVS VIP 采用长链接方式访问server,即使我们把LVS下面的realserver的status.html文件删除了;本来通过LVS 跟这台realserver 链接的请求也不会被LVS

强制断开;要等到client自己断开连接;【在client主动断开期间;client可以跟这台realserver 正常通信】;这样有个好处时在网络抖动时;LVS不会频繁的流量截断,到不同的RS上面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值