Nginx(二):Nginx的四層(L4)和七層(L7)負載均衡


OSI七層模型 和 TCP/IP四層模型

四層負載均衡 L4 Load Balancing

  四層負載均衡,主要通過報文中的目標地址和端口,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內部服務器,主要工作也就是轉發

  主要工作於處於OSI模型中間位置的傳輸層TRANSPORT LAYER),它主要處理消息的傳遞,而不管消息的內容。在互聯網上,TCP就是HTTP傳輸方式的四層協議(Layer 4 Protocol)。四層負載均衡只針對由上游服務發送和接收的網絡包,而並不檢查包內的具體內容是什么。四層負載均衡可以通過檢查TCP流中的前幾個包,從而決定是否限制路由。

 

(注意:沒有四層就沒有所謂的七層,當然還有二層三層負載均衡)

七層負載均衡( L7 Load Balancing

  七層負載均衡,也稱為“內容交換”,通過報文中的真正有意義的應用層內容,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內部服務器。

  主要工作於處於OSI模型頂層位置的應用層APPLICATION LAYER),它主要處理每條消息中的真正內容。在互聯網上,HTTP是網絡通訊中占據主導地位的七層協議(Layer 7 Protocol)。七層負載均衡在路由網絡傳輸時比四層負載均衡更加復雜和巧妙,特別適合像HTTP這種基於TCP傳輸的方式。 一個七層負載均衡器終止網絡傳輸並讀取消息中的內容。它可以基於消息中內容(比如URL或者Cookie中的信息)來做出負載均衡的決定。之后,七層負載均衡器建立一個新的TCP連接來選擇上游服務(或者再利用一個已經存在的TCP連接),通過 HTTP keepalives 的方式,並向這個服務發出請求。

 

應用場景

  從技術原理上看出,四層模式下這些SYN攻擊(DOS/DDOS攻擊)都會被轉發到后端的服務器上;而七層模式下這些SYN攻擊自然在負載均衡設備上就截止,不會影響后台服務器的正常運營。負載均衡設備可以在七層層面設定多種策略,過濾特定報文,例如SQL Injection等應用層面的特定攻擊手段,從應用層面進一步提高系統整體安全。

  現在的7層負載均衡,主要還是着重於應用HTTP協議,所以其應用范圍主要是眾多的網站或者內部信息平台等基於B/S開發的系統。 4層負載均衡則對應其他TCP應用,例如基於C/S開發的ERP等系統。

 

 參考:

 

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

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

 

MGW——美團點評高性能四層負載均衡

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM