<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">IJCNS</journal-id><journal-title-group><journal-title>International Journal of Communications, Network and System Sciences</journal-title></journal-title-group><issn pub-type="epub">1913-3715</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/ijcns.2017.105B006</article-id><article-id pub-id-type="publisher-id">IJCNS-76534</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Low-Cost Measurement Framework in Software Defined Networks
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Qiang</surname><given-names>He</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Shengbao</surname><given-names>Wang</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>School of Computer Science and Engineering, Northeastern University, Shenyang, China</addr-line></aff><pub-date pub-type="epub"><day>26</day><month>05</month><year>2017</year></pub-date><volume>10</volume><issue>05</issue><fpage>54</fpage><lpage>66</lpage><history><date date-type="received"><day>March</day>	<month>6,</month>	<year>2017</year></date><date date-type="rev-recd"><day>Accepted:</day>	<month>May</month>	<year>23,</year>	</date><date date-type="accepted"><day>May</day>	<month>26,</month>	<year>2017</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
   
   Software Defined Network (SDN) makes network management more flexible by separating control plane and data plane, centralized control and being programmable. Although, network measurement still remains in primary stage in SDN, it has become an essential research field in SDN management. In this context, this paper presents a low-cost high-accuracy measurement framework to support various network measurement tasks, such as throughput, delay and packet loss rate. In this framework, we only measure per-flow edge switches (the first and the last switches). In addition, a new adaptive sampling algorithm is proposed to significantly improve measurement accuracy and decrease network overhead. Meanwhile, we consider a low-cost topology discovery approach into our framework instead of topology discovery currently implemented by SDN controller frameworks. In order to improve the accuracy of delay, we also join a time threshold value to adjust the time delay. Furthermore, we consider and analyze the balance between measurement overhead and accuracy in several aspects. Last, we utilize POX controller to implement the proposed measurement framework. The effectiveness of our solution is demonstrated through simulations in Mininet and Matlab. 
  
 
</p></abstract><kwd-group><kwd>Software Defined Network</kwd><kwd> Adaptive Sampling</kwd><kwd> POX Controller</kwd><kwd> OpenLL</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Software Defined Network, as the mainstream technique of future network architectures has attracted more and more attention from academia and industry [<xref ref-type="bibr" rid="scirp.76534-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.76534-ref2">2</xref>]. Control and measurement are two important parts of SDN management, so far, most research has been focused on SDN control and little work has gone into SDN measurement. Besides, centralized control of the controller makes control process more complicated, which consumes too much network resources. Therefore, it’s essential to propose a low-cost high-accuracy software-defined measurement architecture.</p><p>There are two ways to measure the network performance: active or passive methods [<xref ref-type="bibr" rid="scirp.76534-ref3">3</xref>]. Active measurement needs to inject probe packets into the network for monitoring their behaviours, such as popular ping and iperf. While passive measurement consumes little overhead, such as Simple Network Monitoring Protocol [<xref ref-type="bibr" rid="scirp.76534-ref4">4</xref>], NetFlow [<xref ref-type="bibr" rid="scirp.76534-ref5">5</xref>] and sFlow [<xref ref-type="bibr" rid="scirp.76534-ref6">6</xref>], which are widely used in networks. Active and passive measurements have their own advantages. However, active measurement may violate the network behaviour and produce a negative influence on the measurement accuracy. Meanwhile, passive measurement requires a number of network devices.</p><p>Flow-based measurements such as NetFlow and sFlow provide general support for various measurement tasks. On one hand, NetFlow was introduced by Cisco, which provided a method to collect statistical features about individual IP flows and collect IP network traffic. NetFlow produces per-flow statistics collection without requiring rules to be installed. A typical flow monitored by NetFlow consists of three main components: flow exporter, flow collector and analysis application. The popular sFlow is an industry standard technique for monitoring high speed networks. It provides fine grained network measurement without requiring per-flow state at switches. The advantages of sFlow include scalable technique, a low cost solution and providing a network-wide view of usage. However, NetFlow and sFlow consume two resources (CPU and bandwidth) [<xref ref-type="bibr" rid="scirp.76534-ref7">7</xref>] [<xref ref-type="bibr" rid="scirp.76534-ref8">8</xref>], which can increase network overhead. Therefore, we need to propose a low-cost measurement method, which supports various measurement tasks.</p><p>The rest of this paper is organized as follows. Section 2 introduces the background and related work. In Section 3, we present the architecture of the proposed measurement system, named OpenFlow-based Low-cost and Low-error measurement architecture (OpenLL), and then we also present the calculating delay, loss, throughput, a presentation of our proposed adaptive sampling algorithm and a low-cost topology discovery method. In Section 4, we evaluate and compare the performance with that of OpenNetMon and polling through simulations using Mininet and Matlab. In Section 5, we make a summary of this paper.</p></sec><sec id="s2"><title>2. Background and Related Work</title><p>In this section, we briefly discuss the most related proposals, namely those about OpenFlow protocol and measurement methods in SDN. Some other recent works that utilize SDN for measurement can be found in [<xref ref-type="bibr" rid="scirp.76534-ref12">12</xref>] [<xref ref-type="bibr" rid="scirp.76534-ref13">13</xref>] [<xref ref-type="bibr" rid="scirp.76534-ref14">14</xref>] [<xref ref-type="bibr" rid="scirp.76534-ref15">15</xref>] [<xref ref-type="bibr" rid="scirp.76534-ref16">16</xref>].</p><p>A typical SDN architecture includes application layer, control plane and data plane. In SDN architecture, OpenFlow is the most popular and widely accepted open southbound interface standard. As an open source standard, OpenFlow protocol [<xref ref-type="bibr" rid="scirp.76534-ref2">2</xref>] ensures communication compatibility and scalability both switches and controllers, such as NOX [<xref ref-type="bibr" rid="scirp.76534-ref9">9</xref>], POX [<xref ref-type="bibr" rid="scirp.76534-ref10">10</xref>] and Floodlight [<xref ref-type="bibr" rid="scirp.76534-ref11">11</xref>]. Although, OpenFlow is not the only available southbound interface for SDN, it is regarded as great popularity by the academia and industry. In OpenFlow protocol [<xref ref-type="bibr" rid="scirp.76534-ref2">2</xref>], packet-in messages are sent by forwarding devices to the controller when a new incoming flow or because there is an explicit “send to controller” action in the matched entry of the Flow Table. As a response, the controller will use Flow <xref ref-type="table" rid="table">Table </xref>Modification messages (FlowMod) to process the entry of the Flow <xref ref-type="table" rid="table">Table </xref>and resend the packet to the switch using a Packet-out message. FlowMod message also specifies whether the switch should send a Flow Removed message (FlowRemoved) to the controller when the flow expires.</p><p>Recently, OpenFlow methods to measure traffic have been proposed. OpenNetMon [<xref ref-type="bibr" rid="scirp.76534-ref12">12</xref>] presents an active approach and open-source software implementation to monitor per-flow metrics, especially throughput, delay and packet loss. Payless [<xref ref-type="bibr" rid="scirp.76534-ref13">13</xref>] provides a flexible RESTful API to monitor link utilization, which utilizes an adaptive statistics collection algorithm. FlowSense [<xref ref-type="bibr" rid="scirp.76534-ref14">14</xref>] proposes a passive monitoring method, which utilizes FlowRemoved and PacketIn messages to evaluate per-flow link utilization. Although, communication overhead for FlowSense is fairly low, its accuracy is comparatively low.</p><p>In other respects, OpenSample [<xref ref-type="bibr" rid="scirp.76534-ref15">15</xref>] proposes a sampling based SDN measurement platform. It utilizes sFlow packet sampling to offer near real-time measurement, which is implemented in the Floodlight OpenFlow controller. OpenSketch [<xref ref-type="bibr" rid="scirp.76534-ref16">16</xref>] proposes an active software defined traffic measurement architecture. It makes sketches more flexible in supporting various measurement tasks through high accuracy with low latency. However, OpenSketch is required to upgrade or deploy the network where a new protocol standardization has been applied to subsititute the popular OpenFlow protocol.</p><p>In summary, our target is to design a measurement framework supported by OpenFlow protocol in SDN, which can significantly reduce network overhead while guaranteeing measurement accuracy.</p></sec><sec id="s3"><title>3. System Design and Problem</title><sec id="s3_1"><title>3.1. OpenLL Measurement Architecture</title><p>In this section, we first give an overview of OpenLL. The calculation formulas of throughput, delay, packet loss rate and a new adaptive sampling algorithm are presented thereafter. Besides, a low-cost topology discovery mechanism is introduced. OpenLL is an improved measurement framework based on OpenNetMon where we can measure per-flow throughput, delay and packet loss rate. OpenLL also polls edge switches (the first and the last switches). Compared to OpenNetMon, we present a new adaptive sampling algorithm, which can significantly improve the measurement accuracy and decrease the network overhead. We obtain throughput by the first and the last switches instead of the last switch, contributing to the measurement accuracy. Meanwhile, OpenLL adds a delay threshold value, which adjusts delay and improves the precision. In addition, we introduce a low-cost topology discovery mechanism to decrease the controller overhead. Last, we use multipath to consider network topology instead of simple single path.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref> shows OpenLL measurement architecture, which is implemented in POX controller. It includes four aspects: monitoring, forwarding, data storage and performance. Monitoring module is used to monitor and calculate data, such as the byte counters, packet counters, duration, throughput and delay. Forwarding module is used to process the forwarding of flow and find the shortest path. Monitoring and forwarding modules require OpenFlow discovery module, which achieves the network topology. Monitoring and forwarding modules are also the core of our proposed measurement architecture. Data storage is used to store the monitored data, mainly including throughput, delay, byte counters, packet counters and duration. Performance analysis includes throughput, delay and packet loss rate, which are most meaningful elements for network performance and scalability in SDN.</p></sec><sec id="s3_2"><title>3.2. Delay, Packet Loss Rate and Throughput</title><p>Per-flow delay is defined as transmission interval from the origin node to the destination node. However, it’s very difficult to measure path delay. What’s more, the existing measurement techniques are mainly aimed at traditional networks, which may encounter all sorts of problems in SDN. For example, the popular ping sends ICMP packets to measure connected end-to-end path and round-trip time of the path. Although it can measure real-time path delay, the accuracy is quite inferior.</p><p>In this paper, we use iperf to send TCP packets from the client to the server through active measurement to generate traffic. The controller sends packet from the first switch, which probe packet can traverse the same path, and the probe packet returns to the controller through the last switch. The leaving time from the controller is T<sub>A</sub>. The arriving time from the last switch to the controller is T<sub>B</sub>. The round-trip time (RTT) from the controller to the first switch is RRT<sub>1</sub>. RTT from the controller to the last switch is RRT<sub>2</sub>. In addition, standard value of link delay is set to . This approach can relatively and accurately test link delay</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> OpenLL measurement architecture</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/76534x2.png"/></fig><p>of the experiment. However, it ignores the processed packet time on the switch. Our proposed method introduces a time threshold value ξ<sub>2</sub> to adjust time delay and improve the accuracy. We define per-flow delay as:</p><disp-formula id="scirp.76534-formula26"><label>, (1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/76534x3.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x4.png" xlink:type="simple"/></inline-formula> is the coefficient of proportionality varying from 0 to 1 and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x5.png" xlink:type="simple"/></inline-formula> ranges from <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x6.png" xlink:type="simple"/></inline-formula> to<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x7.png" xlink:type="simple"/></inline-formula>.</p><p>Packet loss is the number of lost packets and transmission ratio of the total number of packets within a certain interval. It is mainly caused by network congestion and transport link error. We calculate packet loss rate using packet counters of the first switch to minus packet counters of the last switch, and then to divide by packet counters of the first switch. Our proposed adaptive sampling algorithm can be contributed to obtaining a more accurate per-flow measurement of the packet loss. The formula of packet loss rate is defined as:</p><disp-formula id="scirp.76534-formula27"><label>, (2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/76534x8.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x9.png" xlink:type="simple"/></inline-formula> is packet counters of the first switch measured by our proposed measurement architecture. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x10.png" xlink:type="simple"/></inline-formula>is packet counters of the last switch measured by our presented measurement architecture.</p><p>Throughput is the number of successful data transmission within unit time, such as bits, bytes and grouping. It mainly depends on link rate, equipment port rate and the degree of network load, etc. To determine per-flow throughput, we adopt a similar approach with OpenNetMon. We poll edge switches (the first and the last switch), which can effectively reduce network cost. Compared to OpenNetMon, we calculate per-flow throughput through byte counters of the first and the last switch instead of byte counters of the last switch. On the one hand, compared to polling algorithm, it can promote network efficiency and decrease measurement overhead, especially in larger networks. On the other hand, compared to OpenNetMon, our proposed method may exert an active effect on some singular value, which can improve the measurement accuracy. Per-flow throughput is defined as:</p><disp-formula id="scirp.76534-formula28"><label>, (3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/76534x11.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x12.png" xlink:type="simple"/></inline-formula> is measured byte counters of the first switch by OpenLL measurement architecture. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x13.png" xlink:type="simple"/></inline-formula>is measured byte counters of the last switch by OpenLL measurement architecture.</p></sec><sec id="s3_3"><title>3.2. Adaptive Sampling Scheduling Algorithm</title><p>During flow transmission process, it is difficult for the existing sampling measurement methods to process the fluctuation of the flow, which can decrease the measurement accuracy and cause a waste of measurement resource. Therefore, our measurement architecture presents an adaptive sampling scheduling algorithm, which reduces network overhead while optimizing measurement accuracy. When flows change greatly, we will decrease the sampling interval. When flows keep a stable state, we will increase sampling interval. When fluctuation among flows is the third situation, we will increase the small sampling interval. The algorithm details are shown in Algorithm 1, where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x14.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x15.png" xlink:type="simple"/></inline-formula> are interval upper and lower limit, respectively. We first consider the active flow in lines 1-3. After that, we utilize adaptive sampling method to adjust the interval in lines 6-14.</p></sec><sec id="s3_4"><title>3.4. Topology Discovery</title><p>In SDN measurement, we need to update network state in real time, in particular its topology and link. Therefore, topology discovery is a critical component in SDN architecture. OpenLL measurement framework requires the topology discovery during complete measurement process. In this paper, we introduce a low-cost topology discovery approach [<xref ref-type="bibr" rid="scirp.76534-ref17">17</xref>] widely used POX controller platform in SDN. The remarkable advantage of this method is to guarantee the accuracy of the link discovery while decreasing the controller overhead.</p></sec></sec><sec id="s4"><title>4. Experimental Results and Discussion</title><p>In this section, OpenLL measurement framework is deployed on POX controller. We implement OpenLL compared it to OpenNetMon and periodic polling. We utilize Mininet to simulate a network consisting of hosts and OpenFlow switches and use Matlab to process the simulation data. Experiments are conducted on a computer with Intel(R) Core(TM) 2 Duo CPU processor and 4G RAM.</p><sec id="s4_1"><title>4.1. Experiment Setup</title><p><xref ref-type="table" rid="table">Table </xref>1 describes the used software, function and version in all simulation experiments. We consider network topology in our experiments in <xref ref-type="fig" rid="fig2">Figure 2</xref>. Although it is not an excellent solution for POX controller to solve broadcast storm problem, OpneLL measurement architecture increases processing rules to ensure the normal operation of loop communication. TCP flows between hosts</p><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Network topology for experiment</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/76534x27.png"/></fig><table-wrap id="table1" ><label><xref ref-type="table" rid="table">Table </xref>1</label><caption><title> Software used in experiments</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Software</th><th align="center" valign="middle" >Function</th><th align="center" valign="middle" >Version</th></tr></thead><tr><td align="center" valign="middle" >Mininet</td><td align="center" valign="middle" >SDN simulation</td><td align="center" valign="middle" >2.21</td></tr><tr><td align="center" valign="middle" >OpenvSwitch</td><td align="center" valign="middle" >Switch</td><td align="center" valign="middle" >1.4.3</td></tr><tr><td align="center" valign="middle" >POX</td><td align="center" valign="middle" >SDN controller</td><td align="center" valign="middle" >Betta branch</td></tr><tr><td align="center" valign="middle" >VM</td><td align="center" valign="middle" >Virtual software</td><td align="center" valign="middle" >10.0.4</td></tr><tr><td align="center" valign="middle" >Ubuntu</td><td align="center" valign="middle" >Operating system</td><td align="center" valign="middle" >14.04</td></tr><tr><td align="center" valign="middle" >Python</td><td align="center" valign="middle" >Programming language</td><td align="center" valign="middle" >2.7</td></tr><tr><td align="center" valign="middle" >MATLAB</td><td align="center" valign="middle" >Programming language</td><td align="center" valign="middle" >2012a</td></tr></tbody></table></table-wrap><p>are generated using iperf. The delay between switches is 5ms to emulate a WAN connection where all switches form a private WAN. Furthermore, the packet loss rate between all switches equals 1%. The bandwidth between switches is limited to 10Mbps. The minimum and maximum interval for our sampling scheduling algorithm is set to 1s and 30s. The parameter <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x28.png" xlink:type="simple"/></inline-formula> is set to 1/2. The parameters<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x29.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x30.png" xlink:type="simple"/></inline-formula>and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x31.png" xlink:type="simple"/></inline-formula> are set to 2, 1.5 and 1.125, respectively. The parameters <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x32.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x33.png" xlink:type="simple"/></inline-formula> are set to 0.05 and 0.2, respectively.</p></sec><sec id="s4_2"><title>4.2. Evaluation</title><p>Accuracy: Measurement accuracy is evaluated by root-mean-square error (RMSE) of throughput in our simulation experiments. It reflects the deviation between observed value and true value. What’s more, the smaller the RMSE is, the higher the accuracy becomes. We define RMSE as:</p><disp-formula id="scirp.76534-formula29"><label>, (4)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/76534x34.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x35.png" xlink:type="simple"/></inline-formula> is the throughput calculated by our measurement architecture. The parameter <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x36.png" xlink:type="simple"/></inline-formula> is the polling times by our measurement architecture.</p><p>Overhead: As the core of SDN, the controller can encounter the performance bottleneck, which can produce a negative impact on the overall network performance and scalability. Therefore, it’s essential to decrease the controller overhead. In this paper, network overhead is calculated by the number of FlowStatsRequest message sent from the controller.</p></sec><sec id="s4_3"><title>4.3. Simulation Results</title><p>We use iperf to send TCP packets to model traffic from the client to the server. It is well-known that TCP is a connection-oriented, reliable transport layer communication protocol based on byte. Therefore, TCP packets drastically increase estimation accuracy for any given sampling ratio [<xref ref-type="bibr" rid="scirp.76534-ref18">18</xref>]. <xref ref-type="fig" rid="fig3">Figure 3</xref> shows the throughput from the client host h1 to the server host h5 by our proposed method and iperf. The throughput by OpenLL can reflect the similar variation trend with iperf, which is widely utilized in network performance analysis. By the new adaptive sampling algorithm, OpenLL measurement architecture can quickly adjust itself to successfully capture the traffic.</p><p><xref ref-type="fig" rid="fig4">Figure 4</xref> shows the delay comparison on the path from the first switch to the last switch. Because the delay of link equals 5ms and standard delay is set to 10ms from switch s1 to switch s5. As is shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>, compared with OpenNetMon, OpenLL is closer to the true value and has a lower delay. How ever, the delay measurement by OpenNetMon is much higher, which results in the inaccuracy. As we all known, delay is an essential part in network performance analysis. Thus, more accurate delay measurement can produce a significant effect on network management. On one hand, our measurement method introduces a time threshold value to adjust the time delay and improve the accuracy.</p><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> The comparison of throughput on the path</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/76534x37.png"/></fig><fig id="fig4"  position="float"><label><xref ref-type="fig" rid="fig4">Figure 4</xref></label><caption><title> The comparison of delay on the path</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/76534x38.png"/></fig><p>The parameter <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x39.png" xlink:type="simple"/></inline-formula> is set to −0.002 in simulation experiment. On the other hand, we can adjust <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x40.png" xlink:type="simple"/></inline-formula> when the delay error is large. To keep the parameter up to date, we also recalculate <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x40.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x41.png" xlink:type="simple"/></inline-formula> periodically.</p><p>The packet loss rate is calculated by using packet counters of the first switch to subtract packet counters of the last switch, and then dividing by packet counters of the first switch. The packet loss rate between all switches is set to 0.01. <xref ref-type="fig" rid="fig5">Figure 5</xref> shows the packet loss rate measured by OpenLL and OpenNetMon. The averages of packet loss rate measured from s1 to s5 using OpenLL and OpenNetMon are 0.02 and 0.017, respectively. RMSE of packet loss rate measured using OpenLL and OpenNetMon techniques are 0.0027 and 0.0034, respectively. Because of the better average and RMSE of the packet loss rate measured by our proposed method, packet loss rate of our proposed algorithm is closer to the true value. In conclusion, our proposed measurement framework can effectively improve the measurement accuracy by adaptive sampling scheduling algorithm.</p><p><xref ref-type="fig" rid="fig6">Figure 6</xref> shows the network overhead evaluated by the number of the Flow Statistics Request (StatsRequest) messages. The controller sends message to the switch with periodically queried StatsRequest messages. In return, the switch sends Flow Statistics Reply (StatsReply) messages to the controller. OpenLL monitoring module measures the byte counters, packet counters and duration of each flow, which can be used to calculate throughput, delay and packet loss rate. Compared to peridoic polling, OpenNetMon may have a lower network overhead. But, the network overhead proposed by our method is the lowest. In some cases, our algorithm sends out 6.14% less messages than that of OpenNetMon method and 39.03% less messages than that of periodic polling method. Our measurement framework plays a significant role in decreasing network overhead, especially in large scale network.</p><p>The balance between measurement overhead and accuracy is shown in <xref ref-type="fig" rid="fig7">Figure 7</xref> and <xref ref-type="fig" rid="fig8">Figure 8</xref>. <xref ref-type="fig" rid="fig7">Figure 7</xref> shows the effect of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x42.png" xlink:type="simple"/></inline-formula> on measurement over</p><fig id="fig5"  position="float"><label><xref ref-type="fig" rid="fig5">Figure 5</xref></label><caption><title> The comparison of packet loss rate on the pat</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/76534x43.png"/></fig><fig id="fig6"  position="float"><label><xref ref-type="fig" rid="fig6">Figure 6</xref></label><caption><title> The comparison of network overhead</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/76534x44.png"/></fig><p>head and accuracy. Compared to 2s and 3s in <xref ref-type="fig" rid="fig7">Figure 7</xref>, when <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x45.png" xlink:type="simple"/></inline-formula> equals 1s, the network overhead is the maximum and RMSE is the minimum. Meanwhile, the smaller RMSE is, the much higher the accuracy becomes. This suggests that the improvement of accuracy is usually at the cost of network overhead. When <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x45.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x46.png" xlink:type="simple"/></inline-formula> becomes lower, our adaptive sampling algorithm will decrease the sampling time (increasing the sampling rate), which increases the network overhead but improves the measurement accuracy.</p><p><xref ref-type="fig" rid="fig8">Figure 8</xref> shows the influence of time on measurement overhead and accuracy. With the increasing of time, the network overhead and RMSE increase slowly and eventually keep stable. At the beginning, the accuracy increases slowly. When time is more than 120 seconds, the network overhead and RMSE keep</p><fig id="fig7"  position="float"><label><xref ref-type="fig" rid="fig7">Figure 7</xref></label><caption><title> Overhead and measurement error</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/76534x47.png"/></fig><fig id="fig8"  position="float"><label><xref ref-type="fig" rid="fig8">Figure 8</xref></label><caption><title> Overhead and measurement error</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/76534x48.png"/></fig><p>stably. Results indicate that a large amount of time contributes to the improvement of measurement accuracy.</p></sec></sec><sec id="s5"><title>5. Conclusion</title><p>In this paper, we have presented OpenLL, an improved measurement framework based on OpenNetMon. It can calculate per-flow throughput, delay and packet loss rate. First, we only measure the edge switches (the first and the last switches), which can effectively lower down network overhead. In addition, we propose a new adaptive sampling algorithm, which contributes to the measurement accuracy. We also use a time threshold value <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/76534x49.png" xlink:type="simple"/></inline-formula> to adjust the delay, which can produce a significant effect on precision of path delay. Furthermore, we consider a low-cost topology discovery algorithm and the balance between the network overhead and measurement accuracy in several aspects. Last, we utilize POX controller to implement the proposed measurement framework. The effectiveness of our solution is demonstrated through simulations in Mininet and Matlab. Compared to periodic polling algorithm and OpenNetMon, experiment results show that OpenLL reduces roughly 39% and 6% of network overhead, respectively.</p></sec><sec id="s6"><title>Cite this paper</title><p>He, Q. and Wang, S.H. (2017) A Low-Cost Measurement Framework in Software Defined Networks. Int. J. Communications, Network and System Sciences, 10, 54-66. https://doi.org/10.4236/ijcns.2017.105B006</p></sec></body><back><ref-list><title>References</title><ref id="scirp.76534-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Feamster, N., Rexford, J. and Zegura, E. (2013) The road to SDN. Queue, 11, 20:20-20:40. https://doi.org/10.1145/2559899.2560327</mixed-citation></ref><ref id="scirp.76534-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Open Networking Foundation (ONF), 2014. 
https://www.opennetworking.org/</mixed-citation></ref><ref id="scirp.76534-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Mohan, V., Reddy, Y.R.J. and Kaplan, K. (2011) Active and Passive Network Measurements: A Survey. Intern. Jour. Computer Sci. and Information Technologies, 2, 1371-1385.</mixed-citation></ref><ref id="scirp.76534-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Presuhn, R. (2002) Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP). Internet Engineering Task Force, RFC 3416 (Internet Standard), Dec. http://www.ietf.org/rfc/rfc3416.txt</mixed-citation></ref><ref id="scirp.76534-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Sampled NetFlow [Cisco IOS Software Releases 12.0 S]. 
http://www.cisco.com/en/US/docs/ios/120s/feature/guide/12s sanf.html</mixed-citation></ref><ref id="scirp.76534-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">sFlow.org Forum, 2012. http://www.sflow.org/</mixed-citation></ref><ref id="scirp.76534-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Duffield, N., Lund, C. and Thorup, M. (2003) Estimating Flow Distributions from Sampled Flow Stati-stics. In ACM SIGCOMM.</mixed-citation></ref><ref id="scirp.76534-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Estan, C., Keys, K., Moore, D. and Varghese, G. (2004) Building a Better Netflow. ACM SIGCOMM. https://doi.org/10.1145/1015467.1015495</mixed-citation></ref><ref id="scirp.76534-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Gude, N., et al. (2008) NOX: Towards an Operating System for Networks. Comput. Commun. Rev., 38, 105-110. https://doi.org/10.1145/1384609.1384625</mixed-citation></ref><ref id="scirp.76534-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">McCauley, M. (2012) POX. http://www.noxrepo.org/</mixed-citation></ref><ref id="scirp.76534-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Big Switch Networks (2013) Project Floodlight. http://www.projectfloodlight.org/</mixed-citation></ref><ref id="scirp.76534-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">van Adrichem, N.L.M., Doerr, C. and Kuipers, F.A. (2014) OpenNetMon: Network Monitoring in Openflow Software Defined Networks. In: Proc. IEEE Network Operations and Management Symposium (NOMS).  
https://doi.org/10.1109/noms.2014.6838228</mixed-citation></ref><ref id="scirp.76534-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Chowdhury, S.R., Bari, M.F., Ahmed, R. and Boutaba, R. (2014) Payless: A Low Cost Network Monitoring Framework for Software Defined Networks. Proc. 14th IEEE/IFIP Network Operations and Management Symposium, NOMS’14, May 2014. https://doi.org/10.1109/noms.2014.6838227</mixed-citation></ref><ref id="scirp.76534-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Yu, C., Lumezanu, C., Zhang, Y., Singh, V., Jiang, G. and Madhyastha, H.V. (2013) FlowSense: Monitoring Network Utilization with Zero Measurement Cost. In: Passive and Active Measurement, Springer, 31-44. 
https://doi.org/10.1007/978-3-642-36516-4_4</mixed-citation></ref><ref id="scirp.76534-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Suh, J., Kwon, T., Dixon, C., Felter, W. and Carter, J. (2014) OpenSample: A Low-Latency Sampling-Based Measurement Platform for SDN. IBM Research Report, Jan. 2014. https://doi.org/10.1109/icdcs.2014.31</mixed-citation></ref><ref id="scirp.76534-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Yu, M., Jose, L. and Miao, R. (2013) Software Defined Traffic Measurement with Open-sketch. Proceedings 10th USENIX Symposium on Networked Systems Design and Implementation, NSDI, Vol. 13.</mixed-citation></ref><ref id="scirp.76534-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Pakzad, F., et al. (2014) Efficient Topology Discovery in Software Defined Networks. 8th Signal Processing and Communication Systems (ICSPCS), Dec. 2014. 
https://doi.org/10.1109/icspcs.2014.7021050</mixed-citation></ref><ref id="scirp.76534-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Tootoonchian, A., Gorbunov, S., Ganjali, Y., Casado, M. and Sherwood, R. (2012) On Controller Performance in Software-Defined Networks. USENIX Workshop on Hot Topics in Management of Internet, Cloud, and Enterprise Networks and Services (Hot-ICE), Vol. 54.</mixed-citation></ref></ref-list></back></article>