---
# System prepended metadata

title: 第二周 The Road to SDN
tags: [SDN課程]

---

# 第二周 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網路，例如：一間公司有很多的部門和員工，老闆若要親自管理，肯定馬上就住院掛急診了，所以才會挑選各部門的優秀人才當管理者，處理該部門的事務，分擔老闆的工作量與壓力。