• 沒有找到結果。

資料命名網路透過軟體定義網路傳送封包

N/A
N/A
Protected

Academic year: 2021

Share "資料命名網路透過軟體定義網路傳送封包"

Copied!
50
0
0

加載中.... (立即查看全文)

全文

(1)國立台灣師範大學資訊工程研究所 碩士論文. 指導教授: 賀耀華 博士. 資料命名網路透過軟體定義網路傳送封包 Connect Named Data Networks via Software Defined Networking Architecture. 研究生:林祥裕 撰 中華民國 一百零五年 十月.

(2) 摘要 資料命名網路(Named Data Networking, NDN)是一個以資料為中心做為設 計的未來網路架構。雖然在此新穎的網路結構中,搜尋資料名稱,即可得到該 資料,但在轉發系統的可擴性(Scalability)上會面臨些難題,換句話說,在資 料命名空間沒有上限的情況下,該如何掌握路由表的大小,使所有封包皆得以 轉發。 在此篇論文中,我們應用一個知名的想法-Map-and-Encap,提供一個簡單 的方法解決資料命名網路可擴性(Scalability)的問題。N-SDN,透過軟體定義 網路(Software-Defined Networking, SDN)與資料命名網路結合,且保留兩者的 優點,使得所有的封包皆得以轉發,不再因為僅是路由表上無相對應出口而丟 棄封包或是利用廣播封包尋找出口而造成無謂的網路流量。我們藉由軟體定義 網路的功能將資料命名網路的封包進行包裝,使資料命名網路的封包可以在軟 體定義網路之間傳送以利抵達目的地並擷取資料,同時,我們亦提出兩種方 法:Periodic 和 Dynamic,利用軟體定義網路可以監控所有網路狀況的優點,讓 N-SDN 可以控制封包路徑,讓封包轉送可以更有效率。. 關鍵字:N-SDN、資料命名網路(Named Data Networking, NDN)、軟體定義網 路(Software-Defined Networking, SDN)、可擴性(Scalability) i.

(3) Abstract Named Data Networking (NDN) is a future Internet architecture that designed follows the information-centric networking concept. NDN retrieves data by requesting interest with data name. However, there are several issues regarding the scalability of NDN’s forwarding system. E.g., the sizes of the routing table can become very large in order to forward all the packets due to unbounded data namespaces. In this paper, we proposed a networking architecture, called N-SDN, which combines Software-Defined Networking (SDN) with NDN. In addition, we applied a well-known concept, called Map-and-Encap, which provides a simple way to solve the scalability problems of NDN. In normal NDN, when an interest packet is unable to satisfy by NDN’s Forwarding Information Base (i.e., routing table), the packet is either dropped or broadcasted which leads to unnecessary network traffic and congestion.. In. N-SDN, an unsatisfied NDN interest packet is mapped the SDN. This allows the packet to travel across different network domains to other NDNs which might have the data that match the interest name. Another advantage of N-SDN is the ability to monitor all network traffic and control the data packet’s traveling path with SDN. We proposed N-SDN Flow Monitor that can adjust data path in two ways, Periodic and Dynamic, according different network conditions. The simulation results shows N-SDN is able out perform normal NDN.. Keywords: N-SDN, Named Data Networking, NDN, Software-Defined Networking, SDN, Scalability. ii.

(4) 目錄 摘. 要 ................................................................................................................ i. 第一章. 緒論 .................................................................................................... 1. 第二章. 背景以及相關研究 .............................................................................. 5. 第一節 背景 ................................................................................................................ 5 第二節 相關研究 ....................................................................................................... 11. 第三章. 方法:N-SDN .................................................................................... 15. 第一節 N-SDN 架構概念 ......................................................................................... 15 第二節 N-SDN 封包轉發流程 .................................................................................. 16 (一)興趣封包轉發 ...................................................................................................... 16 (二)資料封包轉發 ...................................................................................................... 18. 第三節 N-SDN 架構及控制器 .................................................................................. 19. 第四章. 實驗與分析 ....................................................................................... 25. 第一節 Pure NDN & N-SDN...................................................................................... 25 (一)Pure NDN 無法轉發和 N-SDN 沒有規則的情況 .............................................. 26 (二)Pure NDN 有轉發資訊和 N-SDN 有規則的情況 .............................................. 28. 第二節 N-SDN Flow Monitor..................................................................................... 31 (一)With Flow Monitor - Periodic.......................................................................... 34 iii.

(5) (二)With Flow Monitor - Dynamic ........................................................................ 36. 第五章. 結論及未來 ....................................................................................... 40. 參考文獻 ............................................................................................................. 42. iv.

(6) 圖表目錄 圖 1:A Packet Flooding in NDN (# of out_port = 7) ............................................. 2 圖 2:NDN 封包格式,興趣封包與資料封包 ............................................................ 6 圖 3:NDN 路由器的封包處理流程 ............................................................................ 7 圖 4:OpenFlow 封包轉發流程 .................................................................................. 11 圖 5:N-SDN 架構概念 .............................................................................................. 16 圖 6:興趣封包轉發流程............................................................................................ 17 圖 7:資料封包轉發流程............................................................................................ 19 圖 8:入口節點架構轉發流程.................................................................................... 20 圖 9:出口節點架構轉發流程.................................................................................... 21 圖 10:控制器收到封包之流程.................................................................................. 22 圖 11:興趣封包轉發在 Pure NDN 無法轉發和 N-SDN 沒有規則的情況下 ........ 26 圖 12:Pure NDN 與 N-SDN 的 RTT 比較(一) .................................................... 27 圖 13:Pure NDN 與 N-SDN 的 RTT 之 CDF(一) ............................................... 28 圖 14:興趣封包轉發在 Pure NDN 有轉發資訊和 N-SDN 有規則的情況下 ........ 29 圖 15:Pure NDN 與 N-SDN 的 RTT 比較(二) .................................................... 30 圖 16:Pure NDN 與 N-SDN 的 RTT 之 CDF(二) ............................................... 30 圖 17:Without Flow Monitor Topologies .................................................................. 32 圖 18:Without Flow Monitor 情況下的 RTT .......................................................... 33 v.

(7) 圖 19:With Flow Monitor Topologies ....................................................................... 33 圖 20:With Flow Monitor – Periodic 之 RTT 實驗結果 .......................................... 35 圖 21:With Flow Monitor – Periodic 之 Flow Monitor 紀錄 ................................... 35 圖 22:With Flow Monitor – Dynamic 之 RTT 實驗結果 ........................................ 37 圖 23:With Flow Monitor – Dynamic 之 Flow Monitor 紀錄 ................................. 37 圖 24:N-SDN 有無 Flow Monitor 之 RTT 實驗比較 ............................................. 39 圖 25:N-SDN 有無 Flow Monitor 實驗結果之 CDF .............................................. 39. 表 1:Pure NDN 和 N-SDN 實驗之平均 RTT ........................................................... 31 表 2:N-SDN Flow Monitor 實驗之平均 RTT .......................................................... 38. vi.

(8) 第一章 緒論. 資料命名網路(Named Data Networking, NDN)[1][2]是一個以資料為中心 做為設計的未來網路架構,此新穎的網路架構設計,使得資料命名網路可以解 決一些目前傳統網路所遇到的問題及困境,被視為下一個新的網際網路候選人 之一。與目前正在使用且以 IP 為基底的傳統網路不同的是,資料命名網路移除 了傳統網路只能對終端命名的限制,且其不再專注於我們需要到”哪裡”獲取資 料;而是專注於我們需要的資料本身是”什麼”。 在資料命名網路中,當使用者想搜尋某資料時,只需要送出該資料名稱的 興趣封包(Interest Packet),路由器將會轉發這興趣封包,則只要任何符合該名 稱且擁有該某資料的路由器,皆可以回傳該資料封包(Data Packet);而現有的 網路架構則必須透過 IP 連接到終端硬體設備才能獲取資料。且資料命名網路是 以 pull-base model 為基礎,在只有當我們主動要求資料時,資料提供者才能將資 料回傳給我們,也就是說,只要我們沒有發送請求,資料提供者則無法主動傳 送未經需求的訊息過來,降低大幅了收到垃圾封包的可能性。然而,在資料名 稱的數量沒有限制的情況下,有辦法掌控轉發資訊資料庫(Forwarding Information Base, FIB)的大小且讓所有封包都有相對應的出口嗎? 在目前 NDN 的結構上,當使用者想截取封包時,會透過路由器的主要結構 之一的轉發資訊資料庫找出資料可能的潛在來源並轉發興趣封包,而興趣封包 1.

(9) 將會比對轉發資訊資料庫上的所有的名稱,透過符合名稱最長的字串找出相對 應的出口,使得封包得以轉發,我們有可能在任何一個路由器上獲取到資料。 但若轉發資訊資料庫上查無相對應的出口,此時路由器就有可能會因為太久沒 收到回傳的訊息或是無法轉發而將封包丟棄,造成實際上某處或某路由器上有 欲索取的資料而使用者卻得不到的情況。若使用者為了獲取資料而讓路由器採 取廣播(Broadcast)或是 Flooding 的方式將興趣封包轉發,則會產生龐大且無 謂的流量,造成網路極大的負擔,如圖 1,假設每個路由器至少有七個出口,至 少會產生 71 + 72 + … + 7N 個興趣封包,一興趣封包只要每過一跳(Hops),則 會製造出指數成長的龐大封包流量。. 圖 1:A Packet Flooding in NDN (# of out_port = 7) 在此篇論文中我們基於 Map-and-Encap [3]提出一個解決的方法,N-SDN 平 台為資料命名網路(NDN)與軟體定義網路(Software-Defined Networking, 2.

(10) SDN)的結合,N-SDN 可以轉發所有的 Interest Packets 獲取資料,即使在路由 器上的轉發資訊資料庫找不到與資料名稱相對應的出口。SDN 的基本想法是將 整個網路做集中式的管理,其可以監控所有數據平面 Switches 的流量,能清楚 了解整個網路的狀況。透過 SDN 將興趣封包相對應的位置,把 Multi-Protocol Label Switching (MPLS) Label 映射(Mapping)到興趣封包上,使其能夠在 SDN 的網域中傳送以利抵達目的地。當 NDN 封包找不到出口或傳輸時間過長的情況 發生時,我們亦可以利用 SDN 可以掌握整個網路狀況的優點,來幫助 NDN 封 包找到目的地,同時幫其規劃出較順暢的路徑。我們相信在沒有 N-SDN 平台大 部份的情況下,在 NDN 的網路中,NDN 封包仍然可以獲取到資料,因為資料 可以來自於本地端、搜尋的資料名稱大部分都可以轉發或是資料已經存在周遭 的路由器。因此,主要 N-SDN 平台在有需要時,用於尋找目的地且規劃封包路 徑減少網路不必要的流量。 在我們的論文中,我們做出了以下幾點貢獻: 1.. 我們提出一個設計名為 N-SDN 的平台,此平台能夠將所有的 NDN 封包進 行轉發,儘管在 FIB 中找不到相對應的出口轉發或是傳輸時間過長,且能即 時的選擇或切換較佳的路徑,不受擁塞而延遲。. 2.. 我們利用 NDN 的 Named Data Networking Forwarding Daemon (NFD) [4]和 SDN 的 OpenVSwitch [5] 、Ryu Controller [6]與 OpenFlow [7][8]協定實際操 作了一些實驗,以確保 NDN 封包可以透過 SDN 轉發 3.

(11) 3.. 最後,我們證明我們所提出的 N-SDN 平台確實能夠轉發 NDN 封包並同時 提出兩種方式:Periodic 和 Dynamic,都能夠動態的修改路徑,使得傳輸上 更有效率。. 此篇論文其餘的部分主要為:第二章介紹資料命名網路和軟體定義網路的 部份背景知識以及相關議題的論文。章節三將會詳細的介紹我們所設計的平 台:N-SDN。章節四分析及比較我們提出的幾種實驗結果。章節六為整篇論文 的結論以及期許未來還能更進一步完整此平台的工作。. 4.

(12) 第二章 背景以及相關研究. 在此章節我們會先介紹資料命名網路(NDN)與軟體定義網路(SDN)的 結構、基本概念及運作方式,再來介紹有相同動機或是相關運用的研究及其目 前提出的解決辦法。. 第一節 背景 (一)資料命名網路 (Named Data Networking, NDN) [1] 資料命名網路是一個目前正在持續研究且發展的未來網路架構之一,與現 今傳統網路不同的是,資料命名網路移除了只能對終端命名的限制,不再專注 於”WHERE”-資料在哪裡;而是專注於”WHAT”-資料的本身。像是傳統網路只能 透過 IP 到終端的硬體設備取得資料;而資料命名網路取得的資料,可以來自任 何地方,不再侷限於終端設備,且資料命名網路讓封包可能是任何物品,不論 是終端設備、電影、書或是指令等。 在資料命名網路中,提出了兩種全新的封包設計,分別是興趣封包 (Interest Packet)和資料封包(Data Packet),其各自的封包欄位與組成,如圖 2。在興趣封包中,包含了 Name 為欲搜尋的資料名稱、Selector 為設定資料範圍 及其定義及 Nonce 為防止封包迴圈的發生等三個主要欄位,透過標準的資料命 名網路路由器將封包轉發;而資料封包,封包欄位包含了 Name 為資料的名稱與 欲搜尋的資料名稱相同互為對應、MetaInfo 主要為設定資料的有效時間、 5.

(13) Content 為資料內容、Signature 主要為簽署資訊、特徵等,其用途是將符合興趣 封包所要求的資料回傳給使用者,並依據其附帶的訊息,得以驗證資料的可靠 性及正確性。而資料名稱是採用階層式的方式命名,可以透過多個不同長度的 字串組成,如師大首頁的資訊,則命名可能為"/edu/ntnu/www/index.html"。每個 興趣封包皆可以得到一個資料封包,而他們靠相對應的名稱做為溝通,當使用 者想獲取師大首頁的資訊時,會發出帶有師大首頁名稱的興趣封包透過路由器 轉發,只要任何擁有此資料的路由器,都可以是資料提供者(Provider),所以當 資料提供者收到興趣封包時,將會回傳帶有相同名稱的資料封包。. 圖 2:NDN 封包格式,興趣封包與資料封包 在資料命名網路的路由器結構中,主要由三個要素組成,分別為:Content Store (CS)、Pending Interest Table (PIT)、Forwarding Information Base (FIB)。 1.. Content Store (CS) – 主要用於暫時存放資料,提供其他使用者可以就近的獲 取資料。暫時存放曾經轉送過的資料封包,根據路由器中本身的機制來決 定資料是否丟棄或保留,盡可能留下重覆可使用的資料,像是當日新聞或 6.

(14) 熱門影片,當不同的使用者需要相同的資料時,即可增加資料的可獲性, 而不必再到終端拿取資料,使用者同時可以透過簽署資訊或是特徵來確保 資料正確性。 2.. Pending Interest Table (PIT) – 主要用於記錄且追蹤尚未被滿足的興趣封包及 其來源。當興趣封包轉發時,會在 PIT 中留下紀錄,而當資料封包回傳 時,將會依據 PIT 的紀錄內容,將資料封包回傳至興趣封包的來源,同時 將 PIT 中相對應的資料刪除,若遲遲沒有收到符合的資料封包,則亦會將 此筆記錄從 PIT 中給移除。另外,若使用者仍然需要此份資料,則必須再 發送一次興趣封包。. 3.. Forwarding Information Base (FIB) – 主要用於查詢且轉發封包至潛在的資料 來源位置。與現今網路 IP 路由器的 FIB 相同,用於查詢潛在的資料來源, 但因資料命名網路本身的架構可以避免迴圈的問題,所以允許同時發送多 個請求。. 圖 3:NDN 路由器的封包處理流程 7.

(15) 我們以圖 3 的流程圖做為資料命名網路的範例,說明興趣封包與資料封包 在路由器中的轉發流程: 一開始當路由器收到興趣封包時,會先確認 CS 中有無符合興趣封包的資料 可以回傳,若有,就會回傳符合該興趣封包需求的資料封包;若沒有可以回傳 的資料,則路由器會查詢 PIT 中的紀錄,確認是否已有相同名稱的興趣封包, 若已經有相同名稱的興趣封包被記錄,則表示有相同名稱的興趣封包已被轉 發,此時只需要佇列等待資料封包的回傳而不必再次轉發相同的興趣封包,大 幅地減少要求相同資料的封包充斥於整個網路中;但若 PIT 中沒有相同名稱的 紀錄存在,表示尚未有其他使用者搜尋過此資料,則 PIT 便會將此興趣封包記 錄下來,並且透過查詢 FIB 來轉發此興趣封包至資料潛在來源,但如果 FIB 查 詢不到該資料名稱的相對應出口時,則此興趣封包將會被丟棄。 當興趣封包找到資料時,資料提供者會回傳帶有與興趣封包相同名稱的資 料封包,在回傳過程中,資料封包會從 PIT 中的紀錄進行查詢是否有使用者要 求過此資料,如果有,就會根據 PIT 中所記錄的訊息,將此資料封包傳送給使 用者,並同時將此資料儲存於 CS 中;反之,如果 PIT 中查詢不到記錄,表示可 能等待的時間過長,已放棄要求此資料,此時路由器就會丟棄此資料封包。. 8.

(16) (二)軟體定義網路 (Software Defined Networking, SDN) 軟體定義網路(SDN)是透過軟體定義來改變網路架構與機能,讓網路可 以自動控制路徑,簡單而言就是自動化。深受系統的規模逐漸擴大化,多樣 化、增加了複雜性的通訊業者或企業,透過此項技術能夠更有效率地運用在網 路管理的設施上,更棒的是,無論是人力或時間等,絕對能為公司企業省下不 少的費用及過度的資源浪費[14]。然而,在現今的網路設備結構下,當複雜的網 路拓樸中,若出現在網路中斷或是壅塞的情況,往往會使得網路維護人員花費 許多的時間進行修復,導致人力成本的增加。SDN 的出現,不但使網路設備架 構有了新的變化,更使得網路的監控及管理比現今網路更加便利,因為 SDN 有 別於現今傳統網路架構的控制模式,將網路分為控制平面(Controller Plane)和 數據平面(Data Plane),把網路的管理權限交給控制層的控制器(Controller) 軟體負責,並採用集中管理的方式。控制器就像是人類的大腦,統一下達指令 給網路設備,網路設備則專責於封包的傳遞,就像是人類的四肢負責執行各項 動作。這樣的概念讓網管人員能更靈活也更彈性地配置網路資源,日後網管人 員只需在控制器上下達指令就可以進行自動化的設定,無須逐一登入網路設備 進行各別的設定,節省人力成本也降低了人為部署發生疏失的可能性[15]。 而 OpenFlow [7][8]技術則是一項通訊協定,用於控制層和資料層間建立傳 輸通道,就像是人類的神經一樣,負責大腦與四肢的溝通,OpenFlow 協定目前 也是實現 SDN 架構最主流的技術[15]。根據 OpenFlow 協定的內容,數據平面上 9.

(17) 的每一個 OpenFlow 交換器(Switch)內都擁有流量表(Flow Table),而每個抵 達交換器的封包皆會根據流量表的內容進行轉發。 接下來我們將說明 OpenFlow 協定的封包轉發流程,如圖 4,假設 A 要傳送 資料給 B,當 A 傳送的封包進入交換器時,會先查詢流量表,詢問是否有 A 到 B 路徑的相關規則及指令,如圖 4 的步驟 1。如果有符合的條件,則會依照流量 表上的規則指令進行轉發;若沒有符合封包條件的規則,則必須將此封包傳送 到控制器,詢問此封包該如何處理及轉發,如圖 4 的步驟 2。而控制器掌握了所 有網路的位置及狀況,便會計算並且找到 A 如何到 B 主機的路徑,決定此封包 接下來的路徑,如圖 4 的步驟 3。同時,控制器也會傳送 Flow_Mod 規則訊息到 此封包將會經過路徑上的所有交換器,並寫入相對應的轉發規則,使得封包在 傳遞的過程中不需再次重複步驟 2 詢問控制器該如何轉發此封包,使得封包可 以直接傳達至 B 的主機,如圖 4 的步驟 4。 而流量表中的每個流量規則(Flow Rule)包含三個欄位:Rule、Action、 Statistics,這三個欄位也是為 OpenFlow 封包主要的標頭欄位,如圖 4 的步驟 1 所示。OpenFlow 可以分辨不同種類的封包,且封包的標頭,從 Layer 2 到 Layer 4 皆可讀取、修改、新增或刪除,並且支援多種命令及指令。只要 OpenFlow 封 包符合流量表上的 Rule 欄位,則將會透過 Action 上的指令,進行封包的修改、 轉發或是丟棄。Statistics 則用來記錄符合規則的封包數量及其流量。. 10.

(18) 圖 4:OpenFlow 封包轉發流程. 第二節 相關研究 在資料命名網路(NDN)中,轉發系統的可擴性(Scalability)的問題,在 SNAMP: Secure Namespace MaPping to Scale NDN Forwarding [9] 此篇論文中, 已被明確的指出。此篇論文和我們有相同的想法:當興趣封包在轉發過程中, 若在 FIB 上查詢不到符合名稱的出口,則封包將會被丟棄,造成轉發系統可擴 性上的問題與缺陷。然而,雖然此篇論文仍在進行中,尚未完成實做,但他們 分享了想法,所以 NDN 在這議題上,我們也相信有其必要性。 SNAMP 在想法上,運用了 Map-and-Encap [3]的概念,而我們也從這概念提 出了我們的解決辦法與貢獻,希望能更有效且簡單的處理可擴性上的問題。而 11.

(19) 在 SNAMP 提出了一個明確的辦法:就是新增 NDN 封包的欄位,以 LINK 的方 式,讓封包可以附著其他名稱而傳送至更遠的地方,因而獲取資料。當使用者 為了獲取資料而傳送了 NDN 興趣封包,此興趣封包可以在附近其他路由器中的 Content Store (CS) 中獲取或是透過轉發系統穿越複雜的網路將興趣封包傳遞給 資料生產者(Data Producer)。但如果轉發過程中,透過 FIB 能抵達的路由器都 沒有符合的資料,而興趣封包也沒辦法更進一步的轉發,此時將會使用 SANMP 機制。而當興趣封包無法更進一步轉發時,則會回傳 NACK 訊息,表示沒有一 個路由器符合興趣封包的需求並且需要更多資訊以便轉發興趣封包。當 NACK 訊息返回至使用者路由器時,會向 NDNS(DNS for NDN)[10][11] 查詢哪些地 方有符合此興趣封包的名稱,並在查詢後,將查詢到的名稱附著於興趣封包 上,並且再傳送一次興趣封包。當因原本無法被轉發的封包,被轉發到原本無 法繼續被轉發的路由器時,路由器將會提取附著於興趣封包上的 LINK 資訊,選 擇一個最好的路徑,並將興趣封包進一步的轉發至更遠的地方,使得興趣封包 得以獲得資料。 然而,SNAMP 的機制,尚有些問題需要被討論並解決。由於在原 NDN 封 包上,新增了一個 LINK 欄位,使得原本封包名稱有了變化,毫無疑問的,導致 在封包名稱的命名上,會產生些額外的問題,像是同樣的資料,卻有兩種以上 的名稱存在,這些都是需要再被討論並且解決。而我們提出的方法,將維持原 NDN 封包的樣貌,並且在必要時,才會啟用 N-SDN 機制,並且能夠控制封包 12.

(20) 的路徑,使得封包在轉發速度上更有效率。. Multi-Protocol Label Switching (MPLS) [12]在現今的網路中,已有相當好的 運用及發展。而此技術的運用,亦被放到資料命名網路中進行研究及討論,此 篇 Name Label Switching Paradigm for Named Data Networking [13]論文,就將 MPLS 與資料命名網路做為一個結合,亦是我們提出的想法來源之一,然而, [13]主要的目的並非為了資料命名網路可擴性的問題,而是針對封包在資料命名 網路的路由器中進行查詢次數的優化,他們認為大部分的論文皆僅針對查表的 速度上設計較佳的演算法,讓封包在路由器中查詢的速度能夠加快,卻沒有試 著減少查表的次數。在資料命名網路中,一個興趣封包在經過每一個路由器 時,大部分的機率會被檢查超過一次:兩次需要在 CS 和 PIT 中查詢符合完整的 封包名稱,一次需要在 FIB 中查詢符合最長的封包名稱,除非興趣封包能夠很 幸運的在 CS 查詢時就找到資料。 在[13]中,他們透過與 MPLS 的結合,使得被 MPLS 包裝過後的封包,在經 過每個路由器時,只需要比對 MPLS 標簽同時進行標籤的交換,即轉發至下一 個路由器,將查詢路由器的次數降低至只要一次,透過反覆的標籤交換,在抵 達目的地時,再將封包上的標籤移除,還原為原封包的狀態。 但無論是加快查詢的速度或是減少查詢路由器的次數,皆無法解決資料命 名網路可擴性的問題。所以有了[9]和[13]的想法,我們提出 N-SDN 平台的設. 13.

(21) 計,將資料命名網路(NDN)與軟體定義網路(SDN)做為結合,並且保留原 資料命名網路的優點,同時加入軟體定義網路的優點。透過這樣的結合,我們 可以掌握且控制所有網路的位置及狀況,當資料命名網路的封包找不到相對應 的出口而無法轉發封包時,可以透過軟體定義網路的控制,進而將封包轉發出 去抵達可以獲取資料的區域。. 14.

(22) 第三章 方法:N-SDN. 興趣封包在轉送的過程中,若因為 FIB 查詢不到相對應的出口或是轉發時 間過長,而導致興趣封包被丟棄,以至於使用者面臨實際上有資料卻拿不到資 料的情況發生,我們認為這不應該發生在現今網路發達的時代上,所以我們為 了解決資料命名網路可擴性的問題,我們將資料命名網路與軟體定義網路結 合,希望能夠將軟體定義網路的優點能夠為資料命名網路帶來好處並且保留資 料命名網路本身的優點,同時解決其可擴性的問題。本章節中,將會介紹我們 的方法及流程,並且對於流程中的每個步驟加以詳細說明。. 第一節 N-SDN 架構概念 我們的設計 N-SDN 架構概念,如圖 5,一個使用者在左側的 NDN 網域發 送興趣封包;資料提供者或是資料生產者位於另一端(右側)的 NDN 網域,而 他們之間透過 N-SDN 使用 MPLS Label 欄位包裝封包進而穿越 SDN 網域,使興 趣封包得以抵達另一端的 NDN 網域而獲取資料封包。SDN 網域可以連接不同的 NDN 網域,並且提供來自不同 NDN 網域的興趣(Interest)或資料(Data)封 包的傳送服務,當興趣封包或資料封包抵達入口(Ingress)或出口(Egress) 時,即可透過控制器(Controller)的計算和指令將封包透過 SDN 網域直接傳 送,不再需要重新辨識或分析整個封包該傳送至何處。. 15.

(23) 其中控制器的計算包含了查詢 MPLS 標籤(Label)、包裝封包、路徑計算以 及流量監測並且選擇較佳的路徑,在第二、三節我們將更詳細的介紹。. 圖 5:N-SDN 架構概念. 第二節 N-SDN 封包轉發流程 (一)興趣封包轉發 興趣封包的轉發流程,如圖 6 所示。一開始當使用者發出的興趣封包 (Interest Packet)在其 NDN 網域所有的 FIB 中找不到相對應可轉發的出口,且 抵達擁有 NDN 和 SDN 功能的入口節點(Ingress)時,(1)興趣封包同時亦會 傳至 SDN 的交換器(Open vSwitch, OVS)[5]上,而交換器第一次收到興趣封包 時,(2)將會將興趣封包傳至控制器(Controller)並詢問此封包的去處,(3) 16.

(24) 控制器會查詢 Label Cache 和 Label Database 有無此興趣封包相對應的 MPLS 標 籤(Label),(4)並透過流量監測的功能,選擇一條較佳且順暢的路徑。控制器 在經過查詢且計算之後,(5)會將興趣封包標籤,並且下達指令與規則至該封 包會經過的所有路徑上,以確保封包行徑順暢,不需要再次停留分析或詢問。 另外,會將已被標籤的興趣封包相關訊息記錄在 Label Table 和 Label Cache 中, 分別主要功用是以便供資料封包回傳時查詢使用和讓其他有來自不同 NDN 網域 但需求相同的興趣封包可以有更多路徑選擇且確保有資料。(6)、(7)被標籤的 興趣封包在穿越 SDN 網域時,僅需查詢流量表(Flow Table)上的規則 (Rule),只要符合與其 MPLS 標籤相同的規則,即刻依照規則上的埠口 (Port)轉發。而被標籤的封包就能夠直接地穿越 SDN 網域,當順利抵達另一 端 NDN 網域的出口節點(Egress)時,(8)MPLS 標籤會被移除,使興趣封包. 圖 6:興趣封包轉發流程. 17.

(25) 回復原樣,且依照原 NDN 的架構流程轉發,使興趣封包能夠順利地向資料提供 者或是資料生產者拿取資料。. (二)資料封包轉發 資料封包的轉發流程,如圖 7 所示。資料提供者或資料生產者會依據興趣 封包的需求回應使用者,並回傳夾帶著資料的資料封包(Data Packet)給使用 者,(1)資料封包回傳至出口節點(Egress)時,同時亦會傳至此節點 SDN 的 交換器上,(2)此時資料封包會訪問控制器(Controller)並詢問原本興趣封包 來時的相關資訊,像是 MPLS 標籤(Label)、埠口(Port)…等訊息。(3)控制 器會向 Label Table 查詢有無記錄存在,若無,則表示資料回傳過久或是此資料 封包為惡意封包;(4)若有,則依照紀錄上的相關訊息將資料封包使用 MPLS 標籤包裝,並且同時下達指令與規則至該封包會經過的回程路徑上,使封包能 夠順利返回。(5)、(6)被標籤的資料封包透過查詢流量表上的規則,即可迅速 地傳送封包,使資料封包能夠順利地返回入口節點(Ingress)。當資料封包直接 地穿過 SDN 網域抵達入口節點時,(7)MPLS 標籤將會被移除,被標籤的資料 封包會回復原資料封包的原樣,依照原 NDN 架構流程回傳,最終返回使用者 端。 在下一節,我們將針對入口節點(Ingress)、出口節點(Egress)及控制器 (Controller)做更詳細的說明。 18.

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

(27) 欄位包裝並且藉由標籤穿越 SDN 網域傳至潛在資料來源的 NDN 網域。然而, 當資料封包(Data Packet)回傳至入口節點時,資料封包的 MPLS 標籤會被移 除,此時會查詢 PIT 內的紀錄,將資料封包回傳給需求者,同時將資料儲存於 CS 中,使下一位需求者不必再透過 N-SDN 轉發興趣封包。 NFD. OVS. Controller N Interest. N. N. PIT. CS. Y. FIB. Y. Label. Y. Labeled Interest. N. Add incoming interface. Drop. NDN. SDN CS. Data. Y. PIT. DeLabel. Labeled Data. N Discard Data. 圖 8:入口節點架構轉發流程. N-SDN 架構出口節點(Egress),如圖 7 所示。當已被標籤的興趣封包穿過 SDN 網域傳送至出口節點時,會先將 MPLS 標籤移除,並把興趣封包傳至 NDN 的轉發平台(NFD)[4]上,使興趣封包回復原本架構的傳輸方式,與原 NDN 架 構相同的,會先向 CS 確認是否有能滿足此興趣封包的資料存在,如果沒有符合 的資料存在,則會向 PIT 詢問是否有相同名稱的興趣封包紀錄存在,若 PIT 中 已有紀錄存在,則佇列等待已轉發的興趣封包回傳,如果 PIT 中沒有紀錄存 20.

(28) 在,則會將此興趣封包的名稱及埠口紀錄,同時向 FIB 查詢潛在資料來源的轉 發出口並且轉發此興趣封包。然而,有符合的資料時,資料提供者或資料生產 者會回傳資料封包,當資料封包回傳至此出口節點時,會向此節點的 PIT 查詢 相關紀錄,同時將此資料封包儲存於 CS 中並且將封包傳送至 SDN 的交換器 (OVS)上。然而,此時交換器將會詢問控制器此資料封包的請求者來自於何 處,並且將資料封包透過 MPLS 標籤包裝,使資料封包可以同樣的藉由 SDN 網 域返回請求者的 NDN 網域,以讓請求者可以獲取資料。 OVS. Labeled Interest. DeLabel. NFD. N. N PIT. CS Y. Y FIB. Interest. N. Y Add incoming interface. Drop. SDN. NDN CS. Labeled Data. Y. Label. PIT. Data. N Controller. Discard Data. 圖 9:出口節點架構轉發流程 當興趣封包或資料封包經由 NDN 網域傳送到 SDN 網域時,只要交換器上 流量表(Flow Table)上沒有符合封包的規則(Rule),則皆必須向控制器發出請 求並詢問興趣封包或資料封包該傳到何處,同時詢問控制器上的 Flow Monitor 哪個 N-SDN 節點或是哪條路徑比較順暢,最後由控制器發出指令及規則至交換 21.

(29) 器(OVS)上,使封包能夠順暢的抵達目的地。 而 N-SDN 控制器(Controller)的架構流程由四個主要的部分組成:Label Cache、Label Database、Label Table 和 Flow Monitor,如圖 8 所示。. Controller Receive Packet. Label Cache. Find?. Interest. Interest Or Data?. Data. Label Table. YES. No NDN Label DataBase. Flow Monitor. Action. 圖 10:控制器收到封包之流程 1.. Label Database:其功能主要用以儲存所有交換器(Switch)的相關資訊。根 據每台交換器上獨一無二的名稱(Datapath ID)及其 Domain 擁有資料的 Prefix 所建立,並同時設定 MPLS Label,使興趣封包能藉由 MPLS 標籤穿 過 SDN 網域。. 2.. Label Cache:其功能主要用於暫時的儲存已被請求過的興趣封包名稱以及曾 經發出此興趣封包請求的交換器名稱和 MPLS 標籤。當有來自於其他 NSDN 請求相同封包名稱時,則不必再到 Label Database 查找潛在來源的目的 22.

(30) 地及 MPLS 標籤,且能保證 Label Cache 中的目的地一定有符合興趣封包需 求的資料存在。 3.. Label Table:主要功能用於紀錄興趣封包經過入口節點(Ingress)和出口節 點(Egress)的相關資訊。當興趣封包轉發經由入口節點時,將會紀錄其經 過的入口節點以及出口節點的相關訊息(例如:交換器名稱、封包型態、封 包名稱、埠口和 MPLS 標籤等。),其目的用於當資料封包返回時,可以使 資料封包能夠順利找回興趣封包請求者的交換器位置及其 MPLS 標籤,讓資 料封包得以順利回傳。. 4.. Flow Monitor:主要功能為用以監控整個 N-SDN 中交換器上的流量。此設計 為 SDN 的優點之一,我們將此功能視為 NDN 與 SDN 結合的主要功能,而 當封包要被包裝的同時,控制器會向此 Flow Monitor 詢問一條較通順的路 徑,使被標籤的封包可以順暢的抵達目的地。然而,我們設計兩種簡單的方 法:Periodic 和 Dynamic,透過定時的讓 Flow Monitor 偵測交換器上的流 量,當交換器發生忙碌或延遲時,使封包能夠重新詢問控制器,進而改變封 包傳遞的路徑,讓資料傳輸上更有效率。在第四章的第二節中,我們將針對 此 Flow Monitor 功能做更詳細的運作流程及介紹。. 然而,在實驗中我們利用 OpenFlow 可以新增、刪除或修改封包標頭 (Header)的特性,直覺的「借用」MPLS Label 欄位來將 NDN 封包進行包裝; 23.

(31) 若 MPLS Label 數量有不敷使用或與其他網路衝突亦或是其他狀況,我們也可以 使用或結合其他欄位讓封包在傳遞的過程中,在辨識上更加清楚明確,例如: 位於 Layer-2 的 VLAN ID 或是實驗專用的 Experimenter 的相關欄位。. 24.

(32) 第四章 實驗與分析 Named Data Networking Forwarding Daemon (NFD) [4]是一個能將資料命名網 路實作於主機上的網路平台,然而,為了要實作我們所提出的方法:N-SDN, 我們將 NFD 結合了在軟體定義網路(SDN)已經有相當程度發展的 Open vSwitch (OVS) 和 Ryu Controller,我們利用 NFD 和 NFD 與 OVS 的結合(NSDN)分別進行了一些實驗,並且觀察封包傳遞的時間 (Round Trip Time, RTT) 來進行比較。 我們將實驗分成了兩個小節進行,第一節為 Pure NDN 與 N-SDN 的傳輸速 率的比較;第二節則為 N-SDN 有無 Flow Monitor 的影響,同時針對 Flow Monitor 的實作提出兩種方法來改善封包的傳輸。. 第一節 Pure NDN & N-SDN 此節中,我們比較 Pure NDN 與 N-SDN 的 RTT (Round Trip Time),如圖 11 所示。在現行實做資料命名網路的 NFD,在其預設最好的路由辦法會是採用 Best-Route 的方法,在 CS 中找不到資料時,將會到 FIB 中查找和興趣封包符合 最長名稱的出口並將封包轉發,但是為了展現我們的想法,所以在此節第一個 實驗的設定,將不會讓興趣封包在一開始就在 CS 中獲取資料或是 FIB 查詢到相 對應的出口。然而,獲取資料是我們最主要的目的,所以在此節我們將分成兩 個實驗分別進行實作。 25.

(33) (一)Pure NDN 無法轉發和 N-SDN 沒有規則的情況 在 Pure NDN 的部份,當興趣封包發送後,在 CS 中找不到資料後,我們會 先讓興趣封包透過 FIB 使用 Best-Route 的方式,並且等待興趣封包的 Life Time 期限已過,確定查詢不到出口或沒有資料回傳後,接著使用 Broadcast 的方式, 讓興趣封包就算在 FIB 中查詢不到相對應的出口也可以從該 NFD 平台中的每個 出口進行轉發,如圖 11 a);而我們的設計 N-SDN,在收到興趣封包且在 NFD 平台中的 FIB 找不到相對應的轉發出口時,會直接的將封包傳至 OVS 並且透過 詢問控制器尋找到目的地並根據控制器下達的指令將興趣封包順利的轉發,如 圖 11 b)。在此第一個實驗中,我們設定興趣封包的 Life Time 為 1.5 秒,且所有 的封包皆為第一個發送的興趣封包,所以封包皆不會有因為先前相同名稱的封 包曾發送過而學習路徑的問題。另外,我們持續發送 180 個興趣封包,每秒發 送一個,並且將每個封包的傳輸結果紀錄下來。. a) Pure NDN. b) N-SDN 圖 11:興趣封包轉發在 Pure NDN 無法轉發和 N-SDN 沒有規則的情況下. 26.

(34) 而此實驗的結果,如圖 12、圖 13。在我們的設定中,可以明顯看得出來傳 輸時間上的差異,N-SDN 較優於 Pure NDN。雖然從圖 12 中可以看的出來, Pure NDN 的震盪較小,整個 RTT 也比較平均,但主要的延遲都花費在等待興趣 封包的 Life Time 結束,藉此也可以看的出來,使用 Broadcast 的方式轉發封 包,若扣除 Life Time 的延遲,整體傳輸固然很快且穩定,但卻會造成的網路極 大的負擔,如圖 1。然而,N-SDN 的數據震盪較 Pure NDN 不穩定,但主要是因 為是興趣封包發送和資料封包回傳時,都必須詢問控制器且 NFD 與 OVS 之間 亦需要傳輸,導致時間延遲上有些微的差距,但以實驗整體來說,還是有較好 的傳輸效率。. 圖 12:Pure NDN 與 N-SDN 的 RTT 比較(一). 27.

(35) CDF. 圖 13:Pure NDN 與 N-SDN 的 RTT 之 CDF(一). (二)Pure NDN 有轉發資訊和 N-SDN 有規則的情況 接下來,第二個實驗是上一個實驗的延伸,從第一個實驗中我們可以得知 Pure NDN 因為必須確定沒有資料返回才能進一步的做 Broadcast 轉發興趣封 包,但除了整體延遲時間上較 N-SDN 不佳之外,亦會造成網路極大的負擔。所 以在第二個實驗中,我們令 Pure NDN 和 N-SDN 都已經學習,使得興趣封包在 傳輸時,讓 Pure NDN 已經知道可以將封包從哪個出口轉發,不需要額外使用 Broadcast 的方式,如圖 14 a);而 N-SDN 可以直接根據流量表上的規則進行轉 發,不需要再經過詢問控制器,如圖 14 b)。在此實驗中,我們設定所有的封包. 28.

(36) 皆為與已轉發過的興趣封包相同名稱,封包會因為先前轉發過相同名稱封包的 關係,使得 Pure NDN 和 N-SDN 學習路徑,讓封包皆可以直接轉發。此外,與 第一個實驗相同,我們亦持續發送 180 個興趣封包,每秒發送一個,並且將每 個封包的傳輸結果紀錄下來。. a) Pure NDN. b) N-SDN 圖 14:興趣封包轉發在 Pure NDN 有轉發資訊和 N-SDN 有規則的情況下 第二個實驗的結果,如圖 15、圖 16 所示。藉由圖 15 的實驗結果,我們可 以發現與第一個實驗相同之處是,N-SDN 數據的震盪還是較 Pure NDN 來的 大,其主要原因是因為封包在 NFD 與 OVS 之間的傳輸會產生延遲。另外從圖 16 的觀察,我們可以發現在這樣的情況下,讓 Pure NDN 直接透過 FIB 轉發封 包時的傳輸速率,與 N-SDN 不用詢問控制器直接藉由交換器上的規則進行轉發 的傳輸速率,整體的延遲時間其實差異並不大。. 29.

(37) CDF. 圖 15:Pure NDN 與 N-SDN 的 RTT 比較(二). 圖 16:Pure NDN 與 N-SDN 的 RTT 之 CDF(二) 30.

(38) 根據第一節分別做的兩個實驗的觀察(表 1),N-SDN 不僅整體在取得資料 的傳輸時間上優於 Pure NDN,同時亦可以避免不必要的流量造成整體網路的負 擔。整體來說,N-SDN 可以幫助 Pure NDN 解決可擴性上的問題,同時在傳輸 效率上不會比 Pure NDN 差亦不會讓流量造成網路極大的負擔,所以我們認為我 們的設計-N-SDN 具有發展上的價值及研究性。. 表 1:Pure NDN 和 N-SDN 實驗之平均 RTT. 第二節 N-SDN Flow Monitor 在此第二節的實驗,我們將提出兩種辦法-Periodic、Dynamic,運用原本 OpenFlow 用以偵測網路流量的功能到我們的設計 N-SDN 當中,使得交換器在 發生忙碌時,可以透過流量監控的管理,達到切換路徑及目的地的效果並使傳 輸效率能夠得到大幅的提升,我們稱為 Flow Monitor。然而藉由此應用,我們將 會展示 N-SDN Flow Monitor 的功能及特性,讓 OpenFlow 的優點能夠在 NDN 上 能獲得有效的運用,像是監控流量以及選擇較佳路徑。另外,為了突顯 N-SDN Flow Monitor 的優點,我們將另外使用一輔助工具-iperf,利用此工具來達到使 網路壅塞的效果,將使封包在傳輸上受到延遲,藉此應用來模擬交換器忙碌的. 31.

(39) 狀況。並且在後面的所有實驗設定,我們會利用 iperf 工具分別在 32、92、152 秒時,針對出口節點進行周期為 30 秒的流量傳輸,使其交換器達到忙碌的效 果。 Controller. Background Traffic Interest. Ingress. Egress. 圖 17:Without Flow Monitor Topologies 然而,N-SDN 在沒有 Flow Monitor 的情況下,如圖 17,在出口節點持續接 收到大量的流量傳輸導致非常忙碌時,使用者端發出的興趣封包一樣只能不斷 的向同個節點發出請求,僅管請求資料提供者端或出口節點的交換器有多忙 碌,皆只能往單一節點傳送。如圖 18 實驗的結果所示,在這樣情況下,只能任 憑延遲狀況不斷的發生,直到請求資料提供者端或出口節點的交換不再忙碌 時,才能回復正常該有的傳輸速率。. 32.

(40) 圖 18:Without Flow Monitor 情況下的 RTT. 所以接下來我們將展示與 SDN 結合後所帶來的能夠監控網路流量的優點, 並分別介紹兩種方法:Periodic 和 Dynamic。而在此兩種方法中,我們輪流使目 的交換器接收到大量流量而忙碌,讓使用者端的興趣封包可以重新選擇一條較 順暢的路徑,而讓整體網路受到延遲的影響可以盡可能的降到最低,如圖 19。 Controller. Flow Monitor. Interest Egress_1 Background Traffic. Ingress. Egress_2. 圖 19:With Flow Monitor Topologies 33.

(41) (一)With Flow Monitor - Periodic 此 Periodic 方法的實驗,我們設定 Flow Monitor 每 10 秒偵測網路上所有的 交換器一次,並且讓交換器上流量表的規則亦僅存在 10 秒,我們藉由讓規則存 在 10 秒的方式,相當於讓來自 NDN 網路的封包,每 10 秒可以週期性的重新訪 問控制器。藉此,達到當目的交換器節點忙碌時,可以讓興趣封包重新選擇一 條較佳路徑的目的。 如圖 20、圖 21 的實驗結果所示,此方法會每 10 秒重新詢問控制器一次, 並重新尋找較佳路徑,且當 32、92、152 秒分別對 P_1、P_2 出口節點(或 Egress_1、Egress_2)傳輸大量流量造成其節點忙碌時(圖 21),可以發現因為 每 10 秒會重新尋找路徑的關係,所以僅造成第 33 到 40、93 到 100、153 到 160 個封包的傳輸時間受到延遲,第 41、101、160 個興趣封包傳輸時,便會根據 Flow Monitor 的監測,選擇另一條順暢的路徑,使得後續的封包不再受到延遲。. 34.

(42) 圖 20:With Flow Monitor – Periodic 之 RTT 實驗結果. 圖 21:With Flow Monitor – Periodic 之 Flow Monitor 紀錄 35.

(43) (二)With Flow Monitor - Dynamic 此 Dynamic 方法的實驗,我們設定 Flow Monitor 每 3 秒偵測網路上所有的 交換器一次,有別於 Periodic 的方法,除了改變偵測網路交換器流量的秒數外, 我們不再讓封包每 10 秒週期性的詢問控制器。我們採取使控制器能夠主動地修 改交換器上的規則,令詢問控制器的動作,能夠動態的去執行,且藉由每 3 秒 短時間的不斷地偵測網路流量,更能清楚地掌握所有交換器在整個網路狀況, 所以更能夠動態使興趣封包僅在目的交換器或出口節點忙碌時,才重新訪問控 制器,尋找新的一條通順路徑。 如圖 22、23 的實驗結果所示,Dynamic 方法為 Flow Monitor 每 3 秒偵測所 有網路上的交換器,當 P_1、P_2 出口節點(或 Egress_1、Egress_2),同樣地分 別在 32、92、152 秒時傳輸大量的封包,使其節點變為忙碌時(圖 23),可以清 楚的觀察出來,僅有第 33 到 36、93 到 96、153 到 156 個封包受到延遲並且在 延遲尚未更嚴重時,控制器就可以立刻修改所有交換器上相關的規則,使得第 37、97、157 個封包可以重新詢問控制器,並且取得其他不壅塞的路徑。另外, 由於我們的設定讓 iperf 工具在 32、92、152 秒時啟用,在 32、33、92、93、 152、153 秒時,尚未達到交換器忙碌的標準,Flow Monitor 再下一個 3 秒的紀 錄中,才能確定交換器的壅塞。. 36.

(44) 圖 22:With Flow Monitor – Dynamic 之 RTT 實驗結果. 圖 23:With Flow Monitor – Dynamic 之 Flow Monitor 紀錄 37.

(45) 然而,由以上實驗的觀察比較,圖 24、圖 25 和表 2 所示,我們可以得知 N-SDN 在網路發生壅塞且沒有 Flow Monitor 的情況下,會有最糟糕的情況,僅 有約 50%的封包量會不會受到延遲,只能夠等待網路壅塞獲得舒緩,路徑才得 以通順亦不能選擇其他路徑;Periodic 則有約 80%的封包不受到延遲,而 Dynamic 有最好的傳輸效率有約 90%的封包不受到延遲。其中 Periodic 和 Dynamic 的比較,其各自有優缺點,1) Periodic 的方法封包必須週期性的詢問控 制器,若其目的交換器沒有長期發生壅塞的情況下,週期性的詢問會造成額外 且不必要的傳輸時間,必定會造成封包傳輸效率較 Dynamic 差。2) Dynamic 的 方法,相較於 Periodic 擁有較佳的傳輸效率,原因在於其能透過控制器動態的主 動修改交換器的上的規則,使網路發生壅塞時,封包才需要重新詢問控制器, 使得封包傳輸上更有效率,但無疑這樣的動作必定會造成控制器額外的負擔。. 表 2:N-SDN Flow Monitor 實驗之平均 RTT. 38.

(46) CDF. 圖 24:N-SDN 有無 Flow Monitor 之 RTT 實驗比較. 圖 25:N-SDN 有無 Flow Monitor 實驗結果之 CDF 39.

(47) 第五章 結論及未來. 在此篇論文中我們提出了 N-SDN 的想法與設計,其目的用於解決資料命名 網路(NDN)往後發展上可擴性的問題。在我們的方法中,不必修改原資料命 名網路已設計好的架構,同時加入目前網路中亦正在蓬勃發展中的軟體定義網 路(SDN),我們將 NDN 與 SDN 做為結合,並將 SDN 中的優點運用在 NDN 上,解決 NDN 將會碰到的問題。 1. 無法透過 FIB 轉發或是轉發時間過長導致封包被丟棄。 2. 若直接採取 Broadcast 的方式轉發封包,必定會造成網路極大的負擔。 而我們的設計-N-SDN,除了能夠利用 MPLS 標籤包裝封包的方式,使所 有的 NDN 封包即便封包名稱與 FIB 沒有符合的名稱出口,都能夠藉由 SDN 網 路進行轉發,同時亦加入 OpenFlow 可以監測網路流量的功能,提出兩種方法: Periodic 和 Dynamic,且將其應用在 NDN 網路上,當網路發生壅塞時,N-SDN 將可以改變封包的路經,使封包能夠更有效率的轉發。此外,根據我們 N-SDN 的實驗結果觀察,我們亦偏好採用 Flow Monitor – Dynamic 的方式,其最大的特 色就是能夠針對目前網路隨時的狀況,動態的使控制器調整所有交換器上流量 表的規則,使得封包除了能夠較快的轉發更能夠得到最大的傳輸效益。 在未來,我們希望 N-SDN 可以藉由 SDN 的優點,透過觀察整個網路的傳 輸,調整或修改 NFD 的轉發功能,讓 NFD 上的 FIB 可以自動更新,NDN 封包 40.

(48) 可以根據需求去選擇 Pure NDN 直接由 NDN 路由器傳輸或是透過 N-SDN 詢問 Controller 進行包裝藉由 SDN 傳輸封包。 在我們目前小型的實驗當中,Flow Monitor – Dynamic 能有較好傳輸效率, 但是我們仍會保留 Flow Monitor – Periodic 的方法,做為日後我們的參考或改 善,因為 Dynamic 的方式,除了使封包詢問控制器、替封包規劃出較佳的路 徑、短時間內定時的偵測網路流量之外,額外還需主動的修改交換器上的規 則,這些都會是控制器的負擔。所以,我們希望能夠混合 Periodic 和 Dynamic 兩種方法,讓這兩種方法可以根據每個網路的需求交互使用。 雖然我們提出了我們提出了解決 NDN 可擴性問題的辦法,並提出了兩種可 以改善傳輸效率的方法,以及利用 NFD、Open vSwitch 和 Ryu Controller 做了一 些實驗,但在真實複雜的網路環境中,將有著更多的可變因素存在著,使封包 傳遞上亦會面臨著其他的問題。在未來我們希望除了能更加的改善 Flow Monitor 的功能以外,亦能夠進一步的調整或修改 NFD 轉發功能,搭配加入並調整控制 器內的更多的參數,使得我們在分辨封包上,可以更快速且明確,使得較需要 快速轉發的封包達到 QoS。. 41.

(49) 參考文獻 [1] Lixia Zhang, Alexander Afanasyev, Jeffrey Burke, Van Jacobson, kc claffy, Patrick Crowley, Christos Papadopoulos, Lan Wang and Beichuan Zhang, “Named Data Networking”, ACM SIGCOMM Computer Communication Review, Volume 44, Number 3, July 2014. [2] Jacobson Van, Dianna K. Smetters, James D. Thornton, Michael F. Plass, Nicholas H. Briggs and Rebecca L. Braynard, “Networking named content,” ACM International Conference on Emerging Networking Experiments and Technologiesm, 2009. [3] S. Deering, “The map & encap scheme for scalable IPv4 routing with portable site prefixes,” Presentation Xerox PARC, 1996. [4] NFD - Named Data Networking Forwarding Daemon. [Online] Available: http://named-data.net/doc/NFD/current/ [5] Open vSwitch, 2014. [Online] Available: http://openvswitch.org [6] Ryu SDN Framework, 2014. [Online] Available: http://osrg.github.io/ryu/ [7] N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner, “OpenFlow: Enabling innovation in campus networks,” ACM SIGCOMM Computer Communication Review, vol.38, no.2, p.69, Mar. 2008. [8] OpenFlow Switch Specification Ver 1.5.0, 2014. [Online] Available: https://www.opennetworking.org/images/stories/downloads/sdn-resources/onfspecifications/openflow/openflow-switch-v1.5.1.pdf [9] Alexander Afanasyev, Cheng Yi, Lan Wang, Beichuan Zhang, and Lixia Zhang, “SNAMP: Secure Namespace Mapping to Scale NDN Forwarding”, 18th IEEE Global Internet Symposium, April 2015. [10] A. Afanasyev, “Addressing operational challenges in Named Data Networking through NDNS distributed database,” Ph.D. dissertation, UCLA,September 2013. 42.

(50) [11] P. Hoffman and J. Schlyter, “The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA,” RFC 6698, 2012. [12] Multiprotocol Label Switching Architecture, IETF RFC 3031 Std., Jan. 2001. [Online]. Available: http://www.ietf.org/rfc/rfc3031.txt [13] Jiangtao Luo, Chao Wu, Yi Jiang, and Jingwen Tong, “Name Label Switching Paradigm for Named Data Networking”, IEEE COMMUNICATIONS LETTERS, VOL. 19, NO. 3, MARCH 2015 [14] SDN 是什麼?與現今的網路架構又有什麼不同? [Online] Available: http://www.geego.com.tw/it%E7%94%A2%E6%A5%AD%E8%B6%A8%E5%8 B%A2/%E4%BB%80%E9%BA%BC%E6%98%AFsdn [15] 新一代網路架構 SDN 顛覆傳統網路的控制模式 [Online] Available: http://www.ithome.com.tw/node/77353. 43.

(51)

參考文獻

相關文件

(一)除第二款另有規定,一律採網路報名。請於報名期間至文化部全球資 訊網

分區技能競賽 資訊與網路技術. 正式賽

你是 Dora 公司裡的 IT Expert,日前收到Dora的委託架設內部 dora.local 網路,最近 Dora 公司業績長紅,Dora 的合作夥伴 Diego 想要拓展分公司,但是搗蛋鬼不相信你的技術所 以想要說服

以前參加科展時,在網路上看過水果發電的研究,覺得很好奇,便到網路上查相關的資

由於較大型網路的 規劃必須考慮到資料傳 輸效率的問題,所以在 規劃時必須將網路切割 成多個子網路,稱為網 際網路。橋接器是最早

推理論證 批判思辨 探究能力-問題解決 分析與發現 4-3 分析文本、數據等資料以解決問題 探究能力-問題解決 分析與發現 4-4

a 顧客使用信用卡在線上付款時,只要輸入其卡號及有效期

利用 BeautifulSoup 將網頁資料以 html.parser 儲存 (