首頁>Club>
LVS的NAT/TUN/DR工作模式具體怎麼執行?
15
回覆列表
  • 1 # 十點段子

    LVS的三種工作模式:

    1)VS/NAT模式(Network address translation)

    2)VS/TUN模式(tunneling)

    3)DR模式(Direct routing)

    1、NAT模式-網路地址轉換

    Virtualserver via Network address translation(VS/NAT)

    這個是透過網路地址轉換的方法來實現排程的。首先排程器(LB)接收到客戶的請求資料包時(請求的目的IP為VIP),根據排程演算法決定將請求傳送給哪個後端的真實伺服器(RS)。然後排程就把客戶端傳送的請求資料包的目標IP地址及埠改成後端真實伺服器的IP地址(RIP),這樣真實伺服器(RS)就能夠接收到客戶的請求資料包了。真實伺服器響應完請求後,檢視預設路由(NAT模式下我們需要把RS的預設路由設定為LB伺服器。)把響應後的資料包傳送給LB,LB再接收到響應包後,把包的源地址改成虛擬地址(VIP)然後傳送回給客戶端。

    排程過程IP包詳細圖:

    原理圖簡述:

    1)客戶端請求資料,目標IP為VIP

    2)請求資料到達LB伺服器,LB根據排程演算法將目的地址修改為RIP地址及對應埠(此RIP地址是根據排程演算法得出的。)並在連線HASH表中記錄下這個連線。

    3)資料包從LB伺服器到達RS伺服器webserver,然後webserver進行響應。Webserver的閘道器必須是LB,然後將資料返回給LB伺服器。

    4)收到RS的返回後的資料,根據連線HASH表修改源地址VIP&目標地址CIP,及對應埠80.然後資料就從LB出發到達客戶端。

    5)客戶端收到的就只能看到VIP\DIP資訊。

    NAT模式優缺點:

    1、NAT技術將請求的報文和響應的報文都需要透過LB進行地址改寫,因此網站訪問量比較大的時候LB負載均衡排程器有比較大的瓶頸,一般要求最多之能10-20臺節點

    2、只需要在LB上配置一個公網IP地址就可以了。

    3、每臺內部的節點伺服器的閘道器地址必須是排程器LB的內網地址。

    4、NAT模式支援對IP地址和埠進行轉換。即使用者請求的埠和真實伺服器的埠可以不一致。

    2、TUN模式

    virtual server via ip tunneling模式:採用NAT模式時,由於請求和響應的報文必須透過排程器地址重寫,當客戶請求越來越多時,排程器處理能力將成為瓶頸。為了解決這個問題,排程器把請求的報文透過IP隧道轉發到真實的伺服器。真實的伺服器將響應處理後的資料直接返回給客戶端。這樣排程器就只處理請求入站報文,由於一般網路服務應答資料比請求報文大很多,採用VS/TUN模式後,集群系統的最大吞吐量可以提高10倍。

    VS/TUN的工作流程圖如下所示,它和NAT模式不同的是,它在LB和RS之間的傳輸不用改寫IP地址。而是把客戶請求包封裝在一個IP tunnel裡面,然後傳送給RS節點伺服器,節點伺服器接收到之後解開IP tunnel後,進行響應處理。並且直接把包透過自己的網路地址傳送給客戶不用經過LB伺服器。

    Tunnel原理流程圖:

    原理圖過程簡述:

    1)客戶請求資料包,目標地址VIP傳送到LB上。

    2)LB接收到客戶請求包,進行IP Tunnel封裝。即在原有的包頭加上IP Tunnel的包頭。然後傳送出去。

    3)RS節點伺服器根據IP Tunnel包頭資訊(此時就又一種邏輯上的隱形隧道,只有LB和RS之間懂)收到請求包,然後解開IP Tunnel包頭資訊,得到客戶的請求包並進行響應處理。

    4)響應處理完畢之後,RS伺服器使用自己的出公網的線路,將這個響應資料包傳送給客戶端。源IP地址還是VIP地址。(RS節點伺服器需要在本地迴環介面配置VIP,後續會講)

    3、DR模式(直接路由模式)

    Virtual server via direct routing (vs/dr)

    DR模式是透過改寫請求報文的目標MAC地址,將請求發給真實伺服器的,而真實伺服器響應後的處理結果直接返回給客戶端使用者。同TUN模式一樣,DR模式可以極大的提高集群系統的伸縮性。而且DR模式沒有IP隧道的開銷,對叢集中的真實伺服器也沒有必要必須支援IP隧道協議的要求。但是要求排程器LB與真實伺服器RS都有一塊網絡卡連線到同一物理網段上,必須在同一個區域網環境。

    DR模式是網際網路使用比較多的一種模式。

    DR模式原理圖:

    DR模式原理過程簡述:

    VS/DR模式的工作流程圖如上圖所示,它的連線排程和管理與NAT和TUN中的一樣,它的報文轉發方法和前兩種不同。DR模式將報文直接路由給目標真實伺服器。在DR模式中,排程器根據各個真實伺服器的負載情況,連線數多少等,動態地選擇一臺伺服器,不修改目標IP地址和目標埠,也不封裝IP報文,而是將請求報文的資料幀的目標MAC地址改為真實伺服器的MAC地址。然後再將修改的資料幀在伺服器組的區域網上傳送。因為資料幀的MAC地址是真實伺服器的MAC地址,並且又在同一個區域網。那麼根據區域網的通訊原理,真實復位是一定能夠收到由LB發出的資料包。真實伺服器接收到請求資料包的時候,解開IP包頭檢視到的目標IP是VIP。(此時只有自己的IP符合目標IP才會接收進來,所以我們需要在本地的迴環藉口上面配置VIP。另:由於網路介面都會進行ARP廣播響應,但叢集的其他機器都有這個VIP的lo介面,都響應就會衝突。所以我們需要把真實伺服器的lo介面的ARP響應關閉掉。)然後真實伺服器做成請求響應,之後根據自己的路由資訊將這個響應資料包傳送回給客戶,並且源IP地址還是VIP。

    DR模式小結:

    2、請求的報文經過排程器,而RS響應處理後的報文無需經過排程器LB,因此併發訪問量大時使用效率很高(和NAT模式比)

    4、RS主機需要繫結VIP地址在LO介面上,並且需要配置ARP抑制。

    5、RS節點的預設閘道器不需要配置成LB,而是直接配置為上級路由的閘道器,能讓RS直接出網就可以。

    6、由於DR模式的排程器僅做MAC地址的改寫,所以排程器LB就不能改寫目標埠,那麼RS伺服器就得使用和VIP相同的埠提供服務。

  • 中秋節和大豐收的關聯?
  • 小油扣魚怎麼做好吃?