SDN學習筆記(三):Challenges for Control and Data Plane Separation

控制和數據平面分離面臨着三個挑戰那就是延展性(scalability),可靠性(reliability)和一致性(consistency)

簡單來說其延展性就是路由器的路由規則上的靈活性,可靠性就是相關協議的可靠性以及在犯錯之後的補救措施,一致性就是因爲由於數據和控制平面分離導致協議方面,路由方面的不一致

延展性(scalability),可靠性(reliability)

當前延展性面臨的挑戰就是,一個自治網絡系統中有千千萬萬個路由器,在自治網絡系統當中每個路由器都要有自己的路由表,如果是RCP,在控制數據包轉發的時候,這將會是一個很大的運算,爲了能讓數據包能夠在自治網絡系統中路由,每一個路由器都需要計算所有的路由線路,RCP要對每一個數據包負責,這樣使得運算中有冗餘,即過量運算,可以想象,因爲每個路由器都有自己的路由表,那麼:

當一個數據包每到一次路由器的時候,這個路由器會做運算然後會依照他的路由表來轉發,每次轉發的目標只是下一個路由器,缺點如下:每個數據包,他們只知道下一步要怎麼走,並不知道整條路線要怎麼走,並且這樣子每次路由器都有可能要做沒必要的運算,浪費了運算時間;

那麼如果用RCP,他作爲一個節點,來直接告訴數據包整個路線怎麼走,,根據RCP的指令直接規劃好路線,一口氣直接到目的地,但是面臨的挑戰就是,要怎麼規劃好整個路線?

所以爲了能夠不讓路由器做重複的運算並且規劃好整個路線,RCP要收集每個路由器的而路由表信息,將每個路由器中的路由表進行收集,做一個簡單的COPY,然後這樣RCP就收集了所有路由表的信息,於是在數據包轉發的時候就沒有必要根據每個路由器的路由表來轉發,而是根據RCP的指令來轉發,爲了消除冗餘,需要建立一個數據庫,RCP將所有路由表信息收集以後,把他們放在數據中心裏,如果再出現同樣的路由表,就不需要把他們存進去,當作沒有看見,這樣路由器就得到了解放,但是他們必須還得留下來,因爲如果某個路由器停止了工作然後影響了其他路由器,那麼他們就會更新出新的路由表,然後上傳給數據庫作爲新的數據,這樣數據庫只用更新這一個數據就行,而不是作整個網絡上路由的重新運算,不過上訴的基礎都是基於BGP。

一致性(consistency)

在學習筆記一中有具體說過,SDN中不同用戶都有不同用戶的路由線路,不同規則和協議,但是他們共享着這些硬件,路由器,交換機,等等。這裏有兩個概念,分別是分離(partitioning)和聚合(aggregation)下面細說這兩個概念。

如圖所示,如果一個自治網絡系統中有兩個RCP在控制,也就是說有兩個用戶,那麼,在協議規則算法始發點都相同的情況下,那麼反饋給路由器的信息是相同的,那麼他們的數據包的目的地一定是相同的,在這樣一致的情況下,就沒有必要用到一致性協議,但是當信息等等各不相同的時候就需要用到了,畢竟他們不總是看見同樣的信息,一致性協議有兩種,一種是強一致性協議,他們犧牲一些性能然後使得兩個用戶之間保持高度一致,另一種是弱一致性協議,保持一般般的一致性,然後提升路由性能。那到底一致性是什麼樣的標準呢?

如上圖,由於不同的運算規則和不同的協議,兩個RCP運算的結果,假設左邊的RCP想要數據包從A路由器出發通過B路由器到D路由器,右邊的RCP想要從B路由器出發,通過A路由器到C路由器,在沒有一致性協議的情況下,從A出發的數據包往D轉發的途中要經過B,從B出發的數據包往C轉發的途中要經過A,他們要服從RCP的指令,A聽左邊的,B聽右邊的,導致了數據包會在AB之間往返循環,最終的結果就是他們收集到A和B的路由表信息讓他們覺得這個數據包是不可達的。

所以現在有分離這個概念,我們把每個從大網絡中分離出來的子集稱爲分區,RCP將收集這兩個分區的鏈路狀態來規劃鏈路要走哪一條分區,同時通過IGP,OSPF等等方式,來確保鏈路是可達的,左圖中,假當RCP在分區2作運算的時候,發現分區2無法實現鏈路上的聯通,於是在分區1作運算,發現可以聯通,於是就能確保鏈路的實現,因爲分區1和2就相當於兩個獨立的網絡系統,再如右圖,拿上訴的例子來說A,B的路由表信息都表明不可達,於是兩個RCP之間雖然有AB兩個交集,並且AB在分區2裏,發現分區2是失敗的,於是就會走新的路線避開循環,也許是CEFD等等,這樣就能保證交通上不會出現堵車。

所以總結分離控制和數據平面帶來的三個重大挑戰,一個是可擴展性,特別是單個控制器現在必須代表許多網絡元素做出路由決策或各種控制平面決策,以前每個人都獨立地爲自己執行這些計算,第二個挑戰是保證在網絡故障或控制器本身故障下正確運行的可靠性,第三個挑戰是一致性或確保多個控制器副本之間的一致性,特別是在網絡分區或故障的情況下因此,我們詳細探討了這些挑戰中的每一個,並討論了各種技術,包括層次結構聚合和各種聰明的狀態管理和分發,對這些挑戰的解決方案。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章