F5 LTM工作原理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

F5LTM工作原理杨明非F5北方区技术经理©F5Networks•LTM基础架构•VSType详解•Profile详解•CMP工作原理•OneConnect工作原理•NAT、SNAT工作原理•Monitor工作原理•HA工作原理Agenda©F5NetworksLTM基础架构3©F5Networks什么是TMM•TrafficManagementModule•TMOS的核心进程,有自己独立的内存、CPU资源分配和I/O控制•所有的生产流量都通过TMM接收•一个CPUCore只能有一个TMM进程•在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运行4©F5NetworksTMM处理的范围5TMM内部处理功能所有的VS入口流量LTMiRiules处理Profile处理会话保持处理负载均衡算法SSL加速(和硬件结合)HTTP压缩SNAT静态CRL文件校验不在TMM里面处理的功能WebAcceleratorModule(包括压缩)ApplicationSecurityModuleGTM的分配算法处理(包括GTMrules)Named域名解析健康检查日志管理系统数据统计SNMP数据输出HA健康检查©F5NetworksBIGIP内部结构-V9平台15/34/64/686TM/OS管理CPU万兆/千兆交换端口PVA四层交换专用ASICHostOSWeb界面管理健康检查SNMP……..BridgeTMM0独立的管理机SCCPSSL加解密HTTP压缩AdminConsole©F5NetworksBIGIP内部结构-Mecury平台16/36/69/897TM/OS管理CPU万兆/千兆交换端口HiSpeedBridgeTMM2HostOSWeb界面管理健康检查SNMP……..TMM3TMM1TMM0独立的管理机AOMClusterMutiProcessor多CPU并行处理SSL加解密HTTP压缩ConsoleAdmin©F5NetworksHost和TMM的内存分配•Host在启动的时候限定了内存分配的大小,在没有其他module的情况下是384MB•TMM进程启动后,将自动获取余下的所有物理内存8HostMemoryTMMMemory©F5Networks查看Host内存占用情况•#physmem/查看物理内存大小8387584•bmemoryshow/查看内存分配情况MEMORYSTATISTICS--|(Host)Total=3.835GBUsed=3.590GB|(TMM)Total=5.976GBUsed=93.22MB9©F5Networks查看TMM内存占用情况•TMM分配的内存是准确的,Host内存显示在这里有一些偏差10©F5NetworksBIGIP的重要进程•bigstartstatus/查看F5进程状态•top/查看Host进程状态•top–bcn1/显示Host的所有进程11TomCat4TMMTMMMCPDbigdbig3d业务数据处理本地健康检查GTM/Mpack通讯配置管理界面Tamd外部认证bcm56xxd交换芯片管理©F5NetworksModule工作模式-GTM•所有的请求接收和响应都通过TMM进行•gtmd负责动态策略解析,并将不在策略制定内的请求转发给named•gtmd的所有状态来源均由big3d汇报•gtmd不会直接与bigd通讯,而是从big3d去获得信息12TMM客户端请求gtmdnamedbigdbig3dmcpdListener接收请求动态策略解析静态策略解析RTT探测iQuery信息收集和发送本地健康检查©F5NetworksModule工作模式-WA•PVAC是WAModule处理的主进程,与TMM之间采用Plugin模式通讯•PVAC可以以多线程方式运行•所有的流量由TMM发送到pvac,pvac处理完成之后返回给TMM,再通过负载均衡策略转发到服务器13TMM客户端请求pvacWeb/应用服务器Web/应用服务器Web/应用服务器pvac©F5NetworksModule工作模式-ASM14•asm是ASM处理的主进程,与TMM之间采用Plugin模式通讯•asm可以以多线程方式运行•所有的流量由TMM发送到asm,asm处理完成之后返回给TMM,再通过负载均衡策略转发到服务器14TMM客户端请求asmWeb/应用服务器Web/应用服务器Web/应用服务器asm©F5NetworksModule工作模式-SAM•TMM接收所有流量请求•SSLVPN通道建立处理在TMM内部完成•APD(ApplicationPolicyDaemon)负责策略执行,用户认证等,不处理具体的业务流量15TMM客户端请求APDWeb/应用服务器Web/应用服务器Web/应用服务器©F5NetworksVSType详解16©F5NetworksVSType详解•PerformanceL4•StandardVS•FastHTTP•FowardingVS17©F5NetworksPerformanceL4•TMM只是负责客户端连接的分配和转发,不改变TCP连接中的任何参数•客户端和服务器自行协商TCP传输参数•在34/64/68平台上PerformanceL4可以有PVA加入实现硬件加速•在15/16/36/69/89/Viprion平台上都通过TMM核心进行处理•PerformanceL4VS上只有4层的iRules可以使用•默认状态下,新建连接的第一个包必须是Syn包,如果是其他的数据包比如ACK、RST等如果不在连接表中,则全部丢弃。•在FastL4profile打开Looseclose和LooseInitial的时候对非Syn包也可以建立连接表18TMM客户端客户端客户端服务器端服务器端服务器端©F5NetworksPerformanceL4攻击防护-SynCookie•正常情况下客户端连接和服务器端连接是1:1的关系•TMM在第一次收到客户端Syn包时,并不建立连接表•TMM的SynAck回应通过算法回应给客户端Syn,并期待客户端回应的值•TMM对客户端ACK进行计算,确认是真实客户端,再和后台服务器建立连接•在84/88上可以实现硬件的SynCookie计算,其余的平台都是通过软件实现SynCookie计算•SynCookie工作模式下,只有成功建立连接的TCP请求才转发到后台19TMMSynSyn,Ack(syncookie)Ack(Cookie)SynSyn-AckAckData©F5NetworksStandardVS•正常情况下客户端连接和服务器端连接是1:1的关系•默认工作在全代理模式,客户端和服务器端的TCP连接完全独立•客户端和服务器端的TCP参数都是由TMM和双方分别协商•默认情况下以客户端源IP和后台建立连接,在打开SNAT的情况下用SNAT地址和后台建立连接•StandardVS的端口永远对外开放,无论后台是否有服务器在工作20TMMSynSyn,AckAckSynSyn-AckAckDataData©F5NetworksStandard模式下的攻击防护•StandardVS模式具有天然的防攻击功能•在遇到Syn攻击的时候会导致系统的连接表过大•通过System-SYNCheckActivationThreshold的设置,在达到设置值的时候系统自动启动SynCookie,避免建立过多连接,这个值对全局生效•大部分的网络层攻击都无法通过Standard模式的VS21©F5NetworksFastHTTP•FastHTTPVS仅用于HTTP协议•默认开启OneConnectProfile,对客户端连接进行聚合处理•默认开启SNATAutoMap,在服务器端收到的TCP连接请求都是来自于TMM•没有会话保持功能•不能处理SSL,HTTPS22TMM客户端客户端客户端服务器端服务器端服务器端©F5NetworksFowardingVS(ForwardingIP)•只能使用FastL4Profile•按照连接处理,类似于路由器工作,但不完全一样,在FastL4Profile中开启LooseInitial和LooseClose之后更为接近路由工作模式•所有穿过FowardingVS的连接都将产生连接表•没有PoolMember,转发完全取决于本地路由•可以使用基于4层的Rules23TMM客户端查询本地路由表转发客户端请求©F5NetworksVS和Profile•VS作为所有流量的入口•Profile依赖于VS,对进入VS的流量进行格式化处理•不同的VS可以用同一个Profile或者不同的Profile•Profile之间存在有相互排斥和相互依存的关系24VSTCPProfileUDPProfileFastL4ProfileHTTPRTSPClientSSLServerSSLStreamingSMTPSIPOneConnect©F5NetworksVS和Rules•Rules的处理必须依赖于VS对流量的接收•通过事件触发机制,Rules可以控制流量在VS内部处理的整个过程25SSLCompressionClientSideServerSideTCPExpressServerTCPExpressCachingMicrokernelVirtualServeriRulesClientiControlAPITCPProxyOneConnectXMLRateShapingTrafficShieldWebAccel3rdParty©F5NetworksVS和Rules26ServeriRulesClientSideServerSideTCPProxyClientSideEventClient_acceptClient_dataCache_requestDNS_requestHTTP_REQUESTHTTP_REQUEST_DATARTSP_REQUEST....ServerSideEventServer_connectServer_dataCache_responseDNS_responseHTTP_RESPONSEHTTP_RESPONSE_DATARTSP_RESPONSE....©F5NetworksVS和Rules•大部分rules只在同一个VS之内有效•Rules内创建的变量以连接为生命周期•一个VS上可以有多个Rules,它们将被顺序执行27CLIENT_ACCPTEDCLIENT_DATALB_SELECTEDLB_FAILEDSERVER_ACCPTEDSERVER_DATACLIENT_CLOSEDSERVER_CLOSEDRULE_INITVS©F5NetworksProfile详解28©F5NetworksProfile的作用和工作范围•Profile依赖于VS•Profile是对VS的流量进行格式化处理•举例如果一个VS上配置了TCPProfile,则该VS对所有的UDP流量都不会接收29©F5NetworksProfile的作用和工作范围•基本流量处理类型Profile–TCP,UDP,FastHTTP,FastL4,SCTP•服务流量处理类型Profile–HTTP,FTP,SMTP,RTSP,SIP,iSession•SSL处理类型–ClientSSL,ServerSSL•会话保持类型–Cookie,DestinationIP,hash,msrdp,sourceIP,Universal,SSL•认证处理类型–Radius,CRLDP,OCSP•其他处理类型–OneConnect,Statistics,NTLM,Stream30©F5Networks重要的Profile-FastL4•ResetonTimeout:在连接达到Timeout的是否向两端发送Re

1 / 66
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功