SDN的控制器應該放在什麼位置(距離交換器的距離)?
SDN 的控制器應該放在哪兒(離交換器有多遠的距離)才能提高效率?擺放的位置會影響哪些因素?不同的網路拓撲結構中應該怎麼放置?有相關的論文和資料或者有現在一直實用的網路u哦結構的論文或資料也請回答一下吧。謝謝各位!!
哈哈,去年剛好研究過這個問題,就是controller placement(如張剛所說的那樣,參考文獻也是那一篇)和 controller-mapping之間mapping,但是論文一直沒發表,後來就仍在那裡了。可以歸結為優化問題中的廠商選址問題:在一個地圖上(地圖上有任意多個城市),建立n個垃圾回收站,使得所有城市到這個垃圾回收站的距離最短。
但是要說的是,由於SDN目前只是商用在數據中心裏面,和OpenStack的控制器結合在一起,所以部署就肯定在一起啦,所以這個問題僅僅是純粹的理論問題,而且多個控制器的東西向介面東沒有定義,多個控制器該如何交互呢?用什麼協議交互呢?因此,個人認為,研究這個控制器放置問題從目前來看幾乎沒有什麼實際意義。我來瞎說兩句~
情境不清楚怎麼答影響?另外,效率指的是什麼?這些不明確的話就只能泛泛地說。
從問題描述我能想到的基本上都是反應時間相關的(TE、Failover之類的)。1. @毛健彪 說了DC裡面的例子。我的想法跟他一樣,數據中心內部(假設in-band)我看不太出來控制器位置的重要性。感覺反而是減少交換機/伺服器等待隊列[1][2],升級硬體的效果要好(顯著減少事件信息到控制器的時間)。
2. 如果考慮AS級別的控制器的的話(1+東西向介面),可以參考谷歌B4那篇論文 [3]。G家一個DC當成一個AS,一個AS一個(邏輯上的)控制器。容錯用Primary-Backup;Paxos做leader election。因為主備還是在一個DC裡面,所以位置的影響跟之前差不多。
3. 如果類似的架構擴展到真正AS的話,控制器位置的影響肯定是會隨著AS拓撲+鏈路延遲的變化而變化。但是按我的理解,一般AS的範圍要比controller placement problem提到的「US- and Europe-sized topologies」小。所以具體的影響應該比[4] 中要小。反過來推測,按照[4]的結論「... for many networks,
multiple controllers are not strictly necessary to meet
response-time goals, even with 『dumb, simple switches』」,AS級別的網路可能在單個地理放位置控制器就夠了。多控制器/控制器的placement可能更多體現容錯、災備之類的作用。
3.1 如果必須用多控制器(不同地理位置)的話,控制器之間是否要保持同一個global view就可能會成一個問題。因為控制器之間延遲,網路事件肯定是由最近的控制器根據全局信息處理(這時候顯然不能用B4的Primary-Backup模式)。這樣,分散式系統的一些基本問題可能對控制器「效率」產生更大影響。舉個例子,參考Onix的第四部分[5],如果要處理鏈路利用率之類變化非常快的信息,用DHT就遠比用transactional database好,反應時間也相對少(如果把不同consistency model的準確率對控制器效果的影響也看做是「效率」的一部分的話,這問題肯定還能更好玩)。
總結起來,不同情景下的位置擺放肯定會對控制器效率有不同影響。但是我覺得單獨討論「應該放在什麼位置」不會對控制器的「效率」有根本的影響。
[1]. Less Is More: Trading a Little Bandwidth for Ultra-Low Latency in the Data Center[2]. Fastpass: A Centralized "Zero-Queue" Datacenter Network
[3]. http://cseweb.ucsd.edu/~vahdat/papers/b4-sigcomm13.pdf[4]. http://yuba.stanford.edu/~nickm/papers/hot21-heller.pdf[5]. https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Koponen.pdf只看過一篇相關的文章(見下方文獻),一般來說一個大網路中需要不止一個控制器,所以這個問題視你的度量而定,比如最小化最大時延、最小化平均時延等,是一個NP難的問題。具體放那個地方忘了,可以參考下面的文獻,有演算法的(離線演算法)。
Heller B, Sherwood R, McKeown N. The controller placement problem[C]//Proceedings of the first workshop on Hot topics in software defined networks. ACM, 2012: 7-12.
既然交換機與控制器是tcp連接,部署在哪裡應該不是重要因素,關鍵在於帶寬和延遲..
推薦閱讀: