四层和七层交换技术-loadbalance
1 四層交換技術(shù)簡(jiǎn)介
我們知道,二層交換機(jī)是根據(jù)第二層數(shù)據(jù)鏈路層的MAC地址和通過站表選擇路由來完成端到端的數(shù)據(jù)交換的。三層交換機(jī)是直接根據(jù)第三層網(wǎng)絡(luò)層IP地址來完成端到端的數(shù)據(jù)交換的。
四 層交換機(jī)不僅可以完成端到端交換,還能根據(jù)端口主機(jī)的應(yīng)用特點(diǎn),確定或限制它的交換流量。簡(jiǎn)單地說,四層交換機(jī)基于傳輸層數(shù)據(jù)包的交換過程,是一類基于 TCP/IP協(xié)議應(yīng)用層的用戶應(yīng)用交換需求的新型局域網(wǎng)交換機(jī)。四層交換機(jī)支持TCP/UDP第四層以下的所有協(xié)議,可識(shí)別至少80字節(jié)的數(shù)據(jù)包包頭長 度,可根據(jù)TCP/UDP端口號(hào)來區(qū)分?jǐn)?shù)據(jù)包的應(yīng)用類型,從而實(shí)現(xiàn)應(yīng)用層的訪問控制和服務(wù)質(zhì)量的保證。所以,與其說四層交換機(jī)是硬件網(wǎng)絡(luò)設(shè)備,還不如說它 是軟件網(wǎng)絡(luò)管理系統(tǒng)。也就是說,四層交換機(jī)是一類以軟件技術(shù)為主、以硬件技術(shù)為輔的網(wǎng)絡(luò)管理交換設(shè)備。
2 四層交換機(jī)工作原理
OSI 模型的第四層是傳輸層,負(fù)責(zé)端對(duì)端通信,即在網(wǎng)絡(luò)源和目標(biāo)系統(tǒng)之間協(xié)調(diào)通信。在IP協(xié)議棧中這是TCP和UDP所在的協(xié)議層。在第四層中,TCP和UDP 標(biāo)題包含端口號(hào),它們可惟一區(qū)分每個(gè)數(shù)據(jù)包包含哪些應(yīng)用協(xié)議(例如HTTP、FTP等)。端點(diǎn)系統(tǒng)利用這種信息來區(qū)分包中的數(shù)據(jù)。
TCP/UDP 端口號(hào)提供的附加信息可以為網(wǎng)絡(luò)交換機(jī)利用,這是四層交換的基礎(chǔ)。具有第四層功能的交換機(jī)能夠起到與服務(wù)器相連接的“虛擬IP(VIP)”前端的作用。每 臺(tái)服務(wù)器和支持單一或通用應(yīng)用的服務(wù)器組都配置一個(gè)VIP地址。這個(gè)VIP地址被發(fā)送出去,并在域名系統(tǒng)上注冊(cè)。
在發(fā)出一個(gè)服務(wù)請(qǐng)求時(shí),四層交換機(jī)通過判定TCP來識(shí)別一次會(huì)話的開始。然后利用復(fù)雜的算法來確定處理這個(gè)請(qǐng)求的最佳服務(wù)器。一旦做出決定,交換機(jī)就將會(huì)話與一個(gè)具體的IP地址聯(lián)系在一起,并用該服務(wù)器的真正IP地址來代替服務(wù)器上的VIP地址。
3 四層交換機(jī)的主要技術(shù)
四層交換機(jī)的主要技術(shù)如下:
包 過濾/安全控制:在大多數(shù)路由器上,采用第四層信息定義過濾規(guī)則已經(jīng)成為默認(rèn)標(biāo)準(zhǔn),所以有許多路由器被用做包過濾防火墻,在這種防火墻上不僅能夠配置允許 或禁止IP子網(wǎng)間的連接,還可以控制指定TCP/UDP端口的通信。和傳統(tǒng)的基于軟件的路由器不一樣,四層交換區(qū)別于三層交換的主要不同之處,就在于這種 過濾能力是在ASIC專用高速芯片中實(shí)現(xiàn)的,從而使這種安全過濾控制機(jī)制可以全線速進(jìn)行,極大提高了包過濾速率。
服務(wù)質(zhì)量:在網(wǎng)絡(luò)系統(tǒng)的層次結(jié)構(gòu)中,TCP/UDP第四層信息往往用于建立應(yīng)用級(jí)通信優(yōu)先權(quán)限。如果沒有四層交換概念,服務(wù)質(zhì)量/服務(wù)級(jí)別就必然受制于第二層和第三層提供的信息,如MAC地址、交換端口、IP子網(wǎng)或VLAN等。
服務(wù)器負(fù)載均衡:四層交換機(jī)所支持的服務(wù)器負(fù)載均衡方
式 是將附加有負(fù)載均衡服務(wù)的IP地址,通過不同的物理服務(wù)器組成一個(gè)集,共同提供相同的服務(wù),并將其定義為一個(gè)單獨(dú)的虛擬服務(wù)器。這個(gè)虛擬服務(wù)器是一個(gè)有單 獨(dú)IP地址的邏輯服務(wù)器,用戶數(shù)據(jù)流只需指向虛擬服務(wù)器的IP地址,而不直接和物理服務(wù)器的真實(shí)IP地址進(jìn)行通信。只有通過交換機(jī)執(zhí)行的網(wǎng)絡(luò)地址轉(zhuǎn)換 (NAT)后,未被注冊(cè)IP地址的服務(wù)器才能獲得被訪問的能力。
主機(jī)備用連接:主機(jī)備用連接為端口設(shè)備提供了冗余連接,從而在交換機(jī)發(fā)生故障時(shí)能 有效保護(hù)系統(tǒng)。這種服務(wù)允許定義主備交換機(jī),同虛擬服務(wù)器定義一樣,它們有相同的配置參數(shù)。由于四層交換機(jī)共享相同的MAC地址,備份交換機(jī)接收和主交換 機(jī)全部一樣的數(shù)據(jù)。這使得備份交換機(jī)能夠監(jiān)視主交換機(jī)服務(wù)的通信內(nèi)容。
統(tǒng)計(jì):通過查詢第四層數(shù)據(jù)包,四層交換機(jī)能夠提供更詳細(xì)的統(tǒng)計(jì)記錄。因?yàn)楣?理員可以收集到更詳細(xì)的哪一個(gè)IP地址在進(jìn)行通信的信息,甚至可根據(jù)通信中涉及到哪一個(gè)應(yīng)用層服務(wù)來收集通信信息。當(dāng)服務(wù)器支持多個(gè)服務(wù)時(shí),這些統(tǒng)計(jì)對(duì)于 考查服務(wù)器上每個(gè)應(yīng)用的負(fù)載尤其有效。增加的統(tǒng)計(jì)服務(wù)對(duì)于使用交換機(jī)的服務(wù)器負(fù)載平衡服務(wù)連接同樣十分有用。
4 七層交換技術(shù)簡(jiǎn)介
七 層交換機(jī)的智能性能夠?qū)λ袀鬏斄骱蛢?nèi)容的控制。由于可以自由地完全打開傳輸流的應(yīng)用層和表示層,仔細(xì)分析其中的內(nèi)容,因此可根據(jù)應(yīng)用的類型而非僅僅根據(jù) IP和端口號(hào)做出更智能的負(fù)載均衡決定。這就可以不僅僅基于URL做出全面的負(fù)載均衡決策,而且還能根據(jù)實(shí)際的應(yīng)用類型做出決策。這將使用戶可以識(shí)別視頻 會(huì)議流,并根據(jù)這一信息做出相應(yīng)的負(fù)載均衡決策。
這類具有第七層認(rèn)知交換機(jī)的部分功能保證不同類型的傳輸流可以被賦予不同的優(yōu)先級(jí)。具有第七層認(rèn)知的設(shè)備不依賴路由設(shè)備或應(yīng)用來識(shí)別差別服務(wù)(Diff-Serv)、通用開放策略服務(wù)或其他服務(wù)質(zhì)量協(xié)議的傳輸流。這就使用戶不必依賴應(yīng)用或網(wǎng)絡(luò)設(shè)備來達(dá)到這些目的。
在Internet網(wǎng)、Intranet網(wǎng)和Extranet網(wǎng),七層交換機(jī)都大有施展抱負(fù)的用武之地。比如企業(yè)到消費(fèi)者的電子商務(wù)、聯(lián)機(jī)客戶支持,人事規(guī)劃與建設(shè)、市場(chǎng)銷售自動(dòng)化,客戶服務(wù),防火墻負(fù)載均衡,內(nèi)容過濾和帶寬管理等。
=============================
代理模式和透明模式的比較
在內(nèi)容網(wǎng)絡(luò)中,負(fù)載均衡器或XML交換機(jī)根據(jù)從應(yīng)用層獲取的各類詳盡信息在Web服務(wù)器間智能地分配流量。第7層負(fù) 載均衡器與老式的第4層負(fù)載均衡器最本質(zhì)的區(qū)別在于,直接利用HTTP頭信息、SSL SESSION ID、cookie以及URI這些第7層(應(yīng)用層)數(shù)據(jù)。盡管第4層負(fù)載均衡器也能像第7層負(fù)載均衡器一樣在多個(gè)Web服務(wù)器間分配內(nèi)容,但它基于端口的 流量分配方式使服務(wù)器群中的每個(gè)Web服務(wù)器都必須再生全部網(wǎng)頁內(nèi)容,顯得很不經(jīng)濟(jì)。
兩種工作模式
第7層負(fù)載均衡器有2種配置模 式:代理模式(Proxy)和透明模式(transparent)。代理模式是指負(fù)載均衡器作為兩個(gè)或多個(gè)Web服務(wù)器間的服務(wù)中介,所有發(fā)向網(wǎng)站的服務(wù) 請(qǐng)求首先來到負(fù)載均衡器,由負(fù)載均衡器決定如何分配這些請(qǐng)求。在透明模式下,負(fù)載均衡器不斷偵聽網(wǎng)絡(luò),只對(duì)事先指定的某些特定服務(wù)的請(qǐng)求做出處理。
單路并聯(lián)和雙路并聯(lián)拓?fù)浣Y(jié)構(gòu)
在代理模式下,負(fù)載均衡器是Web服務(wù)器群的唯一入口,集中進(jìn)行安全管理、統(tǒng)一處理登錄請(qǐng)求。負(fù)載均衡器能夠始終對(duì)多個(gè)服務(wù)器開放多個(gè)TCP會(huì)話,這樣,負(fù)載均衡器在與每個(gè)服務(wù)器第二次交換TCP握手信號(hào)時(shí)就不再有延遲,所以,代理模式比透明模式在性能上要略勝一籌。
大多數(shù)的負(fù)載均衡器和XML交換機(jī)都支持代理模式。Netscaler公司的Request Switch 9000系列交換機(jī)在代理模式下工作時(shí),既能進(jìn)行HTTP識(shí)別,又能進(jìn)行TCP會(huì)話,因此,能夠利用既有的TCP連接處理HTTP1.1類型的服務(wù)請(qǐng)求。
如果要處理運(yùn)行在Web上的SSL加解密會(huì)話,負(fù)載均衡器一般來說必須工作在代理模式下。負(fù)載均衡器能夠自行對(duì)數(shù)據(jù)解密,也可以使用第三方的相關(guān)產(chǎn)品, 解密后負(fù)載均衡器對(duì)流量進(jìn)行檢測(cè),并做出路由選擇,最后,用SSL把自己對(duì)客戶端的響應(yīng)進(jìn)行加密。有些負(fù)載均衡器也可在透明方式下進(jìn)行上述工作,但那樣會(huì) 產(chǎn)生更多的延遲。
串聯(lián)式拓?fù)浣Y(jié)構(gòu)
代理模式和透明模式的最顯著區(qū)別是:在代理模式下,由負(fù)載均衡器結(jié)束會(huì)話,而在透明模式下,則由Web服務(wù)器結(jié)束會(huì)話。無論是哪種模式,都由負(fù)載均衡器決定由哪一臺(tái)服務(wù)器處理客戶端的請(qǐng)求。
三種布局方式
負(fù)載均衡器在網(wǎng)絡(luò)中有三種布局方式,即:串聯(lián)式(INLINE)、單路并聯(lián)式(ONE-ARM)和雙路并聯(lián)式(SIDE-ARM)。
串聯(lián)式:負(fù)載均衡器位于路由器和交換機(jī)之間,路由器和交換機(jī)分別與服務(wù)器群相連。這種拓?fù)浣Y(jié)構(gòu)的缺點(diǎn)顯而易見:不管負(fù)載均衡器是否需要對(duì)某些流量進(jìn)行檢測(cè),所有流量都要流經(jīng)負(fù)載均衡器。如果該負(fù)載均衡器吞吐量較低,整個(gè)網(wǎng)絡(luò)的性能就會(huì)變差。
在代理模式下,將負(fù)載均衡器進(jìn)行串聯(lián)配置是非常簡(jiǎn)單的,但在流量較大的網(wǎng)絡(luò)中,這種配置需要另加一臺(tái)負(fù)載均衡器作為備份,以防單點(diǎn)故障的發(fā)生。
單路并聯(lián)和雙路并聯(lián)結(jié)構(gòu):負(fù)載均衡器配置在交換機(jī)的旁邊,而不是夾在它們中間。單路并聯(lián)和雙路并聯(lián)的區(qū)別在于負(fù)載均衡器和交換機(jī)的接口數(shù)不同。單路并聯(lián) 只有一個(gè)接口,雙路并聯(lián)則有兩個(gè)。至于究竟采用單路并聯(lián)還是雙路并聯(lián),應(yīng)該事先對(duì)通過交換機(jī)的流量進(jìn)行評(píng)估。流量大,雙路并聯(lián)是最佳選擇;流量小,單路并 聯(lián)也就夠了。
負(fù)載均衡的備份問題
由于負(fù)載均衡器通常是Web服務(wù)器群的唯一入口,因此,部署負(fù)載均衡器之前,必須首先考慮好負(fù)載 均衡器的備份問題。當(dāng)主負(fù)載均衡器出現(xiàn)故障時(shí),備份負(fù)載均衡器能立即接管工作。備份負(fù)載均衡器的配置方式有活動(dòng)式(active-active)和旁路式 (active-standby)兩種。在活動(dòng)式配置下,兩臺(tái)負(fù)載均衡器同時(shí)處理來自同一IP地址的服務(wù)請(qǐng)求,因此,除了在出現(xiàn)故障時(shí)響應(yīng)延遲極短外,在 平時(shí),Web服務(wù)器還能夠同時(shí)處理更多的客戶請(qǐng)求。在旁路式配置下,主負(fù)載均衡器工作,備份負(fù)載均衡器僅在主負(fù)載均衡器出現(xiàn)故障時(shí)啟動(dòng),啟動(dòng)時(shí)占用主負(fù)載 均衡器的IP地址和MAC地址。備份負(fù)載均衡器從故障發(fā)生開始到接管服務(wù)一般要有幾秒鐘的延遲,在這期間,客戶的服務(wù)請(qǐng)求就會(huì)遭到拒絕。
===================================================
七層設(shè)備除了F5還有很多,在七層上做負(fù)載均衡的軟件業(yè)很多,比如大名鼎鼎的HaProxy,比如配上第三方工具的LVS,甚至因?yàn)樨?fù)載均衡的重要 性,很多具有前瞻性的Web服務(wù)器開始提供這樣的功能,比如nginx,比如light httpd,nginx的七層負(fù)載均衡實(shí)際上還是很不完善的,當(dāng)后端代理一臺(tái)機(jī)器死掉后,nginx還會(huì)發(fā)送請(qǐng)求給這個(gè)機(jī)器,這個(gè)機(jī)器不處理,那么 nginx就會(huì)一直等待超時(shí),在超時(shí)后再將請(qǐng)求分配給其他的機(jī)器,在流量大時(shí)會(huì)很影響性能,造成一定程度的連接堆積甚至堵塞,nginx的負(fù)載均衡算法也 相對(duì)少很多,沒有haproxy和LVS多,當(dāng)然后者是專業(yè)負(fù)載均衡軟件。
靜態(tài)文件緩存也有很多,比如不朽的squid,比如最近兩年很火的varnish,甚至號(hào)稱比squid更快速更精準(zhǔn)的nginx的模塊 ncache,varnish使用的Visual Page Cache技術(shù)能夠顯著降低內(nèi)存和磁盤的交換次數(shù),使系統(tǒng)利用率更高,我沒有在百萬級(jí)以上環(huán)境檢測(cè)過varnish,很多人說varnish不是足夠的穩(wěn) 定,我測(cè)試的時(shí)候沒有發(fā)生什么問題。
靜態(tài)文件緩存一般都不止一臺(tái),我一直推崇使用七層負(fù)載均衡來設(shè)計(jì)靜態(tài)緩存架構(gòu),因?yàn)榭梢越档椭貜?fù)率,降低重復(fù)率自然是提高利用率。URL HASH能夠很好的解決緩存浪費(fèi)的情況,比如用戶頭像放在一臺(tái)機(jī)器上,模板中的小文件放在另外一臺(tái)機(jī)器上,利用七層負(fù)載均衡就很容易讓頭像的請(qǐng)求命中頭像 服務(wù)器,模板請(qǐng)求命中模板緩存服務(wù)器,避免了三層或者四層負(fù)載均衡重復(fù)緩存導(dǎo)致的硬件利用率低下問題。而且服務(wù)單一,新切換的緩存機(jī)器,很容易重新緩存 滿。
七層負(fù)載均衡和四層負(fù)載均衡相比,最大的缺點(diǎn)就是沒有四層的負(fù)載能力高,Haproxy據(jù)說能跑到40萬并發(fā),LVS有幾百萬,這些都是理論上的數(shù)據(jù),真的跑到40萬的時(shí)候,服務(wù)器網(wǎng)卡早就掛了。
總結(jié)
以上是生活随笔為你收集整理的四层和七层交换技术-loadbalance的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 命令集锦
- 下一篇: Ubuntn删除软件