tgw LVS

TGW,全称Tencent GateWay,是一套实现多网统一接入、外网网络请求转发、支持自动负载均衡的系统。
TGW向开发者免费提供服务,基于HTTP协议的应用可以直接接入,基于其他私有协议的应用只需要进行少量改造即可快速接入。
TGW自动进行域名解析,应用接入TGW后,即可使用域名方式对外提供服务,以及电信/联通/移动三网接入。
此外,TGW支持后端带权重的负载均衡,应用无需关注负载均衡。




  1. 为什么需要进行外网收敛?
    IPV6由国际组织负责,由于IP地址是网络资源,涉及全球各方利益,需要多方协调斡旋,短期内看不到飞跃性进展。
    而作为当前主流的IPV4,其IP地址资源在可以预计的几年内将会被全部占用,即将出现外网IP资源用完的情形。



目前互联网上的许多业务和应用,特别是多区多服的WebGame,常常会有多个专区,每个专区一个域名,对应一台服务器,由服务器自身的外网IP直接提供80和443服务。这种情形在未来IP资源短缺的情况下,将会遭遇危机。
因此,应该尽早考虑收敛外网IP,以应对上述危机。




  1. 为什么选择TGW?
    TGW具有低成本、高价值、优服务的优势:




  2. 极大降低成本
    TGW大量节省Real Server上的外网IP,收敛比为:30:1,原本要30个外网IP服务器才能支撑的应用,接入TGW后只需1个外网IP服务器,因此节省了申请带外网IP机器的成本。




  3. 统一接入,多网合一
    TGW适用所有外网访问请求,业务接入TGW后即默认具备电信 、联通、移动三网接入能力。业务接入TGW简单迅速,基于HTTP的应用不用改造,其他私有协议的应用只需进行少量代码改造。
    除此之外,还能解决电信、联通用户访问延时大的问题。




  4. 更优的接入层负载均衡
    TGW是一个替代现有LVS和QHTTPD的接入层负载均衡方案,具有动态负载均衡、系统监控、容灾切换、告警通知、平滑扩容、安全备份等特性。




  5. 更安全
    接入服务器去掉外网之后,不会直接受到攻击,提高了服务器的安全性。
    由于TGW自身服务器具备专业的网络防御能力,并减少了业务服务器暴露在外网的IP数量,因此能有效防范业务服务器遭受外网攻击。





Linux服务器集群系统即LVS(Linux Virtual Server),是章文嵩在国防科技大学博士期间开发的一个开源项目,该项目也是中国开源少有的几个成功项目之一,该项目已经进入到Linux内核,在国内外被广泛的使用。章文嵩博士目前就职到淘宝,继续主持LVS的相关工作。各大互联网公司都在对LVS进行修改和使用,因此产生了不通的LVS变种,比如百度的BIG-NAT,淘宝的FullNAT,腾讯的TGW(目前我还不太了解)。其基本原理都是在netfilter层,对数据包进行过滤、修改和伪装。



转发模式
LVS原生的三种转发模式:



LVS-DR
LVS-NAT
LVS-TUN
LVS-DR
原理: mac地址伪装,通过修改源包的mac地址进行投递
示意图:



LVS-NAT
原理: 通过修改源目的IP实现,进入时DNAT,出去时SNAT
示意图:



LVS-TUNNEL
原理: 通过IP tunnel实现,进入时加上IP头部
示意图:



LVS-FullNAT
介绍:一种新型新型的转发模式,NAT的加强版,由吴佳明等在章文嵩带带领下实现 原理: 通过修改改源目的IP实现,但是比LVS-NAT更彻底,进入时DNAT+SNAT,出去时由SNAT+DNAT
示意图:



FullNAT和NAT原理对比
▲NAT包修改示意图
在入包时,进行目的地址转换,出包时进行源地址转换,为了让出去的数据包,经过LVS,需要添加策略路由。



FullNAT包修改示意图
▲FullNAT实现原理



在入包时修改目的地址,同时把源地址改为内网地址,这样包就可以完全无限制的在整个内外路由,出包时修改源地址为vip地址,目的地址为真实的ClientIP地址,从而实现回包到目的地。



优缺点对比
LVS-DR
•优点:性能好,rs直接回包
• 缺点:



1、 rs必须在一个vlan中,这在多网络环境中限制非常大;
2、 rs必须绑定vip,麻烦且风险大
3、不支持端口映射
LVS-NAT
• 优点:



1、 rs可以在整个内网中,没有vlan的限制
2、支持端口映射
• 缺点:



1、 rs的网关必须是lvs机器,如果不是,则需要配置静态路由
LVS-TUNNEL
• 优点:性能好,rs直接回包
• 缺点:



1、 rs配置复杂,需要配置ipip模块
2、 rs绑定vip,风险大
3、不支持端口映射
LVS-FullNAT
• 优点:



1、数据包可以在整个内外中任意路由
2、交换机和路由器无需任何特殊配置
• 缺点: windows无法获取client ip



结论
从上面几种模式来看,FullNAT无疑是一种最好的转发模式,他无需要对路由器,rs进行特殊操作,就可以完成整个代理转发。其实在具有一定网络规模的环境中,无论是要求在同一个VLAN,还是要配置静态路由,对网络拓扑配置都是极大的破坏,而且绑定vip风险极大,而且实现自动化困难。从实际应用来看,LVS-DR,LVS-NAT,LVS-TUNNEL都没有很大规模的应用案例,相反,LVS-FullNAT已经被大范围的使用,包括阿里,小米,汽车之家,UC等很多互联网公司,规模都是很大。鉴于DR的操作复杂性和风险,建议考虑FullNAT作为替代方案。



https://www.zhihu.com/question/21237968
https://blog.csdn.net/chen_fly2011/article/details/54895544


Category linux