06-会话保持
本章节下载: 06-会话保持 (375.82 KB)
会话保持功能的作用是根据会话保持方法将具有相同特征的访问流量都分配给同一个业务主机处理,这个分配规则就称为会话保持表项。
当用户首次发起访问时,设备会根据调度算法或调度策略将请求分发给某台业务主机。同时根据会话保持方法生成会话保持表项。在会话保持表项老化之前,若设备再次收到用户请求,不会再根据调度算法进行计算,而是根据已生成的会话保持表项,选择对应的业务主机进行转发。
会话保持通过会话保持名称唯一标识。设备支持配置多种类型的会话保持功能,各类型会话保持功能如表-1所示。
类型 |
描述 |
地址端口 |
设备根据源IP网段、源端口、目的IP网段或目的端口生成会话保持表项,匹配请求报文的IP地址和端口,会话保持方法包括: · 源地址:设备根据源IP网段生成会话保持表项,将源IP网段相同的流量转发至同一业务主机 · 源地址端口:设备根据源IP网段和源端口生成会话保持表项,将源IP网段、源端口均相同的流量转发至同一业务主机 · 目的地址:设备根据目的IP网段生成会话保持表项,将目的IP网段相同的流量转发至同一业务主机 · 目的地址端口:设备根据目的IP网段和目的端口生成会话保持表项,将目的IP网段、目的端口均相同的流量转发至同一业务主机 · 源地址目的地址:设备根据源IP网段和目的IP网段生成会话保持表项,将源IP网段、目的IP网段均相同的流量转发至同一业务主机 · 源地址端口目的地址端口:设备根据源IP网段、源端口、目的IP网段和目的端口生成会话保持表项,将源IP网段、源端口、目的IP网段、目的端口均相同的流量转发至同一业务主机 |
HTTP Content |
设备根据HTTP请求报文内容生成会话保持表项,匹配HTTP请求报文的指定范围,可将具有相同报文内容的HTTP请求转发至同一业务主机 |
HTTP Body |
设备根据HTTP请求报文中的实体内容生成会话保持表项,匹配HTTP请求报文实体的指定范围,可将具有相同报文实体的HTTP请求转发至同一业务主机。HTTP报文实体是指HTTP报文中不包含HTTP首部的内容 |
HTTP Cookie |
设备根据HTTP请求报文中的Cookie字段生成会话保持表项,匹配HTTP请求中的Cookie字段,可将携带相同Cookie的HTTP请求转发至同一业务主机,HTTP Cookie会话保持方法包括: · Cookie插入:在业务主机发送的HTTP应答报文中插入Set-Cookie字段用于会话保持处理 · Cookie重写:改写业务主机发送的HTTP应答报文所携带的Set-Cookie字段用于会话保持处理 · Cookie截取:在业务主机发送的HTTP应答报文中截取Set-Cookie字段用于会话保持处理 |
HTTP Header |
设备根据HTTP请求报文首部生成会话保持表项,匹配HTTP请求首部中的指定字段,可将HTTP请求首部具有相同特征的流量转发至同一业务主机,会话保持方法包括: · URI:基于HTTP URI的会话保持方法 · Host:基于HTTP Host的会话保持方法 · Method:基于HTTP Request-Method的会话保持方法 · Version:基于HTTP版本的会话保持方法 · Name:基于HTTP首部名称的会话保持方法 |
SSL |
设备根据SSL Session-ID生成会话保持表项,匹配HTTPS报文中的Session-ID字段,可将具有相同Session-ID的流量转发至同一业务主机。该类型仅对HTTPS请求报文有效,并且需要在虚服务器页面引用SSL服务器端策略 |
RADIUS |
设备根据RADIUS属性生成会话保持表项,匹配RADIUS报文中的指定属性字段,可将具有相同RADIUS属性的流量转发至同一业务主机 |
SIP |
设备根据SIP Call-ID生成会话保持表项,匹配SIP信令报文首部的Call-ID,可将具有相同SIP会话ID的流量转发至同一业务主机 |
HTTP Passive |
HTTP Passive类型的会话保持功能需要同时配置请求内容和应答内容,才能生成会话保持表项。当设备收到HTTP请求报文后,根据请求内容的配置获取HTTP请求报文中的指定字符串。若该字符串匹配上由应答内容配置获取到的HTTP应答报文中的指定字符串,则根据HTTP应答报文中的指定字符串生成会话保持表项。对于后续收到的HTTP请求报文,若匹配上会话保持表项,则按照会话保持表项转发 请求内容和应答内容的配置遵循以下原则: 同一HTTP passive类型的会话保持下,最多允许通过配置应答内容在HTTP应答报文中获取4个指定字符串,通过配置请求内容在HTTP请求报文中获取4个指定字符串 n条应答内容的配置获取到的n个字符串,其中任意1~n个字符串又可以按照ID顺序组合成2n-1个字符串,若请求内容配置获取到字符串匹配上任意一个组合后的字符串,则认为匹配成功 n条请求内容配置获取到的n个字符串按照ID顺序结合成一个字符串进行匹配。假设,用户配置了规则名称为1、2、3的三条应答内容配置,使得设备可以获取到HTTP应答报文中的字符串a、b、c,并生成7个匹配字符串a、b、c、ab、ac、bc、abc。同时用户配置了规则名称为4、5、6的三条请求内容配置。之后,当设备收到HTTP请求报文后,若基于这三条规则获取到了字符串a、b、c,且它们组合成的字符串abc能够与通过应答内容配置获取到的字符串abc匹配成功,则系统会基于字符串abc生成一条会话保持表项。对于后续设备收到的HTTP请求报文,若匹配上该会话保持表项,则按照会话保持表项转发 |
UDP Passive |
配置UDP Passive类型的会话保持后,设备会根据应答内容的配置获取UDP应答报文中的指定字符串,生成会话保持表项。对于后续收到的所有UDP请求报文,根据请求内容的配置获取UDP请求报文中的指定字段,若该字段匹配上会话保持表项,则按照会话保持表项转发 UDP-Passive会话保持方法需要请求内容和应答内容同时配置,才能生成会话保持表项 |
TCP Payload |
设备根据TCP报文载荷生成会话保持表项,匹配TCP报文的指定范围,可将具有相同内容的TCP报文转发至同一业务主机 |
UDP Payload |
设备根据UDP报文载荷生成会话保持表项,匹配UDP报文的指定范围,可将具有相同内容的UDP报文转发至同一业务主机 |
非缺省vSystem对于本特性的支持情况,请以页面的实际显示为准。
1. 单击“应用负载 > 会话保持”
2. 在“会话保持”页面单击<新建>按钮,新建会话保持。
表-2 会话保持公共配置(各类型通用)
参数 |
说明 |
名称 |
会话保持的名称,不区分大小写 |
描述 |
会话保持的描述信息 |
类型 |
会话保持的类型,包括: · 地址端口:地址端口类型的会话保持请参见表-3 · HTTP Content:HTTP Content类型的会话保持请参见表-4 · HTTP Body:HTTP Body类型的会话保持请参见表-5 · HTTP Cookie:HTTP Cookie类型的会话保持请参见表-6 · HTTP Header:HTTP Header类型的会话保持请参见表-7 · SSL:SSL类型的会话保持请参见表-8 · RADIUS:RADIUS类型的会话保持请参见表-9 · SIP:SIP类型的会话保持请参见表-10 · HTTP Passive:HTTP Passive类型的会话保持请参见表-11 · UDP Passive:UDP Passive类型的会话保持请参见表-12 · TCP Payload:TCP Payload类型的会话保持请参见表-13 · UDP Payload:UDP Payload类型的会话保持请参见表-14 |
老化时间 |
会话保持表项的老化时间,包括: · 老化:配置会话保持表项的老化时间,会话保持表项到达指定时间后老化 · 不老化:表示会话保持表项永不老化,HTTP Cookie、HTTP Passive和UDP Passive类型的会话保持功能不支持不老化 |
优先于繁忙 |
开启/关闭会话保持处理优先于繁忙功能 若会话保持处理优先于繁忙功能处于开启状态,则在会话保持表项老化之前,无论业务主机是否处于繁忙状态,设备都会依据会话保持表项为其分配流量;若会话保持处理优先于繁忙功能处于关闭状态,则在会话保持表项老化之前,设备会依据会话保持表项仅为处于正常状态的业务主机分配流量 |
参数 |
说明 |
方法 |
地址端口类型的会话保持方法,包括: · 源地址 · 源地址端口 · 目的地址 · 目的地址端口 · 源地址目的地址 · 源地址端口目的地址端口 |
IPv4掩码长度 |
生成会话保持表项的IPv4掩码长度,用户流量根据该掩码长度进行会话保持表项的匹配 缺省情况下,IPv4掩码长度为32,表示根据每个IPv4地址生成会话保持表项,并且每个IPv4地址单独进行会话保持表项的匹配 |
IPv6前缀长度 |
生成会话保持表项的IPv6前缀长度,用户流量根据该前缀长度进行会话保持表项的匹配 缺省情况下,IPv6前缀长度为128,表示根据每个IPv6地址生成会话保持表项,并且每个IPv6地址单独进行会话保持表项的匹配 |
表项生效范围 |
会话保持表项的生效范围,包括: · 服务池:会话保持表项跨服务池生效,即同一虚服务器引用的服务池都可以共享会话保持表项 · 虚服务器IP:会话保持表项仅对IP地址相同的虚服务器生效,即所有IP地址相同的虚服务器都可以共享会话保持表项 · 全局:会话保持表项全局生效,即所有虚服务器都可以共享会话保持表项 |
表-4 HTTP Content类型会话保持配置
参数 |
说明 |
偏移量 |
HTTP Content基于HTTP报文起始位置的偏移量,单位为字节 |
起始标记 |
HTTP Content起始标记的正则表达式,即从偏移量起到本标记为开始,区分大小写,不支持正则元字符? |
长度/结束标记 |
· 结束标记:HTTP Content结束标记的正则表达式,即从起始标记起到本标记为结束,区分大小写,不支持正则元字符? · 长度:HTTP Content的长度,0表示所有长度,单位为字节 |
表-5 HTTP Body类型会话保持配置
参数 |
说明 |
偏移量 |
HTTP Body基于HTTP报文实体起始位置的偏移量,单位为字节,HTTP报文实体起始位置是指HTTP报文去除HTTP首部之后的第一个字节 |
起始标记 |
HTTP Body起始标记的正则表达式,即从偏移量起到本标记为开始,区分大小写,不支持正则元字符? |
长度/结束标记 |
· 结束标记:HTTP Body结束标记的正则表达式,即从起始标记起到本标记为结束,区分大小写,不支持正则元字符? · 长度:HTTP Body的长度,0表示所有长度,单位为字节 |
表-6 HTTP Cookie类型会话保持配置
参数 |
说明 |
Cookie会话保持方法 |
HTTP Cookie类型的会话保持方法,包括: · Cookie插入:会话保持方法为Cookie插入,即在服务器发送的HTTP应答报文中插入Set-Cookie字段用于会话保持处理 · Cookie重写:会话保持方法为Cookie重写,即改写服务器发送的HTTP应答报文所携带的Set-Cookie字段用于会话保持处理 · Cookie截取:会话保持方法为Cookie截取,即在服务器发送的HTTP应答报文中截取Set-Cookie字段用于会话保持处理 |
Cookie名称 |
HTTP Cookie的名称,区分大小写 |
Cookie生效域名 |
Cookie生效的域名,区分大小写,若未配置本参数,则表示Cookie生效的域名为创建Cookie的域名 Cookie生效域名用来指定Cookie会被发送到的主机范围。例如,客户端可以访问域名example.com,www.example.com和www.corp.example.com的主机。如果配置Cookie生效域名为“example.com”,客户端会在向域名为example.com,www.example.com和www.corp.example.com的主机发送的HTTP请求中携带Cookie信息。如果配置Cookie生效域名为“www.corp.example.com”,客户端仅会在向域名为www.corp.example.com的主机发送的HTTP请求中携带Cookie信息 仅Cookie插入会话保持方法支持配置本参数 |
Cookie生效路径 |
Cookie生效路径,区分大小写,若未配置本参数,则表示Cookie的生效路径为根目录“/” Cookie生效路径用来限制Cookie的适用范围。例如。客户端可以访问主机的文件夹www.example.com/a和www.example.com/b。如果配置Cookie生效域名为www.example.com,Cookie的生效路径为/a,客户端会在向www.example.com/a发送的HTTP请求中携带Cookie信息,而不会在向www.example.com/b发送的HTTP请求中携带Cookie信息 仅Cookie插入会话保持方法支持配置本参数 |
HTTPOnly |
开启/关闭HTTPOnly属性 HTTPOnly属性用来指定Cookie是否可通过客户端脚本访问。开启HTTPOnly属性表示指定的Cookie不允许通过客户端脚本访问;关闭HTTPOnly属性,则表示可以通过客户端脚本访问Cookie 若会话Cookie缺少HTTPOnly属性,攻击者可以通过程序(例如JS脚本)等获取到用户的Cookie信息,容易造成用户Cookie信息泄露 仅Cookie插入和Cookie重写会话保持方法支持配置本参数 |
Secure |
开启/关闭安全属性 安全属性标识Cookie会被以安全的形式向服务器传输,也就是说Cookie只能在HTTPS连接中被浏览器传递到服务器端进行会话验证,如果是HTTP连接则不会传递Cookie信息 开启安全属性表示指定的Cookie只允许通过HTTPS连接进行传递;关闭安全属性,则表示所有连接都允许传递Cookie 仅Cookie插入和Cookie重写会话保持方法支持配置本参数 |
检查所有报文 |
开启/关闭检查所有报文的功能 · 当会话保持方法为Cookie插入时,本参数用来配置是否向所有HTTP应答报文中插入Cookie。如果未开启检查所有报文,则在一次连接中只向首个应答报文中插入Set-Cookie信息,后续应答报文不再插入 · 当会话保持方法为Cookie重写时,本参数用来配置是否在所有HTTP应答报文中重写Cookie。如果未开启检查所有报文,则在一次连接中只在首个应答报文中重写Set-Cookie信息,后续应答报文不再重写 · 当会话保持方法为Cookie截取时,本参数用来配置是否从所有HTTP应答报文中截取Cookie。如果未开启检查所有报文,则在一次连接中只从首个应答报文中截取一次Set-Cookie信息,后续应答报文不再截取 |
区分大小写 |
匹配正则表达式时,是否区分大小写,包括: · 不区分 · 区分 仅Cookie截取会话保持方法支持配置本参数 |
偏移量 |
HTTP Cookie基于Cookie值起始位置的偏移量,单位为字节 仅Cookie截取会话保持方法支持配置本参数 |
起始标记 |
HTTP Cookie开始标记的正则表达式,即从偏移量起到本标记为开始,不支持正则元字符? 仅Cookie截取会话保持方法支持配置本参数 |
长度/结束标记 |
· 结束标记:HTTP Cookie结束标记的正则表达式,即从起始标记起到本标记为结束,不支持正则元字符? · 长度:HTTP Cookie的长度,0表示所有长度,单位为字节 仅Cookie截取会话保持方法支持配置本参数 |
表-7 HTTP Header类型会话保持配置
参数 |
说明 |
Header会话保持方法 |
HTTP Header类型的会话保持方法,包括: · URI:基于HTTP URI的会话保持方法 · Host:基于HTTP Host的会话保持方法 · Method:基于HTTP Request-Method的会话保持方法 · Version:基于HTTP版本的会话保持方法 · Name:基于HTTP首部名称的会话保持方法 |
首部名称 |
HTTP首部名称 仅Name会话保持方法支持配置本参数 |
区分大小写 |
匹配正则表达式时,是否区分大小写,包括: · 不区分 · 区分 仅 URI、Host和Name会话保持方法支持配置本参数 |
偏移量 |
HTTP首部基于HTTP报文起始位置的偏移量,单位为字节 |
起始标记 |
HTTP首部起始标记的正则表达式,即从偏移量起到本标记为开始,不支持正则元字符? |
长度/结束标记 |
· 结束标记:HTTP首部结束标记的正则表达式,即从起始标记起到本标记为结束,不支持正则元字符? · 长度:HTTP首部的长度,0表示所有长度,单位为字节 |
表-8 SSL类型会话保持配置
参数 |
说明 |
SSL会话保持方法 |
SSL类型的会话保持方法,包括Session-ID,即基于SSL会话ID的SSL会话保持方法 该方法仅对HTTPS请求报文有效,并且需要在虚服务器页面引用SSL服务器端策略 |
表-9 RADIUS类型会话保持配置
参数 |
说明 |
属性编号 |
指定RADIUS属性,包括: · 自定义RADIUS属性,选择User-Defined,可输入RADIUS属性类型的编号 · 指定RADIUS属性,可在下拉框中选择指定的RADIUS属性,属性类型的编号会显示在右侧输入框中 |
表项生效范围 |
会话保持表项的生效范围,包括: · 服务池:会话保持表项跨服务池生效,即同一虚服务器引用的服务池都可以共享会话保持表项 · 虚服务器IP:会话保持表项仅对IP地址相同的虚服务器生效,即所有IP地址相同的虚服务器都可以共享会话保持表项 · 全局:会话保持表项全局生效,即所有虚服务器都可以共享会话保持表项 |
表-10 SIP类型会话保持配置
参数 |
说明 |
SIP会话保持方法 |
SIP类型的会话保持方法,该方法会根据SIP信令报文首部的Call-ID字段生成会话保持表项,将具有相同SIP会话ID的报文都分配给同一个业务主机处理 |
表-11 HTTP Passive类型会话保持配置
参数 |
说明 |
检查所有报文 |
开启/关闭检查所有报文的功能 本参数用来配置是否从所有HTTP应答报文生成会话保持表项。如果未开启检查所有报文,则在一次连接中只从首个HTTP应答报文生成会话保持表项,后续应答报文不再生成会话保持表项 |
请求内容配置 |
获取HTTP请求报文中的指定字符串,用来匹配HTTP Passive会话保持表项 · 规则名称:获取HTTP请求报文的规则名称 · 查找位置:获取HTTP请求报文中指定位置的字符串,包括首部和实体 · 首部类型:获取HTTP请求报文首部中指定的字符串,包括首部名称和URI。仅当查找位置为首部时,支持配置本参数 · 首部名称:HTTP首部名称,不区分大小写。仅当首部类型为名称时,支持配置本参数 · 区分大小写:匹配正则表达式时,是否区分大小写 · 起始标记:HTTP首部、URI或HTTP实体开始标记的正则表达式 · 长度:HTTP首部、URI或HTTP实体的长度,0表示所有长度 · 结束标记:HTTP首部、URI或HTTP实体的结束标记的正则表达式,即从起始标记起到本标记为结束,不支持正则元字符? |
应答内容配置 |
获取HTTP应答报文中的指定字符串,用来生成HTTP Passive会话保持表项 · 规则名称:获取HTTP应答报文的规则名称 · 查找位置:获取HTTP应答报文中指定位置的字符串,包括首部和实体 · 首部类型:获取HTTP应答报文首部中指定的字符串。仅当查找位置为首部时,支持配置本参数 · 首部名称:HTTP首部名称,不区分大小写 · 区分大小写:匹配正则表达式时,是否区分大小写 · 起始标记:HTTP首部或HTTP实体开始标记的正则表达式 · 长度:HTTP首部或HTTP实体的长度,0表示所有长度 · 结束标记:HTTP首部或HTTP实体的结束标记的正则表达式,即从起始标记起到本标记为结束,不支持正则元字符? |
表-12 UDP Passive类型会话保持配置
参数 |
说明 |
请求内容配置-偏移量 |
UDP Passive类型会话保持方法的请求内容配置用来获取UDP请求报文中的指定字符串,匹配UDP-Passive会话保持表项。设备支持通过配置UDP请求报文的偏移量、起始标记、长度和结束标记,获取UDP请求报文中的指定字符串 偏移量表示UDP载荷基于UDP请求报文起始位置的偏移量,单位为字节 |
请求内容配置-起始标记 |
UDP载荷开始标记的正则表达式,即从偏移量起到本标记为开始,不支持正则元字符? |
请求内容配置-长度/结束标记 |
· 结束标记:UDP载荷结束标记的正则表达式,即从起始标记起到本标记为结束,不支持正则元字符? · 长度:UDP载荷的长度,0表示所有长度,单位为字节 |
应答内容配置-偏移量 |
UDP Passive类型会话保持方法的应答内容配置用来获取UDP应答报文中的指定字符串来生成UDP-Passive会话保持表项。设备支持通过UDP应答报文的偏移量、起始标记、长度和结束标记,获取UDP应答报文中的指定字符串 偏移量表示UDP载荷基于UDP应答报文起始位置的偏移量,单位为字节 |
应答内容配置-起始标记 |
UDP载荷开始标记的正则表达式,即从偏移量起到本标记为开始,不支持正则元字符?。 |
应答内容配置-长度/结束标记 |
· 结束标记:UDP载荷结束标记的正则表达式,即从起始标记起到本标记为结束,不支持正则元字符? · 长度:UDP载荷的长度,0表示所有长度,单位为字节 |
表-13 TCP Payload类型会话保持配置
参数 |
说明 |
偏移量 |
TCP载荷基于TCP报文起始位置的偏移量,单位为字节 |
起始标记 |
TCP载荷开始标记的正则表达式,即从偏移量起到本标记为开始,不支持正则元字符? |
长度/结束标记 |
· 结束标记:TCP载荷结束标记的正则表达式,即从起始标记起到本标记为结束,不支持正则元字符? · 长度:TCP载荷的长度,0表示所有长度,单位为字节 |
表-14 UDP Payload会话保持配置
参数 |
说明 |
偏移量 |
UDP载荷基于UDP报文起始位置的偏移量,单位为字节 |
起始标记 |
UDP载荷开始标记的正则表达式,即从偏移量起到本标记为开始,不支持正则元字符? |
长度/结束标记 |
· 结束标记:UDP载荷结束标记的正则表达式,即从起始标记起到本标记为结束,不支持正则元字符? · 长度:UDP载荷的长度,0表示所有长度,单位为字节 |
3. 单击<确定>按钮,新建的会话保持会在“会话保持”页面显示。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!