標題: | 基於P4 Switch的動態負載平衡和壅塞避免演算法 Dynamic Load Balancing and Congestion Avoidance Based on P4 Switch |
作者: | 劉學慈 林寶樹 Liu, Hsueh-Tzu Lin, Bao-Shuh 網路工程研究所 |
關鍵字: | 負載平衡;壅塞控制;P4 交換機;ONOS;load balance;congestion control;P4 switch;ONOS |
公開日期: | 2017 |
摘要: | 近年來,網路的快速發展,為了使網路資源有效配置以及利用,一個良好的負載平衡演算法是必要的。 在RFC2991中提到三種分配路徑的方法,分別為隨機(Random)、輪詢(Round-Robin, RR)、Hash。 Random與RR這兩個方法是Packet-based的,因此對於相同Flow的數個封包可能會走不同的路徑,導致到達目的地的順序不同,這樣的情況可能會造成嚴重的封包重組,故此論文使用Hash方法。
然而,只使用負載平衡並不足夠,因為他缺乏公平性且無法達到最佳的資源利用度。 基於此原因,我提出了結合負載平衡以及壅塞避免的演算法。 首先,根據link的重疊程度或頻寬,給該link相對應的權重。 其次,根據RFC2991中提到的Hash方法,實做並利用該方法配置link的權重,且此hash function可以避免產生的值過度集中,也就是減少碰撞發生的機率。 如此,在多重路徑的流量分配以及資源的使用度都會達到最好。 另外,我們也提出動態調整權重的方法,能夠隨時依拓樸的狀態給予相對應link的權重。在此論文中,我們使用P4 software switch 當作資料層的交換器,在控制層我們則是用ONOS去和各交換器溝通,像是取得整體拓墣資訊或是下指令給交換器。 Nowadays, data center networks have volume and dynamic traffic. In such network, in order to effectively manage the traffic distribution, it's essential to employ effective load balancing schemes and congestion avoidance method. In RFC2991, it mentioned three methods which are Random, Round-Robin and Hash to allocate multiple paths. For Random and Round-Robin are packet-based, the packet with the same flow may be assigned to different path. Both of them will lead to re-ordering seriously. Thus, we use Hash method. However, only using load balancing techniques is not enough. It's without fairness and cannot reach optimal resource utilization. For the reason mentioned above, we propose an algorithm which combined load balance and congestion avoidance to solve the problem. First, we implement a better load balance and congestion avoidance method. By giving each link weight according to the overlap degree or bandwidth of the link. Second, according to the method RFC2991 mentioned, we implement Hash Threshold method with better hash function which can avoid over-concentration of the value and reduce the probability of collision occurred effectively and use this method to allocate the link's weight. Third, we propose a method to set the flow rules dynamically. As a result, we can modified our flow rules based on the current condition of the topology flexibly. We use the BMv2 which is the reference P4 software switch as the data plane switch. In the control plane, We employ ONOS controller to communicate with switches, such as get the topology information from switches or order the flow rules to switches. |
URI: | http://etd.lib.nctu.edu.tw/cdrfb3/record/nctu/#GT070456547 http://hdl.handle.net/11536/141634 |
Appears in Collections: | Thesis |