# 第二周 The Road to SDN 論文年份:2013 ## 1 論文提到SDN的兩個重要特徵為何? * 將 control plane與 data plane分離 * control plane:決策流量處理 * data plane:負責將決策好處理方式的資料轉送出去 * 整合了 control plane,以便單一軟體控製程式透過明確定義的 API控制多個 data plane元素。 ## 2 論文將SDN過去的發展,分為哪三個階段?請簡述各階段的重點。 * Active networks (1990s中期 ~2000s早期 ) * 讓網路中的每個節點可以被程式化 * 傳統的每個節點都被硬體設備商固定了功能,無法做其他事情 * 膠囊模式:節點可以夾帶一些程式碼,幫忙輔助運算,不單純傳送 * 可程式化switch/router模式:節點將夾帶的程式碼告訴switch/router,讓其去執行 * Control-plane and data-plane separation(2001~2007) * 因為debug網路中的設置錯誤及預測路由很困難,所以提出control plane與 data plane分離的想法 * 著重於網路管理 * The OpenFlow API and network operating systems(2007~2010) * OpenFlow API被開發出來,且大部分被採用 * 越來越多的可行網路環境被建置出來 * network operating systems(NOS):controller * SDN被實驗於校園網路中 * 難點:程式化網路與實際部屬網路之間的取捨 ## 3 請舉個例子說明什麼是network virtualization? network virtualization簡單來說就是把網路資源做虛擬化(抽象化),將本來沒有的東西無中生有。 用例子舉例就是mininet,他把host、switch、router、AP等變成了一個程式/軟體來模擬網路環境,方便研究者對網路進行研究、設計、開發、測試,不用再特別去使用到硬體。 第二個例子就用影片中說的VLAN,假設我們 Layer3 switch下有三個子switch,其也各自連了3個host,我們使用VLAN技術可以讓連線不同switch的host們覺得自己好像處於相同的LAN裡面,互相看到對方和交換封包。 Virtual Machine:透過虛擬化技術,使用者可以在同一台實體機上運行多個虛擬機,且每個虛擬機擁有自己獨立的OS、應用程序及網路設置。 ## 4 請說明SDN與network virtualization的關系? 看相關資料有發現一個很好的說法:相輔相成,但未必共存。 從歷史方面看,因為 NV很早就有了,所以其不需要SDN就能實現,而SDN的出現也沒任何隱射 NV,所以雙方可以說毫不相關。 在本質(目的)上, NV是強調網路功能與硬體脫離,SDN是強調控制層與資料層分離及集中化的可程式管理,在目標上他們就未必需要共存了。 相輔相成的部分,NV可以幫助SDN更好的實驗與設計,而SDN也可以幫助 NV在其的發展路上走得更遠。 ## 5 請解釋何謂Virtualizing SDN 論文有特別強調了"slicing",意思是Virtualizing SDN可以把一個大型的SDN網路切成好幾個小型的SDN網路,例如:一間公司有很多的部門和員工,老闆若要親自管理,肯定馬上就住院掛急診了,所以才會挑選各部門的優秀人才當管理者,處理該部門的事務,分擔老闆的工作量與壓力。