• 沒有找到結果。

4.2 併行模擬

4.2.1 連線及登入

使用者用 GUI 連接網路模擬雲端系統。在系統架構中提到,Forwarder 為雲 端系統對外的出入閘口,GUI 與雲端內部元件的連線需透過 Forwarder 轉送。以 下說明 GUI 透過 Forwarder 與 Manager、File Manager 建立連線及轉送機制。

要使用雲端服務,使用者需先登入、通過認證,而認證是透過 Manager 進行,

因此 GUI 最初需先與 Manager 建立連線。如圖 4-1 所示,GUI 與 Manager 透過 Forwarder 建立連線的流程:

1. GUI 與 Forwarder 建立連線,傳送與 Manager 建立連線的要求。

2. Forwarder 為此連線產生一連線識別資料,此識別資料用於後面配對連線步 驟。因為 Forwarder 可能同時有許多連線需進行配對,需能識別每條連線。

我們以時間及一計數值作為識別資料。

3. Forwarder 透過與 Manager 間的控制用連線傳送連線要求,並將剛產生的識 別資料傳給 Manager。

4. Manager 主動連向 Forwarder、建立一條新的連線,此連線於橋接完成後將

26

視為與 GUI 的連線。

5. Forwarder fork 出子程序 Connector,子程序 Connector 會有父程序 Forwarder 所有的連線。Connector 為實際上進行轉送的程序。

6. Connector 依據兩邊的識別資料進行配對,關閉其他無關的連線,僅留下兩 條識別資料相同的連線。Forwarder 則關閉兩條識別資料相同的連線。

7. Connector 通知 GUI 及 Manager 橋接已完成。此後 GUI 將視原與 Forwarder 的連線為與 Manager 的連線,Manager 將視第 4 步中與 Forwarder 新建立的 連線為與 GUI 的連線。

8. 完成橋接後,Connector 僅作轉送,將 GUI 傳送來的資料送往 Manager、將 Manager 傳送來的資料送往 GUI。

圖 4-1、GUI 與 Manager 透過 Forwarder 建立連線

27

GUI 需要傳輸檔案或查詢資料時,會與 File Manager 建立連線以進行這些操 作。因為 File Manager 不像 Manager 與 Forwarder 間有一條控制連線,GUI 與 File Manager 的連線要求需透過 Manager 傳給 File Manager。因此,GUI 要與 File Manager 建立連線前必須先與 Manager 連線並通過登入認證。如圖 4-2 所示,GUI 與 File Manager 透過 Forwarder 建立連線的流程:

1. GUI 與 Forwarder 建立連線,傳送與 File Manager 建立連線的要求。

2. Forwarder 為此連線產生一連線識別資料,並將此識別資料回傳給 GUI。

3. GUI 傳送與 File Manager 建立連線的要求及連線識別資料給 Manager。

4. Manager 將連線識別資料傳送給 File Manager,要求 File Manager 向 Forwarder 建立連線。

5. File Manager 回應 Manager,表示有收到此要求。

6. File Manager 向 Forwarder 建立一連線並傳送連線識別資料。此連線識別資 料是第 2 步時 Forwarder 為 GUI 的連線產生的,我們透過將識別資料經由以 上步驟傳送至 File Manager 再傳給 Forwarder,用以配對 GUI 與 File Manager 的連線。

7. Forwarder fork 出子程序 Connector。Connector 為實際上進行轉送的程序。

8. Connector 依據識別資料進行配對,關閉其他無關的連線,僅留下兩條識別 資料相同的連線。Forwarder 則關閉兩條識別資料相同的連線。

9. Connector 通知 GUI 及 File Manager 橋接已完成。此後 GUI 將視原與 Forwarder 的連線為與 File Manager 的連線,File Manager 將視第 6 步中與 Forwarder 新建立的連線為與 GUI 的連線。

10. 完成橋接後,Connector 僅作轉送,將 GUI 傳送來的資料送往 File Manager、

將 File Manager 傳送來的資料送往 GUI。

圖 4-2 中 GUI 與 Manager 的連線實際上有 Connector 位於中間轉送,在此簡 化圖示表示。

28

圖 4-2、GUI 與 File Manager 透過 Forwarder 建立連線

雲端系統使用者的帳號及密碼儲存在資料庫中,我們以 MySQL 作為資料庫。

使用者透過 GUI 傳送帳號及密碼,透過上述之 Forwarder 轉送機制傳送至 Manager。Manager 以資料庫的資料驗證收到的帳號密碼是否正確,如正確則記 錄此連線由哪個使用者所使用,代表此連線已通過認證之連線。GUI 透過連線傳 送各種要求給 Manager 時,Manager 會檢查該連線是否已通過認證,是則執行相 應工作,否則拒絕 GUI 的要求。而 GUI 與 File Manager 連線的建立則需透過 Manager,Manager 只會為已通過認證的 GUI 建立此連線,因此 File Manager 可 不須再認證 GUI。

29 主機(host)、Switch、Router、無線 AP(Access Point)、擁有無線傳輸能力的主 機等。連線則可能是有線網路或各種無線網路,如 802.11n。

在 EstiNet 網路模擬器中,每個節點有一個或多個「Port」,此處 Port 是指節 點上的網路介面,而非 TCP、UDP 協定中的 Port 概念。每個 Port 上有一協定堆 疊(Protocol Stack),協定堆疊由許多協定模組(Protocol Module)組成,如 FIFO、

802.3 MAC。如背景中所述,協定模組是 EstiNet 網路模擬器中實際運作協定規 則的元件,封包進出時會依序經過這些協定模組的處理。在協定模組中有許多參 數可供使用者調整,如 FIFO 模組的最大佇列長度(Maximum Queue Length)。

使用者在傳送模擬工作時以 GUI 設置他想變動的網路參數,GUI 將使用者

1. G,<Global Variable Name>

此格式用於指定全域變數的名稱。

<Global Variable Name>為欲修改的全域變數名稱,如 RandomNumberSeed。

<Name>,<Setting>

<Name>,<Setting>

……