本文參照SDN原理視頻而成:SDN原理php
從上面這個圖片,咱們可以知道,Controller 是一個很是重要的東西:承上啓下,左右拓展。安全
從整個SDN的架構來看,控制器 處在整個架構最核心的部分:控制層。上面承接應用,下面承接網絡硬件設備。網絡
在SDN的商業戰爭中,誰掌握了控制器,誰制定了控制器的標準,誰在產業鏈就最有發言權。華爲,思科等傳統大廠商仍然在主導核心的控制器。架構
好比你開發了一個控制器,也就是提供了一個平臺,全部的開發者都基於你這個控制器來進行開發,你就處在一個主導的地位。Windows 的開發平臺在以前沒有取得成功,其中的一個緣由就是開發者沒有過多的參與進來。併發
因此,抓住控制器,也就抓住了SDN的核心:向下須要控制必定數量的網絡設備,易於管理和配置;向上的應用和客戶須要有必定的開放程度,可以執行應用的請求;東西接口的話,這使得Controller 可以採用一種分佈式的策略部署,經過跑選舉協議,作匹配的切換。less
經過OpenFlow等南向接口技術,對網絡設備進行監控:好比拓撲監視,流表下發,策略定製等等。分佈式
須要注意的是,SDN中並非全部的交換機都須要採用OpenFlow。這裏引一段文字,來源於《SDN:網絡創新的利器》文:張衛峯code
SDN != OpenFlow 儘管SDN是基於OpenFlow提煉並發展起來的, 但二者並不等同。SDN是一個網絡架構級的概念,強調軟件定義網絡,強調軟硬件的分離。而 OpenFlow 則是一項具體的技術,它強調轉發面的 標準化。 SDN的轉發面和南向接口能夠經過OpenFlow來實 現,也能夠經過別的技術,好比轉發面能夠不遵循OpenFlow標準,而是經過傳統表項的組合來實現。只是OpenFlow是目前看起來最可能標準化的技術,也是跟SDN關係最深的技術。如今一個新的組織 OpenDayLight 正在制定從上到下全套的新標準,也許到時候不會使用OpenFlow也說不定。
目前SDN除了南向接口的OpenFlow有了標準化的文案和規範以外,北向接口技術仍然沒有一個標準。
可是,就算是這樣,Controller也須要對北向接口技術提供支持:好比 REST API(主),SOAP,OSGI等等。這樣才能被上層應用所調用。視頻
分佈式的控制器架構 仍然是業界的共識,在後續的SDN版本中,應該會慢慢加大支持力度。
東西向技術指的是 多控制器之間 如何進行選舉(類比OSPF根據RID選舉DR/BDR),協同(交互),主控制器和備用控制器的切換等等。
Google B4 就是採用 分佈式的控制器架構 的實例。htm
若是咱們只使用一個控制器,那麼若是黑客破解了這個控制器,就控制了整個網絡;所以爲了安全性,須要多個控制器,並利用東西向接口技術來交互。
2016/9/4