和視頻-ltm工作原理_第1頁
和視頻-ltm工作原理_第2頁
和視頻-ltm工作原理_第3頁
和視頻-ltm工作原理_第4頁
和視頻-ltm工作原理_第5頁
已閱讀5頁,還剩63頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

F5LTM工作原理楊明非F5北方區(qū)技術(shù)經(jīng)理LTM基礎(chǔ)架構(gòu)VSType詳解Profile詳解CMP工作原理OneConnect工作原理NAT、SNAT工作原理Monitor工作原理HA工作原理AgendaLTM基礎(chǔ)架構(gòu)3什么是TMMTrafficManagementModuleTMOS的核心進程,有自己獨立的內(nèi)存、CPU資源分配和I/O控制所有的生產(chǎn)流量都通過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版本,默認(rèn)都是多TMM運行4TMM處理的范圍5TMM內(nèi)部處理功能所有的VS入口流量LTMiRiules處理Profile處理會話保持處理負(fù)載均衡算法SSL加速(和硬件結(jié)合)HTTP壓縮SNAT靜態(tài)CRL文件校驗不在TMM里面處理的功能WebAcceleratorModule(包括壓縮)ApplicationSecurityModuleGTM的分配算法處理(包括GTMrules)Named域名解析健康檢查日志管理系統(tǒng)數(shù)據(jù)統(tǒng)計SNMP數(shù)據(jù)輸出HA健康檢查BIGIP內(nèi)部結(jié)構(gòu)-V9平臺15/34/64/686TM/OS管理CPU萬兆/千兆交換端口PVA四層交換專用ASICHostOSWeb界面管理健康檢查SNMP……..BridgeTMM0獨立的管理機SCCPSSL加解密HTTP壓縮AdminConsoleBIGIP內(nèi)部結(jié)構(gòu)-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的內(nèi)存分配Host在啟動的時候限定了內(nèi)存分配的大小,在沒有其他module的情況下是384MBTMM進程啟動后,將自動獲取余下的所有物理內(nèi)存9HostMemoryTMMMemory查看Host內(nèi)存占用情況#physmem/查看物理內(nèi)存大小

8387584bmemoryshow/查看內(nèi)存分配情況MEMORYSTATISTICS--|(Host)Total=3.835GBUsed=3.590GB|(TMM)Total=5.976GBUsed=93.22MB10查看TMM內(nèi)存占用情況TMM分配的內(nèi)存是準(zhǔn)確的,Host內(nèi)存顯示在這里有一些偏差11BIGIP的重要進程bigstartstatus/查看F5進程狀態(tài)top/查看Host進程狀態(tài)top–bcn1/顯示Host的所有進程12TomCat4TMMTMMMCPDbigdbig3d業(yè)務(wù)數(shù)據(jù)處理本地健康檢查GTM/Mpack通訊配置管理界面Tamd外部認(rèn)證bcm56xxd交換芯片管理Module工作模式-GTM所有的請求接收和響應(yīng)都通過TMM進行g(shù)tmd負(fù)責(zé)動態(tài)策略解析,并將不在策略制定內(nèi)的請求轉(zhuǎn)發(fā)給namedgtmd的所有狀態(tài)來源均由big3d匯報gtmd不會直接與bigd通訊,而是從big3d去獲得信息13TMM客戶端請求gtmdnamedbigdbig3dmcpdListener接收請求動態(tài)策略解析靜態(tài)策略解析RTT探測iQuery信息收集和發(fā)送本地健康檢查Module工作模式-WAPVAC是WAModule處理的主進程,與TMM之間采用Plugin模式通訊PVAC可以以多線程方式運行所有的流量由TMM發(fā)送到pvac,pvac處理完成之后返回給TMM,再通過負(fù)載均衡策略轉(zhuǎn)發(fā)到服務(wù)器14TMM客戶端請求pvacWeb/應(yīng)用服務(wù)器Web/應(yīng)用服務(wù)器Web/應(yīng)用服務(wù)器pvacModule工作模式-ASM15asm是ASM處理的主進程,與TMM之間采用Plugin模式通訊asm可以以多線程方式運行所有的流量由TMM發(fā)送到asm,asm處理完成之后返回給TMM,再通過負(fù)載均衡策略轉(zhuǎn)發(fā)到服務(wù)器15TMM客戶端請求asmWeb/應(yīng)用服務(wù)器Web/應(yīng)用服務(wù)器Web/應(yīng)用服務(wù)器asmModule工作模式-SAMTMM接收所有流量請求SSLVPN通道建立處理在TMM內(nèi)部完成APD(ApplicationPolicyDaemon)負(fù)責(zé)策略執(zhí)行,用戶認(rèn)證等,不處理具體的業(yè)務(wù)流量16TMM客戶端請求APDWeb/應(yīng)用服務(wù)器Web/應(yīng)用服務(wù)器Web/應(yīng)用服務(wù)器VSType詳解17VS

Type詳解PerformanceL4StandardVSFastHTTPFowardingVS18PerformanceL4TMM只是負(fù)責(zé)客戶端連接的分配和轉(zhuǎn)發(fā),不改變TCP連接中的任何參數(shù)客戶端和服務(wù)器自行協(xié)商TCP傳輸參數(shù)在34/64/68平臺上PerformanceL4可以有PVA加入實現(xiàn)硬件加速在15/16/36/69/89/Viprion平臺上都通過TMM核心進行處理PerformanceL4

VS上只有4層的iRules可以使用默認(rèn)狀態(tài)下,新建連接的第一個包必須是Syn包,如果是其他的數(shù)據(jù)包比如ACK、RST等如果不在連接表中,則全部丟棄。在FastL4profile打開Looseclose和LooseInitial的時候?qū)Ψ荢yn包也可以建立連接表19TMM客戶端客戶端客戶端服務(wù)器端服務(wù)器端服務(wù)器端PerformanceL4攻擊防護-SynCookie正常情況下客戶端連接和服務(wù)器端連接是1:1的關(guān)系TMM在第一次收到客戶端Syn包時,并不建立連接表TMM的SynAck回應(yīng)通過算法回應(yīng)給客戶端Syn,并期待客戶端回應(yīng)的值TMM對客戶端ACK進行計算,確認(rèn)是真實客戶端,再和后臺服務(wù)器建立連接在84/88上可以實現(xiàn)硬件的SynCookie計算,其余的平臺都是通過軟件實現(xiàn)SynCookie計算SynCookie工作模式下,只有成功建立連接的TCP請求才轉(zhuǎn)發(fā)到后臺20TMMSynSyn,Ack(syncookie)Ack(Cookie)SynSyn-AckAckDataStandardVS正常情況下客戶端連接和服務(wù)器端連接是1:1的關(guān)系默認(rèn)工作在全代理模式,客戶端和服務(wù)器端的TCP連接完全獨立客戶端和服務(wù)器端的TCP參數(shù)都是由TMM和雙方分別協(xié)商默認(rèn)情況下以客戶端源IP和后臺建立連接,在打開SNAT的情況下用SNAT地址和后臺建立連接StandardVS的端口永遠對外開放,無論后臺是否有服務(wù)器在工作21TMMSynSyn,AckAckSynSyn-AckAckDataDataStandard模式下的攻擊防護StandardVS模式具有天然的防攻擊功能在遇到Syn攻擊的時候會導(dǎo)致系統(tǒng)的連接表過大通過System-SYNCheckActivationThreshold的設(shè)置,在達到設(shè)置值的時候系統(tǒng)自動啟動SynCookie,避免建立過多連接,這個值對全局生效大部分的網(wǎng)絡(luò)層攻擊都無法通過Standard模式的VS22FastHTTPFastHTTPVS僅用于HTTP協(xié)議默認(rèn)開啟OneConnectProfile,對客戶端連接進行聚合處理默認(rèn)開啟SNATAutoMap,在服務(wù)器端收到的TCP連接請求都是來自于TMM沒有會話保持功能不能處理SSL,HTTPS23TMM客戶端客戶端客戶端服務(wù)器端服務(wù)器端服務(wù)器端FowardingVS(ForwardingIP)只能使用FastL4Profile按照連接處理,類似于路由器工作,但不完全一樣,在FastL4Profile中開啟LooseInitial和LooseClose之后更為接近路由工作模式所有穿過FowardingVS的連接都將產(chǎn)生連接表沒有PoolMember,轉(zhuǎn)發(fā)完全取決于本地路由可以使用基于4層的Rules24TMM客戶端查詢本地路由表轉(zhuǎn)發(fā)客戶端請求VS和ProfileVS作為所有流量的入口Profile依賴于VS,對進入VS的流量進行格式化處理不同的VS可以用同一個Profile或者不同的ProfileProfile之間存在有相互排斥和相互依存的關(guān)系25VSTCPProfileUDPProfileFastL4ProfileHTTPRTSPClientSSLServerSSLStreamingSMTPSIPOneConnectVS和RulesRules的處理必須依賴于VS對流量的接收通過事件觸發(fā)機制,Rules可以控制流量在VS內(nèi)部處理的整個過程26SSLCompressionClientSideServerSideTCPExpressServerTCPExpressCachingMicrokernelVirtualServeriRulesClientiControlAPITCPProxyOneConnectXMLRateShapingTrafficShieldWebAccel3rdPartyVS和Rules27ServeriRulesClientSideServerSideTCPProxyClientSideEventClient_acceptClient_dataCache_requestDNS_requestHTTP_REQUESTHTTP_REQUEST_DATARTSP_REQUEST....ServerSideEventServer_connectServer_dataCache_responseDNS_responseHTTP_RESPONSEHTTP_RESPONSE_DATARTSP_RESPONSE....VS和Rules大部分rules只在同一個VS之內(nèi)有效Rules內(nèi)創(chuàng)建的變量以連接為生命周期一個VS上可以有多個Rules,它們將被順序執(zhí)行28CLIENT_ACCPTEDCLIENT_DATALB_SELECTEDLB_FAILEDSERVER_ACCPTEDSERVER_DATACLIENT_CLOSEDSERVER_CLOSEDRULE_INITVSProfile詳解29Profile的作用和工作范圍Profile依賴于VSProfile是對VS的流量進行格式化處理舉例如果一個VS上配置了TCPProfile,則該VS對所有的UDP流量都不會接收30Profile的作用和工作范圍基本流量處理類型ProfileTCP,UDP,FastHTTP,FastL4,SCTP服務(wù)流量處理類型ProfileHTTP,FTP,SMTP,RTSP,SIP,iSessionSSL處理類型ClientSSL,ServerSSL會話保持類型Cookie,DestinationIP,hash,msrdp,sourceIP,Universal,SSL認(rèn)證處理類型Radius,CRLDP,OCSP其他處理類型OneConnect,Statistics,NTLM,Stream31重要的Profile-FastL4ResetonTimeout:在連接達到Timeout的是否向兩端發(fā)送Reset包IdelTimeout:多長時間連接里面沒有數(shù)據(jù)流量的時候就刪除連接表LooseInitiation/LooseClose:是否接收非Syn包建立連接SoftareSynCookieProtection:是否在VS上啟用SynCookie,實現(xiàn)Syn攻擊防護32可能調(diào)整的參數(shù)重要的Profile-TCP注意在ClientSide和ServerSide可以使用不同的TCPProfile通常情況下建議:Clientside:TCPWANOptimized或LANOptimizedServerside:TCPLANOptimized除非你非常了解TCP的工作原理,否則不要調(diào)整除idelTimeout以外的任何參數(shù)33重要的Profile-ClientSSL對所有進入VS的流量按照SSL協(xié)議進行處理注意ClientSSLprofile不一定只能使用在HTTPS上使用ClientSSL的VS不一定使用443端口34TMM客戶端客戶端客戶端服務(wù)器端服務(wù)器端服務(wù)器端SSLSSLSSL重要的Profile-FTPFTP的連接模式有兩種,PORT(主動模式)和PASV(被動模式),主動模式的連接過程是:客戶端動態(tài)的選擇一個端口(這個端口號一定是1024以上的,因為1024以前的端口都已經(jīng)預(yù)先被定義好)向服務(wù)器端的FTP端口(默認(rèn)是21)發(fā)送連接請求,服務(wù)器接受連接,建立一個命令連接。當(dāng)需要傳送數(shù)據(jù)時或者列出服務(wù)器的文件列表時(通常使用ls或dir命令),客戶端通過命令連接告訴服務(wù)器(使用PORT命令):“我已經(jīng)打開了XX端口,請你過來連接”。于是服務(wù)器使用20端口向客戶端的XX端口發(fā)送連接請求,建立一條數(shù)據(jù)連接來傳送數(shù)據(jù)。被動模式:客戶端首先使用與主動連接模式相同的方法與服務(wù)器建立命令連接。當(dāng)需要傳送數(shù)據(jù)時,客戶端通過命令連接告訴服務(wù)器(使用PASV命令)“我要連接你的XX端口,請問是否空閑”,如果恰好該端口空閑,服務(wù)器會告訴客戶端:“你請求的端口空閑,可以建立連接(ACK確認(rèn)信息)”,否則服務(wù)器會說“該端口已經(jīng)占用,請換個端口(UNACK信息)”。如果客戶端得到的是空閑的提示,就會利用該端口建立連接,否則就換個端口重新嘗試,這也就是所謂的連接建立的協(xié)商過程.PORT模式建立數(shù)據(jù)傳輸通道是由服務(wù)器端發(fā)起的,服務(wù)器使用20端口連接客戶端的某一個大于1024的端口;在PASV模式中,數(shù)據(jù)傳輸?shù)耐ǖ赖慕⑹怯蒄TP客戶端發(fā)起的,他使用一個大于1024的端口連接服務(wù)器的1024以上的某一個端口。如果從C/S模型這個角度來說,PORT對于服務(wù)器來說是OUTBOUND,而PASV模式對于服務(wù)器是INBOUND.

35FTPProfile主要用于處理FTP的主動和被動傳輸兩種模式由于需要配置動態(tài)偵聽端口,因此FTP協(xié)議必須進行單獨處理通過iRules也可以達到同樣的目的,但由于FTP協(xié)議使用非常廣泛,因此使用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的處理架構(gòu)并不適合于復(fù)雜、靈活的流量處理對于不規(guī)范的流量,采用硬件加速將導(dǎo)致系統(tǒng)設(shè)計僵化,很難加入新的功能實現(xiàn)市場需求需要充分利用CPU的多核處理能力來提升系統(tǒng)的整體性能38CMP的硬件支持39CMP工作模式流量由HSB進行分配在多個TMM上,每個TMM占據(jù)一個CPUCore,每個TMM有自己獨立的內(nèi)存空間每個TMM都具有相同的配置,包括VS/Profile/iRules/Pool/Persistence等TMM之間通過內(nèi)存高速總線進行通訊共享通用信息如會話保持表,SNAT源端口等當(dāng)CMP被Disable的時候,TMM0接管所有的流量64/68的硬件平臺已經(jīng)支持CMP,在10.0上自動開啟40VIPTMM0VIPTMM1VIPTMM2VIPTMM3HSBHSBSuperVIP如何查看CMP工作狀態(tài)btmmshow可以觀察每個TMM的狀態(tài)41關(guān)于CMP必須了解的內(nèi)容V9平臺啟動WA和ASM將DisableCMPiRules中定義全局變量將DisableCMP所有的非TCP/UDP流量都只使用TMM0進行處理V9中使用Sessionadd,SessionLookup命令將DisableCMPConnectionLimit和RateShaping的配置是針對每個TMM生效手工關(guān)閉CMP運行bdbProvision.tmmCount1調(diào)整后必須重啟任何一個TMMCrash,將導(dǎo)致設(shè)備間FailoverTCPdump已經(jīng)調(diào)整為可支持CMP42查看VirtualServer的CMP工作狀態(tài)43如何查看TMMCPU占用率top命令可以顯示每顆CPU的占用率和V9相比,TMM的CPU在Top命令中的顯示發(fā)生了變化每顆CPU的CPU占用率目前在圖形界面里都消失了,目前只有整體的CPU占用率44OneConnect工作原理45連接聚合和內(nèi)容交換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連接聚合內(nèi)容交換OneConnect工作原理47OneConnect的典型工作場景實現(xiàn)連接聚合降低服務(wù)器的連接總數(shù)需要對每一個請求都進行單獨處理(注意在多數(shù)情況下,LTM只對一個連接的第一個包進行處理)典型的,打開Cookie會話保持有時候會出現(xiàn)保持不正確的情況,這時就需要打開OneConnect通過設(shè)置Mask=55,可以使后臺服務(wù)器可以“看到”客戶端源IP,但這個時候One-connect只對一個客戶端的連接起作用48OneConnect和應(yīng)用協(xié)議注意!OneConnectProfile不是必須和HTTPProfile共用,也可以用于其他應(yīng)用協(xié)議。用于其他應(yīng)用協(xié)議的時候必須使用iRules編程來調(diào)用OneConnect在需要對長連接進行拆分處理的時候,也需要用OneConnectProfile49NAT和SNAT50SNAT的全稱51SecureNetworkAddressTranslationSNAT=NAT的工作模式520NATAddress:0SNAT的工作模式530SNATAddress:0NAT和SNAT之間的差別54NAT1比1接收所有發(fā)往NAT地址的連接所有的連接只是通過LTM的連接表管理,但是是無狀態(tài)的,連接不會被Timeout連接不能被鏡像SNAT多對一或者多對多拒絕所有發(fā)往SNAT地址的連接請求.連接通過LTM的連接表管理,有timeout設(shè)置連接可以被鏡像SNATAutoMap當(dāng)配置SNATAutoMap的時候,請求從那個VLAN發(fā)出去,則SNAT的源地址為VLAN上的SelfIP當(dāng)一個VLAN上有多個SelfIP存在的時候,SNAT的源地址是在多個SelfIP之間輪詢55SNATPool的工作模式SNATPool是提供了一個可用于SNAT源地址的列表BIGIP采用最小連接數(shù)的方式在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可以在兩臺設(shè)備之間鏡像SNAT對于TCPidleTimeout和UDPidleTimeout可以有獨立的設(shè)置59Monitor工作原理60Monitor

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論