實現虛擬網絡服務的主要技術,指出IP負載均衡技術是在負載調度器的實現技術中效率最高的。
在已有的IP負載均衡技術中:
1)有通過網絡地址轉換(Network Address Translation)將一組服務器構成一個高性能的、高可用的虛擬服務器,我們稱之為VS/NAT技術(Virtual Server via Network Address Translation)。
2)在分析VS/NAT的缺點和網絡服務的非對稱性的基礎上,我們提出了通過IP隧道實現虛擬服務器的方法VS/TUN (Virtual Server via IP Tunneling)
3)通過直接路由實現虛擬服務器的方法VS/DR(Virtual Server via Direct Routing)。
它們可以極大地提高系統的伸縮性。VS/NAT、VS/TUN和VS/DR技術是LVS集群中實現的三種IP負載均衡技術。
第一種模式
VS/NAT技術(Virtual Server via Network Address Translation)
VS/DR(Virtual Server via Direct Routing)








圖四
client向負載均衡服務器發送一個CIP_VIP形式的數據包,之后發到一個負載均衡服務器,被負載均衡服務器查看自己的VIP和發過來的封裝成的數據包CIP_VIP去判斷是否接收,。之后被具體的負載均衡服務器接收之后,就會均衡服務器中的DIP中記錄的realserver中的所有的mac地址(具體的這些mac地址是之前負載均衡服務器和realserver相互交互的時候記錄保存下來的mac地址)之后均衡服務器會將CIP_VIP這個從客戶端收到的數據包包裝一個含有realserver的mac地址的層,之后就會將這個再次的包裝一層的數據包發給相應的mac地址的realserver服務器,之后的過程,之后realserver端直接根據收到的CIP_VIP 在內存中建立一個realserver里面存在的socket(這個可以在linux中使用netstat -natp)去查看現階段的這台服務器建立的所有的scoket連接,其中由於從客戶端收到了CIP_VIP 的請求,所以會建立一個CIP:PORT VIP:PORT的socket連接,之后這個服務器端包裝好想要返回給客戶端的數據包之后,就會直接的去根據以前建立的CIP:PORT VIP:PORT的socket連接,直接走自己身上有的PIP(public ip)直接的發送數據包到之前發送請求給這個realserver的客戶端,這樣的話就會避免了比如客戶端下載東西對應的服務器上傳東西,上傳的速度就會大大的提升
具體的圖中三個VIP是完全的一樣的,只是realserver中的vip是不會暴露在公共下的,只是自己知道,用於到時候realserver收到的包裝有mac層的數據包拆開之后,見到里面的CIP_VIP中的vip是自己內部的vip,這時這個realserver才會真正的一次收到客戶端發過來的CIP_VIP數據包,----------終於完成了一次數據包的client---->server的傳輸,之后
返回的數據包一般直接是之前建立的CIP:PORT VIP:PORT的socket連接,直接走自己身上有的PIP(public ip)直接的發送數據包到之前發送請求給這個realserver的客戶端,這樣的話數據包中的很多的IO限制就會解除掉了。


第三模式:
VS/TUN (Virtual Server via IP Tunneling)
又稱隧道模式
也就是由負載均衡服務器到realserver之間的傳輸變成了:
負載均衡服務器將CIP_VIP這個包在外包一層DIP_RIP(這個是由負載均衡服務器到realserver的一個數據包)用這個去包裝之前的那個CIP_VIP,直接走隧道到realserver
之后realserver返回客戶端可以走隧道返回或者走pip---->一個運營商----->client
具體的負載均衡的實現見下節----LVS
原創文章:轉載請注明作者及出處!