Dynamic Traffic Diversion in SDN: Testbed vs Mininet 2018/12/25 Dynamic Traffic Diversion in SDN: Testbed vs Mininet 這篇論文是在實驗 mininet 和實體的 switch 兩種環境裡 SDN 執行效率的差別。 Dynamic traffic diversion 是他們實驗會用到的一個小的演算法。 Author: Robert Barrett Publisher/Conference: 2017 International Conference on Computing, Networking and Communications (ICNC) Presenter: Cheng-Feng Ke Date: 2017/03/29 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C. CSIE CIAL Lab 1
2018/12/25 INTRODUCTION Mininet is a widely used tool but how does it compare to a real SDN testbed implementation? Are the emulated results going to hold in a real implementation? This is one of the goals of this paper. After proposing and implementing a simple Dynamic Traffic Diversion (DTD) algorithm, we want to compare the results that are obtained with a real SDN testbed and with Mininet. Mininet 是一個模擬 SDN 環境常常會使用到的工具。 這篇論文的目的就是在實驗實體的 testbed 環境和使用 mininet 會有什麼差異。 然後救世會用到一個簡單的分流的演算法測試看看兩種環境的效能。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
DESIGN AND IMPLEMENTATION 2018/12/25 DESIGN AND IMPLEMENTATION We implemented the topology shown in Figure 1 in two different environments: 1) in a testbed using real Cisco equipment and 2) in Mininet. For testing purposes, we decided to have hosts connected to switches 1 and 3, and have two paths between them, which could be changed dynamically. If the main Internet connection for a company is congested, a second backup link will take the important traffic so the latency and jitter are kept to a minimum. 等一下會看到實驗環境的 topology,那個 topology 會分別用兩種方式去建立。 一個是建立在 cisco 的設備上,一個是建立在 mininet 裡。 環境最主要會有 4 個 host,分別和 switch 1 和 switch 3 連接。 switch 1 和 switch 3 之間會有兩條路徑可以走。 然後剛剛提到的 dynamic traffic diversion 演算法就是會去偵測第一條路徑是否很壅擠,是的話就會讓資料走二條路徑。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
DESIGN AND IMPLEMENTATION 2018/12/25 DESIGN AND IMPLEMENTATION 藍色和綠色的 link 就是代表使用的了不同的 vlan id 連接 用來區分 sdn control 的 network 和實驗的 network。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
DESIGN AND IMPLEMENTATION 2018/12/25 DESIGN AND IMPLEMENTATION To implement our testbed, we used three Cisco Catalyst 3650 switches all running an Early Field Trial (EFT) version of IOS-XE featuring Cisco’s implementation of OpenFlow. After installing the Cisco plug-in for OpenFlow [11] on our Cisco 3650’s, we initially configured OpenFlow [12] protocol 1.3 for functionality and communication between our switches and the controller. 實體的設備是使用 Cisco Catalyst 3650,然後使用實驗版本的 IOS-XE 軟體, 這個軟體是 Cisco 出的一個網路軟體,可以用來控制他們自己的 device。 這設備還需要安裝 plug-in 才能夠支援 Openflow 1.0 和 1.3, 這裡是設定使用 Openflow 1.3 的版本。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
DESIGN AND IMPLEMENTATION 2018/12/25 DESIGN AND IMPLEMENTATION Cisco Catalyst 3650 switches all running an Early Field Trial (EFT) version of IOS-XE Switching capacity 176 Gbps on 48-port models (non-multigigabit models) 88 Gbps on 24-port models (non-multigigabit models) 254 Gbps on 24-port Multigigabit models with 2x10G uplink 272 Gbps on 24-port Multigigabit models with 4x10G uplink 392 Gbps on 48-port Multigigabit models with 4x10G uplink 472 Gbps on 48-port Multigigabit models with 8x10G uplink 472 Gbps on 48-port Multigigabit models with 2x40G uplink Stacking bandwidth 160 Gbps DRAM 4 GB Flash 2 GB (non-Multigigabit models) and 4GB (Multigigabit models) FNF entries 48,000 flow on 48-port models 24,000 flows on 24-port models National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
DESIGN AND IMPLEMENTATION 2018/12/25 DESIGN AND IMPLEMENTATION After connecting the switches together, we needed to con- figure the switches to connect to the OpenDaylight controller. As an example, Figure 2 shows the OpenFlow configuration for switch 1. In addition, with our limits of traffic generation during testing, we set the bandwidth limit on all of the switch’s ports to 100 Mbps. 再來就是他有對 cisco 的 switch 下一些指令,讓他可以和 Opendaylight Controller 溝通。 另外就是有限制測試時的 bandwidth,每個 port 最高到 100 Mbps, 做這個限制比較好測試線路壅擠的情況。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
DESIGN AND IMPLEMENTATION 2018/12/25 DESIGN AND IMPLEMENTATION National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
DESIGN AND IMPLEMENTATION 2018/12/25 DESIGN AND IMPLEMENTATION Finally, each of the physical hosts were installed with Lubuntu as their operating system, as well with an additional NIC to provide access to both management and user VLANs. Also, on each host, Iperf [13] was installed for traffic generation, and gathering measurements for testing and analysis 剛剛看到的 host1到 host4作業系統都是使用 Lubuntu。 然後有配額外的 network interface card 可以同時存取 management 和 user 的 VLANs。 然後每個 host 上都有安裝 Iperf 這個工具去產生 UDP traffic 並且分析 traffic。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
2018/12/25 這個 python 程式是用來建立 mininet 的環境。 主要做的事情就是建立四個 host 和 三個 switch 。 然後設定好 host 和 switch 之間的 link。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
DYNAMIC TRAFFIC DIVERSION APPLICATION 2018/12/25 DYNAMIC TRAFFIC DIVERSION APPLICATION Dynamic Traffic Diversion Figure 4 shows a high level overview of the controller application used to manage traffic in the network. At regular intervals, the application polls the transmitted bytes for that interval of the interface of the switch 1 that connects to switch 3, and turns it into a percentage of the maximum link capacity. 這裡是在講 Dynamic Traffic Diversion 演算法。 主要做的事情就是定期去蒐集 switch 1 和 switch 3 的 interface 傳輸了多少 bytes, 然後轉換成 bandwidth 的使用率,在決定是否要切換路徑。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
DYNAMIC TRAFFIC DIVERSION APPLICATION 2018/12/25 DYNAMIC TRAFFIC DIVERSION APPLICATION If this value is more than a preset upper threshold, the link is considered to be congested, and the backup link takes precedence. If the value drops below a preset lower threshold, the link is considered to be no longer congested, and the main link takes precedence again. 如果第一條 path 的 bandwidth 使用率超過 upper threshold ,就使用第二條 path 傳送資料。 如果第一條 path 的 bandwidth 使用率低於 lower threshold,就使用第一條 path 傳送資料。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
DYNAMIC TRAFFIC DIVERSION APPLICATION 2018/12/25 DYNAMIC TRAFFIC DIVERSION APPLICATION National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
DYNAMIC TRAFFIC DIVERSION APPLICATION 2018/12/25 DYNAMIC TRAFFIC DIVERSION APPLICATION We chose to use python to create our application, as much of our initial testing was done using cURL command line commands, and python was able to incorporate a lot of the same syntax. cURL was used to get the interface information from an XML document provided and refreshed by the OpenDaylight Northbound REST interface. Dynamic Traffic Diversion 使用 python 撰寫, 然後使用 curl 這個指令和 Opendaylight northbound 的 REST API 溝通。 取得 switch 1 和 switch 3 的 bandwidth 使用率。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
DYNAMIC TRAFFIC DIVERSION APPLICATION 2018/12/25 DYNAMIC TRAFFIC DIVERSION APPLICATION Another method to achieve the same goal would be to make a plugin for OpenDaylight, so our program loaded as a part of the OpenDaylight controller. This was something we investigated, but did not pursue, as an external program was as efficient, and less complex. 然後也有另一種方法是寫一個 OpenDaylight 的 plugin 去執行這個演算法。 不過比較複雜所以就沒有採用。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
2018/12/25 TESTING AND ANALYSIS We compare the Cisco testbed and Mininet in terms of packet loss and Jitter. Packet loss is the failure of transmitted packets arriving to their destination. Jitter is the measurement of the variance in time between packet delivery. With these measurements, we will be able to determine whether the dynamic traffic diversion application can decrease the delivery time and increase the rate of traffic if there was an alternative path to be taken. 實驗結果比較兩個數據,一個是 packet loss 和 jitter。 packet loss 就是 packet 被 drop 的比率。 Jitter 是指前後兩次 packet 傳送延遲時間的變化量。 實驗中也會使用到 dynamic traffic diversion 演算法, 可以減少 delivery time 和 rate of trafiic。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
2018/12/25 TESTING AND ANALYSIS Upper threshold: 90% of the link capacity (i.e. 90 Mbps) Lower threshold of 70% of the link capacity (i.e 70 Mbps) National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
2018/12/25 TESTING AND ANALYSIS Finally, for each scenario discussed below, 10 independent tests were evaluated and the results of each test are displayed on the x-axis of each graph. 實驗包含三個 scenario,每個 scenario 都會做十次獨立的測試。 這十次數據會依序列在圖表的 x 軸上。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
Scenario 1 - Baseline Testing 2018/12/25 Scenario 1 - Baseline Testing The objective in this scenario is to define a baseline for each environment when there is no congestion on path 1. H1 sends 600 MB of UDP traffic at a data rate of 50 Mbps to H3 through path 1. As there was no traffic on path 1 other than H1’s, there was, as expected, no packet loss in both environments. 第一個 scenario 目標是先取得 path 1 沒有擁擠時候的數據作為基準。 Host 1 會發送 600 MB 的 UDP traffic 到 H3,速率是 50MB。 因為不會擁擠所以 packet 不會 loss,所以只有 jitter 的數據。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
Scenario 1 - Baseline Testing 2018/12/25 Scenario 1 - Baseline Testing Y軸是 jitter,單位是 ms。 X軸就是第幾次測試,直方圖代表實際的數值,直線代表所有數值的平均值。 紅色代表環境是使用 cisco 的設備,藍色是使用 mininet。 實驗結果就是兩個環境的 jitter 其實都差不多,mininet 會比較好一點。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
Scenario 2 - Performance without Dynamic Traffic Diversion 2018/12/25 Scenario 2 - Performance without Dynamic Traffic Diversion H1 sends 600 MB of UDP traffic at a data rate of 50 Mbps to H3 through path 1, while H2 congests path 1 with a large amount of UDP traffic at a data rate of 95 Mbps. In this scenario, the dynamic traffic diversion application is not running meaning that all the traffic must go through path 1. 第二個 scenario 是測試 path1 擁擠的情況。 Host 1 會在 path1 發送總共 600MB 速率 50 MB 的 UDP traffic 給 Host 3。 Host 2 會在 path1 一直發送速率 95 MB 的 UDP traffic 給 Host 4。 因為 switch bandwidth 是設定 100 MB 所以會發生壅擠,導致 packet loss。 然後也不會使用 dynamic traffic diversion 演算法所以不會分流到 path2。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
Scenario 2 - Performance without Dynamic Traffic Diversion 2018/12/25 Scenario 2 - Performance without Dynamic Traffic Diversion 實體設備環境有大約 50 % 的 packet loss。 Mininet 環境有 34% 的 packet loss。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
Scenario 2 - Performance without Dynamic Traffic Diversion 2018/12/25 Scenario 2 - Performance without Dynamic Traffic Diversion 實體設備環境有 7.829 ms 的 jitter。 Mininet 環境有 6.2207 ms 的 jitter。 實驗結果也是 mininet 比實體設備較好一點。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
Scenario 3 - Performance with Dynamic Traffic Diversion 2018/12/25 Scenario 3 - Performance with Dynamic Traffic Diversion The purpose of this test was to determine whether the dynamic traffic diversion application will decrease the delivery time and increase the delivery rate of the marked traffic. H1 sends 600 MB of UDP traffic at a data rate of 50 Mbps to H3 through path 1, while H2 congested path 1 with a large amount of UDP traffic at a data rate of 95 Mbps with the DTD application running. 第三個 scenario 和第二個 scenario 相同。 只是有啟用 dynamic traffic diversion 演算法。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
Scenario 3 - Performance with Dynamic Traffic Diversion 2018/12/25 Scenario 3 - Performance with Dynamic Traffic Diversion 然後因為有演算法做分流的關係,所以沒有 packet loss,只有 jitter。 實驗結果和第一個沒有壅擠情況的 scenario 差不多。 jitter 的平均時間都很小。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
2018/12/25 Overall Analysis With the DTD application, the marked traffic decreased its delivery time and increased the delivery rate, with no packet loss, and low jitter. Furthermore, some of the results in the Mininet environment had better results than the physical environment which is believed to be caused by Mininet being an all-in-one box, and not having the traffic travel across actual physical links. Lastly, in comparison to the environments, from the results the Mininet environment is a suitable test environment if testing for scalability is an issue. 結論就是如果有使用 dynamic traffic diversion 做分流的話,就可以減少 delivery time 和增加 rate of traffic。 然後 Mininet 之所以實驗的結果比實體環境好,應該是因為 mininet 是一個 all in on box 的環境,traffic 不需要通過實體的 Link。 最後就是 Mininet 比較適合一些有擴展性問題的測試環境,比方需要很多的設備之類的。 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab