透過您的圖書館登入
IP:3.88.60.5
  • 學位論文

SDN環境下精簡路由規則之研究

Forwarding packets in SDN with concise flow rules

指導教授 : 蔡錫鈞

摘要


不管是傳統網路或是SDN軟體定義網路,轉送封包毫無疑問是最重要的功能之一,在傳統網路中,封包的交換會依照傳統網路交換機的轉送表,透過比對封包中的mac address來決定出口的埠號,初期的SDN網路同樣也運用這種方式,但是隨著網路的拓樸、流量及使用者的變動,巨量成長的轉送規則必然成為了交換機的負擔,SDN的優勢就在於我們可以自行定義轉送規則,如何更有效、更精簡地運用網路設備的有限空間,如:TCAM,勢必將成為SDN網路服務中的重要課題。 在本篇論文中,主要分為三個重點,第一、運用Betweenness Centrality理論配合霍夫曼演算法(Huffman)對封包所要行經的路徑規則進行編碼,Betweenness Centrality源自於在人際關係的社群網路中找出相對重要的人物,本篇論文運用類似的想法應用於SDN網路拓樸中找出相對重要的節點,根據Betweenness Centrality演算法對全部節點所計算出分佈比例權重的結果,再利用霍夫曼編碼使得每個節點有各自對應的編碼。第二、運用節點的編碼轉換為共用的路徑資訊,透過SDN的技術(如:Openflow)將路徑編碼轉送給各個網路設備所負責的控制器應用程式,搭配相對應的邏輯產生出壓縮過後的流量規則,將有效縮短每條規則對於封包比對判斷機制,點對點擁有相同的路徑就可以匹配同一條規則,達到減少冗餘規則的效果。第三、搭配儲存平台所設計的路徑資料結構,增加了本論文系統對於各種不同編碼方式的可用性,例如運用分段的路徑編號作為編碼而產生對應的規則。 在實驗結果的部分,我們將會利用相同的網路拓樸跟終端設備的數量差異,比較原生的轉送方式跟運用我們編碼路徑時所產生的規則數量,當終端設備的數量越多,越能呈現我們規則優化的比例,例如Fat Tree拓樸在終端接8台Host可以節省52\%、16台Host可以節省67\%、32台可以節省71\%的規則總量,另外因為在比對的欄位更精簡,從結果也可以看出比原生的轉送方式有更好的傳送效率。

關鍵字

軟體定義網路

並列摘要


Forwarding packets is one of the most important features both in traditional network and Software-Defined network. In traditional network, the exchange of packets are based on the forwarding table for mac address and the output port in traditional switch memory. Likewise, early Software-defined networks use the same way to forward packets. When the network topology become more complicated and the network flows or the endpoint users increase, large amount of flow rules(flow entries) are certainly the burden for all switches. The advantage of SDN is that we can define the flow rule ourselves. We can use effectively the limited hardware in the switch, such as TCAM, that is one of the most important issues in the SDN network services. There are three key points in this paper. First, we use Betweenness Centrality theory and Huffman Encode theory to encode the paths, which the packets traverse. The Centrality theory stems from searching relatively people in the social network of human relationships. In this paper, we use similar idea for finding the relatively important node in the network topology. And then use the Huffman Encoding algorithm to generate the encoding of each node in the network. Second, when we acquire the encoding string for every node in the network, we can use SDN (e.g. Openflow) to generate the encoded path and the encoded flow rules for every SDN switch in the network. Combining with the corresponding logic to generate the traffic rules of the compressed path will effectively shorten each rule's match mechanism for packets. Flows sharing the same path apply the same rule, thus reducing the effect of redundant rules. Third, the scalability of our data system for various encoding methods is supported(e.g. by assigning each shortest path an unique index as the Path_ID). Last but not least, as in our experiment results, we evaluate the total numbers of flow rule in different network topology and different numbers of endpoint. Compare the number of flow rules before and after encoding. The greater the number of terminal devices, the better the proportion of our rules optimized. For example, in Fat Tree Topology as we connect 8 hosts on the edge switches, we can reduce 52\% flow rules, 16 hosts reduce 67\% , and 32 hosts reduce 71\% for the total number of flow rules. In addition, because the match field is more concise, the results show that we have better transmission efficiency than the original transfer method.

參考文獻


[1] N. McKeown, “Software-defined networking,” INFOCOM keynote talk, vol. 17, no. 2, pp. 30–32, 2009.
[2] K. Kirkpatrick, “Software-defined networking,” Communications of the ACM, vol. 56, no. 9, pp. 16–19, 2013.
[3] “Software-Defined Networking (SDN) Definition.” https://www.opennetworking.org/ sdn-resources/sdn-definition. [Online].
[4] C. A. Sunshine, “Source routing in computer networks,” ACM SIGCOMM Computer Communication Review, vol. 7, no. 1, pp. 29–33, 1977.
[5] P. Congdon, “Link layer discovery protocol,” tech. rep., 2002.

延伸閱讀