• 沒有找到結果。

第五章 遍佈式虛擬區域網路(U-VLAN)的實作

5.2 軟體基本元件

5.2.2 虛擬網路卡管理員

圖20: 虛擬網路卡管理員架構

如圖 20 所示,為虛擬網路卡管理員得組成元件,包含有幾個重要的元件,GUI,

U-VLan module、VNIC control,其中 U-VLan module 是本系統的核心,其包含 Session Manager,Status Monitor、U-VLan protocol handler、Socket handler,每個元件都有該負責的 任務,下面將詳細介紹每個元件的功能以及流程。

z Graphical User Interface

[Status Monitor]

此元件是專門監控網路硬體以及通報的程式,它會週期性監控所有網路介面的狀 態,並及時通知 Session Manager 元件等,此元件也是和微軟作業系統的溝通橋樑,也就 是和微軟內的 IpHelper 交流,透過微軟提供的 API 了解所以網路介面的運作情況。

[U-VLan protocol handler]

此元件用來做資料封裝以及解封裝用的,因為 MN 以及 CN 會透過實體的網路作溝 通,而這中間的通訊會經過隧道 (Tunnel)的技術傳輸。此元件定義了一些簡單的標頭,

而這些標頭以文字字串為主,和 HTTP 的通訊協定相容,可以利用 HTTP 的通續協定傳 送,甚至是可以進階到 HTTPS 的加密。

[socket handler]

管理底層所有使用到的 socket,被其他元件所控制,此元件提供單純的 connect()、

send()、recv()、…等介面,讓 U-VLan protocol handler 直接傳送封包資料以及接收封包資 料,而不必考慮底層 socket 的建置,有點像是一個函式庫,供上層的元件使用。

[Session Manager]

此元件是整個虛擬網路卡管理員的核心程式,對於網路換手作一系列的動作,它主 要的目的就是維持本系統的虛擬網域可以正常通訊。簡單介紹一下流程,首先,它會透

過 Status Monitor 取得底層所有可用的網路介面,當知道有那些介面之後,選擇其中一

B: Session Manager 向 VNIC Controller 要求啟動虛擬網卡,並準備緩衝區暫存資料。

Z: VNIC Controller 對虛擬網卡下達一些控制指令。

C: Session Manager 向 Status Monitor 要目前實體網卡的運作狀態及本端可用的 IP。

Q: 透過 IpHelper 查詢上述要求。

D: 回報給 Session Manager

E: 對 socket handler 要求建立主要連線。

F: 提供使用者帳號以及密碼等認證資訊給 U-VLan Protocol Handler。

L: 透過 socket handler 所收送的封包,進行認證的動作。

E: Session Manager 要求 socket handle 建立備用的 socket 連線。

[介面斷線-換手]

DÎE

D: Status Monitor 偵測到有網路介面斷掉,也就是某個 IP 不能使用,便立即回報給 Session Manager。

E: 要求立即切斷所有使用該 IP 來通訊的 socket,並切換到備用的 socket 連線,如 果沒有備用的 socket 連線,就會以目前已知遠端所有的 IP 資訊為依據,嘗試建 立主要的 socket。當 socket 連線建立起來之後,便恢復原本通訊的狀態。

[介面連上線]

DÎFÎCÎXÎD ÎE

D: Status Monitor 偵測到有網路介面啟動,也就是本端多一個 IP 可以使用,便立即 回報給 Session Manager。

F: 要求把本端上所有的 IP 資訊通知遠端,讓遠端知道本端的所有 IP。

C: 請 Status Monitor 了解本端以及遠端所有 IP 的組合及連線狀況。

X: Status Monitor 著手處理 IP 組合的測試連線。

D: 回報可用的 IP 組合,也就是所有可用的路徑。

E: Session Manager 要求 socket handle 建立備用的 socket 連線。

第六章 實驗

設計好 Ubiquitous Virtual LAN Platform 後,接著測試本系統的效能。測試項目有二,

包含換手的延遲,以及用 ICMP 封包測量回應時間以了解本系統的 overhead。本章的實 驗結果說明,本系統能提供 Session Continuity 的網路環境、短的換手時間以及對系統並 不會有太大的 overhead。實驗如下說明之。

相關文件