热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

F5Loadbalancer转发模式原理(客户端>服务器)

1.透明模式:PerformanceL4DNAT原理:这种类型的Virtualserver.F5按照纯四层的方式处理数据包,只看源IP,源

1.透明模式:Performance L4 + DNAT
原理:这种类型的Virtual server.F5按照纯四层的方式处理数据包,只看源IP,源端口,目的IP和目的端口。数据包到达F5后,只改变目的IP为后端地址和端口进行转发。这部分的数据处理方式是可以通过F5 PVA芯片来进行转发的。所以这种模式从理论上来将是不会消耗CPU的。但是F5对PVA转发的要求还是比较苛刻,会有很多相关条件的限制。
后端操作:默认网关需要指向F5

 

2.透明模式:Performance L4 + SNAT + DNAT
原理:这种类型的Virtual server.F5按照纯四层的方式处理数据包,只看源IP,源端口,目的IP和目的端口。数据包到达F5后,改变源IP地址为SNAT地址的(一般为F5的vip),同时也改变目的IP为后端地址和端口进行转发。这部分的数据处理方式是可以通过F5 PVA芯片来进行转发的。所以这种模式从理论上来将是不会消耗CPU的。但是F5对PVA转发的要求还是比较苛刻,会有很多相关条件的限制。
后端操作:不需要任何操作               关于SNAT,F5会自动增加HTTP头部x_forwarded_for标示真实的客户端地址;


3.透传模式:standard + DNAT
原理:这种类型的Virtual server在数据包F5上是采取full proxy 7层的处理模式。一个client发起请求后,首先需要跟F5建立三次握手后,随后F5进行转发,再跟后端real server建立三次握手时,源地址和源端口为原客户端的,而目的IP和端口为后端的。F5维护两个TCP协议栈。在应用HTTP Profile后,F5将数据包按照HTTP协议的方式进行处理。此时数据的处理过程完全由F5 CPU处理。也可以实现所谓的content switch(内容交换)。但是这种方式对CPU的消耗比较高。
后端操作:默认网关需要指向F5(防止回程路由不一致,TCP又是有状态的协议,所以F5的握手得不到响应,见下面)

实例举例:客户端45.45.45.45访问https:195.175.224.74:6070,到达F5。 F5将做DNAT。  TCP ID为N
DNAT:195.175.224.74(VS公网IP)-->F5上的VIP 172.27.0.62(路由)-->172.27.0.19(服务器私网IP)  TCP ID为N

通信流程为:
45.45.45.45-->195.175.224.74  TCP ID为N (检查DNAT绑定) 195.175.224.74(VS公网IP)-->172.27.0.62(路由)-->172.27.0.19(服务器私网IP)  TCP ID为N
最终表现为45.45.45.45-->172.27.0.19   TCP ID为N

Traffic flow:
request Flow 10.10.10.10(Client)  ---> 195.175.224.66 ---->172.27.0.30 --->172.27.0.5
172.27.0.5  ---> 172.27.0.30 ---> 195.175.224.66 ---> 10.10.10.10(server)

 

4,透传模式:standard + SNAT + DNAT


原理:这种类型的Virtual server在数据包F5上是采取full proxy 7层的处理模式。一个client发起请求后,首先需要跟F5建立三次握手后,随后F5进行转发,跟后端real server建立三次握手时,源地址和源端口更改为SNAT地址的((一般为F5的vip)),而目的IP和端口为后端的。F5维护两个TCP协议栈。在应用HTTP Profile后,F5将数据包按照HTTP协议的方式进行处理。此时数据的处理过程完全由F5 CPU处理。也可以实现所谓的content switch(内容交换)。但是这种方式对CPU的消耗比较高。
后端操作:不需要任何操作


实例举例:客户端45.45.45.45访问https:195.175.224.74:6070,到达F5。TCP ID为N   F5将做DNAT和SNAT。
DNAT:195.175.224.74(VS公网IP)-->172.27.0.19(服务器私网IP)  
SNAT:45.45.45.45-->F5上的VIP 172.27.0.62(两台F5上,各自还有和后端服务器同VLAN的IP 172.27.0.61和172.27.0.60)TCP ID为M
通信流程为:
45.45.45.45-->195.175.224.74(TCP ID为N)   检查SNAT,DNAT绑定   172.27.0.62-->172.27.0.19(TCP ID为M)


5,fast http模式:standard + SNAT + DNAT + oneconnect
原理:oneconnect只是一个keepalive的作用,让client向F5发http请求的时候,可以复用同一条连接。不支持https和会话保持功能,原因就是连接复用的问题。
后端操作:不需要任何操作

6,路由转发模式
原理:和lvs的DR模式相同
后端操作:和lvs的DR模式相同


推荐阅读
author-avatar
s0e2tv26d80iossI
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有