和视频-ltm工作原理_第1页
和视频-ltm工作原理_第2页
和视频-ltm工作原理_第3页
和视频-ltm工作原理_第4页
和视频-ltm工作原理_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

F5LTM工作原理杨明非F5北方区技术经理LTM基础架构VSType详解Profile详解CMP工作原理OneConnect工作原理NAT、SNAT工作原理Monitor工作原理HA工作原理AgendaLTM基础架构3什么是TMMTrafficManagementModuleTMOS的核心进程,有自己独立的内存、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运行4TMM处理的范围5TMM内部处理功能所有的VS入口流量LTMiRiules处理Profile处理会话保持处理负载均衡算法SSL加速(和硬件结合)HTTP压缩SNAT静态CRL文件校验不在TMM里面处理的功能WebAcceleratorModule(包括压缩)ApplicationSecurityModuleGTM的分配算法处理(包括GTMrules)Named域名解析健康检查日志管理系统数据统计SNMP数据输出HA健康检查BIGIP内部结构-V9平台15/34/64/686TM/OS管理CPU万兆/千兆交换端口PVA四层交换专用ASICHostOSWeb界面管理健康检查SNMP……..BridgeTMM0独立的管理机SCCPSSL加解密HTTP压缩AdminConsoleBIGIP内部结构-Mecury平台16/36/69/897TM/OS管理CPU万兆/千兆交换端口HiSpeedBridgeTMM2HostOSWeb界面管理健康检查SNMP……..TMM3TMM1TMM0独立的管理机AOMCluster

Muti

Processor多CPU并行处理SSL加解密HTTP压缩ConsoleAdminAOMTheAlways-OnManagement(AOM)isaseparatesubsystemthatprovideslights-outmanagementfortheBIG-IPsystemusingthe10/100/1000Ethernetmanagementport

overSSH,orusingtheserialconsole.AOMfeaturesTheAOMallowsyoutomanageBIG-IPplatformsusingSSHortheserialconsole,eveniftheHostsubsystemisturnedoffTheBIG-IPHostsubsystemandtheAOMsubsystemoperateindependently:

IftheAOMisresetorfails,theBIG-IPHostsubsystemcontinuesoperation,andthereisnointerruptiontoload-balancedtrafficIftheBIG-IPHostsubsystemlocksup,youcanusetheAOMCommandMenutoresetitTheAOMprovidestheabilitytopoweron/offandrestarttheBIG-IPHostsubsystemTheAOMisalwayspoweredonwhenpowerissuppliedtotheplatform;itcannotbeturnedoffTheAOMsupportsahardwarewatchdogwithaminimumfivesecondtimeoutbeforehardwarerebootHost和TMM的内存分配Host在启动的时候限定了内存分配的大小,在没有其他module的情况下是384MBTMM进程启动后,将自动获取余下的所有物理内存9HostMemoryTMMMemory查看Host内存占用情况#physmem/查看物理内存大小

8387584bmemoryshow/查看内存分配情况MEMORYSTATISTICS--|(Host)Total=3.835GBUsed=3.590GB|(TMM)Total=5.976GBUsed=93.22MB10查看TMM内存占用情况TMM分配的内存是准确的,Host内存显示在这里有一些偏差11BIGIP的重要进程bigstartstatus/查看F5进程状态top/查看Host进程状态top–bcn1/显示Host的所有进程12TomCat4TMMTMMMCPDbigdbig3d业务数据处理本地健康检查GTM/Mpack通讯配置管理界面Tamd外部认证bcm56xxd交换芯片管理Module工作模式-GTM所有的请求接收和响应都通过TMM进行gtmd负责动态策略解析,并将不在策略制定内的请求转发给namedgtmd的所有状态来源均由big3d汇报gtmd不会直接与bigd通讯,而是从big3d去获得信息13TMM客户端请求gtmdnamedbigdbig3dmcpdListener接收请求动态策略解析静态策略解析RTT探测iQuery信息收集和发送本地健康检查Module工作模式-WAPVAC是WAModule处理的主进程,与TMM之间采用Plugin模式通讯PVAC可以以多线程方式运行所有的流量由TMM发送到pvac,pvac处理完成之后返回给TMM,再通过负载均衡策略转发到服务器14TMM客户端请求pvacWeb/应用服务器Web/应用服务器Web/应用服务器pvacModule工作模式-ASM15asm是ASM处理的主进程,与TMM之间采用Plugin模式通讯asm可以以多线程方式运行所有的流量由TMM发送到asm,asm处理完成之后返回给TMM,再通过负载均衡策略转发到服务器15TMM客户端请求asmWeb/应用服务器Web/应用服务器Web/应用服务器asmModule工作模式-SAMTMM接收所有流量请求SSLVPN通道建立处理在TMM内部完成APD(ApplicationPolicyDaemon)负责策略执行,用户认证等,不处理具体的业务流量16TMM客户端请求APDWeb/应用服务器Web/应用服务器Web/应用服务器VSType详解17VS

Type详解PerformanceL4StandardVSFastHTTPFowardingVS18PerformanceL4TMM只是负责客户端连接的分配和转发,不改变TCP连接中的任何参数客户端和服务器自行协商TCP传输参数在34/64/68平台上PerformanceL4可以有PVA加入实现硬件加速在15/16/36/69/89/Viprion平台上都通过TMM核心进行处理PerformanceL4

VS上只有4层的iRules可以使用默认状态下,新建连接的第一个包必须是Syn包,如果是其他的数据包比如ACK、RST等如果不在连接表中,则全部丢弃。在FastL4profile打开Looseclose和LooseInitial的时候对非Syn包也可以建立连接表19TMM客户端客户端客户端服务器端服务器端服务器端PerformanceL4攻击防护-SynCookie正常情况下客户端连接和服务器端连接是1:1的关系TMM在第一次收到客户端Syn包时,并不建立连接表TMM的SynAck回应通过算法回应给客户端Syn,并期待客户端回应的值TMM对客户端ACK进行计算,确认是真实客户端,再和后台服务器建立连接在84/88上可以实现硬件的SynCookie计算,其余的平台都是通过软件实现SynCookie计算SynCookie工作模式下,只有成功建立连接的TCP请求才转发到后台20TMMSynSyn,Ack(syncookie)Ack(Cookie)SynSyn-AckAckDataStandardVS正常情况下客户端连接和服务器端连接是1:1的关系默认工作在全代理模式,客户端和服务器端的TCP连接完全独立客户端和服务器端的TCP参数都是由TMM和双方分别协商默认情况下以客户端源IP和后台建立连接,在打开SNAT的情况下用SNAT地址和后台建立连接StandardVS的端口永远对外开放,无论后台是否有服务器在工作21TMMSynSyn,AckAckSynSyn-AckAckDataDataStandard模式下的攻击防护StandardVS模式具有天然的防攻击功能在遇到Syn攻击的时候会导致系统的连接表过大通过System-SYNCheckActivationThreshold的设置,在达到设置值的时候系统自动启动SynCookie,避免建立过多连接,这个值对全局生效大部分的网络层攻击都无法通过Standard模式的VS22FastHTTPFastHTTPVS仅用于HTTP协议默认开启OneConnectProfile,对客户端连接进行聚合处理默认开启SNATAutoMap,在服务器端收到的TCP连接请求都是来自于TMM没有会话保持功能不能处理SSL,HTTPS23TMM客户端客户端客户端服务器端服务器端服务器端FowardingVS(ForwardingIP)只能使用FastL4Profile按照连接处理,类似于路由器工作,但不完全一样,在FastL4Profile中开启LooseInitial和LooseClose之后更为接近路由工作模式所有穿过FowardingVS的连接都将产生连接表没有PoolMember,转发完全取决于本地路由可以使用基于4层的Rules24TMM客户端查询本地路由表转发客户端请求VS和ProfileVS作为所有流量的入口Profile依赖于VS,对进入VS的流量进行格式化处理不同的VS可以用同一个Profile或者不同的ProfileProfile之间存在有相互排斥和相互依存的关系25VSTCPProfileUDPProfileFastL4ProfileHTTPRTSPClientSSLServerSSLStreamingSMTPSIPOneConnectVS和RulesRules的处理必须依赖于VS对流量的接收通过事件触发机制,Rules可以控制流量在VS内部处理的整个过程26SSLCompressionClientSideServerSideTCPExpressServerTCPExpressCachingMicrokernelVirtualServeriRulesClientiControlAPITCPProxyOneConnectXMLRateShapingTrafficShieldWebAccel3rdPartyVS和Rules27ServeriRulesClientSideServerSideTCPProxyClientSideEventClient_acceptClient_dataCache_requestDNS_requestHTTP_REQUESTHTTP_REQUEST_DATARTSP_REQUEST....ServerSideEventServer_connectServer_dataCache_responseDNS_responseHTTP_RESPONSEHTTP_RESPONSE_DATARTSP_RESPONSE....VS和Rules大部分rules只在同一个VS之内有效Rules内创建的变量以连接为生命周期一个VS上可以有多个Rules,它们将被顺序执行28CLIENT_ACCPTEDCLIENT_DATALB_SELECTEDLB_FAILEDSERVER_ACCPTEDSERVER_DATACLIENT_CLOSEDSERVER_CLOSEDRULE_INITVSProfile详解29Profile的作用和工作范围Profile依赖于VSProfile是对VS的流量进行格式化处理举例如果一个VS上配置了TCPProfile,则该VS对所有的UDP流量都不会接收30Profile的作用和工作范围基本流量处理类型ProfileTCP,UDP,FastHTTP,FastL4,SCTP服务流量处理类型ProfileHTTP,FTP,SMTP,RTSP,SIP,iSessionSSL处理类型ClientSSL,ServerSSL会话保持类型Cookie,DestinationIP,hash,msrdp,sourceIP,Universal,SSL认证处理类型Radius,CRLDP,OCSP其他处理类型OneConnect,Statistics,NTLM,Stream31重要的Profile-FastL4ResetonTimeout:在连接达到Timeout的是否向两端发送Reset包IdelTimeout:多长时间连接里面没有数据流量的时候就删除连接表LooseInitiation/LooseClose:是否接收非Syn包建立连接SoftareSynCookieProtection:是否在VS上启用SynCookie,实现Syn攻击防护32可能调整的参数重要的Profile-TCP注意在ClientSide和ServerSide可以使用不同的TCPProfile通常情况下建议:Clientside:TCPWANOptimized或LANOptimizedServerside:TCPLANOptimized除非你非常了解TCP的工作原理,否则不要调整除idelTimeout以外的任何参数33重要的Profile-ClientSSL对所有进入VS的流量按照SSL协议进行处理注意ClientSSLprofile不一定只能使用在HTTPS上使用ClientSSL的VS不一定使用443端口34TMM客户端客户端客户端服务器端服务器端服务器端SSLSSLSSL重要的Profile-FTPFTP的连接模式有两种,PORT(主动模式)和PASV(被动模式),主动模式的连接过程是:客户端动态的选择一个端口(这个端口号一定是1024以上的,因为1024以前的端口都已经预先被定义好)向服务器端的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一个命令连接。当需要传送数据时或者列出服务器的文件列表时(通常使用ls或dir命令),客户端通过命令连接告诉服务器(使用PORT命令):“我已经打开了XX端口,请你过来连接”。于是服务器使用20端口向客户端的XX端口发送连接请求,建立一条数据连接来传送数据。被动模式:客户端首先使用与主动连接模式相同的方法与服务器建立命令连接。当需要传送数据时,客户端通过命令连接告诉服务器(使用PASV命令)“我要连接你的XX端口,请问是否空闲”,如果恰好该端口空闲,服务器会告诉客户端:“你请求的端口空闲,可以建立连接(ACK确认信息)”,否则服务器会说“该端口已经占用,请换个端口(UNACK信息)”。如果客户端得到的是空闲的提示,就会利用该端口建立连接,否则就换个端口重新尝试,这也就是所谓的连接建立的协商过程.PORT模式建立数据传输通道是由服务器端发起的,服务器使用20端口连接客户端的某一个大于1024的端口;在PASV模式中,数据传输的通道的建立是由FTP客户端发起的,他使用一个大于1024的端口连接服务器的1024以上的某一个端口。如果从C/S模型这个角度来说,PORT对于服务器来说是OUTBOUND,而PASV模式对于服务器是INBOUND.

35FTPProfile主要用于处理FTP的主动和被动传输两种模式由于需要配置动态侦听端口,因此FTP协议必须进行单独处理通过iRules也可以达到同样的目的,但由于FTP协议使用非常广泛,因此使用FTPprofile来简化配置和处理FTPProfile必须依赖于TCPprofile工作performacoredumpUpdated:10/28/091:20PM

ThewatchdogprocessensuresthattheBIG-IPsystemwillrebootintheeventofasystemlock-up,promptingafailover.IfyouareforcingtheBIG-IPsystemtoproduceacorefilefordiagnosticpurposes,youmustdisablethewatchdogprocesstoallowthecorefiletowritetodiskbeforethesystemreboots.InBIG-IPversions9.3andlater,youcandisableorenablethewatchdogprocessasfollows:Important:Alwaysenablethewatchdogfeatureoncethecoredumphascompleted.DisablingwatchdogTodisablethewatchdogprocess,typethefollowingcommand:bigpipedbwatchdog.statedisableEnablingwatchdogToenablethewatchdogprocess,typethefollowingcommand:bigpipedbwatchdog.stateenableCMP工作原理37为什么要用CMP性能增长要求CPU的主频增加受到比较大的限制,目前的趋势是以多核扩展为主ASIC、NP的处理架构并不适合于复杂、灵活的流量处理对于不规范的流量,采用硬件加速将导致系统设计僵化,很难加入新的功能实现市场需求需要充分利用CPU的多核处理能力来提升系统的整体性能38CMP的硬件支持39CMP工作模式流量由HSB进行分配在多个TMM上,每个TMM占据一个CPUCore,每个TMM有自己独立的内存空间每个TMM都具有相同的配置,包括VS/Profile/iRules/Pool/Persistence等TMM之间通过内存高速总线进行通讯共享通用信息如会话保持表,SNAT源端口等当CMP被Disable的时候,TMM0接管所有的流量64/68的硬件平台已经支持CMP,在10.0上自动开启40VIPTMM0VIPTMM1VIPTMM2VIPTMM3HSBHSBSuperVIP如何查看CMP工作状态btmmshow可以观察每个TMM的状态41关于CMP必须了解的内容V9平台启动WA和ASM将DisableCMPiRules中定义全局变量将DisableCMP所有的非TCP/UDP流量都只使用TMM0进行处理V9中使用Sessionadd,SessionLookup命令将DisableCMPConnectionLimit和RateShaping的配置是针对每个TMM生效手工关闭CMP运行bdbProvision.tmmCount1调整后必须重启任何一个TMMCrash,将导致设备间FailoverTCPdump已经调整为可支持CMP42查看VirtualServer的CMP工作状态43如何查看TMMCPU占用率top命令可以显示每颗CPU的占用率和V9相比,TMM的CPU在Top命令中的显示发生了变化每颗CPU的CPU占用率目前在图形界面里都消失了,目前只有整体的CPU占用率44OneConnect工作原理45连接聚合和内容交换46index.htma.gifb.gifc.aspsales.htmd.gife.giff.aspsales.htmd.gife.gifindex.htma.gifb.gifc.aspServerf.aspindex.htma.gifb.gifc.aspsales.htmd.gife.giff.aspsales.htmd.gife.gifindex.htma.gifb.gifc.aspServerf.aspindex.htma.gifb.gifc.aspindex.htma.gifb.gifc.aspHTMLserverpoolGIFserverpoolASPserverpool连接聚合内容交换OneConnect工作原理47OneConnect的典型工作场景实现连接聚合降低服务器的连接总数需要对每一个请求都进行单独处理(注意在多数情况下,LTM只对一个连接的第一个包进行处理)典型的,打开Cookie会话保持有时候会出现保持不正确的情况,这时就需要打开OneConnect通过设置Mask=55,可以使后台服务器可以“看到”客户端源IP,但这个时候One-connect只对一个客户端的连接起作用48OneConnect和应用协议注意!OneConnectProfile不是必须和HTTPProfile共用,也可以用于其他应用协议。用于其他应用协议的时候必须使用iRules编程来调用OneConnect在需要对长连接进行拆分处理的时候,也需要用OneConnectProfile49NAT和SNAT50SNAT的全称51SecureNetworkAddressTranslationSNAT=NAT的工作模式520NATAddress:0SNAT的工作模式530SNATAddress:0NAT和SNAT之间的差别54NAT1比1接收所有发往NAT地址的连接所有的连接只是通过LTM的连接表管理,但是是无状态的,连接不会被Timeout连接不能被镜像SNAT多对一或者多对多拒绝所有发往SNAT地址的连接请求.连接通过LTM的连接表管理,有timeout设置连接可以被镜像SNATAutoMap当配置SNATAutoMap的时候,请求从那个VLAN发出去,则SNAT的源地址为VLAN上的SelfIP当一个VLAN上有多个SelfIP存在的时候,SNAT的源地址是在多个SelfIP之间轮询55SNATPool的工作模式SNATPool是提供了一个可用于SNAT源地址的列表BIGIP采用最小连接数的方式在SNAT的源地址之间进行选择56通过iRules控制SNATwhenCLIENT_ACCEPTED{setsnat_addr}whenHTTP_REQUEST{setsnat_addr[HTTP::headerX-Forwarded-For]log"X-Fowarded-Foris[HTTP::headerX-Forwarded-For]"}whenLB_SELECTED{

snat$snat_addr}57HTTPSSSLOffload替换源地址Server端需要在TCP连接里面获取客户端源地址SNAT的源地址会话保持whenRULE_INIT{#loglocal5.warning"--------$cnc_snatpool"setsnat_length[llength$cnc_snatpool]loglocal5.warning"--------snatpoollengthis$snat_length"}whenLB_SELECTED{#setclient_addr"3"setclient_ip[IP::client_addr]setclient_last[getfield$client_ip"."4]#loglocal5.warning"--------clientlastis$client_last"setsnat_addr[lindex$cnc_snatpool[expr$client_last%$snat_length]]#loglocal5.warning"------------clientsnataddr$snat_addr"snat$snat_addr}58Timeout定义和镜像SNAT可以在两台设备之间镜像SNAT对于TCPidleTimeout和UDPidleTimeout可以有独立的设置59Monitor工作原理60Monitor

温馨提示

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

评论

0/150

提交评论