一、四層負載均衡(L4 proxy)
四層負載均衡工作在OSI模型的傳輸層,由于在傳輸層,只有TCP/UDP協(xié)議,這兩種協(xié)議中除了包含源IP、目標IP以外,還包含源端口號及目的端口號。四層負載均衡服務(wù)器在接受到客戶端請求后,以后通過修改數(shù)據(jù)包的地址信息(IP+端口號)將流量轉(zhuǎn)發(fā)到應(yīng)用服務(wù)器。
主要工作于處于OSI模型中間位置的傳輸層( transport layer ),它主要處理消息的傳遞,而不管消息的內(nèi)容。在互聯(lián)網(wǎng)上,TCP就是HTTP傳輸方式的四層協(xié)議( Layer 4 Protocol )。四層負載均衡只針對由上游服務(wù)發(fā)送和接收的網(wǎng)絡(luò)包,而并不檢查包內(nèi)的具體內(nèi)容是什么。四層負載均衡可以通過檢查TCP流中的前幾個包,從而決定是否限制路由。
二、七層負載均衡(L7 proxy)
七層負載均衡工作在OSI模型的應(yīng)用層,應(yīng)用層協(xié)議較多,常用http、radius、dns等。七層負載就可以基于這些協(xié)議來負載。這些應(yīng)用層協(xié)議中會包含很多有意義的內(nèi)容。比如同一個Web服務(wù)器的負載均衡,除了根據(jù)IP加端口進行負載外,還可根據(jù)七層的URL、瀏覽器類別、語言來決定是否要進行負載均衡。
主要工作于處于OSI模型頂層位置的應(yīng)用層( application layer ),它主要處理每條消息中的真正內(nèi)容。在互聯(lián)網(wǎng)上,HTTP是網(wǎng)絡(luò)通訊中占據(jù)主導(dǎo)地位的七層協(xié)議( Layer 7 Protocol )。七層負載均衡在路由網(wǎng)絡(luò)傳輸時比四層負載均衡更加復(fù)雜和巧妙,特別適合像HTTP這種基于TCP傳輸?shù)姆绞健?一個七層負載均衡器終止網(wǎng)絡(luò)傳輸并讀取消息中的內(nèi)容。它可以基于消息中內(nèi)容( 比如URL或者cookie中的信息 )來做出負載均衡的決定。之后,七層負載均衡器建立一個新的TCP連接來選擇上游服務(wù)并向這個服務(wù)發(fā)出請求。
三、負載均衡分類
1、二層負載均衡
負載均衡服務(wù)器對外依然提供一個VIP(虛IP),集群中不同的機器采用相同IP地址,但是機器的MAC地址不一樣。當負載均衡服務(wù)器接受到請求之后,通過改寫報文的目標MAC地址的方式將請求轉(zhuǎn)發(fā)到目標機器實現(xiàn)負載均衡。
2、三層負載均衡
和二層負載均衡類似,負載均衡服務(wù)器對外依然提供一個VIP(虛IP),但是集群中不同的機器采用不同的IP地址。當負載均衡服務(wù)器接受到請求之后,根據(jù)不同的負載均衡算法,通過IP將請求轉(zhuǎn)發(fā)至不同的真實服務(wù)器。
3、四層負載均衡
四層負載均衡工作在OSI模型的傳輸層,由于在傳輸層,只有TCP/UDP協(xié)議,這兩種協(xié)議中除了包含源IP、目標IP以外,還包含源端口號及目的端口號。四層負載均衡服務(wù)器在接受到客戶端請求后,以后通過修改數(shù)據(jù)包的地址信息(IP+端口號)將流量轉(zhuǎn)發(fā)到應(yīng)用服務(wù)器。
4、七層負載均衡
七層負載均衡工作在OSI模型的應(yīng)用層,應(yīng)用層協(xié)議較多,常用http、radius、dns等。七層負載就可以基于這些協(xié)議來負載。這些應(yīng)用層協(xié)議中會包含很多有意義的內(nèi)容。比如同一個Web服務(wù)器的負載均衡,除了根據(jù)IP加端口進行負載外,還可根據(jù)七層的URL、瀏覽器類別、語言來決定是否要進行負載均衡。
延伸閱讀1:負載均衡
負載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價有效透明的方法擴展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。負載均衡(Load Balance)其意思就是分攤到多個操作單元上進行執(zhí)行,例如Web服務(wù)器、FTP服務(wù)器、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器等,從而共同完成工作任務(wù)。