LTM_本地流量管理

Posted w520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LTM_本地流量管理相关的知识,希望对你有一定的参考价值。

会话保持

首先要熟悉两个概念:连接connect和会话session

连接:在四层负载均衡中,连接是最小元素。

l  源端口:客户端随机产生的端口。

l  源地址:发起请求的源IP地址。

l  目的端口:四层负载均衡上的虚拟服务端口。

l  目的IP:BIG-IP LTM上的虚拟服务地址。

会话:一个用户登录则产生一个session,可以由多个连接组成,一个session通常就是会话保持表中的一条记录所记录的所有连接。

源地址会话保持

       认为同一个源地址为一个用户,凡是从一个源地址发过来的连接认为是一个用户发起的多个请求,根据会话保持,将这些连接发到同一服务器。VS会生成一个会话保持表,会话保持表如下图所示:

技术图片

会话保持表有效时间为300s,超时删除会话保持记录,重新分配服务器。源地址会话保持如下图所示:

 技术图片

哈希会话保持

哈希会话保持的一个基本概念就是将一个连接中的源IP 和目的IP地址进行Hash计算, 根据计算得到的结果并根据后台存在多少台服务器来选择将请求分配到那台服务器。哈希会话保持可以没有会话保持表,而仅仅是根据计算的结果来确定一个源 IP 被分配到那台服务器。 哈希会话保持通常被用于一些特定场合,如要求客户端按照IP地址被固定分配的场合, 或者在一些会话保持表查询的开销已经远远大于 Hash 计算开销的情况下,采用 hash 会话保 持可以提高系统的处理能力和响应速度。

Cookie会话保持

Cookie指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。Cookie 的内容主要包括:名字,值,过期时间,路径和域。路径与域一起构成Cookie作用范围。若不设置过期时间,则表示这个Cookie的生命期为浏览器会话期间,关闭浏览器窗口,Cookie 就消失。这种生命期为浏览器会话期的Cookie被称为Session Cookie。Session Cookie一般不存储在硬盘上而是保存在内存里。若设置了过期时间,浏览器就会把Cookie保存到硬盘上,关闭后再次打开浏览器,这些Cookie仍然有效直到超过设定的过期时间。一个Cookie只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。一个WEB站点可以给一个WEB浏览器发送多个 Cookie,这样在WEB浏览器和WEB服务器之间就可以使用多个Cookie来传递多种信息。

Cookie会话保持三种方式

Cookie Insert

 技术图片

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

Cookie Passive

 技术图片

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

Cookie Rewrite

 技术图片

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

SSL ID 会话保持

在用户的 SSL 访问系统的环境里,当 SSL 对话首次建立时,用户与服务器进行首次信息交换:

1.交换安全证书 2.商议加密和压缩方法 3.为每条对话建立 Session ID。

由于该 Session ID 在系统中是一个唯一数值,由此,BIG-IP LTM 可以应用该数值来进行会话保持。当用户想与该服务器再次建立连接时,BIG-IP LTM 可以通过会话中的 SSL Session ID 识别该用户并进行会话保持。  

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

可编程控制的会话保持

在实际的使用过程中,我们往往可能遇到更加复杂的一些情况,一个最典型的情况就是会话的特征并不在一些通常的位置,或者通用的名称。而是一个自定义的名称在一个特定的位置。在可编程控制的会话保持中,会话保持主要由两个部分组成: 1. 会话保持的特征的获取 2. 将特征与后台服务器相对应 。因此在 F5 BIG-IP LTM产品设计中,可以采用可编程控制方式来实现灵活的会话保持策略。

以上是关于LTM_本地流量管理的主要内容,如果未能解决你的问题,请参考以下文章

F5 BIGIP激活

CVE-2022-1388——F5 BIG-IP iControl REST 身份认证绕过漏洞

CVE-2022-1388——F5 BIG-IP iControl REST 身份认证绕过漏洞

F5之LTM入门(转)

13.Azure流量管理器(上)

13.Azure流量管理器(上)