LVS三種模式分析(超詳細)


1、DR模式:(Direct Routing)直接路由模式

DR模式的網絡拓撲:

 

DR模式的工作過程:

1、當一個client發送一個WEB請求到VIP,LVS服務器根據VIP選擇對應的real-server,根據調度算法,在Pool中選擇一台Real-server。

     LVS在hash表中記錄該次連接,然后將client的請求包發給選擇的Real-server,最后選擇的Real-server把應答包直接傳給client;

2、當client繼續發包過來時,LVS根據剛才記錄的hash表的信息,將屬於此次連接的請求直接發到剛才選擇的Real-server上;

3、當連接中止或者超時,hash表中的記錄將被刪除。

DR模式的幾個細節:

1、DR和RS必須在相同的網段;

2、DR模式在轉發client的包時,只修改了包目的MAC地址為選定的Real-server的mac地址,

      如果LVS和Real-server在不同的廣播域內,那么Real-server就沒辦法接收到轉發的包。

3、DR上必須開啟路由轉發功能;

4、RS的網關不需要設置成DR(和NAT模式的區別)。

5、RS上需要禁用ARP通告,這樣,RS就會直接回復客戶端,而不是通過DR。

下面是mac地址的修改過程:

 

2、IP Tunneling(隧道)模式

IP Tunneling的拓撲圖

IP Tunneling的工作過程

1> client 發送請求包到LVS服務器的VIP上。

2> VIP按照算法選擇后端的一個Real-server,並將記錄一條消息到hash表中,然后將client的請求包封裝到一個新的IP包里,新IP包的目的IP是Real-server的IP,然后轉發給Real-server。

3> Real-server收到包后,解封裝,取出client的請求包,發現他的目的地址是VIP,而Real-server發現在自己的lo:0口上有這個IP地址,於是處理client的請求,然后將relpy這個request包直接發給client。

4> 該client的后面的request包,LVS直接按照hash表中的記錄直接轉發給Real-server,當傳輸完畢或者連接超時,那么將刪除hash表中的記錄。

IP Tunneling的幾個細節問題

IP封包的過程:(如圖)

IP Tunneling的幾個細節問題

IP封包的過程:DR和RS不需要在一個網段,所以適用於跨機房的場景。

由於通過IP Tunneling 封裝后,封裝后的IP包的目的地址為Real-server的IP地址,那么只要Real-server的地址能路由可達,Real-server在什么網絡里都可以,這樣可以減少對於公網IP地址的消耗,但是因為要處理IP Tunneling封裝和解封裝的開銷,那么效率不如DR模式。

Real-server的系統設置:

由於需要Real-server支持IP Tunneling,所以設置與DR模式不太一樣,LVS不需要設置tunl設備,LVS本身可以進行封裝 , 需要配置VIP在tunl設備上。

ARP問題:

如果LVS和Real-server不在一個網絡內,不需要處理ARP問題,如果在相同網絡,那么處理方法和DR模式一樣,但是如果一樣,那么你的方案就錯了,因為此時DR模式完全可以滿足你的需求,而且更加高效。

內核的包轉發:

IP Tunneling模式不需要LVS開啟ip_forward功能。

 

NAT(網絡地址轉換)模式

NAT模式的拓撲圖

NAT模式的工作過程:

1> client發送request到LVS的VIP上,VIP選擇一個Real-server,並記錄連接信息到hash表中,然后修改client的request的目的IP地址為Real-server的地址,將請求發給Real-server;

2> Real-server收到request包后,發現目的IP是自己的IP,於是處理請求,然后發送reply給LVS;

3> LVS收到reply包后,修改reply包的的源地址為VIP,發送給client;

4> 從client來的屬於本次連接的包,查hash表,然后發給對應的Real-server。

5> 當client發送完畢,此次連接結束或者連接超時,那么LVS自動從hash表中刪除此條記錄。

NAT模式的幾個細節問題

 

1、后端RS和DR在同一個網絡環境中,且RS的網關必須設定為DR;

2、NAT的初衷就是為了隱藏內部IP和節省公網IP

3、開啟路由轉發功能

 

總結-三種模式的適用場景及局限性

模式 適用場景 瓶頸或局限性
NAT

1、公網IP少

2、需要隱藏內部IP(比如游戲的登錄服務器)

1、DR需要承擔所有轉發功能,所以瓶頸在DS上
DR

1、為了解決NAT模式的瓶頸,DR模式采用二層幀重寫,提高效率

1、DS承擔二層幀重寫工作,當規模非常大時,DS會有瓶頸,但是如果DS足夠強勁,問題不是很大。

2、由於DR模式是通過重寫二層幀的方式,所以DR和DS必須在同一網絡內,所以DR模式下無法跨網段。

TUNL 1、為了解決DR模式無法跨網段的問題,DR采用IP層二次封裝模式進行解決 1、因為DS需要進行IP層二次封裝,所以會犧牲效率,在效率上會低於DR模式,但是可以跨網段。


免責聲明!

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



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