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模式相同