F5原理论述

F5的核心就是Virtual Server。
  1、VS Type
  在配置VS时,VS的Type有Performance L4、Standard VS、Forwarding IP 和 Fast Http。一般企业中常见的是前三种,考虑到尽量减少F5负载均衡引入对应用系统的影响,在可能的情况下,建议优先选用Performance L4类型的Virtual Server。在一些必须使用Standard的情况下,必然需要在F5设备上启用7层功能,包括Cookie会话保持、Session ID会话保持、Header会话保持、基于交易的长连接拆分等应用场景。另外,在应用系统需要使用F5实现Syn攻击防护时,可以采用 Standard Virtual Server。在明确后台应用基于HTTP协议时,建议在Standard的基础上关联BIGIP内置的标准HTTP Profile。对于非HTTP协议的应用,需要在VS上关联的其他Profile或者iRules根据实际的业务需求进行确定。

在明确后台应用基于HTTP协议时,建议在Standard的基础上关联BIGIP内置的标准HTTP Profile。对于非HTTP协议的应用,需要在VS上关联的其他Profile或者iRules根据实际的业务需求进行确定。


  下面对每个VS的类型进行深入的说明:
  第一种: Performance L4 模式(4层数据的转发)
  Performance L4模式如图2所示,其中TMM只是负责客户端连接的分配和转发,不改变TCP连接中的任何参数,即客户端连接与服务器拦截是1:1的关系。一般企业中常是这种模式,因为转发速率快。但在一些7层数据包的情况下,如HTTP,建议使用Standard VS模式。
  第二种 Standard VS模式
  在这种模式下,客户端与服务器端的TCP连接完全独立,同时F5默认情况下以客户端源IP和后台建立连接,在打开SNAT的情况下用SNAT地址和后台建立连接。Standard VS的端口永远对外开放,无论后台是否有服务器在工作。也就是说,如果VS开放的端口是80,在Node A和Node B都down的情况下,虚IP的80端口还是可以telnet通的,只不过网页访问不了了。
  第三种: Forwarding IP
  一般用于内外网连接,没有Pool Member,转发完全取决于本地路由。默认情况下,F5没有路由功能,需要建立一个全0的VS去开启F5的路由功能,其中,如果想控制只有内网可以访问外网,而外网不能访问内网,可以通过调整“VLAN and Tunnel Traffic”参数来实现。
  2. VS Profile
  VS Profile 是依赖于VS的存在,是对于VS的流量进行格式化处理。如果VS上配置了TCP Profile,那么对于UDP的连接,F5是不会接受的。
  tcp参数中Idel Timeout值(多长时间连接里面没有数据流量时就删除连接表)必须要与服务器相配合,否则会出现错误。如果F5上此值为150s,而IIs服务器为300s,就会产生大量错误。
  3、 VS里面的Address Translation 和 Port Translation ,默认情况下都是 enabled。
  Address Translation的含义是如果外面访问的主机和VS IP不一样,就需要开启此参数,比如VS IP地址是192.168.27.100,真实机器为192.168.27.10,那么需要开启Address Translation,而企业应用中,这参数一般是开启的,除非特殊的上面介绍的Fowarding IP模式不需要开启。
  Port Translation 参数的意思是VS地址是192.168.27.100的8080端口对应真实地址的80端口,那么需要开启Port Translation
  4、SNAT Pool ???
  内网需要访问公网进行NAT转换。当配置SNAT AutoMap的时候,表示请求从哪个VLAN发出去,则SNAT的源地址为VLAN上的SelfIp,比如外网用户(192.168.27.1)访问内网服务器(192.168.192.10),在开启SNAT AutoMap的情况下,访问的源IP将转变为F5的内网SelfIP(192.168.192.2)去访问。当一个vlan上有多个SelfIP存在的时候,SNAT的源地址是在多个SelfIP之间轮询。
  5、会话保持
  在大多数电子商务的应用系统或者需要进行用户身份认证的在线系统中,一个客户与服务器经常经过多次的交互过程才能完成一笔交易或者是一个请求的完成。由于这几次交互过程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,服务器进行下一步操作时需要,就要求所有这些相关的交互过程都由一台服务器完成,而不能被负载均衡器分散到不同的服务器上。
  经验总结:
  1、拿到F5首先就是要激活,通过向导可以很简单的进行激活,但是记住一定要能上网,最好在上架前完成激活工作。
  2、打开浏览器使用https://192.168.1.245 设备管理ip可以登录到F5设备。默认用户名和密码均为admin。
  3、创建相应的VLAN,并将接口加入相应的VLAN,Network -> VLANS 。
  Name : 设置这个VLAN的名字;
  Tag: 保留为空;
  Interface:定义Avalilable 中显示的端口有选择性的划分到这个vlan中,指定端口后,单击<< 选人 Untagged 栏即可。
  点击 Finished 完成。
  4、在划分完VLAN后,即可对每个VLAN进行IP地址的定义,方法如下:点击左侧导航条中的 Networks -> Self IPS
  5、配置路由,点击左侧导航条中的 Networks -> Routes .
  Type :定义配置的是默认网关还是静态路由。
  Destination: 定义目标网段。
  Netmask : 定义目标网段的掩码;
  Resource : 定义网关地址。
  点击 Finished 完成。
  6、Pool 配置:点击左侧导航条中的Local Traffic -> Virtual Servers -> Pools;
  Name 定义创建的Pool的名字。
  Health Monitors 定义该Pool使用的健康检查机制,此处为TCP。
  Load Balacing Method定义该Pool使用哪种负载均衡算法 --我们选用 observed-member(观察法)。
  New Members 定义该pool下真实的服务器的IP和Port。
  点击 Finished 完成。
  7、Virtual Server 配置,Local Traffic -> Virtual Servers,这里面的参数可以参见之前介绍的进行填写,并将管理相应的Pool。并配置相应的F5轮询方式,常用的是轮询(RoundRobin)。
  8、配置Monitor 的作用是检查服务器的健康状态,然后关联的相应的Pool,Local Traffic -> Monitors。
  9、配置Redundant,这在前面已介绍。
  近几年来,四到七层网络负载均衡首先在电信、移动、银行、大型网站等单位进行了应用,因为其网络流量瓶颈的现象最突出。目前在多家企业,随着企业关键网络应用业务的发展,负载均衡的应用需求也越来越大了。

1.什么是会话保持?

  在大多数电子商务的应用系统或者需要进行用户身份认证的在线系统中,一个客户与服务器经常经过好几次的交互过程才能完成一笔交易或者是一个请求的完成。由于这几次交互过程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,或者上几步的交互过程结果,服务器进行下一步操作时就要求所有这些相关的交互过程都由一台服务器完成,而不能被负载均衡器分散到不同的服务器上。

  而这一系列的相关的交互过程可能是由客户到服务器的一个连接的多次会话完成,也可能是在客户与服务器之间的多个不同连接里的多次会话完成。不同连接的多次会话,最典型的例子就是基于http的访问,一个客户完成一笔交易可能需多次点击,而一个新的点击产生的请求,可能会重用上一次点击建立起来的连接,也可能是一个新建的连接。

  会话保持就是指在负载均衡器上有这么一种机制,可以识别做客户与服务器之间交互过程的关连性,在作负载均衡的同时,还保证一系列相关连的访问请求会保持分配到一台服务器上。

2.F5支持什么样的会话保持方法?    

  F5 Big-IP支持多种的会话保持方法,其中包括:简单会话保持(源地址会话保持)、HTTP Header的会话保持,基于SSL Session ID的会话保持,i-Rules会话保持以及基于HTTP Cookie的会话保持,此外还有基于SIP ID以及Cache设备的会话保持等,但常用的是简单会话保持,HTTP Header的会话保持以及 HTTP Cookie会话保持以及基于i-Rules的会话保持。

2.1 简单会话保持    

  简单会话保持也被称为基于源地址的会话保持,是指负载均衡器在作负载均衡时是根据访问请求的源地址作为判断关连会话的依据。对来自同一IP地址的所有访问 请求在作负载均时都会被保持到一台服务器上去。在BIG-IP设备上可以为“同一IP地址”通过网络掩码进行区分,比如可以通过对IP地址 192.168.1.1进行255.255.255.0的网络掩码,这样只要是来自于192.168.1.0/24这个网段的流量BIGIP都可以认为他们是来自于同一个用户,这样就将把来自于192.168.1.0/24网段的流量会话保持到特定的一台服务器上。

  简单会话保持里另外一个很重要的参数就是连接超时值,BIGIP会为每一个进行会话保持的会话设定一个时间值,当一个会话上一次完成到这个会话下次再来之前的间隔如果小于这个超时值,BIGIP将会将新的连接进行会话保持,但如果这个间隔大于该超时值,BIGIP将会将新来的连接认为是新的会话然后进行负载平衡。

  基于原地址的会话保持实现起来简单,只需要根据数据包三、四层的信息就可以实现,效率也比较高。存在的问题就在于当多个客户是通过代理或地址转换的方式来访问服务器时,由于都分配到同一台服务器上,会导致服务器之间的负载严重失衡。另外一种情况上客户机数量很少,但每个客户机都会产生多个并发访问,对这些并发访问也要求通过负载均衡器分配到多个服器上,这时基于客户端源地址的会话保持方法也会导致负载均衡失效。

2.2 基于Cookie的会话保持

  2.2.1 Cookie插入模式:在Cookie插入模式下,Big-IP将负责插入cookie,后端服务器无需作出任何修改

  当客户进行第一次请求时,客户HTTP请求(不带cookie)进入BIG-IP, BIG-IP根据负载平衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复(不带cookie)被发回BIGIP,然后 BIG-IP插入cookie,将HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次BIGIP插入的cookie)进入 BIGIP,然后BIGIP读出cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然后后端服务器进行请求回复,由于服务器并不写入cookie,HTTP回复将不带有cookie,恢复流量再次经过进入BIG-IP时,BIG-IP再次写入更新后的会话保持  cookie。

  2.2.2 Cookie 重写模式    

  当客户进行第一次请求时,客户HTTP请求(不带cookie)进入BIGIP, BIGIP根据负载均衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复一个空白的cookie并发回BIGIP,然后BIGIP重新在cookie里写入会话保持数值,将HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次BIGIP重写的 cookie)进入BIGIP,然后BIGIP读出cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然后后端服务器进行请求回复,HTTP回复里又将带有空的cookie,恢复流量再次经过进入BIGIP时,BIGIP再次写入更新后会话保持数值到该  cookie。

  2.2.3 Passive Cookie 模式,服务器使用特定信息来设置cookie。    

  当客户进行第一次请求时,客户HTTP请求(不带cookie)进入BIGIP, BIGIP根据负载平衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复一个cookie并发回BIGIP,然后 BIGIP将带有服务器写的cookie值的HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次服务器写的cookie)进入 BIGIP,然后BIGIP根据cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然后后端服务器进行请 求回复,HTTP回复里又将带有更新的会话保持cookie,恢复流量再次经过进入BIGIP时,BIGIP将带有该cookie的请求回复给客户端。

  2.2.4 Cookie Hash模式:    

  当客户进行第一次请求时,客户HTTP请求(不带cookie)进入BIGIP, BIGIP根据负载均衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复一个cookie并发回BIGIP,然后 BIGIP将带有服务器写的cookie值的HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次服务器写的cookie)进入 BIGIP,然后BIGIP根据cookie里的一定的某个字节的字节数来决定后台服务器接受请求,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然后后端服务器进行请求回复,HTTP回复里又将带有更新后的cookie,恢复流量再次经过进入BIGIP时,BIGIP将带有该  cookie的请求回复给客户端。

2.3 SSL Session ID会话保持    

  在用户的SSL访问系统的环境里,当SSL对话首次建立时,用户与服务器进行首次信息交换以:1}交换安全证书,2)商议加密和压缩方法,3)为每条对话 建立Session ID。由于该Session ID在系统中是一个唯一数值,由此,BIGIP可以应用该数值来进行会话保持。当用户想与该服务器再次建立连接时,BIGIP可以通过会话中的 SSL Session ID识别该用户并进行会话保持。

  基于SSL Session ID的会话保持就需要客户浏览器在进行会话的过程中始终保持其SSL Session ID不变,但实际上,微软Internet Explorer被发现在经过特定一段时间后将主动改变SSL Session ID,这就使基于SSL Session ID的会话保持实际应用范围大大缩小

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值