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