• 沒有找到結果。

N-SDN 架構及控制器

第三章 方法:N-SDN

第三節 N-SDN 架構及控制器

N-SDN 架構入口節點(Ingress),如圖 6 所示。當興趣封包(Interest

Packet)傳至 N-SDN 入口節點時,會先向 CS 確認此節點有無興趣封包需求的資 料存在,若有,則回傳資料封包;若無,則會向 PIT 詢問是否有相同名稱的興 趣封包記錄存在,如果有,則佇列等待已轉發的興趣封包回傳,達到節省網路 流量產生的功能;若 PIT 中沒有紀錄存在,表示尚未有使用者請求這名稱的資 料,將此興趣封包的名稱及埠口紀錄下來,同時向 FIB 查詢潛在資料來源的轉 發出口。如果 FIB 中查詢不到能轉發的出口,興趣封包會傳至此節點上的 SDN 交換器(OVS)[5]上,交換器將會透過詢問控制器(Controller)或是根據流量 表(Flow Table)上規則(Rule)的方式,將興趣封包透過 MPLS 標籤(Label)

欄位包裝並且藉由標籤穿越 SDN 網域傳至潛在資料來源的 NDN 網域。然而,

當資料封包(Data Packet)回傳至入口節點時,資料封包的 MPLS 標籤會被移 除,此時會查詢 PIT 內的紀錄,將資料封包回傳給需求者,同時將資料儲存於

在,則會將此興趣封包的名稱及埠口紀錄,同時向 FIB 查詢潛在資料來源的轉 求並詢問興趣封包或資料封包該傳到何處,同時詢問控制器上的 Flow Monitor 哪個 N-SDN 節點或是哪條路徑比較順暢,最後由控制器發出指令及規則至交換

器(OVS)上,使封包能夠順暢的抵達目的地。

而 N-SDN 控制器(Controller)的架構流程由四個主要的部分組成:Label

Cache、Label Database、Label Table 和 Flow Monitor,如圖 8 所示。

Controller

1. Label Database:其功能主要用以儲存所有交換器(Switch)的相關資訊。根 據每台交換器上獨一無二的名稱(Datapath ID)及其 Domain 擁有資料的

Prefix 所建立,並同時設定 MPLS Label,使興趣封包能藉由 MPLS 標籤穿 過 SDN 網域。

2. Label Cache:其功能主要用於暫時的儲存已被請求過的興趣封包名稱以及曾 經發出此興趣封包請求的交換器名稱和 MPLS 標籤。當有來自於其他

N-SDN 請求相同封包名稱時,則不必再到 Label Database 查找潛在來源的目的

地及 MPLS 標籤,且能保證 Label Cache 中的目的地一定有符合興趣封包需 求的資料存在。

3. Label Table:主要功能用於紀錄興趣封包經過入口節點(Ingress)和出口節 點(Egress)的相關資訊。當興趣封包轉發經由入口節點時,將會紀錄其經 法:Periodic 和 Dynamic,透過定時的讓 Flow Monitor 偵測交換器上的流 量,當交換器發生忙碌或延遲時,使封包能夠重新詢問控制器,進而改變封 包傳遞的路徑,讓資料傳輸上更有效率。在第四章的第二節中,我們將針對 此 Flow Monitor 功能做更詳細的運作流程及介紹。

然而,在實驗中我們利用 OpenFlow 可以新增、刪除或修改封包標頭

(Header)的特性,直覺的「借用」MPLS Label 欄位來將 NDN 封包進行包裝;

若 MPLS Label 數量有不敷使用或與其他網路衝突亦或是其他狀況,我們也可以 使用或結合其他欄位讓封包在傳遞的過程中,在辨識上更加清楚明確,例如:

位於 Layer-2 的 VLAN ID 或是實驗專用的 Experimenter 的相關欄位。

相關文件