LVS 当前应用主要采用 DR 和 NAT 模式,但这 2 种模式要求 RealServer 和 LVS在同一个 vlan中,导致部署成本过高;
TUNNEL 模式虽然可以跨 vlan,但RealServer上需要部署 ipip 模块等, 网络拓扑上需要连通外网,较复杂,不易运维。
为了解决上述问题,我们在 LVS 上添加了一种新的转发模式:FULLNAT
该模式和 NAT 模式的区别是: Packet IN 时,除了做 DNAT,还做 SNAT(用户 ip->内网 ip),从而实现LVS-RealServer 间可以跨 vlan 通讯, RealServer 只需要连接到内网

FULLNAT 将作为一种新工作模式(同 DR/NAT/TUNNEL),实现如下功能:
1. Packet IN 时,目标 ip 更换为 realserver ip,源 ip 更换为 内网 local ip;
2. Packet OUT 时,目标 ip 更换为 client ip,源 ip 更换为 vip;
注: Local ip 为一组内网 ip 地址;
性能要求,和 NAT 比, 正常转发性能下降<10%;

关于NAT和FULLNAT的区别如下图所示:

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为目的地址转换

FULLNAT一个最大的问题是:RealServer无法获得用户IP;为了解决这个问题我们提出了TOA的概念,主要原理是:将client address放到了TCP Option里面带给后端RealServer,RealServer上通过toa内核模块hack了getname函数,给用户态返回TCP Option中的client ip。

TOA (address of tcp option)-插入 client ip

1. 该功能只有 fullnat 才会用
2. 和 tcp 协议相关

LVS可以防御DDOS 4层标志位攻击,其中,synproxy是用于防御synflood攻击的模块

参考资料:https://github.com/alibaba/LVS/tree/master/docs

http://blog.sina.com.cn/s/blog_620c47630102v2iz.html

NAT与FULL NAT的区别的更多相关文章

  1. VMWare虚拟机提供的桥接、nat和主机模式的区别

    虚拟机网络模式 无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3.Host-Only 哪一种网络是适合自己的虚拟 ...

  2. Linux 与 CONE NAT 和 Symmetric NAT

    http://alexanderlaw.blog.hexun.com/31883661_d.html 1. NAT 的划分 RFC3489 中将 NAT 的实现分为四大类: 1. Full Cone ...

  3. 静态NAT、动态NAT

    静态NAT.动态NAT 实验拓扑: 实验目的:熟悉网络地址转换协议 掌握静态NAT 和动态NAT的配置 分析静态NAT 和动态NAT的区别 使用show命令来检查NAT的运行情况 实验要求:按拓扑图来 ...

  4. CONE NAT 和 Symmetric NAT

    CONE NAT 和 Symmetric NAT 1. NAT 的划分 RFC3489 中将 NAT 的实现分为四大类: Full Cone NAT 完全锥形 NAT Restricted Cone ...

  5. 运营商级NAT(Carrier-grade NAT)

    运营商级NAT(Carrier-grade NAT)   运营商级(Carrier-grade)NAT,是用于缓解是IPV4地址枯竭的一种方法,通过这种方法,原来被分配公网ip的端点.家庭网络等可以被 ...

  6. 什么叫NAT,设置NAT的两个方法

    NAT是网络地址翻译就是把公网IP翻译成私有地址, 又叫端口映射或端口转发. 采用路由方式是指ADSL拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网.这时ADSL的 ...

  7. NAT and Traversal NAT(TURN/STUN/ICE)

    http://www.cnblogs.com/whyandinside/archive/2010/12/08/1900492.html -------------------------------- ...

  8. 静态NAT、动态NAT、PAT(端口多路复用)的配置

    静态NAT.动态NAT.PAT(端口多路复用)的配置   NAT的实现方式有三种,即静态转换Static Nat.动态转换Dynamic Nat 和 端口多路复用OverLoad.    静态转换 ( ...

  9. VirtualBox Network设置的NAT和Bridged Adapter模式区别

    区别: NAT模式下,虚拟机仍然可以访问网络,但是从网络接收者的眼中看来,这些网络请求都来自宿主机,而感知不到虚拟机.外网也无法访问虚拟机网络.虚拟机和宿主机器的IP地址在不同的子网,比如192.16 ...

随机推荐

  1. 05-RARP: 逆地址解析协议

    具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取I P地址.但是无盘机,如X终端或无盘工作站,则需要采用其他方法来获得I P地址. 网络上的每个系统都具有唯一的硬件地址,它是由网络接口生产厂家 ...

  2. Python:员工信息增删改查

    一:需求 homework.txt文件中有如下格式的人员信息: 1,Jack Wang,28,13451024608,HR,2015‐01‐072,Rain Wang,21,13451054608,I ...

  3. python的68个内置函数

    内置函数 内置函数就是python给你提供的, 拿来直接用的函数, 比如print., input等. 截止到python版本3.6.2 python一共提供了68个内置函数. #68个内置函数 # ...

  4. [UE4]读取玩家列表

  5. c#day05

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ccc ...

  6. 十三篇系列:king转折点,wooga瓶颈,supercell营收结构

    转自:http://gamerboom.com/archives/95125 十三篇系列:king的历史转折点,wooga的瓶颈,supercell的营收结构 第一篇 这句话In other word ...

  7. 1-Lombok工具使用

    1.先给Eclispe安装Lombok插件 首先下载 lombok-1.16.6.jar 这个jar包  存放在系统任意盘里面  我这里是放在  c:\lombok-1.16.6.jar 运行命令 点 ...

  8. (转)C# WebApi 异常处理解决方案

    原文地址:http://www.cnblogs.com/landeanfen/p/5363846.html 一.使用异常筛选器捕获所有异常 我们知道,一般情况下,WebApi作为服务使用,每次客户端发 ...

  9. swagger常用注解

    @Api:修饰整个类,描述Controller的作用 @ApiOperation:描述一个类的一个方法,或者说一个接口 @ApiParam:单个参数描述 @ApiModel:用对象来接收参数 @Api ...

  10. 用Excel建模进行决策树分析

    决策树(Decision Tree)在机器学习中也是比较常见的一种算法,最早的决策树算法是ID3,改善后得到了C4.5算法,进一步改进后形成了我们现在使用的C5.0算法,综合性能大幅提高. 算法核心: ...