F5 BIG-IP LTM 详解(工作原理 配置手册)_第1页
F5 BIG-IP LTM 详解(工作原理 配置手册)_第2页
F5 BIG-IP LTM 详解(工作原理 配置手册)_第3页
F5 BIG-IP LTM 详解(工作原理 配置手册)_第4页
F5 BIG-IP LTM 详解(工作原理 配置手册)_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、F5 BIG-IP LTM详解,北京先进数通信息技术有限公司,2020年10月,LTM基础架构 VS Type详解 Profile详解 CMP 工作原理 One Connect工作原理 NAT、SNAT工作原理 Monitor工作原理 HA工作原理,LTM工作原理,LTM基础架构,什么是TMM,Traffic Management Module TMOS的核心进程,有自己独立的内存、CPU资源分配和I/O控制 所有的生产流量都通过TMM接收 一个CPU Core只能有一个TMM进程 在V9版本上,15/34/64/68都是单TMM运行 在V9版本上,16/36/69/89/84/88都是多TM

2、M运行 在V10版本上,16/36/69/89/84/88都是多TMM运行 Viprion只支持9.6和10.0版本,默认都是多TMM运行,TMM处理的范围,TMM内部处理功能,所有的VS入口流量 LTM iRiules处理 Profile处理 会话保持处理 负载均衡算法 SSL加速(和硬件结合) HTTP 压缩 SNAT 静态CRL( Certificate revocation list 证书吊销清单)文件校验,不在TMM里面处理的功能,Web Accelerator Module(包括压缩) Application Security Module GTM的分配算法处理(包括GTM rul

3、es) Named域名解析 健康检查 日志管理 系统数据统计 SNMP数据输出 HA健康检查,BIGIP 内部结构-V9平台15/34/64/68,TM/OS,管理CPU,万兆/千兆交换端口,PVA(Packet Velocity ASIC) 四层交换专用ASIC,Host OS Web 界面管理 健康检查 SNMP .,Bridge,TMM 0,独立的管理机 SCCP,SSL加解密,HTTP压缩,Admin,Console,BIGIP 内部结构-Mecury平台16/36/69/89,6,TM/OS,管理CPU,万兆/千兆交换端口,HiSpeed Bridge,TMM 2,Host OS W

4、eb 界面管理 健康检查 SNMP .,TMM 3,TMM 1,TMM 0,独立的管理机 AOM,Cluster Muti Processor多CPU并行处理,SSL加解密,HTTP压缩,Console,Admin,Host和TMM的内存分配,Host在启动的时候限 定了内存分配的大小 ,在没有其他module 的情况下是384MB TMM进程启动后,将 自动获取余下的所有 物理内存,Host Memory,TMM Memory,查看Host内存占用情况,# physmem /查看物理内存大小 8387584 b memory show /查看内存分配情况 MEMORY STATISTICS

5、- | (Host) Total = 3.835GB Used = 3.590GB | (TMM) Total = 5.976GB Used = 93.22MB,查看TMM内存占用情况,TMM分配的内存是准确的,Host内存显示在这里有一些偏差,VS Type详解,Performance L4 Standard VS Fast HTTP Forwarding VS,Performance L4,TMM只是负责客户端连接的分配和转发,不改变TCP连接中的任何参数 客户端和服务器自行协商TCP传输参数 在34/64/68平台上Performance L4可以有PVA加入实现硬件加速 在15/16/

6、36/69/89/Viprion平台上都通过TMM核心进行处理 Performance L4 VS上只有4层的iRules可以使用 默认状态下,新建连接的第一个包必须是Syn包,如果是其他的数据包比如ACK、RST等如果不在连接表中,则全部丢弃。 在Fast L4 profile打开Loose close和Loose Initial的时候对非Syn包也可以建立连接表,TMM,客户端,客户端,客户端,服务器端,服务器端,服务器端,Performance L4 攻击防护-Syn Cookie,正常情况下客户端连接和服务器端连接是1:1的关系 TMM在第一次收到客户端Syn包时,并不建立连接表 TM

7、M的Syn Ack回应通过算法回应给客户端Syn,并期待客户端回应的值 TMM对客户端ACK进行计算,确认是真实客户端,再和后台服务器建立连接 在84/88上可以实现硬件的Syn Cookie计算,其余的平台都是通过软件实现SynCookie计算 Syn Cookie工作模式下,只有成功建立连接的TCP请求才转发到后台,TMM,Syn,Syn,Ack (syncookie),Ack(Cookie),Syn,Syn-Ack,Ack,Data,Standard VS,正常情况下客户端连接和服务器端连接是1:1的关系 默认工作在全代理模式,客户端和服务器端的TCP连接完全独立 客户端和服务器端的TC

8、P参数都是由TMM和双方分别协商 默认情况下以客户端源IP和后台建立连接,在打开SNAT的情况下用SNAT地址和后台建立连接 Standard VS的端口永远对外开放,无论后台是否有服务器在工作,TMM,Syn,Syn,Ack,Ack,Syn,Syn-Ack,Ack,Data,Data,Standard 模式下的攻击防护,Standard VS模式具有天然的防攻击功能 在遇到Syn攻击的时候会导致系统的连接表过大 通过System-SYN Check Activation Threshold 的设置,在达到设置值的时候系统自动启动 Syn Cookie,避免建立过多连接,这个值对全局生效 大部

9、分的网络层攻击都无法通过Standard模式的VS,Fast HTTP,Fast HTTP VS仅用于HTTP协议 默认开启One Connect Profile,对客户端连接进行聚合处理 默认开启SNAT AutoMap,在服务器端收到的TCP连接请求都是来自于TMM 没有会话保持功能 不能处理SSL,HTTPS,TMM,客户端,客户端,客户端,服务器端,服务器端,服务器端,Fowarding VS(Forwarding IP),只能使用Fast L4 Profile 按照连接处理,类似于路由器工作,但不完全一样,在Fast L4 Profile中开启Loose Initial和Loose

10、Close之后更为接近路由工作模式 所有穿过Fowarding VS的连接都将产生连接表 没有Pool Member,转发完全取决于本地路由 可以使用基于4层的Rules,TMM,客户端,查询本地路由表,转发客户端请求,VS和Profile,VS作为所有流量的入口 Profile依赖于VS,对进入VS的流量进行格式化处理 不同的VS可以用同一个Profile或者不同的Profile Profile之间存在有相互排斥和相互依存的关系,VS,TCP Profile,UDP Profile,FastL4 Profile,HTTP,RTSP,Client SSL,Server SSL,Streamin

11、g,SMTP,SIP,One Connect,Rules的处理必须依赖于VS对流量的接收 通过事件触发机制,Rules可以控制流量在VS内部处理的整个过程,SSL,Compression,Client Side,Server Side,TCP Express,Server,TCP Express,Caching,Microkernel,Virtual Server,iRules,Client,iControl API,TCP Proxy,OneConnect,XML,Rate Shaping,TrafficShield,Web Accel,3rd Party,VS和Rules,Server,i

12、Rules,Client Side Event Client_accept Client_data Cache_request DNS_request HTTP_REQUEST HTTP_REQUEST_DATA RTSP_REQUEST . . . .,Server Side Event Server_connect Server_data Cache_response DNS_response HTTP_RESPONSE HTTP_RESPONSE_DATA RTSP_RESPONSE . . . .,大部分rules只在同一个VS之内有效 Rules内创建的变量以连接为生命周期 一个VS

13、上可以有多个Rules,它们将被顺序执行,CLIENT_ACCPTED,CLIENT_DATA,LB_SELECTED,LB_FAILED,SERVER_ACCPTED,SERVER_DATA,CLIENT_CLOSED,SERVER_CLOSED,RULE_INIT,VS,Profile的作用和工作范围,Profile依赖于VS Profile是对VS的流量进行格式化处理 举例如果一个VS上配置了TCP Profile, 则该VS对所有的UDP流量都不会接收,Profile详解,基本流量处理类型Profile TCP, UDP, FastHTTP, Fast L4, SCTP( Stream

14、 Control Transmission Protocol ) 服务流量处理类型Profile HTTP, FTP, SMTP, RTSP( Real Time Streaming Protocol ), SIP( Session Initiation Protocol ), iSession SSL处理类型 Client SSL,Server SSL 会话保持类型 Cookie, Destination IP, hash, msrdp, source IP, Universal, SSL 认证处理类型 Radius, CRLDP( Constraint-Based Label Distri

15、bution Protocol ), OCSP( Online Certificate Status Protocol ) 其他处理类型 One Connect, Statistics, NTLM( NT LAN Manager ), Stream,重要的Profile-FastL4,Reset on Timeout: 在连接达到Time out的是否向两端发送Reset包 Idel Timeout:多长时间连接里面没有数据流量的时候就删除连接表 Loose Initiation/Loose Close: 是否接收非Syn包建立连接 Softare Syn Cookie Protection:

16、是否在VS上启用Syn Cookie,实现Syn攻击防护,可能调整的参数,重要的Profile-TCP,注意在Client Side和Server Side可以使 用不同的TCP Profile 通常情况下建议: Client side:TCP WAN Optimized 或LAN Optimized Server side: TCP LAN Optimized 除非你非常了解TCP的工作原理,否则不 要调整除idel Timeout以外的任何参数,重要的Profile-Client SSL,对所有进入VS的流量按照SSL协议进行处理 注意Client SSL profile不一定只能使用在H

17、TTPS上 使用Client SSL的VS不一定使用443端口,TMM,客户端,客户端,客户端,服务器端,服务器端,服务器端,SSL,SSL,SSL,重要的Profile-FTP,FTP Profile主要用于处理FTP的主动 和被动传输两种模式 由于需要配置动态侦听端口,因此FTP 协议必须进行单独处理 通过iRules也可以达到同样的目的,但 由于FTP协议使用非常广泛,因此使用 FTP profile来简化配置和处理 FTP Profile必须依赖于TCP profile工作,为什么要用CMP(Cluster Multi-Processor),性能增长要求 CPU的主频增加受到比较大的限

18、制,目前的趋势是以多 核扩展为主 ASIC(Application Specific Intergrated Circuits)、NP(Network Processor)的处理架构并不适合于复杂、灵活的流量处理 对于不规范的流量,采用硬件加速将导致系统设计僵化, 很难加入新的功能实现市场需求 需要充分利用CPU的多核处理能力来提升系统的整体性能,CMP工作原理,CMP的硬件支持,CMP工作模式,流量由HSB进行分配在多个TMM上,每个TMM占据一个CPU Core,每个TMM有自己独立的内存空间 每个TMM都具有相同的配置,包括VS/Profile/iRules/Pool/Persisten

19、ce等 TMM之间通过内存高速总线进行通讯共享通用信息如会话保持表,SNAT源端口等 当CMP被Disable的时候,TMM0接管所有的流量 64/68的硬件平台已经支持CMP,在10.0上自动开启,VIP TMM0,VIP TMM1,VIP TMM2,VIP TMM3,HSB,HSB,Super VIP,如何查看CMP工作状态,b tmm show可以观察每个TMM的状态,关于CMP必须了解的内容,V9平台启动WA(web应用加速器)和ASM(应用安全 管理器)将Disable CMP iRules中定义全局变量将Disable CMP 所有的非TCP/UDP流量都只使用TMM0进行处理 V

20、9中使用Session add, Session Lookup命令将 Disable CMP Connection Limit和Rate Shaping的配置是针对每 个TMM生效 手工关闭CMP运行 b db Provision.tmmCount 1 调整后必须重启 任何一个TMM Crash,将导致设备间Failover TCPdump已经调整为可支持CMP,查看Virtual Server的CMP工作状态,如何查看TMM CPU占用率,top命令可以显示每颗CPU的占用率 和V9相比,TMM的CPU在Top命令中的显示发生了变化 每颗CPU的CPU占用率目前在图形界面里都消失了,目前只有

21、 整体的CPU占用率,One Connect工作原理,连接聚合和内容交换,sales.htm,d.gif,e.gif,index.htm,a.gif,b.gif,c.asp,Server,f.asp,sales.htm,d.gif,e.gif,index.htm,a.gif,b.gif,c.asp,Server,f.asp,index.htm,a.gif,b.gif,c.asp,index.htm,a.gif,b.gif,c.asp,HTML server pool,GIF server pool,ASP server pool,连接聚合,内容交换,注:eligible reuse 符合条件的

22、再利用,One Connect的典型工作场景,实现连接聚合降低服务器的连接总数 需要对每一个请求都进行单独处理(注意在多数 情况下,LTM只对一个连接的第一个包进行处理) 典型的,打开Cookie会话保持有时候会出现保持 不正确的情况,这时就需要打开One Connect 通过设置Mask=55,可以使后台服 务器可以“看到”客户端源IP,但这个时候 One-connect只对一个客户端的连接起作用,One Connect和应用协议,注意! One Connect Profile不是必须和HTTP Profile 共用,也可以用于其他应用协议。 用于其他应用协议的时候

23、必须使用iRules编程 来调用One Connect 在需要对长连接进行拆分处理的时候,也需要用 One Connect Profile,NAT的工作模式,0,NAT Address: 0,NAT和SNAT,SNAT全称:Secure Network Address Translation,SNAT的工作模式,0,,,,SNAT Address: 0,NAT和SNAT之间的差别,NAT 1比1 接收所有发往NAT地址的连接 所有的连

24、接只是通过LTM的连接表管理,但是是无状态的,连接不会被Timeout 连接不能被镜像,SNAT 多对一或者多对多 拒绝所有发往SNAT地址的连接请求. 连接通过LTM的连接表管理,有timeout设置 连接可以被镜像,SNAT AutoMap,当配置SNAT AutoMap的时候,请求从那个VLAN 发出去,则SNAT的源地址为VLAN上的SelfIP 当一个VLAN上有多个SelfIP存在的时候,SNAT 的源地址是在多个SelfIP之间轮询,SNAT Pool的工作模式,SNATPool是提供了一个可用于SNAT源地址的列表 BIGIP采用最小连接数的方式在SNAT的源地址之间进行选择,

25、通过iRules控制SNAT,when CLIENT_ACCEPTED set snat_addr when HTTP_REQUEST set snat_addr HTTP:header X-Forwarded-For log X-Fowarded-For is HTTP:header X-Forwarded-For when LB_SELECTED snat $snat_addr ,HTTPS,SSL Offload 替换源地址,Server 端需要在TCP连接里面获取客户端源地址,SNAT的源地址会话保持,when RULE_INIT #log local5.warning

26、 -$cnc_snatpool set snat_length llength $cnc_snatpool log local5.warning -snat pool length is $snat_length when LB_SELECTED #set client_addr 3 set client_ip IP:client_addr set client_last getfield $client_ip . 4 #log local5.warning -client last is $client_last set snat_addr lindex $cnc_snatp

27、ool expr $client_last%$snat_length #log local5.warning -client snat addr $snat_addr snat $snat_addr ,Timeout定义和镜像,SNAT可以在两台设备之间镜像 SNAT对于TCP idle Timeout 和UDP idle Timeout可以有独立的设置,Monitor如何向外发送请求,所有的Monitor请求都是由bigd进程发起 Monitor流量要穿过TMM发送到Server或者其他位置 在b conn中可以看到Monitor的流量,TMM,bigd,Monitor工作原理,重要的Mon

28、itor-TCP,Send String: 发送的请求字符串,支持C语言 的转义符 Receive String:在返回的内容中查询的字符串 Transparent:数据包内的三层发送目的地是 Alias Address,二层的发送目的地是 Node Address的MAC地址,重要的Monitor-External Monitor,MEMBER=$1; PORT=$2; HOST_2_RESOLV=$3; $# -ne 3 & exit 255 PIDFILE=/var/run/pinger.$MEMBER.eav.$PORT.pid if -f $PIDFILE then kill -9

29、cat $PIDFILE /dev/null 2&1 fi echo $ $PIDFILE MEMBER=echo $1 | sed s/:ffff:/ 2/dev/null log_info() echo $* | logger -p # # stock syslog-ng destinations - # - /var/log/ltm # - /var/log/ltm # - /var/log/messages # - /var/log/messages # this is fo

30、r debug only! do not call log_info below unless # you want to see your syntax and the shell evaluation of # variables (variable exansion) ,HA工作模式-Active/Active,每个VS对外提供不同的服务 服务器必须分组,分别指不同的网关 在使用SNAT的情况下不需要服务器指不同的网关(建议模式),VS 1,VS 2,HA工作原理,串口心跳线的工作模式,没有数据在串口心跳线之间传输 两台设备是通过监控Failover 线上的电压来决定是否切 换,备机一旦

31、检测到主机电压为0则进行接管动作 切换时间在200-300毫秒之间 SOD(Switch Over Deamon)进程负责监控Failover线上 的电压,网络心跳线的工作模式,两台设备之间通过网络互相发送心跳信号 Network Failover 可以设置2条路径 Network Failover和串口心跳线Failover可以同时使用 在10.0里的Network Failover有巨大的变化,静态负载均衡算法 轮询,比率,优先权 动态负载均衡算法 最少连接数,最快响应速度,观察方法,预测法,动态性能分配,动态服务器补充,服务质量,服务类型,规则模式,F5负载均衡算法,轮询(Round R

32、obin):顺序循环将请求一次顺序循环地连接每个服务器。 当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从顺序循环队列 中拿出,不参加下一次的轮询,直到其恢复正常。,比率(Ratio):给每个服务器分配一个加权值为比例,根椐这个比例,把用户的请求分配到每个服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配, 直到其恢复正常。,优先权(Priority):给所有服务器分组,给每个组定义优先权,BIG-IP 用户 的请求,分配给优先级最高的服务器组(在同一组内,采用轮询或比率算法, 分配用户的请求);当最高优先级中

33、所有服务器出现故障,BIG-IP 才将请求 送给次优先级的服务器组。这种方式,实际为用户提供一种热备份的方式。,最少的连接方式(Least Connection):传递新的连接给那些进行最少连接处理的服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配, 直到其恢复正常。,最快模式(Fastest):传递连接给那些响应最快的服务器。当其中某个服 务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加 下一次的用户请求的分配,直到其恢复正常。,观察模式(Observed):连接数目和响应时间以这两项的最佳平衡

34、为依据 为新的请求选择服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复 正常。,预测模式(Predictive):BIG-IP利用收集到的服务器当前的性能指标, 进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的 服务器响应用户的请求。(被BIG-IP 进行检测),动态性能分配(Dynamic Ratio-APM):BIG-IP 收集到的应用 程序和应用服务器的各项性能参数,动态调整流量分配。 动态服务器补充(Dynamic Server Act.):当主服务器群中因 故障导致数量减少时,动态地将备

35、份服务器补充至主服务 器群。 服务质量(QoS):按不同的优先级对数据流进行分配。 服务类型(ToS): 按不同的服务类型(在Type of Field中标识) 对数据流进行分配。 规则模式:针对不同的数据流设置导向规则,用户可自行。,常用到的一般是最少连接数、最快反应、或者轮询,决定选用那种算法, 主要还是要结合实际的需求,F5会话保持,F5 BigIP支持多种的会话保持方法,其中包括:简单会话保持(源地址会 话保持)、HTTP Header的会话保持,基于SSL Session ID的会话保持, I-Rules会话保持以及基于 HTTP Cookie的会话保持,此外还有基于SIP ID 以

36、及Cache设备的会话保持等,但常用的是简单会话保持,HTTP Header 的会话保持以及 HTTP Cookie会话保持以及基于I-Rules的会话保持。,简单会话保持 简单会话保持又称为基于源地址的会话保持,是指负载均衡器在作负载均衡时是根据访问请求的源地址作为判断关连会话的依据。对来自同一IP地址的所有访问请求都会被保持到一台服务器上去。 简单会话保持一个很重要的参数就是连接超时值,BIGIP会为每一个进行会话保持的会话设定一个时间值,两次会话之前的间隔如果小于这个超时值,BIGIP将会将新的连接进行会话保持,但如果这个间隔大于该超时值,BIGIP会将新来的连接认为是新的会话然后进行负

37、载平衡。 基于原地址的会话保持实现简单,效率较高。但是多个用户通过代理或地址转换的方式来访问服务器时,会导致服务器之间的负载严重失衡。 另外当客户机数量很少,但每个客户机都产生多个并发访问,这时用这种方法也会导致负载均衡失效。,基于Cookie的会话保持,Cookie插入模式 在Cookie插入模式下,BigIP将负责插入cookie,后端服务器无需作出任何修改。 当客户进行第一次请求时,客户HTTP请求(不带cookie)进入BIGIP, BIGIP根据负载平衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复(不带cookie)被发回BIGIP,然后BIGIP插

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

39、器,后端服务器进行HTTP回复一个空白的cookie并发回BIGIP,然后BIGIP重新在cookie里写入会话保持数值,将HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次BIGIP重写的 cookie)进入BIGIP,然后BIGIP读出cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然后后端服务器进行请求回复,HTTP回复里又将带有空的cookie,恢复流量再次经过进入BIGIP时,BIGIP再次写入更新后会话保持数值到该 cookie。,Passive Cookie 模式 服务器使用特定信息来设置cookie。当客户进

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

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

42、后端服务器进行请求回复,HTTP回复里又将带有更新后的cookie,恢复流量再次经过进入BIGIP时,BIGIP将带有该 cookie的请求回复给客户端。,SSL Session ID会话保持 在用户的SSL访问系统的环境里,当SSL对话首次建立时,用户与服务器进行首次信息交换以:1交换安全证书,2)商议加密和压缩方法,3)为每条对话建立Session ID。由于该Session ID在系统中是一个唯一数值,由此,BIGIP可以应用该数值来进行会话保持。当用户想与该服务器再次建立连接时,BIGIP可以通过会话中的 SSL Session ID识别该用户并进行会话保持。 基于SSL Sessio

43、n ID的会话保持就需要客户浏览器在进行会话的过程中始终保持其SSLSession ID不变,但实际上,微软Internet Explorer被发现在经过特定一段时间后将主动改变SSL Session ID,这就使基于SSL Session ID的会话保持实际应用范围大大缩小。,基于HTT Header的会话保持BIGIP可以根据用户HTTP访问里http包头信息信息进行会话保持,HTTP包头里包含以下信息,BIGIP可以将用户访问里这些信息通过表达式来获得相应的数值从而进行会话保持。 Accept:浏览器可接受的MIME类型。Accept-Charset:浏览器可接受的字符集。Accept-

44、Encoding:浏览器能够进行解码的数据编码方式,比如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。 Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。 Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中。 Connection:表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当

45、页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点,Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小。,Content-Length:表示请求消息正文的长度。 Cookie:这是最重要的请求头信息之一,参见后面Cookie处理一章中的讨论。 From:请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它。 Host:初始URL中的主机和端口。 If-Modified-Since:只有当所请求的内容在指定的日期

46、之后又经过修改才返回它,否则返回304“Not Modified”应答。 Pragma:指定“no-cache”值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝。 Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。User-Agent:浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用。,基于I-Rules的会话保持 BIGIP交换机内置有强大的搜索引擎,可以高效的探测到 网络流量中的IP包内容的部分,并可以读出该IP包内容部 分进行会话保持这些内容部分包括如下部分:,下面是一个BIGIP根据IRULES进行会

47、话保持的范例:if (http_uri ends_with “.gif”) use pool image_serverselse if (http_uri starts_with “/foo”) use pool foo_serverselse if (http_cookie(“XYZ-Type”) = “direct”) use pool cookie_serverselse if (findstr(http_uri, “?type=”, 6, “&”) = “cgi”) use pool cgi_serverselse use pool web_servers在此I-Rules里,可以看到

48、,如果用户的uri部分以.gif字段结尾,也就是说如果用户访问的是图片服务器,则将用户的访问会话保持在图片服务器上;而如果用户的uri部分以/foo开始,则将会话保持到相应的服务器上。同样,根据用户访问中的cookie字段以及uri里面的某个特定字段里是否与规定的类型相符,从而进行相应的会话保持。,LTM组网架构,单臂接入模式 双臂接入模式 远程节点模式 加入独立SSL/WA/ASM设备 防火墙负载均衡 多链路接入 灾备站点静态路由注入,LTM单臂接入模式 单臂模式下的网络物理结构,服务器,服务器,LTM,LTM,外部 外部网络 核心三层交换 Vlan 1,串口心跳线,核心三层交换,服务器,服

49、务器,LTM,0,1,GW:54 GW:54,VS: :80,SelfIP: 53 GW:54,54,54,SIP,Sport,DIP,Dport, , 6787 53 8888, 1,80 80,1,80,53 8888,,80,192.168.

50、0.1,6787,单臂接入-源地址替换模式数据访问流程 Client,源地址替换后的处理,服务器,服务器,LTM,,0,1,GW:54 GW:54,VS: :80,SelfIP: 53 GW:54,54,54 核心三层交换,HTTP Profile,when HTTP_REQUEST HTTP:header insert Client_IP= IP:cl

51、ient_addr,Client iRules,只有HTTP协议的时候,可以通过将源地址插入到 客户端请求的HTTP Header里,然后在服务器上,通过读取这个Header,获得客户端的真实源IP地 址,单臂接入-npath模式数据访问流程,Client,,服务器 0 Lo:,服务器 1 Lo:,GW:54 GW:54,LTM VS: :80 SelfIP: 53,GW:54

52、,54 核心三层交换 54 ,SIP,Sport,DIP,Dport, 6787 6787 ,80 80, ,80, 6787,npath模式的关键在于服务器上配置的loopback 地址 在上能找到各种服务器的 loopback地址如何配置的文档,单臂接入-服务器非直连模式(无源地址替换),核心三层交换,LTM, Client,服务器 0,GW:5

53、4 GW:54,VS: :80,SelfIP: 53,GW:54,54,54, 服务器 1,SIP,Sport,DIP,Dport, , 1 ,6787 6787 80 80, 1 ,80 80 6787 6787,54,客户端,服务器,LTM

54、,0,GW:54,1,GW:54,VS: :80,IP: 53 GW:54,同网段访问处理-必须通过SNAT实现 54 核心三层交换,SIP,Sport,DIP,Dport,0,6787,,80,53 8888,1,80,1,80,53 8888,,80,192.168

55、.0.1,6787,服务器,服务器,LTM,单臂接入-服务器更改网关数据访问流程 Client,0,1,GW:53 GW:53,VS: :80,SelfIP: 53 GW:54,54,54 核心三层交换,SIP ,Sport 6787,DIP ,Dport 80, , 1 192.168.

56、1.1,6787 80 80,1 ,80 6787 6787,Client,服务器更改网关后的直接访问服务器问题 ,服务器 0,GW:53 GW:53,LTM VS: :80,IP: 53 GW:54,SYN 54,核心三层交换 54 SYN,服务器 SYN-ACK 1, ,SIP 19

57、1,Sport 6787 80,DIP 1 ,Dport 80 6787,FastL4 Profile,双臂接入模式,双臂接入-服务器直连 Client,服务器 0,服务器 1,VS: ,EXTIP: 53/VLAN EXT INTIP:54/VLAN INT GW:54,54,54 核心三层交换,SIP,Sport,DIP,Dport, , 1 ,6787 6787 80 80, 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论