在vs/nat的集群系統中,請求和響應的資料報文都需要通過負載排程器,當真實伺服器的數目在10臺和20臺之間時,負載排程器將成為整個集群系統的新瓶頸。大多數internet服務都有這樣的特點:請求報文較短而響應報文往往包含大量的資料。如果能將請求和響應分開處理,即在負載排程器中只負責排程請求而響應直接返回給客戶,將極大地提高整個集群系統的吞吐量。
ip隧道(ip tunneling)是將乙個ip報文封裝在另乙個ip報文的技術,這可以使得目標為乙個ip位址的資料報文能被封裝和**到另乙個ip位址。ip隧道技術亦稱為ip封裝技術(ip encapsulation)。ip隧道主要用於移動主機和虛擬私有網路(virtual private network),在其中隧道都是靜態建立的,隧道一端有乙個ip位址,另一端也有唯一的ip位址。
我們利用ip隧道技術將請求報文封裝**給後端伺服器,響應報文能從後端伺服器直接返回給客戶。但在這裡,後端伺服器有一組而非乙個,所以我們不可能靜態地建立一一對應的隧道,而是動態地選擇一台伺服器,將請求報文封裝和**給選出的伺服器。這樣,我們可以利用ip隧道的原理將一組伺服器上的網路服務組成在乙個ip位址上的虛擬網路服務。vs/tun的體系結構如圖3.3所示,各個伺服器將vip位址配置在自己的ip隧道裝置上。
圖3.3:vs/tun的體系結構
vs/tun的工作流程如圖3.4所示:它的連線排程和管理與vs/nat中的一樣,只是它的報文**方法不同。排程器根據各個伺服器的負載情況,動態地選擇一台伺服器,將請求報文封裝在另乙個ip報文中,再將封裝後的ip報文**給選出的伺服器;伺服器收到報文後,先將報文解封獲得原來目標位址為vip的報文,伺服器發現vip位址被配置在本地的ip隧道裝置上,所以就處理這個請求,然後根據路由表將響應報文直接返回給客戶。
圖3.4:vs/tun的工作流程
在這裡,請求報文的目標位址為vip,響應報文的源位址也為vip,所以響應報文不需要作任何修改,可以直接返回給客戶,客戶認為得到正常的服務,而不會知道是哪一台伺服器處理的。
在vs/tun中,響應報文根據伺服器的路由表直接返回給客戶,而不經過負載排程器,所以負載排程器只處於從客戶到伺服器的半連線中,vs/tun的tcp狀態遷移與vs/nat的不同。我們給出半連線的tcp有限狀態機,如圖3.5所示,圈表示狀態,箭頭表示狀態間的轉換,箭頭上的標識表示在當前狀態上收到該標識的輸入,遷移到下乙個狀態。vs/tun的tcp狀態遷移是按照半連線的tcp有限狀態機進行的。
圖3.5:半連線的tcp有限狀態機向上
通過IP隧道實現虛擬伺服器(VS TUN)
附件 大小45.14 kb 27.24 kb 23.23 kb 在vs nat的集群系統中,請求和響應的資料報文都需要通過負載排程器,當真實伺服器的數目在10臺和20臺之間時,負載排程器將成為整個集群系統的新瓶頸。大多數internet服務都有這樣的特點 請求報文較短而響應報文往往包含大量的資料。如...
ip隧道訪問伺服器群
一般來講,工作過程中,開發人員直接接觸伺服器是必然現象。乙個伺服器群不止1臺機器,成百上千都有可能。給每台機器都開闢乙個外網連線埠是很不現實的。採用vpn的方式比較麻煩,而採用ip隧道轉連的方式卻非常方便,只需要乙個中間伺服器充當路由即可。按照如下鏈結,配置上虛擬ip即可 這樣,本地有了乙個與伺服器...
通過直接路由實現虛擬伺服器(VS DR)
由 wensong 在 週日,2006 02 26 18 03 提交 跟vs tun方法相同,vs dr利用大多數internet服務的非對稱特點,負載排程器中只負責排程請求,而伺服器直接將響應返回給客戶,可以極大地提高整個集群系統的吞吐量。該方法與ibm的netdispatcher產品中使用的方法...