您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > F5 BIG-IP LTM 详解(工作原理 配置手册)
F5BIG-IPLTM详解北京先进数通信息技术有限公司2020年1月•LTM基础架构•VSType详解•Profile详解•CMP工作原理•OneConnect工作原理•NAT、SNAT工作原理•Monitor工作原理•HA工作原理LTM工作原理LTM基础架构什么是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运行TMM处理的范围TMM内部处理功能所有的VS入口流量LTMiRiules处理Profile处理会话保持处理负载均衡算法SSL加速(和硬件结合)HTTP压缩SNAT静态CRL(Certificaterevocationlist证书吊销清单)文件校验不在TMM里面处理的功能WebAcceleratorModule(包括压缩)ApplicationSecurityModuleGTM的分配算法处理(包括GTMrules)Named域名解析健康检查日志管理系统数据统计SNMP数据输出HA健康检查BIGIP内部结构-V9平台15/34/64/68TM/OS管理CPU万兆/千兆交换端口PVA(PacketVelocityASIC)四层交换专用ASICHostOSWeb界面管理健康检查SNMP……..BridgeTMM0独立的管理机SCCPSSL加解密HTTP压缩AdminConsoleBIGIP内部结构-Mecury平台16/36/69/896TM/OS管理CPU万兆/千兆交换端口HiSpeedBridgeTMM2HostOSWeb界面管理健康检查SNMP……..TMM3TMM1TMM0独立的管理机AOMClusterMutiProcessor多CPU并行处理SSL加解密HTTP压缩ConsoleAdminHost和TMM的内存分配•Host在启动的时候限定了内存分配的大小,在没有其他module的情况下是384MB•TMM进程启动后,将自动获取余下的所有物理内存HostMemoryTMMMemory查看Host内存占用情况•#physmem/查看物理内存大小8387584•bmemoryshow/查看内存分配情况MEMORYSTATISTICS--|(Host)Total=3.835GBUsed=3.590GB|(TMM)Total=5.976GBUsed=93.22MB查看TMM内存占用情况•TMM分配的内存是准确的,Host内存显示在这里有一些偏差VSType详解•PerformanceL4•StandardVS•FastHTTP•ForwardingVSPerformanceL4•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包也可以建立连接表TMM客户端客户端客户端服务器端服务器端服务器端PerformanceL4攻击防护-SynCookie•正常情况下客户端连接和服务器端连接是1:1的关系•TMM在第一次收到客户端Syn包时,并不建立连接表•TMM的SynAck回应通过算法回应给客户端Syn,并期待客户端回应的值•TMM对客户端ACK进行计算,确认是真实客户端,再和后台服务器建立连接•在84/88上可以实现硬件的SynCookie计算,其余的平台都是通过软件实现SynCookie计算•SynCookie工作模式下,只有成功建立连接的TCP请求才转发到后台TMMSynSyn,Ack(syncookie)Ack(Cookie)SynSyn-AckAckDataStandardVS•正常情况下客户端连接和服务器端连接是1:1的关系•默认工作在全代理模式,客户端和服务器端的TCP连接完全独立•客户端和服务器端的TCP参数都是由TMM和双方分别协商•默认情况下以客户端源IP和后台建立连接,在打开SNAT的情况下用SNAT地址和后台建立连接•StandardVS的端口永远对外开放,无论后台是否有服务器在工作TMMSynSyn,AckAckSynSyn-AckAckDataDataStandard模式下的攻击防护•StandardVS模式具有天然的防攻击功能•在遇到Syn攻击的时候会导致系统的连接表过大•通过System-SYNCheckActivationThreshold的设置,在达到设置值的时候系统自动启动SynCookie,避免建立过多连接,这个值对全局生效•大部分的网络层攻击都无法通过Standard模式的VSFastHTTP•FastHTTPVS仅用于HTTP协议•默认开启OneConnectProfile,对客户端连接进行聚合处理•默认开启SNATAutoMap,在服务器端收到的TCP连接请求都是来自于TMM•没有会话保持功能•不能处理SSL,HTTPSTMM客户端客户端客户端服务器端服务器端服务器端FowardingVS(ForwardingIP)•只能使用FastL4Profile•按照连接处理,类似于路由器工作,但不完全一样,在FastL4Profile中开启LooseInitial和LooseClose之后更为接近路由工作模式•所有穿过FowardingVS的连接都将产生连接表•没有PoolMember,转发完全取决于本地路由•可以使用基于4层的RulesTMM客户端查询本地路由表转发客户端请求VS和Profile•VS作为所有流量的入口•Profile依赖于VS,对进入VS的流量进行格式化处理•不同的VS可以用同一个Profile或者不同的Profile•Profile之间存在有相互排斥和相互依存的关系VSTCPProfileUDPProfileFastL4ProfileHTTPRTSPClientSSLServerSSLStreamingSMTPSIPOneConnect•Rules的处理必须依赖于VS对流量的接收•通过事件触发机制,Rules可以控制流量在VS内部处理的整个过程SSLCompressionClientSideServerSideTCPExpressServerTCPExpressCachingMicrokernelVirtualServeriRulesClientiControlAPITCPProxyOneConnectXMLRateShapingTrafficShieldWebAccel3rdPartyVS和RulesServeriRulesClientSideServerSideTCPProxyClientSideEventClient_acceptClient_dataCache_requestDNS_requestHTTP_REQUESTHTTP_REQUEST_DATARTSP_REQUEST....ServerSideEventServer_connectServer_dataCache_responseDNS_responseHTTP_RESPONSEHTTP_RESPONSE_DATARTSP_RESPONSE....•大部分rules只在同一个VS之内有效•Rules内创建的变量以连接为生命周期•一个VS上可以有多个Rules,它们将被顺序执行CLIENT_ACCPTEDCLIENT_DATALB_SELECTEDLB_FAILEDSERVER_ACCPTEDSERVER_DATACLIENT_CLOSEDSERVER_CLOSEDRULE_INITVSProfile的作用和工作范围•Profile依赖于VS•Profile是对VS的流量进行格式化处理•举例如果一个VS上配置了TCPProfile,则该VS对所有的UDP流量都不会接收Profile详解•基本流量处理类型Profile–TCP,UDP,FastHTTP,FastL4,SCTP(StreamControlTransmissionProtocol)•服务流量处理类型Profile–HTTP,FTP,SMTP,RTSP(RealTimeStreamingProtocol),SIP(SessionInitiationProtocol),iSession•SSL处理类型–ClientSSL,ServerSSL•会话保持类型–Cookie,DestinationIP,hash,msrdp,sourceIP,Universal,SSL•认证处理类型–Radius,CRLDP(Constraint-BasedLabelDistributionProtocol),OCSP(OnlineCertificateStatusProtocol)•其他处理类型–OneConnect,Statistics,NTLM(NTLANManager),Stream重要的Profile-FastL4•ResetonTimeout:在连接达到Timeout的是否向两端发送Reset包•IdelTimeout:多长时间连接里面没有数据流量的时候就删除连接表•LooseInitiation/LooseClose:是否接收非Syn包建立连接•SoftareSynCookieProtection:是否在VS上启用SynCookie,实现Syn攻击防护可能调整的参数重要的Profile-TCP•注意在ClientSide和ServerSide可以使用不同的TCPProfile•通常情况下建议:–Clientside:TCPWANOptimized或LANOptimized–Serverside:TCPLANOptimized•除非你非常了解TCP的工作原理,否则不要调整除idelTimeout以外的任何参数重要的Profile-ClientSSL•对所有进入VS的流量按照SSL协议进行处理•注意ClientSSLprofile不一定只能使用在HTTPS上•使用ClientSSL的VS不一定使用443端口TMM客户端客户端客户端服务器端服务器端服务器端SSLSSLSSL重要的Profile-FTP•FTPProfile主要用于处理FTP的主动和被动传输两种模式•由于需要配置动态侦听端口,因此FTP协议必须进行单独处理•通过iRules也可以达到同样的目的,但由于FTP协议使用非常广泛,因此使用FTPprofile来简化配置和处理•FTPProfile必须依赖于TCPprofile工作为什么要用CMP(ClusterMulti-Processor)•性能增长要求•CPU的主频增加受到比较大的限制,目前的趋势是以多核扩展为主•ASIC(ApplicationSpecificIntergratedCircuits)、NP(NetworkProcessor)的处理架构并不适合于复杂、灵活的流量处理•对于不规范的流量,采用硬件加速将导致系统设计僵化,很难加入新的功能实现市场需求•需要充分利用CPU的多核处理能力来提升系统的整体性能CMP工作原理CMP的硬件支持CMP工作模式•流量由HSB进行分配在多个TMM上,每个TMM占据一个CPUCore,每个TMM有自己独立的内存空间•每个TMM都具有相同的配置,包括VS/Profile/iRules/Pool/Persistence等•TMM
本文标题:F5 BIG-IP LTM 详解(工作原理 配置手册)
链接地址:https://www.777doc.com/doc-3103594 .html