Beruflich Dokumente
Kultur Dokumente
8
AUGUST 2016
The usage of this PDF file must comply with the IEICE Provisions
on Copyright.
The author(s) can distribute this PDF file for research and
educational (nonprofit) purposes only.
Distribution by anyone other than the author(s) is prohibited.
IEICE TRANS. INF. & SYST., VOL.E99–D, NO.8 AUGUST 2016
2177
LETTER
Flow Clustering Based Efficient Consolidated Middlebox
Positioning Approach for SDN/NFV-Enabled Network
Duc Tiep VU†a) , Nonmember and Kyungbaek KIM†b) , Member
SUMMARY Recently in an SDN/NFV-enabled network, a consoli- work traffic routing and saving resources of switches and
dated middlebox is proposed in which middlebox functions required by machines.
a network flow are provided at a single machine in a virtualized manner.
Recently, many efforts on how to implement efficient
With the promising advantages such as simplifying network traffic routing
and saving resources of switches and machines, consolidated middleboxes service chains with both traditional middlebox and consol-
are going to replace traditional middleboxes in the near future. However, idated middlebox have been published [3]–[5], which focus
the location of consolidated middleboxes may affect the performance of an on creating an efficient routing scheme for the controller
SDN/NFV network significantly. Accordingly, the consolidated middlebox to steer traffic through the required middleboxes. How-
positioning problem in an SDN/NFV-enabled network must be addressed
adequately with service chain constraints (a flow must visit a specific type
ever, these works basically assume that the middleboxes
of consolidated middlebox), resource constraints (switch memory and pro- have fixed location. Actually, the NFV technology allows
cessing power of the machine), and performance requirements (end-to-end to change the location of consolidated middlebox easily by
delay and bandwidth consumption). In this paper, we propose a novel so- migrating VMs to other physical machine when necessary.
lution of the consolidated middlebox positioning problem in an SDN/NFV-
In this situation, the locations of consolidated middleboxes
enabled network based on flow clustering to improve the performance of
service chain flows and utilization of a consolidated middlebox. Via ex- may have a significant impact on the performance of a ser-
tensive simulations, we show that our solution significantly reduces the vice chain. A recent work tried to solve the placement
number of routing rules per switch, the end-to-end delay and bandwidth problem of traditional middlebox but they did not consider
consumption of service flows while meeting service chain and resource the characteristics and properties of consolidated middle-
constraints.
key words: consolidated middlebox, flow clustering, placement, SDN,
box [6]. The consolidated middlebox positioning problem
NFV, service chain in an SDN/NFV-enabled network must be addressed ade-
quately with service chain constraints (a flow must visit
1. Introduction a specific type of consolidated middlebox), resource con-
straints (switch memory and processing power of machine),
and performance requirements (end-to-end delay and band-
A traditional middlebox is a computer appliance including width consumption).
both hardware and software designed to provide specific In this paper, we propose a novel placement method
network service functions such as firewalls, proxies, load for consolidated middleboxes in an SDN/NFV-enabled net-
balancers and intrusion detection systems. A network flow work based on flow clustering to improve the performance
usually requires a service chain, which is a set of service of service chain flows and utilization of a consolidated mid-
functions in a particular order. The rapid development of dlebox.
the Network Function Virtualization (NFV) allows imple-
menting a middlebox function as an application that can be
2. Related Works
installed at a Virtual Machine (VM) running inside a physi-
cal machine. By using this virtualized middlebox, we can
One similar problem is the well known facility location
deploy a service chain flexibly in an SDN/NFV environ-
problem which suggests the location to deploy a fixed num-
ment. Moreover, the NFV technology enables us to imple-
ber of service facilities to minimize the distance between
ment a consolidated middlebox in which each network flow
clients and the closet facility capable of delivering the ser-
receives all its required service function at a single physi-
vice [7]. The classic solution of the problem is the cen-
cal machine [1], [2]. By using the consolidated middlebox,
tralized approach, which needs to calculate distance be-
we can improve the performance of a service chain flow
tween clients and all possible positions, hence it requires
in an SDN/NFV enabled network through simplifying net-
knowledges of global topology and service demand infor-
Manuscript received March 18, 2016. mation. These requirements are not practical for large net-
Manuscript revised May 6, 2016. works. A more effective approach is the distributed method
Manuscript publicized May 19, 2016. as proposed in [10]. Generally, the network will be divided
†
The authors are with the Department of Electronics and Com- into small r-ball regions or r hops away from the facility.
puter Engineering, Chonnam National University, Gwangju, Ko-
Then the topology and demand information within the r-
rea.
a) E-mail: ductiep91@gmail.com ball are observed to re-optimize the current location of fa-
b) E-mail: kyungbaekkim@jnu.ac.kr (Corresponding author) cility. However, these works did not consider an SDN/NFV
DOI: 10.1587/transinf.2016EDL8064 environment where consolidated middleboxes are used with
Copyright
c 2016 The Institute of Electronics, Information and Communication Engineers
IEICE TRANS. INF. & SYST., VOL.E99–D, NO.8 AUGUST 2016
2178
service chain requirements and resources constraints. Algorithm 1 Flow Clustering based Consolidated Middle-
Another similar problem is the VM placement problem box Placement
as in [11]. The proposed VM placement scheme is based on Input: G = (V0 , E0 ), Fm , Vm
Output: Set of switches to connect consolidated middlebox type m
mutual bandwidth usage between VMs. Those VMs with
1: Step 1: Flow Clustering
large mutual bandwidth usage are assigned to host machine 2: Initial cluster C0 = {v0 }
closed to each other. However, the end-to-end delay time is 3: while there is a flow fi with ingress switch vi do
not considered in this scheme. 4: Calc delay time from vi to all existing clusters
5: Find the closest cluster Ck with delay time dvi ,Ck
6: if dvi ,Ck > θ and there is an available consolidated middlebox then
3. Flow Clustering Based Consolidated Middlebox 7: Create a new cluster to contain vi
Placement 8: else
9: C k = C k ∪ vi
In this work, we consider a directed graph G0 = (V0 , E0 ), 10: Step 2: Find the closest switch to each obtained cluster
where V0 is the set of nodes and E0 is the set of edges. Each 11: for each ingress switch vi ∈ C do
12: for each adjacent switch ai ∈ Avi do
node corresponds to a switch, and each edge is a link con-
13: Calculate datoti = v j ∈C dai ,v j
necting two switches. We assume that the costs to connect 14: Find ai with mindtot and add ai to the possible location list L
a consolidated middlebox to a single switch is insignificant. 15: Sort list L in ascending order of datoti
The number of rules that is currently stored in a switch s is 16: for each ai ∈ L do
denoted as r(s), and the maximum number of rules a switch 17: Calculate r(s) for each switch s ∈ V0
18: if ∃s ∈ V0 such that r(s) > R(s) then
s can store is R(s). The set of all service chains is denoted 19: ai is unqualified
as P. Let us consider a consolidated middlebox type m that 20: continue to ai+1
supplies a set of service chains Pm ⊂ P. The number of 21: else
available consolidated middleboxs for type m is denoted as 22: ai is selected
qm . Each consolidated middlebox type m has a processing 23: break
power Om (Mbps), which is how much bandwidth it can deal
with per unit of time.
A flow fk can be described as fk = {srck , pk , dstk , is located near ingress switch of its corresponding flows.
dmdk }, where srck is the source node, dstk is the destina- (2) Accordingly, it is better that these flows with the set of
tion node, and pk is the service chain that traffics of flow fk ingress switches closed to each other share the same con-
must visit. dmdk is the processing demand of flow fk , which solidated middlebox. Based on these intuitions, our solution
represents how much bandwidth a flow occupies per unit consists of two steps as expressed in the Algorithm 1. First,
of time (Mbps). Given that all flow information is known we split flows into the given number of clusters based on
in advance, we can generate a set of flows Fm that require the end-to-end delays between the ingress switches of flows.
services from consolidated middlebox type m. The end-to- The number of cluster is equal to the number of available
end delay time of a flow f (d f ) is determined by the sum of consolidated middlebox, qm , so that each consolidated mid-
the delay from ingress switch of the flow f (i f ) to the cor- dlebox serves each cluster of flows. In the second step, we
responding consolidated middlebox of the flow f (m f ) and further analyze each cluster to find the best switch which
from the corresponding consolidated middlebox (m f ) to the satisfies the defined constraints and which is closest to the
egress switch of the flow f (e f ) as d f = di f ,m f + dm f ,ek . Our cluster of flows.
problem is find the location of all consolidated middleboxes
type m so that the end-to-end delay time of each flow f in Step 1: Flow Clustering
Fm is minimized: The goal of this step is to gather the flows with ingress
switches which are closed to each other into a same clus-
min d f , ter. A cluster C is composed of the ingress switches of
∀ f ∈Fm
each corresponding flows. That is, C = (v1 , v2 , · · · , vi )
qm
where v f is the ingress switch of a flow f . Let Vm is set
dmd fi ≤ Om j (1)
of ingress switchs of flows in Fm . First, we determine
fi ∈Fm j=1
the end-to-end delay time between each pair of switches
r(s) ≤ R(s), ∀s ∈ V0 (2) vi , v j ∈ Vm as the shortest path (SP) delay time between
Constraint 1 is a processing demand constraint to as- them: dvi ,v j = dSP(vi ,v j ) , for all vi , v j ∈ Vm . We also defined a
sure that a consolidated middlebox has enough processing delay thresholds θ as:
power to process the corresponding flows, that is the total max dvi ,v j − min dvi ,v j
demand of all required flows must not exceed the process- θm = min dvi ,v j + for ∀vi , v j ∈ Vm
qm
ing capacity of the consolidated middlebox. Constraint 2 is
a switch memory constraint to make sure a switch has avail- Initially, there is only one cluster. The delay time from
able memory to store new flow table entries. switch vi to cluster Ck is defined as dvi ,Ck = min dvi ,v j with
To solve the problem, we considered two intuitive all v j ∈ Ck . After the delay times from vi to all existing
properties. (1) It is better that a consolidated middlebox cluster are calculated and the closest cluster Ck can be de-
LETTER
2179
4. Evaluation
5. Conclusion
Acknowledgments
References
[10] G. Smaragdakis, N. Laoutaris, K. Oikonomou, I. Stavrakakis, and A. [11] X. Meng, V. Pappas, and L. Zhang, “Improving the scalability of
Bestavros, “Distributed server migration for scalable Internet service data center networks with traffic-aware virtual machine placement,”
deployment,” IEEE/ACM Trans. Netw., vol.22, no.3, pp.917–930, Proc. IEEE INFOCOM, pp.1–9, 2010.
June 2014.