收藏 分销(赏)

F5LTM工作原理ppt.ppt

上传人:天**** 文档编号:2293343 上传时间:2024-05-25 格式:PPT 页数:66 大小:1,009KB
下载 相关 举报
F5LTM工作原理ppt.ppt_第1页
第1页 / 共66页
F5LTM工作原理ppt.ppt_第2页
第2页 / 共66页
F5LTM工作原理ppt.ppt_第3页
第3页 / 共66页
F5LTM工作原理ppt.ppt_第4页
第4页 / 共66页
F5LTM工作原理ppt.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、F5 LTM工作原理工作原理杨明非F5北方区技术经理LTMLTM基础架构基础架构VS TypeVS Type详解详解ProfileProfile详解详解CMP CMP 工作原理工作原理One ConnectOne Connect工作原理工作原理NATNAT、SNATSNAT工作原理工作原理MonitorMonitor工作原理工作原理HAHA工作原理工作原理AgendaAgendaLTM基础架构基础架构3什么是什么是TMMTraffic Management ModuleTMOS的核心进程,有自己独立的内存、CPU资源分配和I/O控制所有的生产流量都通过TMM接收一个CPU Core只能有一个T

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

3、处理(包括GTM rules)Named域名解析健康检查日志管理系统数据统计SNMP数据输出HA健康检查BIGIP 内部内部结结构构-V9平台平台15/34/64/686TM/OS管理CPU万兆/千兆交换端口PVA四层交换专用ASICHost OSWeb 界面管理健康检查SNMP.BridgeTMM0独立的管理机SCCPSSL加解密HTTP压缩AdminConsoleBIGIP 内部内部结结构构-Mecury平台平台16/36/69/897TM/OS管理CPU万兆/千兆交换端口HiSpeed BridgeTMM2Host OSWeb 界面管理健康检查SNMP.TMM3TMM1TMM0独立的管理

4、机AOMCluster Muti Processor多CPU并行处理SSL加解密HTTP压缩ConsoleAdminHost和和TMM的内存分配的内存分配Host在启动的时候限定了内存分配的大小,在没有其他module的情况下是384MBTMM进程启动后,将自动获取余下的所有物理内存8Host MemoryTMM Memory查看查看Host内存占用情况内存占用情况#physmem /查看物理内存大小 8387584b memory show/查看内存分配情况MEMORY STATISTICS-|(Host)Total=3.835GB Used=3.590GB|(TMM)Total=5.976

5、GB Used=93.22MB9查看查看TMM内存占用情况内存占用情况TMM分配的内存是准确的,Host内存显示在这里有一些偏差10BIGIP 的重要进程的重要进程bigstart status/查看F5进程状态top/查看Host进程状态top bcn 1/显示Host的所有进程 11TomCat4TMMTMMMCPDbigdbig3d业务数据处理本地健康检查GTM/Mpack通讯配置管理界面Tamd外部认证bcm56xxd交换芯片管理Module工作模式工作模式-GTM所有的请求接收和响应都通过TMM进行gtmd负责动态策略解析,并将不在策略制定内的请求转发给namedgtmd的所有状态来

6、源均由big3d汇报gtmd不会直接与bigd通讯,而是从big3d去获得信息12TMM客户端请求gtmdnamedbigdbig3dmcpdListener接收请求动态策略解析静态策略解析RTT探测iQuery信息收集和发送本地健康检查Module工作模式工作模式-WAPVAC是WA Module处理的主进程,与TMM之间采用Plugin模式通讯PVAC可以以多线程方式运行所有的流量由TMM发送到pvac,pvac处理完成之后返回给TMM,再通过负载均衡策略转发到服务器13TMM客户端请求pvacWeb/应用服务器Web/应用服务器Web/应用服务器pvacModule工作模式工作模式-AS

7、M14asm是ASM处理的主进程,与TMM之间采用Plugin模式通讯asm可以以多线程方式运行所有的流量由TMM发送到asm,asm处理完成之后返回给TMM,再通过负载均衡策略转发到服务器14TMM客户端请求asmWeb/应用服务器Web/应用服务器Web/应用服务器asmModule工作模式工作模式-SAMTMM接收所有流量请求SSL VPN通道建立处理在TMM内部完成APD(Application Policy Daemon)负责策略执行,用户认证等,不处理具体的业务流量15TMM客户端请求APDWeb/应用服务器Web/应用服务器Web/应用服务器VS Type 详解详解16VS Ty

8、pe详解详解Performance L4Standard VSFast HTTPFowarding VS17Performance L4TMM只是负责客户端连接的分配和转发,不改变TCP连接中的任何参数客户端和服务器自行协商TCP传输参数在34/64/68平台上Performance L4可以有PVA加入实现硬件加速在15/16/36/69/89/Viprion平台上都通过TMM核心进行处理Performance L4 VS上只有4层的iRules可以使用默认状态下,新建连接的第一个包必须是Syn包,如果是其他的数据包比如ACK、RST等如果不在连接表中,则全部丢弃。在Fast L4 prof

9、ile打开Loose close和Loose Initial的时候对非Syn包也可以建立连接表18TMM客户端客户端客户端服务器端服务器端服务器端Performance L4 攻击防护攻击防护-Syn Cookie正常情况下客户端连接和服务器端连接是1:1的关系TMM在第一次收到客户端Syn包时,并不建立连接表TMM的Syn Ack回应通过算法回应给客户端Syn,并期待客户端回应的值TMM对客户端ACK进行计算,确认是真实客户端,再和后台服务器建立连接在84/88上可以实现硬件的Syn Cookie计算,其余的平台都是通过软件实现SynCookie计算Syn Cookie工作模式下,只有成功建

10、立连接的TCP请求才转发到后台19TMMSynSyn,Ack(syncookie)Ack(Cookie)SynSyn-AckAckDataStandard VS正常情况下客户端连接和服务器端连接是1:1的关系默认工作在全代理模式,客户端和服务器端的TCP连接完全独立客户端和服务器端的TCP参数都是由TMM和双方分别协商默认情况下以客户端源IP和后台建立连接,在打开SNAT的情况下用SNAT地址和后台建立连接Standard VS的端口永远对外开放,无论后台是否有服务器在工作20TMMSynSyn,AckAckSynSyn-AckAckDataDataStandard 模式下的攻击防护模式下的攻

11、击防护Standard VS模式具有天然的防攻击功能在遇到Syn攻击的时候会导致系统的连接表过大通过System-SYN Check Activation Threshold的设置,在达到设置值的时候系统自动启动Syn Cookie,避免建立过多连接,这个值对全局生效大部分的网络层攻击都无法通过Standard模式的VS21Fast HTTPFast HTTP VS仅用于HTTP协议默认开启One Connect Profile,对客户端连接进行聚合处理默认开启SNAT AutoMap,在服务器端收到的TCP连接请求都是来自于TMM没有会话保持功能不能处理SSL,HTTPS22TMM客户端客户

12、端客户端服务器端服务器端服务器端Fowarding VS(Forwarding IP)只能使用Fast L4 Profile按照连接处理,类似于路由器工作,但不完全一样,在Fast L4 Profile中开启Loose Initial和Loose Close之后更为接近路由工作模式所有穿过Fowarding VS的连接都将产生连接表没有Pool Member,转发完全取决于本地路由可以使用基于4层的Rules23TMM客户端查询本地路由表转发客户端请求VS和和ProfileVS作为所有流量的入口Profile依赖于VS,对进入VS的流量进行格式化处理不同的VS可以用同一个Profile或者不同

13、的ProfileProfile之间存在有相互排斥和相互依存的关系24VSTCP ProfileUDP ProfileFastL4 ProfileHTTPRTSPClient SSLServer SSLStreamingSMTPSIPOne ConnectVS和和RulesRules的处理必须依赖于VS对流量的接收通过事件触发机制,Rules可以控制流量在VS内部处理的整个过程25SSLCompressionClientSideServerSideTCP ExpressServerTCP ExpressCachingMicrokernelVirtual ServeriRulesClientiCo

14、ntrol APITCP ProxyOneConnectXMLRate ShapingTrafficShieldWeb Accel3rd PartyVS和和Rules26ServeriRulesClientSideServerSideTCP ProxyClient Side EventClient_acceptClient_dataCache_requestDNS_requestHTTP_REQUESTHTTP_REQUEST_DATARTSP_REQUEST.Server Side EventServer_connectServer_dataCache_responseDNS_respons

15、eHTTP_RESPONSEHTTP_RESPONSE_DATARTSP_RESPONSE.VS和和Rules大部分rules只在同一个VS之内有效Rules内创建的变量以连接为生命周期一个VS上可以有多个Rules,它们将被顺序执行27CLIENT_ACCPTEDCLIENT_DATALB_SELECTEDLB_FAILEDSERVER_ACCPTEDSERVER_DATACLIENT_CLOSEDSERVER_CLOSEDRULE_INITVSProfile详解详解28Profile的作用和工作范围的作用和工作范围Profile依赖于VSProfile是对VS的流量进行格式化处理举例如果一

16、个VS上配置了TCP Profile,则该VS对所有的UDP流量都不会接收29Profile的作用和工作范围的作用和工作范围基本流量处理类型ProfileTCP,UDP,FastHTTP,Fast L4,SCTP服务流量处理类型ProfileHTTP,FTP,SMTP,RTSP,SIP,iSessionSSL处理类型Client SSL,Server SSL会话保持类型Cookie,Destination IP,hash,msrdp,source IP,Universal,SSL认证处理类型Radius,CRLDP,OCSP其他处理类型One Connect,Statistics,NTLM,S

17、tream30重要的重要的Profile-FastL4Reset on Timeout:在连接达到Time out的是否向两端发送Reset包Idel Timeout:多长时间连接里面没有数据流量的时候就删除连接表Loose Initiation/Loose Close:是否接收非Syn包建立连接Softare Syn Cookie Protection:是否在VS上启用Syn Cookie,实现Syn攻击防护31可能调整的参数重要的重要的Profile-TCP注意在Client Side和Server Side可以使用不同的TCP Profile通常情况下建议:Client side:TCP

18、 WAN Optimized或LAN OptimizedServer side:TCP LAN Optimized除非你非常了解TCP的工作原理,否则不要调整除idel Timeout以外的任何参数32重要的重要的Profile-Client SSL对所有进入VS的流量按照SSL协议进行处理注意Client SSL profile不一定只能使用在HTTPS上使用Client SSL的VS不一定使用443端口33TMM客户端客户端客户端服务器端服务器端服务器端SSLSSLSSL重要的重要的Profile-FTPFTP的连接模式有两种,PORT(主动模式)和PASV(被动模式),主动模式的连接过程

19、是:客户端动态的选择一个端口(这个端口号一定是1024以上的,因为1024以前的端口都已经预先被定义好)向服务器端的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一个命令连接。当需要传送数据时或者列出服务器的文件列表时(通常使用ls或dir命令),客户端通过命令连接告诉服务器(使用PORT命令):“我已经打开了XX端口,请你过来连接”。于是服务器使用20端口向客户端的XX端口发送连接请求,建立一条数据连接来传送数据。被动模式:客户端首先使用与主动连接模式相同的方法与服务器建立命令连接。当需要传送数据时,客户端通过命令连接告诉服务器(使用PASV命令)“我要连接你的XX端口,请问是否

20、空闲”,如果恰好该端口空闲,服务器会告诉客户端:“你请求的端口空闲,可以建立连接(ACK确认信息)”,否则服务器会说“该端口已经占用,请换个端口(UNACK信息)”。如果客户端得到的是空闲的提示,就会利用该端口建立连接,否则就换个端口重新尝试,这也就是所谓的连接建立的协商过程.PORT模式建立数据传输通道是由服务器端发起的,服务器使用20端口连接客户端的某一个大于1024的端口;在PASV模式中,数据传输的通道的建立是由FTP客户端发起的,他使用一个大于1024的端口连接服务器的1024以上的某一个端口。如果从C/S模型这个角度来说,PORT对于服务器来说是OUTBOUND,而PASV模式对于

21、服务器是INBOUND.34FTP Profile主要用于处理FTP的主动和被动传输两种模式由于需要配置动态侦听端口,因此FTP协议必须进行单独处理通过iRules也可以达到同样的目的,但由于FTP协议使用非常广泛,因此使用FTP profile来简化配置和处理FTP Profile必须依赖于TCP profile工作CMP工作原理工作原理35为什么要用为什么要用CMP性能增长要求CPU的主频增加受到比较大的限制,目前的趋势是以多核扩展为主ASIC、NP的处理架构并不适合于复杂、灵活的流量处理对于不规范的流量,采用硬件加速将导致系统设计僵化,很难加入新的功能实现市场需求需要充分利用CPU的多核

22、处理能力来提升系统的整体性能36CMP的硬件支持的硬件支持37CMP工作模式工作模式流量由HSB进行分配在多个TMM上,每个TMM占据一个CPU Core,每个TMM有自己独立的内存空间每个TMM都具有相同的配置,包括VS/Profile/iRules/Pool/Persistence等TMM之间通过内存高速总线进行通讯共享通用信息如会话保持表,SNAT源端口等当CMP被Disable的时候,TMM0接管所有的流量64/68的硬件平台已经支持CMP,在10.0上自动开启38VIPTMM0VIPTMM1VIPTMM2VIPTMM3HSBHSBSuper VIP如何查看如何查看CMP工作状态工作状

23、态b tmm show可以观察每个TMM的状态39关于关于CMP必须了解的内容必须了解的内容V9平台启动WA和ASM将Disable CMPiRules中定义全局变量将Disable CMP所有的非TCP/UDP流量都只使用TMM0进行处理V9中使用Session add,Session Lookup命令将Disable CMPConnection Limit和Rate Shaping的配置是针对每个TMM生效手工关闭CMP运行b db Provision.tmmCount 1调整后必须重启任何一个TMM Crash,将导致设备间FailoverTCPdump已经调整为可支持CMP40查看查看

24、Virtual Server的的CMP工作状态工作状态41如何查看如何查看TMM CPU占用率占用率top命令可以显示每颗CPU的占用率和V9相比,TMM的CPU在Top命令中的显示发生了变化每颗CPU的CPU占用率目前在图形界面里都消失了,目前只有整体的CPU占用率42One Connect工作原理工作原理43连接聚合和内容交接聚合和内容交换44index.htma.gifb.gifc.aspsales.htmd.gife.giff.aspsales.htmd.gife.gifindex.htma.gifb.gifc.aspServerf.aspindex.htma.gifb.gifc.as

25、psales.htmd.gife.giff.aspsales.htmd.gife.gifindex.htma.gifb.gifc.aspServerf.aspindex.htma.gifb.gifc.aspindex.htma.gifb.gifc.aspHTML server poolGIF server poolASP server pool连接聚合内容交换One Connect工作原理工作原理45One Connect的典型工作场景的典型工作场景实现连接聚合降低服务器的连接总数需要对每一个请求都进行单独处理(注意在多数情况下,LTM只对一个连接的第一个包进行处理)典型的,打开Cookie会

26、话保持有时候会出现保持不正确的情况,这时就需要打开One Connect通过设置Mask=255.255.255.255,可以使后台服务器可以“看到”客户端源IP,但这个时候One-connect只对一个客户端的连接起作用46One Connect和应用协议和应用协议注意!One Connect Profile不是必须和HTTP Profile共用,也可以用于其他应用协议。用于其他应用协议的时候必须使用iRules编程来调用One Connect在需要对长连接进行拆分处理的时候,也需要用One Connect Profile47NAT和和SNAT48SNAT的全称的全称49SecureNetw

27、orkAddressTranslationSNAT=NAT的工作模式的工作模式50206.142.12.10NAT Address:197.12.100.50SNAT的工作模式的工作模式51206.142.12.10172.16.12.1172.16.12.7172.16.12.8SNAT Address:197.12.100.50NAT和和SNAT之之间的差的差别52NAT1比1接收所有发往NAT地址的连接所有的连接只是通过LTM的连接表管理,但是是无状态的,连接不会被Timeout连接不能被镜像SNAT多对一或者多对多拒绝所有发往SNAT地址的连接请求.连接通过LTM的连接表管理,有tim

28、eout设置连接可以被镜像SNAT AutoMap当配置SNAT AutoMap的时候,请求从那个VLAN发出去,则SNAT的源地址为VLAN上的SelfIP当一个VLAN上有多个SelfIP存在的时候,SNAT的源地址是在多个SelfIP之间轮询53SNAT Pool的工作模式的工作模式SNATPool是提供了一个可用于SNAT源地址的列表BIGIP采用最小连接数的方式在SNAT的源地址之间进行选择54通过通过iRules控制控制SNATwhen CLIENT_ACCEPTED set snat_addr 1.1.1.1when HTTP_REQUEST set snat_addr HTTP

29、:header X-Forwarded-For log X-Fowarded-For is HTTP:header X-Forwarded-Forwhen LB_SELECTED snat$snat_addr55HTTPSSSL Offload替换源地址Server 端需要在TCP连接里面获取客户端源地址SNAT的源地址会话保持的源地址会话保持when RULE_INIT#log local5.warning-$cnc_snatpoolset snat_length llength$cnc_snatpoollog local5.warning-snat pool length is$snat_

30、lengthwhen LB_SELECTED#set client_addr 10.1.1.33set client_ip IP:client_addrset client_last getfield$client_ip.4#log local5.warning-client last is$client_last set snat_addr lindex$cnc_snatpool expr$client_last%$snat_length#log local5.warning-client snat addr$snat_addrsnat$snat_addr56Timeout定义和镜像定义和镜

31、像SNAT可以在两台设备之间镜像SNAT对于TCP idle Timeout 和UDP idle Timeout可以有独立的设置57Monitor工作原理工作原理58Monitor如何向外发送请求如何向外发送请求所有的Monitor请求都是由bigd进程发起Monitor流量要穿过TMM发送到Server或者其他位置在b conn中可以看到Monitor的流量59TMMbigd重要的重要的Monitor-TCPSend String:发送的请求字符串,支持C语言的转义符Receive String:在返回的内容中查询的字符串Transparent:数据包内的三层发送目的地是Alias Addr

32、ess,二层的发送目的地是Node Address的MAC地址60重要的重要的Monitor-External MonitorMEMBER=$1;PORT=$2;HOST_2_RESOLV=$3;$#-ne 3&exit 255PIDFILE=/var/run/pinger.$MEMBER.eav.$PORT.pidif -f$PIDFILE then kill-9 cat$PIDFILE /dev/null 2&1fiecho$PIDFILEMEMBER=echo$1|sed s/:ffff:/2/dev/nulllog_info()echo$*|logger-p local0.info#s

33、tock syslog-ng destinations-#local0.info-/var/log/ltm#local4.info-/var/log/ltm#local1.info-/var/log/messages#local3.info-/var/log/messages#this is for debug only!do not call log_info below unless#you want to see your syntax and the shell evaluation of#variables(variable exansion)61HA工作原理工作原理62HA工作模式

34、工作模式-Active/Active每个VS对外提供不同的服务服务器必须分组,分别指不同的网关在使用SNAT的情况下不需要服务器指不同的网关(建议模式)63VS 1VS 2串口心跳线的工作模式串口心跳线的工作模式没有数据在串口心跳线之间传输两台设备是通过监控Failover 线上的电压来决定是否切换,备机一旦检测到主机电压为0则进行接管动作切换时间在200-300毫秒之间SOD(Switch Over Deamon)进程负责监控Failover线上的电压64网络心跳线的工作模式网络心跳线的工作模式两台设备之间通过网络互相发送心跳信号Network Failover 可以设置2条路径Network Failover和串口心跳线Failover可以同时使用在10.0里的Network Failover有巨大的变化65

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服