四七層負載均衡的區別

大雄45發表於2022-06-26
導讀 我們常說的四層負載均衡與七層負載均衡,指的就是在這個 OSI 模型的哪一層進行請求轉發。因此要弄懂這個問題,我麼你需要先弄懂 OSI 模型。

學過計算機網路的同學都知道,我們工作、生活所使用的網際網路,其實是通過一個網路模型來進行資料傳輸的,這個網路模型叫做:OSI 模型(Open Systems Interconnection model)。

而我們常說的四層負載均衡與七層負載均衡,指的就是在這個 OSI 模型的哪一層進行請求轉發。因此要弄懂這個問題,我麼你需要先弄懂 OSI 模型。

OSI 模型

計算機網路 OSI 模型(Open Systems Interconnection model)是一種概念模型,它將電信或計算系統通訊功能標準化,而不考慮其內部結構或技術。OSI 模型可以分為七層,如下圖所示。

四七層負載均衡的區別四七層負載均衡的區別

通過 OSI 七層模型,我們就可以將資料從計算機的軟體,通過網線傳送出去,最終被另一臺電腦接收。

四層負載均衡

四層負載均衡,指的是工作在 OSI 的第四層,即傳輸層,其通過 IP + 埠的方式進行路由轉發。其具體實現方式為:通過報文中的 IP 地址和埠,再加上負載均衡裝置所採用的負載均衡演算法,最終確定選擇後端哪臺下游伺服器。

以 TCP 為例,客戶端向負載均衡傳送 SYN 請求建立第一次連線。通過配置的負載均衡演算法選擇一臺後端伺服器,並且將報文中的 IP 地址資訊修改為後臺伺服器的 IP 地址資訊,因此 TCP 三次握手連線是與後端伺服器直接建立起來的。

常見的四層負載均衡裝置有:F5、LVS 等。

七層負載均衡

七層負載均衡,指的是工作在 OSI 的第七層,即應用層,其一般是基於請求 URL 地址的方式進行代理轉發。七層服務均衡在應用層選擇伺服器,只能先與負載均衡裝置進行 TCP 連線,然後負載均衡裝置再與後端伺服器建立另外一條 TCP 連線通道。因此,七層裝置在網路效能損耗會更多一些。

常見的七層負載均衡裝置有:Nginx 等。

總結

對比一下,它們之間主要的異同:

工作層級不同。四層負載均衡工作在傳輸層,七層負載均衡工作在應用層。

建立連線不同。四層負載均衡,客戶端直接與後端伺服器建立連線,七層負載均衡則作為中間使用者與上下游建立連線。

效率不同。四層負載均衡相對效率較高,七層負載均衡效率較低。

靈活性方面。七層負載均衡可以做更多的改造,例如可以對流量進行清洗,避免 DDOS 攻擊。而四層負載均衡,由於是客戶端與後端伺服器直連,負載均衡裝置無法介入。

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2902842/,如需轉載,請註明出處,否則將追究法律責任。

相關文章