F5的会话保持

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的会话保持实际应用范围大大缩小。

转自:http://hi.baidu.com/xqllqx/blog/item/d77ece01f8a39fda277fb5f3.html

时间: 2024-08-29 20:51:03

F5的会话保持的相关文章

负载均衡常见问题之会话保持-粘滞会话(Sticky Sessions)

会话保持是负载均衡最常见的问题之一,也是一个相对比较复杂的问题. 会话保持有时候又叫做粘滞会话(Sticky Sessions). 在介绍会话保持技术之前,我们必须先花点时间弄清楚一些概念:什么是连接(Connection).什么是会话(Session),以及这二者之间的区别.需要特别强调的是,如果我们仅仅是谈论负载均衡,会话和连接往往具有相同的含义. 从简单的角度来看, 如果用户需要登录,那么就可以简单的理解为会话: 如果不需要登录,那么就是连接. 实际上,会话保持机制与负载均衡的基本功能是完

XXX公司内网访问故障处理

故障现场: 当用户访问www.sinopecsales.com时出现访问异常,具体如下图所示: 故障分析: 访问其它网站正常,但是访问该网站出现问题,从DNS解析和路径跟踪来看网络并无异常,负载均衡策略和链路状态也正常.想到F5的工作原理,有可能是在会话处理上存在问题,所以从会话处理上入手,解决方法如下: 解决方法: 具体操作如上图所示,上图所做的主要操作是配置F5的会话保持功能.配置完成后测试,发现访问目标网站异常的情况已经消失,故障解决! 有关会话保持: 什么是会话保持? 在大多数电子商务的

,苦命建议您

http://ypk.39.net/search/all?k=%A1%DE%C9%B3%BA%D3%C4%C4%C0%EF%D3%D0%B0%A2%C6%D5%DF%F2%C2%D8%C2%F4Q%A3%BA%A3%B1%A3%B1%A3%B2%A3%B7%A3%B4%A3%B0%A3%B1%A3%B1%A3%B7%A3%B5%A1%F5 http://ypk.39.net/search/all?k=%20%E4%C3%D6%DD%C4%C4%C0%EF%D3%D0%B0%A2%C6%D5%DF

F5负载均衡及会话保持学习笔记一

在公司内部项目中经常用到F5,但由于对于F5实现负载均衡原理不是很清晰,在项目实战中遇到很多问题.比如:一个会话连接无故被中断,设置会话保持后,后端应用节点出现严重不均衡情况等等,所以特意回顾和整理了有关F5的相关技术资料,对于后续大家选择合适的负载均衡策略和会话保持方式提供参考依据,以免后续走弯路. 一:什么是F5? F5为一家公司,英文公司名:F5 Networks:应用交付网络(ADN)的全球领导者.F5提供的解决方案保证每个用户的应用实现安全.高速和高可用,帮企业获得最大投资回报.本文只

F5会话保持

最近项目中需要使用F5做负载均衡,将相关资料记录下来. 以下是F5变更申请中的相关参数说明,我们就以此顺藤摸瓜,我们挑几个重要参数去学习吧.   服务器实际地址与端口 提供服务的真实服务器IP地址与提供服务的端口. 对外服务地址与端口 F5设备向外提供服务的IP地址与端口,此选项可向网络处申请. 负载均衡算法 F5设备向服务器下发请求的分发方式.F5设备默认的是轮询,(例如:有两个提供服务的真实服务器,F5会把两个请求分别分配给服务器1和服务器2) 会话保持类型 会话保持可以将一个客户的持续请求

F5几种会话保持机制

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

【转】浅谈Nginx负载均衡与F5的区别

前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道"墙",将请求分发到web服务器后,web服务器上的Nginx再进行处理,静态内容直接访问本地门户,动态数据则通过反向代理指向内网服务. 其实Nginx和F5这两者均可用作网站负载均衡,那二者有什么区别呢?笔者在此浅谈下Nginx与F5的一些区别. 目前很多网站或应用在设计之初都会为高并发的数据请求做负载均衡,不差钱的土豪用户一般会直接买F5硬件设备作为其负载均衡器,原因不用多

F5 LTM概念

LTM概述 如果配置得当, LTM系统能够执行各种流量管理功能,例如: 通过来调节和分配网络上的服务器负载,从而实现可扩展性. 卸载标准的服务器任务,例如 HTTP 数据压缩. SSL 认证和 SSL 加 密,以提高服务器性能. 监视网络中服务器的状态和性能,以实现出色的可用性. 建立和管理会话及连接持续性. 根据用户名/密码和 SSL 证书的认证信息, 执行应用流量的认证和授 权功能. 管理数据包吞吐率,以优化特定连接类型的性能. 将多个客户机请求汇聚到服务器端的连接 Pool,以提高性能.汇

F5基本操作

设备面板标识 F5 BIGIP 2000产品图片 面板结构 F5 BigIP 2000 设备的面板结构: 10/100/1000 interface - 8个10/100/1000 M 自适应的网络接口(图5) Gigabit fiber interface - 2个1000M 多模光纤接口(图6) Serial console port - 一个串口命令行管理端口(图3) Failover port - 一个串口冗余状态判断端口(图4) Mgmt interface - 一个10/10/100