Use Only: Flowstat: Adaptive Flow-Rule Placement For Per-Flow Statistics in SDN
Use Only: Flowstat: Adaptive Flow-Rule Placement For Per-Flow Statistics in SDN
ly
Abstract—In this paper, we propose an adaptive flow-rule virtualization (NFV) is also introduced for placing network
on
placement scheme, FlowStat, in software-defined network (SDN) functions at the network components in real-time [8], [9].
with an aim to provide per-flow statistics to SDN controller,
while enhancing overall network performance. The proposed
scheme consists of three phases — forwarding path selection, A. Motivation
flow-rule placement, and rule redistribution. In the first phase, we
formulate a max-flow-min-cost optimization problem to determine The flow-rules defined by the SDN controller are installed at
optimal forwarding paths while considering multi-commodity the switches by utilizing ternary content-addressable memory
flows with heterogeneous requirements. In the second phase,
se
(TCAM). The TCAM available at a switch is limited due
an integer linear programming (ILP) problem is formulated to to high cost and energy consumption. As a result, due to
decide forwarding rules for paths computed in the first phase, so
that total number of exact-match is minimized. As finding optimal limited TCAM, number of flow-rules that can be inserted at
solution to the problems is NP-hard, we propose two greedy a switch is also limited. To place flow-rules at the switches,
heuristic approaches to solve the problems in polynomial time. researchers proposed three different strategies — exact-match,
Finally, we propose a rule redistribution scheme on detecting rule
congestion at a switch, in order to accommodate new flows in the
network. Extensive experimental results show that the proposed
scheme, FlowStat, is capable of providing per-flow statistics
to the SDN controller, while enhancing network performance
compared to existing schemes — ReWiFlow and ExactMatch. In
lu
wildcard, and hybrid. In exact-match, each flow1 is associ-
ated with an individual rule, and thereby, increases network
visibility. However, such an approach leads to frequent rule
replacement, thereby increasing controller overhead and net-
work delay. On the other hand, in wildcard-based strategy,
na
particular, FlowStat is capable of reducing end-to-end delay and multiple flows are associated with a few flow-rules. Although
QoS violation by 46% and 75% (approx.), respectively, compared the wildcard approach reduces the requirement of frequent
to the ReWiFlow and ExactMatch schemes, while providing 85%
accurate per-flow statistics to the SDN controller. rule replacement, it decreases the network visibility, which,
in turn, leads to incorrect forwarding decisions and QoS
Index Terms—Software-defined networks, Per-flow statistics,
violations. In hybrid approach, combination of exact-match
so
necessitate the current best-effort Internet technology to be flow, existing rules are deleted irrespective of whether they
modified, in order to support new services and applications [1], are active or not. Consequently, more flow-rule installation
[2]. Further, over-provisioning of bandwidth in current Internet requests are generated in the form of Packet-In2 messages,
increases CAPEX and OPEX to service providers, while im- which, in turn, increases controller overhead. In contrast, the
rp
posing different challenges in supporting new applications and controller does not have exact flow information in case of
services. This is due to the vendor-specific architecture of for- wildcard rule placement, as depicted in Figure 1(b). When
warding devices (i.e., switches and routers). Software-defined an incoming packet is matched with an existing rule, it is
network (SDN) architecture is a viable approach to address forwarded according to the desired action without notifying the
the limitations of the current Internet while decoupling the SDN controller. As presented in Figure 1(b), the packet which
Fo
control-plane from forwarding devices [3]–[6]. In the control- comes later matches with the existing rule and is forwarded in
plane, a logically centralized controller controls the forwarding the network. However, this particular packet can be malicious
devices by deciding control-logics and placing them at the to the network. Thus, security concerns are required to be
devices in the form of flow-rules [2], [7]. Consequently, the considered while placing wild-card rules at the switches.
SDN architecture provides a logically centralized view of the Moreover, a network supporting heterogeneous applications
network which yields better utilization of network resources includes both mice and elephant flows, which may lead to
and improved network management. Further, network function inefficient rule-space utilization, as depicted in Figure 1(c).
Motivated by these facts, we intend to propose an adaptive
S. Bera, S. Misra are with the Computer Science and Engineering De-
1A flow is defined as stream of packets.
partment, Indian Institute of Technology, Kharagpur, 721302, India, Email:
[email protected], [email protected] 2A Packet-In message is generated when an incoming flow does not match
A. Jamalipour is with the School of Electrical & Information Engineering, with the flow-rules installed at the switch. It contains meta-data of the packet.
University of Sydney, Australia, Email: [email protected] Interested readers may refer to [10] for details.
2
(a) Exact-match: rule OVERFLOW (b) Wildcard: UNSEEN flows (c) INEFFICIENT rule-space utilization
ly
Fig. 1: Issues in TCAM-based rule placement in SDN
on
flow-rule placement scheme while considering the advantages approach to solve the problem in polynomial time as the
of both the exact-match and wildcard approaches. problem is NP-hard.
• We formulate an ILP to find optimal number of switches
to place exact-match rules, in order to get per-flow
B. Contribution statistics. We propose a greedy heuristic approach to solve
We propose an adaptive flow-rule placement scheme with the problem as finding optimal solution is NP-hard.
se
an aim to maximize the number of flows that can be accom- • We propose a flow-rule redistribution scheme on de-
modated in the network, while increasing network visibility. tecting rule congestion at the switches, while ensuring
The proposed scheme consists of three phases — forwarding minimum number of redistribution of the rules. This helps
path selection, flow-rule placement, and rule redistribution. In to accommodate new flows in the network using the
forwarding path selection phase, we formulate an optimiza- existing rule-space available at the switches.
tion problem to select optimal paths for routing flows from
source to destination in the network. In the second phase,
we formulate another optimization problem to select optimal
number of switches in the selected paths for exact-match rules
lu • We evaluate the performance using Mininet network
emulator and POX SDN controller in order to show the
efficacy of the proposed scheme.
The rest of the paper is organized as follows. Section II
na
placement, so that per-flow traffic statistics are obtained at presents the state-of-the-art of rule placement in SDN. In
the SDN controller. Finally, in the third phase, we propose a Section III, we present the detailed system architecture con-
rule redistribution scheme on detecting rule congestion at the sidered in the work with prerequisites. Section IV presents the
switches. The problem is challenging due to the rule-space proposed path selection, rule placement, and rule redistribution
and network capacity constraints, and QoS-guaranteed routing methods, while analyzing the computational complexity of the
so
of flows in the network, while increasing network visibility. proposed scheme. Section V presents the results to show the
Figure 2 presents an overview of the proposed scheme. In effectiveness of the proposed scheme over existing approaches.
Section VI discusses a few use-case scenarios of the proposed
scheme. Finally, we conclude the work in Section VII while
highlighting some future research directions.
er
data delivery policy without considering the associated cost TABLE I: List of symbols
and delay in traffic forwarding. A joint optimization scheme Symbol Description
for rule placement and traffic engineering scheme was pro- S Set of switches in the network
posed by Huang et al. [13]. The authors considered the avail- E Set of links in the network
able TCAM capacity to place flow-rules, while considering the Ci,j Capacity of a link (i, j), i, j ∈ S
QoS requirements of flows. Therefore, a trade-off between the di,j Delay of a link (i, j), i, j ∈ S
rule placement and QoS-guaranteed data delivery is imposed li,j Loss of a link (i, j), i, j ∈ S
in the network. Rifai et al. [14] proposed a rule-compression F Set of flows in the network
mechanism to accommodate large number of flows in the Fi,j Set of flows over link (i, j)
ly
network with reduced network visibility. Recently, a mobility- f
Fi,j A flow in Fi,j
aware adaptive flow-rule placement scheme was proposed, in
f A flow in the network
which the flow-rules are placed at software-defined access
Rimax Rule capacity of a switch i ∈ S
on
points according to end-users’ mobility in the network [15].
Riutil Rule capacity utilization of a switch i ∈ S
The authors showed that the proposed scheme is beneficial for util
Ci,j Link capacity utilization of a link (i, j)
minimizing delay and associated cost in data delivery. f
Φi,j Routing cost of flow f ∈ F over link (i, j)
Katta et al. [16] utilized the benefits of hardware and
software switches for rule placement. Due to the limited
TCAM, rules associated with heavy-hitter flows were installed
(i, j) ∈ E has a positive capacity to carry incoming traffic.
se
at the TCAM for fast processing. On the other hand, the rules
with low-counter value were placed at the software switches. In this work, we consider that bandwidth and delay are two
Further, rules were redistributed between hardware and soft- factors associated with a link. List of symbols used in this
ware switches, while considering rule-dependency problem. work is presented in Table I.
Similarly, Kentis et al. [19] also proposed rule placement
scheme while utilizing both hardware and software switches.
However, in such schemes, computational complexity is very
high due to the rule dependency problem between software
and hardware switches, as reported in [19]. Further, packet
processing delay is increased due to the use of software
lu
A. Prerequisites
Definition 1. Single Commodity Flow: A single commodity
flow is defined as follows:
na
switches. Fi,j ≤ Ci,j , ∀(i, j) ∈ E (1)
Su et al. [22] proposed a low-cost flow monitoring scheme X X
in SDN. The authors proposed an optimal polling scheme to |Fi,j | = |Fi,j |, ∀i, j ∈ S \ {s, t} (2)
get per-flow-rule statistics in the network, while reducing com- (i,j)∈(i,j)out(i) (i,j)∈(i,j)in(i)
so
cally. Further, the flow-statistics were analyzed to detect the set of flows over the link (i, j), respectively. Further, s and
presence of anomaly switches in the network. t denote the source and destination of the flow, respectively.
Synthesis: Detailed analysis of the existing schemes reveals Equations (2) and (3) preserve the flow conservation proper-
that there exists a research lacuna on rule placement policies ties.
rp
for QoS-guaranteed data delivery, while providing per-flow Definition 2. Multi-Commodity Flow: In multi-commodity
statistics to the controller. The existing schemes either focused flow, multiple source and destination are present in the same
on the utilization of hardware and software switches for rule network with varying demands of the flow. It is defined as
placement or per-flow-rule statistics collection. However, in follows:
a practical scenario, both are equally important for efficient
X f
γ f Fi,j ≤ Ci,j , ∀(i, j) ∈ E (4)
Fo
while minimizing associated cost. We design a cost function Fig. 3: Performance comparison between ILP and proposed
ly
Φi,j to forward a flow over a link (i, j) ∈ E while considering greedy approach
start-up cost for link activation σ, rule-utilization of the
forwarding switch i ∈ S, and link-utilization. Mathematically,
on
util
Riutil Ci,j
Φi,j = σbi,j + α + β (5) P1: with fixed capacity P2: with fixed no. of flows
Rimax Ci,j
X X f f
X X
where bi,j is a boolean parameter to denote whether a new link max Fi,j xi,j (7) min Φi,j xfi,j (8)
is selected to forward the flow. Terms α and β are predefined f ∈F (i,j)∈E f ∈F (i,j)∈E
constants used to capture application-specific requirements.
se
The value of the constants are user-defined. We formulate a s.t. Eqn (2) and (3) s.t. Eqn. (2), (3)
max-flow-min-cost problem to determine optimal forwarding Eqn. (6b), (6c) and (6d) Eqn. (6b), (6c) and (6d)
paths while considering QoS requirements of flows and net-
work constraints. Mathematically, Solving the both the optimization problems in polyno-
mial time is NP-hard in general, while considering QoS
max min
f
s.t.
X X
(i,j)
f
Fi,j
f ∈F (i,j)∈E
X
f ∈F
Φi,j xfi,j , ∀(i, j) ∈ E
γ f xfi,j ≤ Ci,j
(6a)
(6b)
lu
requirements of flows [26]. In other words, optimal solution
to the problem cannot be found in polynomial time, while
considering multi-constrained QoS requirements of flows in
the network. We limit our discussion on NP-hard problem as
it is well-explored in the literature [26]. To solve the problem
na
Riutil ≤ Rimax , ∀i ∈ S (6c) in polynomial time, we propose a greedy heuristic approach
f req
[d, l, −γ]xfi,j [di,j , li,j , −Ci,j ] (6d) for path selection to forward incoming flows by considering
Eqn. (2) and (3) (6e) the associated constraints, while reducing overall associated
cost.
The objective function denotes that minimum number of links Algorithm 1 presents the specific algorithm for forwarding
so
are selected while accommodating maximum number of flows path selection. The proposed algorithm determines the paths
in the network, in order to minimize associate cost. Φi,j to forward incoming flows while ensuring QoS requirements
denotes the cost associated with the link (i, j) to route a flow, of the latter. The Yen’s K-shortest path algorithm [27] is used
as presented in Equation (5). Equation (6b) ensures the link in Step 3 to get k number of shortest paths in the network
capacity constraint, i.e., total required capacity of the flows
er
for a given flow. The paths in the K-shortest paths are sorted
that can be routed through a link (i, j) is always less than in ascending order based on the associated cost. Therefore,
or equal to the capacity of the link. Similarly, the number better path is always preferred from the K-shortest paths to
of flow-rules installed at a switch i ∈ S is always less forward incoming flows. When no QoS path is found, the k-th
rp
than or equal to the maximum number of rules that can be path is chosen to forward the traffic, as presented in Step 7.
inserted at the switch due to limited TCAM, as denoted in It ensures that the algorithm will work even there is no QoS
Equation (6c). Further, application-specific requirements are path found to forward the traffic. However, in such a situation,
considered in Equation (6d) while routing the flows in the the performance of the proposed scheme is degraded in terms
network. The tuple < d, l, γ > denotes the delay, loss, and of delay, loss, and throughput. If we have a large value for
bandwidth requirements of a flow, and it should be fulfilled
Fo
Algorithm 1 Forwarding path selection algorithm that default flow-rules3 are installed [28] at rest of the switches
Inputs: Network Graph, G, with link and node parameters in a path associated to a flow. Similar to the optimization
Set of flows F with requirements problem presented in Section IV-A, the above optimization
Values for constants σi,j , α, and β . User defined problem is also NP-hard, due to the complexity involved in
Output: Set of Paths P on which flows F can be routed computation of all possible combinations of the candidate
1: k ← 1 switches and processing those for exact-match rule placement.
2: while all flows f ∈ F are not assigned paths do Consequently, we propose a greedy heuristic to select switches
3: for P in K-S HORTEST-PATHS(s, t) do in the selected paths, in order to place exact-match. As the
. K number of shortest paths based on cost in Eqn. (5) objective is to maximize flow visibility while considering rule-
ly
4: if CHECK - QOS(P , f ) then . QoS satisfied capacity, we consider degree, deg(i), of a switch i ∈ S and its
5: flag = 1 utilized rule-capacity, Riutil . To consider a trade-off between
6: Pk = P . through which f to be routed deg(i) and Riutil , we introduce a network visibility factor, λ,
on
7: if flag 6= 1 then . QoS path not found defined in Definition 4. It is noteworthy that the value of λ
8: Pk = P − 1 will impact on the selection of switches in which exact-match
9: P ← append(Pk ) is placed.
10: UPDATE CAPACITY (Pk , f ) . update link-capacity Definition 4. Network visibility factor: It is the desired
11: k ← k + 1 . k th flow to be routed using path Pk weight, λ, on the degree of a switch, deg(i), i ∈ S, to place
12: function CHECK - QOS (P , f ) exact-match at switch i, where 0 < λ < 1 and λ ∈ R>0 .
se
13: for (i, j) in P do
14: if freq [d, l, −γ] ≥ [dij , lij , −Cij ] then In a practical scenario, the switch with higher degree should
15: return True be prioritized to avoid congestion over a specific link, while
16: else considering rule-space utilization of the switch. Consequently,
return False we consider an eligibility score, Ti (P ), of a switch for exact-
17:
18: function UPDATE CAPACITY (P , f )
19:
20:
for (i, j) in P do
Ci,j = Ci,j − γ f . capacity is reduced by γ f
lu
match placement is calculated as follows:
Ti (P ) = λ
deg(i)
∆(G)
Riutil
− (1 − λ) max
Ri
, ∀i ∈ S, and P ∈ P (10)
After selecting the paths to route the flows, we need to Algorithm 2 Flow-rule placement algorithm
select optimal number of switches, in which exact-match rules Inputs: Set of degrees of all switches
should be installed, in order to get per-flow statistics in the Set of paths with flows < P, F >
network. In other words, the objective is to minimize the Maximum rule-capacity of the switches Rmax , ∀i ∈ S
i
number of exact-match rules over all paths in order to reduce
er
obtained in Section IV-A. Mathematically, 3: get switch i ∈ Pk with max. score using Eqn. (10)
|P|
X X 4: get exact-match at i for flow fk ∈ F
min Mkexact yi (9a) 5: get default rules at switches j ∈ Pk \ i
k=1 i∈Pk 6: place the exact-match and default rules
X 7: update Riutil , ∀i ∈ Pk . update rule utilization
s.t. Mkexact yi ≥ 1, ∀k ∈ |P| (9b)
Fo
ly
runs periodically at the controller-end, and, accordingly, flow- Fig. 4: Proposed SDN controller architecture
rules are updated at the switches in the network. Algorithm
3 presents the proposed rule redistribution scheme. In step 1918 16 13
on
20 23 1
1721 22 24 14
15 3 15 9 4
2 16
9 13 12 0
Algorithm 3 Flow-rule redistribution algorithm 06 3 8 7 10 12 11
1 11 5
Inputs: Set of paths with flows and exact-match switches 7 5 10
14 2
< P, F, M > 8
4 6
Rule-congested switch v ∈ S
se
(a) AttMpls topology (b) Goodnet topology
Output: Flow-rule placement at switches to route flows in the
network Fig. 5: Network topologies considered in this work
1: F ← set of flows routed though S
2: P ← set of paths associated with F
3: flag ← 0
First stage:
4: for path p ∈ P do
5:
6:
. used to check rule-utilization threshold
. redistribute using existing paths
for switch s ∈ p \ v do
if Rsutil ≤ Rth and Mpexact (v) ∧ Mpwild (v)
lu
D. Computational Complexity
We analyze the time complexity of the proposed scheme
in three phases — path selection (Algorithm 1), rule place-
ment (Algorithm 2), and rule redistribution (Algorithm 3). In
Algorithm 1, the most computationally expensive operation
na
and fp (s) ∧ fp (v) then
is the calculation of k-shortest paths. We use Yen’s K-shortest
7: place Mpexact in s
path algorithm [27], and it takes O(K × |S|(|E| + |S|log|S|)).
8: delete Mpexact from v
Therefore, for |F| number of flows, Algorithm 1 takes O(|F|×
9: if Rvutil ≤ Rth then (K×|S|(|E|+|S|log|S|))) time. Further, Algorithm 2 involves
flag ← 1 sorting of switches for |P| number of paths. Therefore, it runs
so
10:
Second stage: . update rules for new paths in O(|P| × |S|log|S|) time. Finally, in Algorithm 3 involves
11: if !flag then two phases. The first phase runs in O(|P| × |S|), and the
12: for all flow f ∈ F do second phase runs in O(|F| × |S|) time. Therefore, total
0
13: get alternate path p using Algorithm 1 (Steps 3–8) time complexity of the proposed scheme is O(|F| × (K ×
er
0
14: get flow-rules for p using Algorithm 2 (Steps 3–5) |S|(|E| + |S|log|S|))) + O(|P| × |S|log|S|) + O(|P| × |S|)
0
15: for switch s ∈ reverse(p ) do . reverse path for + O(|F| × |S|) ≈ O(|F| × (K × |S|(|E| + |S|log|S|))).
consistent update
16: if ! OFPFF CHECK OVERFLAP then V. P ERFORMANCE E VALUATION
rp
17: place flow-rule at s We evaluate the performance of the proposed scheme, Flow-
Stat, using POX4 SDN controller and Mininet [31] network
emulator. Further, two real-life network topologies — AttMpls
and Goodnet — from the Internet topology Zoo [32] are
15, the rules are updated at the switches in a reverse order in considered in this work. The AttMpls topology is relatively
Fo
the path for consistent update [29]. Therefore, some fraction dense compared to the Goodnet topology. Therefore, we
of a flow is forwarded using old rule and some follows the choose these two topologies to consider two different aspects
updated rule until all the switches in the path are updated. of network topology in a practical scenario. It is noteworthy
Further, this ensures loop-free and connected network update. that other network topologies may also be considered to
Step 16 utilizes the rule-overlap utility of OpenFlow protocol validate the proposed scheme. However, due to high resource
[30] during flow-rule installation. It is noteworthy that the requirement of the emulated environment, we choose a well-
SDN controller periodically checks for rule-congestion at balanced mixture of network topologies – AttMpls (large and
the switches and redistributes the flow-rules using Algorithm dense) and Goodnet (small and sparse). Figure 5 shows the
3. Further, the rule update mechanism is considered in the representational view of the two network topologies. Incoming
proposed greedy heuristic approach to accommodate more network traffic with different type of services is generated
number of flows in the network. Figure 4 presents the proposed
controller architecture. 4 https://github.com/noxrepo/
7
ly
Active time 1 – 34 s [35]
[σ, {α, β}, λ] [0.005, {0.0 – 1.0}, 0.5]
4) End-to-end delay: End-to-end delay is measured as the
on
using D-ITG generator [33]. The experiment is conducted total time taken to deliver a packet from source to destination.
in a Google Cloud5 instance with Intel Skylake CPU and This includes queuing, processing, transmission, and propaga-
7.5GB RAM running Linux kernel 4.4.0-103-generic. Table tion delays.
II presents the parameters and their values used in the ex- 5) Throughput: Throughput is calculated as the effective
periment. The presented results are taken as average of 10 bandwidth usage of the active links determined in the for-
independent runs. Additionally, 95% confidence interval is warding path selection phase.
se
used to show the variance of the results [34], i.e., in 95% 6) Packet drop: Packet drop is calculated as the ratio
cases, we are confident that the obtained results lie between between the number of lost packets and total number of
the specified range. We also vary the values of the predefined packets. We take percentage of the ratio to present the results.
constants α and β to show their impact on the performance It is noteworthy that we calculate end-to-end delay, through-
of the proposed scheme. put, and packet drop using the utilities available in Mininet
We compare the proposed scheme, FlowStat, with existing
schemes — ReWiFlow [36] and ExactMatch. In case of
ReWiFlow, the flow-rules are placed at the switches based
on wildcard in which source and destination of an incoming
lu
network emulator.
Number of Packet-In
10
0 0 0 0
3000 30
6000 α=1.0, β=0.0 α=1.0, β=0.0 α=1.0, β=0.0 30 α=1.0, β=0.0
2000 20
4000 20
2000 1000 10 10
0 0 0 0
3000 α=0.0, β=1.0 30
6000 α=0.0, β=1.0 2000 20 α=0.0, β=1.0 30 α=0.0, β=1.0
4000 20
2000 1000 10 10
0 0 0 0
ly
100 150 200 250 100 150 200 250 100 150 200 250 100 150 200 250
Number of Flows Number of Flows Number of Flows Number of Flows
on
Fig. 7: Number of Packet-In with different number of flows Fig. 8: QoS violation with different number of flows
Due to this reason, some of the new flows that are received and 91% (with AttMpls) and 67% and 87% (with Goodnet)
at a switch match with already placed wildcard rules, which, compared to ReWiFlow and ExactMatch, respectively. In case
se
in turn, minimizes the number of Packet-In at the controller. of ReWiFlow and ExactMatch, the SDN controller computes
However, using both the topologies, FlowStat yields improved the forwarding path using open shortest path first (OSPF)
accuracy compared to ReWiFlow. Further, it can be seen that principle. Consequently, the controller considers a forwarding
accuracy in per-flow statistics decreases with an increase in the path as valid if network capacity is satisfied, which, in turn,
number of flows in the network. This is due to the fact that leads to QoS violation. On the other hand, FlowStat computes
probability of flow-table hit increases with increased number
of flows in the network.
2) Number of Packet-in Message: As mentioned in Section
IV, we use Packet-In for collecting per-flow statistics. There-
fore, we also present the control overhead in per-flow statistics,
lu
a forwarding path while considering network capacity and QoS
requirements, which leads to less QoS violation. The QoS
violation is more using Goodnet network topology compared
to that of using AttMpls as possibility of having alternate end-
to-end path is less due to sparse nature of the former. However,
na
as depicted in Figure 7. We see that FlowStat is capable it is always better than the existing schemes — ReWiFlow
of reducing the number of Packet-In by 40% compared to and ExactMatch. Further, it is observed that FlowStat yields
ExactMatch, while incurring 16% more Packet-In compared to equivalent performance in terms of QoS violation when link
ReWiFlow due to the wildcard-based rule placement strategy. utilization is not considered while choosing a path. This leads
Although FlowStat leads to more Packet-In compared to to more link congestion, which, in turn, increases the QoS
so
ReWiFlow, the former achieves improved accuracy in per-flow violation for the proposed scheme, FlowStat.
statistics as shown in Figure 6. Consequently, from Figures 6 4) End-to-End Delay: Figure 9 presents the end-to-end
and 7, it is evident that the proposed scheme, FlowStat, yields delay in packet delivery with different number of flows using
improved performance compared to the existing schemes AttMpls and Goodnet network topologies, respectively. We see
er
— ReWiFlow and ExactMatch. Further, it is noteworthy that that the proposed scheme, FlowStat, incurs less delay in packet
number of Packet-In remains the same for different values of forwarding compared to the existing schemes — ReWiFlow
α and β as the former depends on the flow-rules installed at and ExactMatch. In particular, FlowStat is capable of reduc-
the switches, as presented in Algorithm 2. ing end-to-end delay approximately by 48% and 44% using
rp
In the subsequent sections, we present the efficacy of the AttMpls and Goodnet topologies, respectively, compared to
proposed scheme in terms of network performance — QoS ReWiFlow and ExactMatch. In FlowStat, the SDN controller
violated flows, end-to-end delay, throughput, and packet drop. takes decision on forwarding path selection while considering
3) QoS Violated Flows: In addition to per-flow statistics, delay requirements of incoming flows. Further, FlowStat in-
one of the other objectives of the proposed scheme is to telligently places the flow-rules at the switches, so that less
Fo
maintain QoS requirements of flows in the network. We number of Packet-In is generated. This leads to less flow-
propose a greedy-heuristic approach to route the traffic, while setup delay compared to ExactMatch. On the other hand, we
minimizing associated cost (refer to Section IV). As a re- observe that a particular set of switches are congested in case
sult, there is no guarantee that all the traffic can be routed of ReWiFlow due to OSPF-based path selection mechanism,
through the network, while preserving the QoS requirements. which, in turn, leads to increased end-to-end delay. Another
Consequently, we have some QoS-violated flows that are interesting fact is that ExactMatch and ReWiFlow incur almost
routed through the network. Figure 8 shows the percentage of the same end-to-end delay. In ExactMatch, incoming flows are
QoS violation with different number of flows using AttMpls forwarded through multiple outgoing ports according to flow-
and Goodnet network topologies. We see that the proposed rule installed at the switches, which leads to less congestion
scheme is capable of fulfilling QoS requirements using both on a specific outgoing port. In contrast, a specific outgoing
the network topologies. In particular, the proposed scheme, port is congested due to wildcard-based rule placement. Con-
FlowStat, is capable of reducing the QoS violation by 85% sequently, we get almost similar performance using ReWiFlow
9
ly
100 150 200 250 100 150 200 250 100 150 200 250 100 150 200 250
Number of Flows Number of Flows Number of Flows Number of Flows
on
Fig. 9: End-to-end delay with different number of flows Fig. 11: Packet drop with different number of flows
Throughput (Mbps)
se
2 2
8 α=1.0, β=0.0 8 α=1.0, β=0.0 flows using FlowStat. However, it is always better than the
5 5 existing schemes. Further, we observe that the packet drop
2 2 increases using the proposed scheme when link congestion
8 α=0.0, β=1.0 8 α=0.0, β=1.0 is not considered. This leads to more packet congestion,
5
2
100 150 200 250
Number of Flows
FlowStat ReWiFlow
5
2
100 150 200 250
Number of Flows
ExactMatch
lu
and eventually, more number of packets gets dropped. It
is noteworthy that we do not consider application layer re-
transmissions of the dropped packets in this work.
In summary, it is evident that the proposed scheme is
capable of enhancing the network performance in terms of
na
end-to-end delay, throughput, packet loss, and QoS violation
Fig. 10: Network throughput with different number of flows
compared to the existing schemes, while providing improved
per-flow statistics with less controller overhead. Further, it is
and ExactMatch although the former generates less number of also observed that the performance of the proposed scheme
Packet-In (refer to Figure 7). However, the proposed scheme, is degraded when rule-space and link utilization are not
so
FlowStat, always yields improved performance compared to considered during path selection phase. However, it is always
the existing schemes. Similar to QoS violation, end-to-end better than the existing schemes.
delay also increases when link utilization is not considered
during forwarding path selection. VI. P RACTICAL A PPLICATIONS
er
5) Throughput: We also computed the bandwidth utiliza- In this Section, we discuss two use-case scenarios in which
tion with different number of flows using AttMpls and Good- the proposed scheme can be beneficial to meet application-
net topologies, as depicted in Figure 10. We see that the specific QoS requirements.
proposed scheme, FlowStat, achieves 18% and 14% (with • QoS-guaranteed health data delivery: In a health-care sys-
rp
AttMpls), 18% and 28% (with Goodnet) increased band- tem, major data is delay- and loss-sensitive. Therefore, the
width utilization compared to ReWiFlow and ExactMatch, data generated from different physio-logical sensors need to
respectively. Further, we observe that the bandwidth utilization delivered within the specified time-bound, while incurring
increases with an increase in the number of flows in the minimum loss. The proposed scheme is capable of achieving
network as more number of flows are routed in the network such requirements by employing adequate data forwarding and
Fo
within the same time. However, some of the flows are dropped rule placement mechanism. Further, it is also evident from the
with an increase in the number of flows (refer to Section results that the proposed scheme is capable of minimizing end-
V-B6), which may lead to inefficient bandwidth utilization. to-end delay, while minimizing packet-drop as well.
• Energy management in smart grid system: In smart grid,
6) Packet Drop: Finally, we computed the percentage of customers send their energy consumption data to the service
packet-drop with different number of flows using AttMpls provider in real-time through smart meter data management
and Goodnet topologies. Figure 11 depicts the percentage of system. According to the received energy consumption in-
packet-drop in the network with different number of flows. It formation, the service provider takes adequate decision for
is evident that the proposed scheme is capable of reducing the reliable and cost-efficient energy management. Such real-time
packet-drop in the network compared to the existing schemes energy management system requires efficient data delivery
— ReWiFlow and ExactMatch. In case of ReWiFlow and with minimum delay. On the other hand, few other appli-
ExactMatch, more number of packets are dropped due to link cations, such as billing and making business policy, require
10
guaranteed data delivery with minimum loss. The proposed [13] H. Huang, S. Guo, P. Li, B. Ye, and I. Stojmenovic, “Joint Optimization
scheme is capable of addressing such issues present in a smart of Rule Placement and Traffic Engineering for QoS Provisioning in
Software Defined Network,” IEEE Transactions on Computers, vol. 64,
grid system. no. 12, pp. 3488–3499, 2015.
[14] M. Rifai, N. Huin, C. Caillouet, F. Giroire, J. Moulierac, D. L. Pacheco,
and G. Urvoy-Keller, “Minnie: An SDN world with few compressed
VII. C ONCLUSION forwarding rules,” Computer Networks (Elsevier), vol. 121, pp. 185–
207, Jul. 2017.
In this paper, we proposed an adaptive flow-rule placement [15] S. Bera, S. Misra, and M. S. Obaidat, “Mobi-Flow: Mobility-
scheme to collect per-flow statistics in the network, while con- Aware Adaptive Flow-Rule Placement in Software-Defined Access
sidering associated overhead and network capacity constraints. Network,” IEEE Transactions on Mobile Computing, 2018, DOI:
10.1109/TMC.2018.2868932.
ly
The proposed scheme consists of three phases — forwarding [16] N. Katta, O. Alipourfard, J. Rexford, and D. Walker, “CacheFlow:
path selection, rule placement, and rule redistribution. In the Dependency-Aware Rule-Caching for Software-Defined Networks,” in
first phase, we formulated a max-flow-min-cost optimization Proc. of the ACM SOSR, CA, USA, 2016.
[17] J.-F. Huang, G.-Y. Chang, C.-F. Wang, and C.-H. Lin, “Heterogeneous
problem for finding optimal routing paths, and proposed a
on
Flow Table Distribution in Software-Defined Networks,” IEEE Trans.
greedy heuristic approach to solve the problem. In the second on Emerging Topics in Computing, vol. 4, no. 2, pp. 252–261, 2016.
phase, we formulated an ILP to decide optimal flow-rules, [18] X. Li and W. Xie, “CRAFT: A Cache Reduction Architecture for Flow
Tables in Software-Defined Networks,” in Proc. of the IEEE Symposium
so that number of exact-match rules is minimized in the net- on Computers and Communications, Heraklion, Greece, 2017.
work. Finally, we proposed a rule redistribution algorithm to [19] A. M. Kentis, A. Pilimon, J. Soler, M. S. Berger, and S. R. Ruepp, “A
accommodate more number of flows in the network. Extensive Novel Algorithm for Flow-Rule Placement in SDN Switches,” in Proc.
of the IEEE NetSoft, Montreal, Canada, 2018.
experimental results were presented to show the efficacy of the
se
[20] H. Li, S. Guo, C. Wu, and J. Li, “FDRC: Flow-driven rule caching
proposed scheme. optimization in software defined networking,” in Proc. of the IEEE ICC,
In this work, we observed that some of the new incoming London, UK, 2015.
[21] A. R. Curtis, J. C. Mogul, J. Tourrilhes, P. Yalagandula, P. Sharma, and
flows match with already placed flow-rules, which, in turn, S. Banerjee, “DevoFlow: scaling flow management for high-performance
do not generate Packet-In to the SDN controller. This leads networks,” in Proc. of the ACM SIGCOMM, Ontario, Canada, 2011.
to inaccurate per-flow statistics. Therefore, we plan to address
this limitation as a future extension of this work. Further, we
also plan to validate the proposed scheme in a very large and
complex network topology as a future extension of the work.
lu
[22] Z. Su, T. Wang, Y. Xia, and M. Hamdi, “FlowCover: Low-cost flow
monitoring scheme in software defined networks,” in Proc. of the IEEE
GLOBECOM, TX, USA, 2014.
[23] A. Kamisinski and C. Fung, “FlowMon: Detecting Malicious Switches
in Software-Defined Networks,” in Proc. of the SafeConfig Workshop,
Colorado, USA, 2015.
[24] H. Xu, Z. Yu, C. Qian, X.-Y. Li, and Z. Liu, “Minimizing flow statistics
na
R EFERENCES collection cost of SDN using wildcard requests,” in Proc. of the IEEE
INFOCOM, GA, USA, 2017.
[1] B. A. A. Nunes, M. Mendonca, X.-N. Nguyen, K. Obraczka, and [25] S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge
T. Turletti, “A Survey of Software-Defined Networking: Past, Present, University Press, 2004.
and Future of Programmable Networks,” IEEE Communications Surveys [26] Z. Wang and J. Crowcroft, “Quality-of-service routing for supporting
& Tutorials, vol. 16, no. 3, pp. 1617–1634, 2014. multimedia applications,” IEEE Journal on Selected Areas in Commu-
so
[2] A. Ksentini, M. Bagaa, and T. Taleb, “On Using SDN in 5G: The nications, vol. 14, no. 7, pp. 1228–1234, 1996.
Controller Placement Problem,” in Proc. of the IEEE GLOBECOM, Dec. [27] J. Y. Yen, “Finding the K Shortest Loopless Paths in a Network,”
2016. Management Science, vol. 17, no. 11, pp. 712–716, 1971.
[3] L. G. Roberts, “A radical new router: the Internet is brokenlets fix it,” [28] ONOS Documentation, Accessed on Oct 03, 2018. [Online]. Available:
IEEE Spectrum, July 2009. https://wiki.onosproject.org/display/ONOS/ONOS+Documentation
[4] D. L. C. Dutra, M. Bagaa, T. Taleb, and K. Samdanis, “Ensuring End- [29] N. P. Katta, J. Rexford, and D. Walker, “Incremental consistent updates,”
er
to-End QoS Based on Multi-Paths Routing Using SDN Technology,” in in Proc. of the ACM SIGCOMM workshop on HotSDN, Hong Kong,
Proc. of the IEEE GLOBECOM, 2017, pp. 1–6. China, 2017, pp. 49–54.
[5] R. A. Addad, D. Dutra, M. Bagaa, T. Taleb, H. Flinck, and M. Na- [30] “OpenFlow Switch Specification,” Open Networking Foundation, Tech.
mane, “Benchmarking the ONOS Intent interfaces to ease 5G service Rep., 2009, version 1.0.0.
management,” in Proc. of the IEEE GLOBECOM, Dec. 2018, pp. 1–6. [31] B. Lantz, B. Heller, and N. McKeown, “A Network in a Laptop: Rapid
[6] R. A. Addad, T. Taleb, M. Bagaa, D. Dutra, and H. Flinck, “Towards
rp
Placement for Efficient Traffic Handling in Carrier Cloud,” in Proc. of Computer Networks (Elsevier), vol. 56, no. 15, pp. 3531–3547, 2012.
the IEEE WCNC, Apr. 2014. [34] A. Hackshaw, A Concise Guide to Clinical Trials. Oxford, UK: BMJ,
[9] A. Laghrissi, T. Taleb, M. Bagaa, and H. Flinck, “Towards Edge Slicing: 2009, ch. Statistical formulae for calculating some 95% confidence
VNF Placement Algorithms for a Dynamic & Realistic Edge Cloud intervals.
Environment,” in Proc. of the IEEE GLOBECOM, Dec. 2017, pp. 1–6. [35] A. Sivanathan, D. Sherratt, H. H. Gharakheili, A. Radford, C. Wije-
[10] N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, nayake, A. Vishwanath, and V. Sivaraman, “Characterizing and Classi-
J. R. andScott Shenker, and J. Turner, “OpenFlow: enabling innovation fying IoT Traffic in Smart Cities and Campuses,” in Proc. of the IEEE
in campus networks,” in ACM SIGCOMM Computer Communication INFOCOM Workshop, 2017, pp. 559–564.
Review, vol. 38, no. 2, Apr. 2008, pp. 69–74. [36] S. Shirali-Shahreza and Y. Ganjali, “ReWiFlow: Restricted Wildcard
[11] F. Giroire, J. Moulierac, and T. K. Phan, “Optimizing rule placement OpenFlow Rules,” ACM SIGCOMM Computer Communication Review,
in software-defined networks for energy-aware routing,” in Proc. of the vol. 45, no. 5, pp. 29–35, 2015.
IEEE GLOBECOM, TX, USA, 2014. [37] OpenFlow Switch Specification, Version 1.3.3, Open Networking Foun-
[12] X.-N. Nguyen, D. Saucez, and C. B. andThierry Turletti, “Optimizing dation, Sept. 2013.
rules placement in OpenFlow networks: trading routing for better
efficiency,” in Proc. of the ACM HotSDN, Illinois, USA, 2014, pp. 127–
132.