ON THE IMPLEMENTATION OF ADAPTIVE FLOW MEASUREMENT IN THE SDN-ENABLED NETWORK: A PROTOTYPE PANG-WEI TSAI, CHUN-YU HSU, MON-YEN LUO AND CHU-SING YANG NATIONAL CHENG KUNG UNIVERSITY, INSTITUTE OF COMPUTER AND COMMUNICATION ENGINEERING REPORTER : CHUN-YU HSU 1
OUTLINE Introduction Background Related Work System Design Group-based Flow Monitoring Scheme System Architecture Implementation Experiment and Verification Conclusions Future work 2
INTRODUCTION The measurement is an important issue in network management. The SDN leads the network innovation but still need the network measurement. We present a prototype design for measurement in the OpenFlow network : With adaptive method to monitor the flows. Adapt our method in the office. 3
BACKGROUND There two ways to get flow statistics with OpenFlow-defined methods : Controller polling : Statistics Request and Statistics Reply Switch pushing : Flow Removed message Statistics Request Controller Statistics Reply Controller Flow Removed message Switch Figure 1 Switch Figure 2 4
RELATED WORK Most of the measurement method can be classify into three types : Push by switch FlowSense : Monitoring Network Utilization with Zero Measurement Cost Pull (query) by controller PayLess : A Low Cost Network Monitoring Framework for SDNs Span port mirror OpenSAFE : Employing a Programmable Network Fabric for Measurement and Monitoring 5
SYSTEM DESIGN : SYSTEM ARCHITECTURE Dashboard for presentation (on the controller) Send statistics information Send row data Send control message Flow Stats Collector Get reply Send request Inform Polling time Del/Add flow records Flow Status Tracker Events of flows OpenFlow Switches Flow Status Tracker Flow Stats Collector 6
SYSTEM DESIGN : SYSTEM ARCHITECTURE (CONT.) Dashboard for presentation (on the controller) Send statistics information Send row data Send control message Flow Stats Collector Get reply Send request Inform Polling time Del/Add flow records Flow Status Tracker Events of flows OpenFlow Switches Flow Status Tracker : Keeping track of Flow Modify message. Maintaining the existing flows. 7
SYSTEM DESIGN : SYSTEM ARCHITECTURE (CONT.) Dashboard for presentation (on the controller) Send statistics information Send row data Send control message Flow Stats Collector Get reply Send request Inform Polling time Del/Add flow records Flow Status Tracker Events of flows OpenFlow Switches : The main component of adaptive method. It decides the polling frequency for each flow. 8
SYSTEM DESIGN : SYSTEM ARCHITECTURE (CONT.) Dashboard for presentation (on the controller) Send statistics information Send row data Send control message Flow Stats Collector Get reply Send request Inform Polling time Del/Add flow records Flow Status Tracker Events of flows OpenFlow Switches Flow Stats Collector : It is responsible for sending Statistics Request message to corresponding switch When a Statistics Reply message comes, it stores the raw data in memory. 9
SYSTEM DESIGN : SYSTEM ARCHITECTURE (CONT.) Dashboard for presentation (on the controller) Send statistics information Send row data Send control message Flow Stats Collector Get reply Send request Inform Polling time Del/Add flow records Flow Status Tracker Events of flows OpenFlow Switches : Organize raw data into meaningful information for analysis and interpretation. A web-based dashboard is used to present the traffic charts of active flows. 10
SYSTEM DESIGN : GROUP-BASED FLOW MONITORING SCHEME Based on poll-based measurement method, the interval time of the polling action turns the calculated throughput of a flow into a sampling way. Small interval time : accurate but brings large overhead on control plane Large interval time : relieves system but decreases the measurement accuracy Balancing the accuracy and efficiency in the measurement : a group-based scheme can adjust the polling frequency. 11
SYSTEM DESIGN : GROUP-BASED FLOW MONITORING SCHEME Group : There are many groups in the system. A group is composed of many flows, and it is correspond to a unique polling frequency. Each group has a timer to countdown its time for triggering polling action. Flow : As time goes by, flows can be dynamically moved to other groups. 12
SYSTEM DESIGN : IMPLEMENTATION Flow Stats Collector Flow Status Tracker OpenFlow Switches 13
SYSTEM DESIGN : IMPLEMENTATION Flow Stats Collector Flow Status Tracker OpenFlow Switches flow x Event of flows 14
SYSTEM DESIGN : IMPLEMENTATION Flow Stats Collector Add flow x Flow Status Tracker OpenFlow Switches 15
SYSTEM DESIGN : IMPLEMENTATION Flow Stats Collector Group Flows Timer A flow 1, flow 3 1 OpenFlow Switches Default 2 C flow 4, flow 5 4 Flow Status Tracker 16
SYSTEM DESIGN : IMPLEMENTATION Flow Stats Collector Group Flows Timer A flow 1, flow 3 1 OpenFlow Switches Default flow x 2 C flow 4, flow 5 4 Flow Status Tracker 17
SYSTEM DESIGN : IMPLEMENTATION Flow Stats Collector Group Flows Timer A flow 1, flow 3 1 OpenFlow Switches Default flow x 0 C flow 4, flow 5 2 Flow Status Tracker Time Due, inform Flow Stats Collector 18
SYSTEM DESIGN : IMPLEMENTATION Flow Stats Collector Send query packets to flow x OpenFlow Switches Flow Status Tracker 19
SYSTEM DESIGN : IMPLEMENTATION Send to Flow Stats Collector Reply OpenFlow Switches Flow Status Tracker 20
SYSTEM DESIGN : IMPLEMENTATION Analysis flow x traffic : 1. Byte rate 2. Packet rate Flow Stats Collector Flow Status Tracker Key point to decide which group the flow has to move to (can be customized) OpenFlow Switches 21
SYSTEM DESIGN : IMPLEMENTATION Flow Stats Collector Group Flows Timer A flow 1, flow 3 1 OpenFlow Switches Default flow x 2 C flow 4, flow 5, flow x, 4 Flow Status Tracker Move flow x to corresponding group according to the throughput 22
SYSTEM DESIGN : IMPLEMENTATION With adjustment, the flow can change the polling frequency dynamically Flow Stats Collector Group Flows Timer A flow 1, flow 3 1 OpenFlow Switches Default flow x 2 C flow 4, flow 5, flow x, 4 Flow Status Tracker Move flow x to corresponding group according to the throughput 23
SYSTEM DESIGN : IMPLEMENTATION Flow Stats Collector Flow Status Tracker OpenFlow Switches flow x Flow removed message 24
SYSTEM DESIGN : IMPLEMENTATION Flow Stats Collector delete flow x Flow Status Tracker OpenFlow Switches 25
SYSTEM DESIGN : IMPLEMENTATION Flow Stats Collector Group Flows Timer A flow 1, flow 3 1 OpenFlow Switches Default 2 C flow 4, flow 5, flow x, 4 Flow Status Tracker 26
EXPERIMENT AND VERIFICATION Functional Verification Comparison Experiment Real environment Testing 27
EXPERIMENT AND VERIFICATION (CONT.) Functional Verification Comparison Experiment The number of groups is set to 3 Polling interval configurations are set to be 2 0 second, 2 1 seconds and 2 2 seconds The threshold values are defined to be 10 5 and 10 7 bit per second. Group A Group B Group C 1 second 1 time 10 7 bps 2 second 1 time 10 5 bps 4 second 1 time 28
EXPERIMENT AND VERIFICATION (CONT.) Host specification of controller Hardware Specification of Controller ASUS AS-D770 with Intel Q9400 CPU and 4GB memory Linux Kernel version 3.5.0 Operating System Ubuntu 12.04 Controller Ryu OpenFlow Protocol 1.3 Host specification of Mininet Hardware Specification of Mininet ASUS AS-D792 with Intel Q6600 CPU and 4GB memory. Linux Kernel version 3.5.0 Operating System Ubuntu 12.04 Mininet version 2.0.0 29
EXPERIMENT AND VERIFICATION (CONT.) Functional Verification We send UDP packets from iperf client to server and observe the measurement data compared to the client and server The test is set to sustain 180 seconds, and the minimum unit of time is 1 second in measurement. RYU Controller Get traffic statistics Controller Iperf client (N1) Iperf server (N2) The Experiment Environment 30
EXPERIMENT AND VERIFICATION (CONT.) Functional Verification We send UDP packets from iperf client to server and observe the measurement data compared to the client and server The test is set to sustain 180 seconds, and the minimum unit of time is 1 second in measurement. 31 The Throughput Result
EXPERIMENT AND VERIFICATION (CONT.) Comparison Experiment We set control group to be constantly-polling scheme, and compare the throughput and polling interval to our group-based method. 32 The Throughput Result The Interval Time
EXPERIMENT AND VERIFICATION (CONT.) Real Environment Testing We replace a traditional edge switch with the OpenFlow switch in our lab. There are 20+ PCs connected to this switch, and 40+ con-current flows in average. The uptime of the system is about 20 days (still continue to go) Deployment : (1) LAN switch / OpenFlow Switch (2) RYU controller Controller OFFICE LAN Campus Network 33
EXPERIMENT AND VERIFICATION (CONT.) Real Environment Testing A web-based dashboard is used to present the con-current flows and their monitoring information. The web-based dashboard and presented flow statistics. The presented flow statistics of the selected flow in the dashboard. The polling frequency of the selected flow in the dashboard. 34
CONCLUSION This paper proposed a group-based flow monitoring scheme. According to the results in experiments, the proposed method adjusts the sampling frequency to reduce the overhead of the measurement, and the traffic charts of proposed method behave approaching presentation. The paper aims to share the experience of designing an alternative way for flow measurement. 35
FUTURE WORK The future research directions are planned by the authors, such as verifying the scheme with largescale scenarios and finding the optimized parameters for algorithms. 36
THANK YOU FOR YOUR LISTENING! 2015.08.10 37