lvs 负载均衡fullnat 模式clientip 怎样传递给 realserver

简介:

    关于LVS和FULLNAT的介绍可以看一下 淘宝吴佳明(普空)的视频  http://blog.aliyun.com/1750 ,
FULLNAT模式很大简化了LVS的配置和部署,目前淘宝和百度基本上都在使用FULLNAT模式来作为接入侧的
负载均衡模式.
        百度的LVS叫做BVS, Baidu Virtual Server, 是在LVS基础上修改的增加了L3 Though 和
SYN Porxy,貌似也是吴佳明(普空)在百度搞的, 类似FULLNAT 项目.
        下面的图来自吴佳明(普空)的PPT, 自己重画了一遍,关于NAT和FULLNAT的区别如下图所示:


         看完上图后发现 FULLNAT有一个问题是:RealServer无法获得用户IP;淘宝通过叫TOA的方式解决的,
主要原理是:将client address放到了TCP Option里面带给后端RealServer,RealServer收到后保存在socket
的结构体里并通过toa内核模块hook了getname函数,这样当用户调用getname获取远端地址时,返回的是保
存在socket的TCPOption的IP. 百度的BVS是通过叫ttm模块实现的,其实现方式跟toa基本一样,只是没有开源.
 实现原理图如下:



下面看下上面说的逻辑的实现代码 https://github.com/alibaba/LVS

lvs侧在TCP报文的选项中插入clientip代码:  tcp_fnat_in_handler()


RS侧收到建连报文时,取出toa里面的client ip和port 存放在socket的use_data里,toa.c


HOOK挂载:



当应用层调用getpeername() 或者 getsocketname() 时,会进入到inet_getname_toa,如果存在toa信息则将
socket里存放的真是的clientip 返回给应用层。'

本文转自 Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1982335

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
4月前
|
负载均衡 网络协议 网络架构
VRRP负载均衡模式配置实用吗?
VRRP负载均衡模式配置实用吗?
67 0
|
6月前
|
存储 负载均衡 网络协议
企业实战(13)LVS负载均衡DR(直接路由)模式实战详解(二)
企业实战(13)LVS负载均衡DR(直接路由)模式实战详解(二)
107 0
|
存储 负载均衡 网络协议
LVS负载均衡群集部署——DR模式
1、LVS—DR概述 2、部署实验
LVS负载均衡群集部署——DR模式
就是要你懂负载均衡--lvs和转发模式
> 本文希望阐述清楚LVS的各种转发模式,以及他们的工作流程和优缺点,同时从网络包的流转原理上解释清楚优缺点的来由,并结合阿里云的slb来说明优缺点。 如果对网络包是怎么流转的不太清楚,推荐先看这篇基础:[程序员的网络知识 -- 一个网络包的旅程](https://www.atatech.org/articles/80573) ,对后面理解LVS的各个转发模式非常有帮助。
11711 0
|
4月前
|
负载均衡 监控 算法
负载均衡一般用什么模式
负载均衡可以采用多种模式,具体的选择取决于应用程序的需求、架构设计和性能目标。以下是一些常见的负载均衡模式: 1. **轮询(Round Robin):** 请求依次分发到每个后端服务器,循环进行。这是一种简单的负载均衡算法,适用于后端服务器性能相对均衡的情况。 2. **加权轮询(Weighted Round Robin):** 类似于轮询,但可以为每个后端服务器分配不同的权重,以便更灵活地分配负载。性能更高的服务器可以分配更高的权重。 3. **最小连接数(Least Connections):** 请求分发到当前连接数最少的后端服务器。这可以确保负载更平均地分布到服务器上,适用于处
142 0
|
存储 负载均衡 网络协议
|
负载均衡 算法 网络安全
LVS负载均衡群集——DR直接路由模式(下)
一、 LVS-DR 工作原理 1.1 LVS-DR数据包流向分析 (1)客户端发送请求到Director Server (负载均衡器),请求的数据报文(源IP是CIP,目标IP是VIP)到达内核空间。
181 0
|
缓存 负载均衡 网络协议
LVS负载均衡群集——DR直接路由模式(上)
一、 LVS-DR 工作原理 1.1 LVS-DR数据包流向分析 (1)客户端发送请求到Director Server (负载均衡器),请求的数据报文(源IP是CIP,目标IP是VIP)到达内核空间。
182 0

相关实验场景

更多