Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

580 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO.

4, DECEMBER 2015

Routing Algorithms for Network Function


Virtualization Enabled Multicast Topology on SDN
Sai Qian Zhang, Qi Zhang, Hadi Bannazadeh, and Alberto Leon-Garcia, Fellow, IEEE

Abstract—Many multicast services such as live multimedia Software defined networking (SDN) presents an excellent
distribution and real-time event monitoring require multicast opportunity for addressing these limitations. SDN is a network
mechanisms that involve network functions (e.g., firewall and paradigm that separates the data plane from the control plane.
video transcoding). Network function virtualization (NFV) is a
concept that proposes using virtualization to implement network In a SDN-based network, a logically-centralized controller has
functions on infrastructure building block (such as high volume the capability to enforce the network management policies and
servers and virtual machines), where software provides the func- configure each SDN switch. SDN allows the control plane to
tionality of existing purpose-built network equipment. We present communicate with the network elements in the data plane. It
an approach for building the multicast mechanism whereby mul- also provides an open protocol to program the flow tables in
ticast flows are processed by NFV before reaching their end users.
We propose a routing algorithm and a method for building an different switches and routers [3].
appropriate multicast topology. Essentially, SDN converts the distributed route control prob-
lem into a centralized problem, so that each router/switch just
Index Terms—Network function virtualization, software de-
fined networking, traffic engineering. needs to forward the traffic according to the rules dictated from
the control plane, and they themselves do not need to perform
any routing decisions. Moreover, all the security policies can
I. I NTRODUCTION also be implemented on the centralized controller thereby alle-
viating security issues in distribution.
M ULTICAST is a fundamental communication style in
which packets are sent to multiple destinations simulta-
neously. In a multicast session, packets are replicated in each
While SDN provides flexible yet efficient implementation of
multicast mechanisms, many multicast services today involve
router and forwarded to multiple output ports based on the intermediary network functions such as NAT, proxy server,
multicast topology. In comparison to unicast communications, video transcoding, DPI, etc. In this context, Network Func-
where a single path is set up for each source destination pair, tion Virtualization (NFV) enables efficient implementation of
multicast communication can save a huge amount of band- multicast services that involve intermediary processing steps.
width. For this reason, multicast communication is becoming Specifically, NFV is a concept that proposes using virtualiza-
increasingly popular. Many web-based applications, for ex- tion technologies to implement network node functions in the
ample, multimedia distribution, video conferencing, software network infrastructure [4]. In a NFV-enabled network, virtual
updates, and IPTV, rely on multicast communication to function machines which run on server can be used for implementing
correctly. network functions. Moreover, NFV provides significant flexi-
Traditional IP multicast suffers from a number of limitations. bility for implementing the multicast mechanisms that involve
First, creating and maintaining multicast trees require a high the network functions. For example, in a video streaming ses-
number of message exchanges between routers for updating sion, the video stream may require transcoding before reaching
multicast trees. In the worst case, flooding must be used for end users. In this case, transcoding can be implemented as a
neighbour discovery. Second, there is lack of efficient support NFV component placed in one of a variety of servers, switches
for group management and membership access control [1], or routers to minimize communication overhead.
[2]. Third, security is a major issue since no authentication is Designing NFV-enabled multicast mechanisms is still a rel-
needed when a user joins or leaves a multicast group. Finally, it atively new research area. A key challenge that needs to be
is difficult to add network functions (e.g. deep packet inspection addressed in this area is the efficient computation of multicast
(DPI), video transcoding) in the multicast mechanism. topologies that involve NFV components. This problem is chal-
lenging because it involves jointly determining the placement
of NFV nodes as well as constructing a multicast topology that
connects the source and destination through the NFV node.
In this paper we study a simple yet important case where a
Manuscript received November 15, 2014; revised February 27, 2015 and single NFV processing step is involved. This scenario is already
July 6, 2015; accepted July 27, 2015. Date of publication August 6, 2015; date
of current version December 17, 2015. The associate editor coordinating the applicable to many scenarios such as video transcoding, packet
review of this paper and approving it for publication was F. De Turck. filtering and intrusion detection. We propose an algorithm
The authors are with the Department of Electrical and Computer Engi- for building an NFV-enabled multicast mechanism on SDN
neering, University of Toronto, Toronto, ON MSS 3G4, Canada (e-mail:
sai.zhang@mail.utoronto.ca). for both dynamic and static scenarios. We also propose the
Digital Object Identifier 10.1109/TNSM.2015.2465371 algorithms to jointly schedule multiple multicast topologies to
1932-4537 © 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
ZHANG et al.: ROUTING ALGORITHMS FOR NETWORK FUNCTION VIRTUALIZATION ENABLED MULTICAST TOPOLOGY ON SDN 581

achieve load balancing. To evaluate the effectiveness of our minimizing the total cost. However, all of the paper is focused
algorithms, we have implemented our multicast mechanism on on generating the multicast tree with minimum cost, none
ViNO [21], a SDN launcher that uses VXLAN tunneling proto- of these paper has considered the joint NFV placement and
col alongside a software switch (Open vSwitch) to dynamically multicast tree construction.
create network topologies specified by the user. Experiments NFV is a newly proposed topic therefore the research on it is
show our algorithms incur low computational complexity, and still in the early stage, offering great opportunity for the further
produce near optimal multicast topologies. research and exploration. Some previous research has focused
The rest of the paper is organized as follows, in Section II on NFV-As-A-Service. For example, [18] offers a framework
we present the related work. In Section III we provide our to transfer the traditional network to SDN by virtualizing the
problem formulation. In Sections IV and V we present the static network functionality of the gateways, while [19] presents a
algorithms for the problems. In Section VI, we consider the framework called OpenANFV which acts as an accelerator to
dynamic scenario and give the dynamic algorithms for this case. decrease the gap between the software-based network function
In Section VII, we consider the routing for multiple multicast and the hardware, and [20] presents a software middlebox
topologies. In Section VIII, we evaluate the algorithms and give platform which can quickly boot up virtual machines to run the
numerical results. We describe our implementation details in middlebox functions. Meanwhile, NFV has been deployed to
Section IX and draw a conclusion in Section X. facilitate the operations on content delivery network [21]. [18]
presents analysis and design of the routing function virtualiza-
tion. [22] presents a control plane which allows the jointly con-
II. R ELATED W ORK
trol of network topology and NFV placement. And [23] offers a
Multicast has received much attention in the modern commu- testbed called EmPOWER for research on NFV. However, none
nication networks because of the popularity of group commu- of these studies has focused on the traffic engineering problem
nication and its advantage in saving bandwidth. As mentioned involving NFV.
before, traditional IP multicast suffers from the problem of
security, reliability and scalability. The advent of SDN helps
III. P ROBLEM S TATEMENT
relieve these concerns by separating the control plane from the
data plane. SDN-based multicast framework has been widely Mathematically, we model the network as a graph G =
used and deployed in the datacenter networks. In Avalanche, a (V, E), which consists of a set of nodes V and undirected links
SDN based system for the datacenter network is proposed that E. We define H ⊆ V as a set of candidate nodes on which NFV
enables multicast in commodity switches [5]. In [6], an SDN- may be deployed. Each multicast session involves a source host
based multicast clean-slate scheme aiming to improve security s ∈ V and a set of destinations D ⊆ V. In this context, we
and controllability of multicast network is developed. And in define a multicast topology as a subgraph G ⊆ G. For each
[7], a SDN-based scalable IP multicast in datacenter network G , there exists a mapping function fG : D → H  , that maps
is proposed and evaluated. [8] proposes an routing algorithm to each destination d ∈ D to a NFV node h ∈ H  , where H  ⊆ H
construct multicast tree with high reliability. However, None of denotes the set of NFV nodes used by G . Therefore, G delivers
these work has included NFV functionality with the multicast the multicast content to every d ∈ D using two paths, one from
mechanism. s to a NFV node fG (d), the other from fG (d) to d.
Several basic multicast routing techniques have been devel- In our model, the multicast topology may use multiple in-
oped for constructing the multicast trees. Finding the optimal stances of the NFV. For example, a multicast video session may
tree with the minimum cost can be formulated as a Stein tree uses two transcoders for different regions of the network. The
problem, which has been proven N P-hard. In the literature, a bandwidth usage before and after NFV processing are bbefore
number of algorithms have been developed to solve the Steiner and bafter , respectively.
tree problem. In [9], an algorithm with an approximation factor To define the cost of a multicast topology, we assume there
of 2 has been proposed. This approximation factor was later is non-negative cost w(e) for using each edge e ∈ E, and w(e)
improved to 1.598 in [10]. In [11], a heuristic algorithm to is an increasing convex function of bandwidth consumption on
build a Steiner tree with delay bound was proposed. And a e. An example includes the piecewise linear increasing convex
heuristic algorithm for finding a directed multicast tree with function using in [24]. Because the bandwidth consumption
minimum cost is proposed in [12]. Some other multicast tree may change after the flow traverse through the NFV node, the
building techniques include the shared tree algorithm, which cost for using each edge will also be different. Let wbefore (e)
builds a single tree to be used by all the multicast sessions. denote the cost of e with bandwidth consumption bbefore and
The tree contains a single point called core or rendezvous point wafter (e) denote the cost of e with bandwidth consumption
(RP) so that all the packets will be forwarded to RP before bafter . Moreover, we assume running a NFV node on each ma-
reaching the destinations [13], [14]. However, the selection of chine h ∈ H incurs an activation cost c(h) in terms of resource
the optimal RP is also an NP-hard problem [15]. The authors usage and performance overhead. let xh ∈ {0, 1} denote whether
of [16] propose a heuristic algorithm to choose a rendezvous an instance of NFV is placed in h. Let ye ∈ {0, 1} and ze ∈ {0, 1}
point while minimizing the total weighted cost of routing paths. denote whether link e is used for carrying flows before and
In [17] a novel rendezvous point based algorithm is proposed after NFV processing. Our goal is to find a multicast topology
to build a multicast tree which satisfies several constraints, G that ensures each multicast flow traverses through the NFV
including delay constraint, link utilization constraint, while node(s) before reaching the destination, while minimizing the
582 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015

TABLE I
D EFINITIONS OF PARAMETERS

Fig. 1. Example of NFV-MTC.

Fig. 2. An example of NFV-MTC solution.

total topology construction cost. Specifically, we define the total


link cost of a subgraph U ⊆ G as:
 
Cl (U) = ye wbefore(e) + ze wafter (e) (1)
e∈E e∈E
In this case, the total cost of this multicast topology is C =
and define total NFV activation cost as w(1, 6) + w(6, 4) + w(6, 4) + w(6, 5) + w(6, 3) + w(3, 1) +
 w(1, 2) + c(4). The cost of link (6, 4) is counted twice since
Ch (U) = xh c(h) (2)
the flow traverses the link (6, 4) twice. And the cost of the NFV
h∈H
node only counts once.
then our goal is find a multicast topology U to minimize the We can also formulate the NFV-MTC as an optimization
sum of the total link cost and NFV activation cost: problem, and solve it by using the technique such as Branch
and bound. To formulate the problem, we first create a directed
C(U) = Cl (U) + Ch (U). (3) graph by representing each undirected link with two opposite
directed links with equal weight. In presenting the formulation,
We call this problem NFV-enabled multicast topology construc- we will use the definitions given in Table I. The optimization
tion (NFV-MTC) problem. problem can now be stated as:
A concrete example of this problem is provided in Fig. 1,
consider a real-time video streaming service with source h1 and minimize P  
1 Y1 + P2 Y2 + P3 Z (4)
X1 ,X2 ,Y1 ,Y2 ,Z
two end users h2 and h3, each link is characterized by a link
cost. Assume the NFV does not change the bandwidth of the subject to M(X1 + X2 ) = A (5)
flow, hence wbefore(e) = wafter (e). The service requires to de-
liver a transcoded version of the original video stream to h2 and Z  MX1 = −W (6)
h3. Two nodes (5, 7) are available to place the transcoder with
activation cost c(5) = 3, c(7) = 1, then the optimal multicast Z  MX2 = W (7)
topology is shown in Fig. 1(b). It is noteworthy that unlike the
X1jk ≤ Y1j ≤ 1 (∀ k, j) (8)
traditional multicast tree problem, in NFV-MTC each link may
be traversed more than once. For instance, in Fig. 2, assume the X2jk ≤ Y2j ≤ 1 (∀ k, j) (9)
only NFV node is located at node 4 and D = {2, 3, 5}, s = 1.
The multicast routes are: R Z = 0 (10)
1) From 1 to 3: (1, 6, 4, 6, 3) Q MX1 S (11)
2) From 1 to 5: (1, 6, 4, 6, 5)
3) From 1 to 2: (1, 6, 4, 6, 3, 1, 2) X1 , X2 , Y1 , Y2 , Z are binary
ZHANG et al.: ROUTING ALGORITHMS FOR NETWORK FUNCTION VIRTUALIZATION ENABLED MULTICAST TOPOLOGY ON SDN 583

Where “ ” in (11) means Q is elementwisely less than MX1 , traverse through selected NFV node and then multicast to
which is elementwisely less than S. Specifically, equation (4) is each end user using the MST it constructs. We now prove its
the object function that computes the total cost of the multicast approximation guarantee.
topology, which includes the cost for each used link and the
activation cost of the NFV nodes. Equation (5) and (11) ensure
a single path set up between the source s and each end user Algorithm 1 Approximation algorithm
d. Specifically, X1 represents the links used from source to
the NFV nodes in each session, (11) ensures the path between 1: Cbest = ∞
the source and NFV node of each session consists of a set 2: for each (h, d) pair ∈ H × D do
of connected links. With the premise of (11), (5) ensures that 3: Construct a shortest path graph P by connecting s to h,
for each session, there are two simple paths, one connects h to d.
source and NFV node, the other connects NFV node and the 4: Construct a complete subgraph Gc for D, where the
destination. Z indicates the node used as NFV node by making cost of each edge (di , dj ) in Gc is set equal to the
the corresponding binary variable to 1. Equations (6) and (7) distance of shortest path from di to dj in G
ensure the multicast flow pass at least one NFV node before 5: Find the minimum spanning tree T from Gc and calcu-
reaching each end user. Equations (8) and (9) ensure that the late Cl (T)
multicast topology is comprised of all the single paths between 6: Connect P with T, call the combined graph Gw (since
source s and each end user di . Equation (10) ensures that only d exists in both P and T, we can connect them to-
the nodes in H can be used for NFV node. gether). Calculate C(Gw ) using eq. (3)
We now analyze the complexity of the problem: 7: if C(Gw ) ≤ Cbest then
Theorem 1: NFV-MTC is N P-hard. 8: Cbest ← C(Gw ), Gbest ← Gw
Proof: We show that this problem can be reduced from 9: end if
the Steiner tree problem. The Steiner tree problem aims at 10: end for
finding a minimum cost multicast tree that connects the source 11: Construct the graph Tbest from Gbest by replacing every
to each of the destinations. Given a Steiner tree problem, edge in Gbest with the shortest path in G, if there are
we can build a NFV-MTC by limiting the only candidate several shortest paths, randomly select one.
location for placing the NFV at the source node. It is easy to 12: Remove any unnecessary edges in Tbest to get final
see that the optimal solution of the NFV-MTC is exactly the output TH
solution for the original Steiner tree problem. Since Steiner tree
problem is N P-hard, we conclude that NFV-MTC is N P-hard
as well.  Theorem 2: Given that there exists an optimal multicast
Since the problem is N P-hard, our main objective is to find topology for the UMF, the total cost of TH is no more than
the polynomial time algorithms that yields good approximation two times that of the optimal multicast topology.
guarantee. In the following sections, we shall divide NFV- To prove this theorem, we first states two lemmas:
MTC into three separate cases. In the first case, we assume Lemma 1: Let Gopt be the optimal multicast topology of
bbefore = bafter , namely the bandwidth usage before after the UMF, there exists a multicast tree Topt such that each root-leaf
process by NFV components are the same. We call this problem path in Topt is exactly a walk1 from source to an end user in
the Unchanged Multicast Flow Bandwidth problem (UMF). Gopt , and the total cost of the Topt equals that of Gopt .
The second case is when bbefore > bafter . We call this problem Proof: For each destination d, there must exist a walk
Reduced Multicast Flow Bandwidth problem (RMF). Finally, W which connects source s to d in Gopt . We construct Topt
we consider the case where bbefore < bafter . We call this prob- iteratively. In the first iteration, we select a destination node d
lem the Increased Multicast Flow Bandwidth problem (IMF). at random. Let the walk between s and d in Gopt to be the first
While these three problems are similar, the approximation root-leaf path of Topt . In each of the subsequent iterations, we
algorithms developed for these problems differ in subtle as- first select a remaining destination d from D. Let W denote the
pects. In the following subsections, we will study each problem walk from s to d in Gopt . Among all existing root-leaf path P in
separately. Topt , we find the P which contains the largest subset W1 ⊆ W
from the source s. That is, P contains the longest subpath of
W among all the root-leaf path. Let n be the end point of W1
IV. A PPROXIMATION A LGORITHMS and define W2 = W \ W1 , we then add a W2 as a new branch
A. Algorithm for UMF to Topt . Repeat this for every end user in Gopt until all the end
users have been added. Since all the links and nodes are copied
In this section, we propose an approximation algorithm from the walks in Gopt to Topt , the total of Topt (include the
for solving the UMF. In UMF, the bandwidth does not activation cost of NFV nodes and total cost of the links) equals
change after traversing through the NFV, therefore wbefore(e) = that of Gopt . 
wafter (e)(∀ e ∈ E). Algorithm 1 is our approximation algorithm
for UMF, it first searches for a single NFV node which is used
by all the destination users and then it constructs a minimum 1 In graph theory, a walk is a sequences of links and nodes, where each link’s
spanning tree among the end users. The traffic flow will first endpoints are preceding and following nodes in the sequence.
584 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015

Fig. 3. An example of approximation algorithm. Panel (a) shows a network topology G(V, E) with 9 nodes and 12 links, suppose s = 9, H = {5, 7}, D =
{2, 3, 4, 6}, and pick node 7 to be h and node 4 to be d. Panel (b) is the path graph P. Panel (c) is the complete graph Gc . Assume panel (d) is the minimum
spanning tree T of Gc . Connecting P with T gives Gw in panel (e). Assume this combination gives the least total cost, panel (f) shows Tbest and panel (g) is TH .

This can be illustrated by Fig. 4. We try to derive Topt from


the optimal multicast topology Gopt in Fig. 2. The walk from
source node 1 to the first end user 3 is (1, 6, 4, 6, 3) (Fig. 4(a)).
The walk from source node 1 to second end user 5 is (1, 6, 4, 6,
5), since (1, 6, 4, 6) is already contained in Topt , we connect (6,
5) to Topt (Fig. 4(b)). Finally, the walk from source node 1 to
last end user 2 is (1, 6, 4, 6, 3, 1, 2) and (1, 6, 4, 6, 3) is already
contained in Topt , we connect (1, 2) to node 3 in Topt (Fig. 4(c)).
The total cost of Topt equals that of Gopt .
And we cite following result from [9]: Fig. 4. Example of constructing tree.
Lemma 2: Let T be a tree with m ≥ 1 edges. Then there exists
a loop in T, u1 , u2 , . . . , u2m , where every ui , 1 ≤ i ≤ 2m, is a
vertex in T, such that every edge in T appears exactly twice in
the loop.
Now we give the proof for Theorem 2 below:
Proof of Theorem 2: Let Gopt denote the optimal solution
and Topt denote the tree derived from it. Lemma 1 shows there
exists a Topt with cost equals that of Gopt . Define Copt (v1 , v2 )
as the cost of the path connecting node v1 and v2 in Topt ,
Cshortest(v1 , v2 ) cost of the shortest path connecting node v1
and v2 in G. Also denote the leaves of Topt as di , 1 ≤ i ≤ n (the Fig. 5. Proof for Theorem 2.
order of leaves is random), where n is the number of leaves in
Topt . From Lemma 2, there exists a loop L in Topt such that
every edge in Topt is traversed exactly twice and every leaf in Therefore C(TH ) ≤ C(Tbest ) ≤ C(M1) + Cl (M2) ≤ C(M1) +
Topt is visited exactly once. L can be decomposed into three C(M2) ≤ C(L) = 2C(Topt ) = 2C(Gopt ). 
paths: We use the example in Fig. 3(a) to illustrate this proof,
suppose for the problem in Fig. 3(a) we have the optimal
1) A simple path M1 that connects source s to the first leaf d1 .
solution Topt in Fig. 5(a). The C(Topt ) includes all the cost of
2) A path M2 that connects first leaf d1 to next leaf d2 , and
the links it uses and all the activation cost of NFV nodes it uses
from d2 to the next leaf d3 until to the last leaf dn . (node 5 and node 7). The loop L that traverses Topt is shown in
3) A path M3 that connects dn back to source s.
Fig. 5(a), which includes:
Since each link and NFV nodes in Topt appears exactly
twice in the loop L, C(L) = 2 × C(Topt ) ≥ Cl (L). The simple 1. source s to the first leaf node 3, call this simple path M1
path M1 must pass through at least one NFV node, other- (shown in Fig. 5(b)).
wise the flow is not processed before reaching the destina- 2. first leaf node 3 to next leaf node 4, from node 4 to the
tion user. Call this node hopt , so the C(M1) = Copt (s, hopt ) + next leaf node 6 until to the last leaf node 2, call this path
Copt (hopt , d1 ) + c(hopt ). Ignoring the activation cost of all M2 (shown in Fig. 5(c)).
the NFV nodes that M2 traverses, M2 can be viewed as 3. last leaf node 2 back to source s, call this simple path M3.
a graph that contains all the end users, so CM2 l equals

n−1 The total cost of L includes two times of the NFV activation
Copt (di , di+1 ) and C(M1) + Cl (M2) must be greater than or cost in Topt (the activation cost of node 5 and 7, since they are
i=1
traversed twice) and two times the sum of the link cost of Topt .
equal to C(Tbest ) = min (Cshortest(s, h) + Cshortest(h, d) +
h∈H,d∈D Therefore C(L) = 2 × C(Topt ). The simple path M1 passes
c(h) + Cl (T)), where T is the minimum spanning tree defined through NFV node 5 and connects to end user node 3. M2
in step 5 of Algorithm 1. Thus C(L) must be greater than or contains all the end users (node 3, 4, 2, 6). And 2 × C(Topt ) ≥
equal to C(Tbest ), which is greater than or equal to C(TH ). C(M1) + C(M2) ≥ C(Tbest ) ≥ C(TH ).
ZHANG et al.: ROUTING ALGORITHMS FOR NETWORK FUNCTION VIRTUALIZATION ENABLED MULTICAST TOPOLOGY ON SDN 585

We now analyze the complexity of Algorithm 1. In line 1 solution TH . Therefore C(TH ) ≤ C(Tbest ) ≤ C(M1) + Cl (M2) ≤
and 2, for each fixed h and d, we need to find the shortest C(M1) + C(M2) ≤ C(L) = 2C(Topt ) = 2C(Gopt ). 
path between s to h, h to d. In line 3, to calculate the cost The complexity of the above algorithm is the same as that of
of edge in Gc , we need to find the shortest paths for each approximation algorithm for UMF.
pair of destination users. Therefore, The overall complexity is
O((n2 + n|H|)(|V| + |E| log |E|)), where n is number of end
users, |H| is the size of H, |V| is number of nodes in the network C. Algorithm for IMF
and |E| is number of edges in the network.
In IMF, the bandwidth consumption increases after passing
through the NFV nodes, result in a higher link cost.
B. Algorithm for RMF We propose a 2-approximation algorithm (Algorithm 2) for
IMF below. It can be seen that the main difference between
In RMF, the bandwidth of multicast flow decreases after Algorithm 2 and Algorithm 1 is line 3 and 4, the cost of edge of
traversing through NFV, the reduction on bandwidth consump- P and Gc is calculated differently. The rationale of Algorithm 2
tion will cause the reduction on the link cost. This problem can is similar to Algorithm 1. Similarly, we have two link weight
be solved by almost the same approximation algorithm as the metrics before and increased .
UMF. The only difference is that the bandwidth requirement of
the flow reduced after traversing through the NFV, resulting two
link weight metrics before and reduced . So the approximation Algorithm 2 Approximation algorithm for IMF
algorithm of RMF is the same except that in line 3 of Algorithm 1,
before is used to calculate the distance from source s to NFV 1: Cbest = ∞
node h and reduced is used to calculate the distance from NFV 2: for each (h, d) pair ∈ H × D do
to end user d. By using link metric , we mean the link weight 3: Construct a shortest path graph P by connecting s to h,
used to calculate the distance between two nodes is defined by h to d. Calculate the cost of P, C(P) = Cshortest (s, h,
. In line 4 of algorithm 1, reduced is used to calculate the cost before) + Cshortest(h, d, increased ) + c(h)
of the edge of Gc . This approximation algorithm also keeps a 4: Construct a complete subgraph Gc for D, where the
approximation factor of 2, which can be proven as follows: cost of each edge (di , dj ) in Gc is set equal to
First, let Gopt denote the optimal solution. From Lemma 1, min{min(h1,h2 )∈H (Cshortest (vi , h1 , increased )+ Cshortest
we can derive a tree Topt with the same cost. To facilitate the (h1 , h2 , before)+Cshortest(h2 , vj , increased )+c(h1)+
statement of the algorithm, define: c(h2 )), Cshortest (vi , vj , increased)} in G
Copt (v1 , v2 , ): Cost of the path connecting v1 and v2 in Topt 5: Find the minimum spanning tree T from Gc and calcu-
under link weight metric . late Cl (T)
Cshortest(v1 , v2 , ): Minimum cost of the path connecting v1 6: Connect P with T, call the combined graph Gw (since
and v2 in G under link weight metric . d exists in both P and T, we can connect them to-
Proof: From Lemma 2, there also exists a loop L in Topt gether). Calculate C(Gw ) using eq. (3)
such that every edge in Topt is traversed exactly twice and every 7: if C(Gw ) ≤ Cbest then
leaf in Topt is visited exactly once. L can be decomposed into 8: Cbest ← C(Gw ), Gbest ← Gw
three paths: 9: end if
1) A simple path M1 that connects source s to the first 10: end for
leaf l1 . 11: Construct the graph Tbest from Gbest by replacing every
2) A path M2 that connects first leaf l1 to next leaf l2 , and edge in Gbest with the shortest path in G, if there are
from l2 to the next leaf l3 until to the last leaf ln . several shortest paths, randomly select one.
3) A path M3 that connects ln back to source s. 12: Remove any unnecessary edges in Tbest to get final out-
put TH
The simple path M1 must pass through at least one
NFV node, call this NFV node hopt , the total cost
of M1 equals Copt (s, hopt , before) + Copt (hopt , l1 , reduced ) + Proof: Let Topt denote the optimal tree derived from Gopt .
c(hopt ). Ignoring the activation cost of all the NFV nodes There also exists a loop L in Topt such that every edge in Topt is
that M2 traverses, M2 can be viewed as a graph that con- traversed exactly twice and every leaf in Topt is visited exactly
tains all the end users, so the total cost of M2 equals once. Like previous case, L can be decomposed into three paths

n−1 M1, M2 and M3. The simple path M1 must pass through at
Copt (li , li+1 , ), where is  may be before or reduced
i=1
least one NFV node, call this NFV node hopt , the total cost
depending on whether the flow travels through the NFV of M1 equals Copt (s, hopt , before) + Copt (hopt , l1 , increased) +
node. And the sum cost of M1 and M2 must be greater c(hopt ). M2 consists of paths which connect first leaf l1 to next
than or equal to that of Tbest = min (Cshortset(s, h, before) + leaf l2 until the last leaf ln . Call the path which connects node li
h∈H,d∈D
and node li+1 in L Qi , there are two categories for Qi :
Cshortest (h, d, reduced ) + c(h) + Cl (T)). Thus the total cost of
the loop L must be greater than or equal to the total cost of 1) Qi does not pass through any NFV node, in this case the
Tbest , whose total cost is greater than or equal to the cost of the total cost of Qi = Copt (li , li+1 , increased ).
586 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015

2) Qi passes through two NFV nodes, h1 and h2 . In this case we have a multicast tree whose activation cost of NFV nodes is
the total cost of Qi = Copt (li , h1 , increased) + Copt (h1 , greater than cmax , then its total cost must be greater than that of
h2 , before) + Copt (h2 , li+1 , increased ) + c(h1 ) + c(h2 ). Tlink and it must not be the optimal solution. Using this fact, the
steps for pruning the search space are shown below:

n−1
The total cost of M2 equals Qi . According to the defi-
i=1 • We change the objective function of the previous prob-
nition of Tbest above, the sum cost of M1 and M2 must be lem, ignore the cost of NFV nodes, so the new object
or equal to that of Tbest = min (C(P) + C(T)). Thus the function becomes:
h∈H,d∈D
total cost of the loop L must be greater than or equal to the
total cost of Tbest , whose total cost is greater than or equal to min PT1 (Y1 + Y2 ).
the cost of the solution TH , hence C(TH ) ≤ C(Tbest ) ≤ C(L) =
2C(Topt ) = 2C(Gopt ). 
We now analyze the complexity of the Algorithm 2. In line 3 • Activate every NFV node in H by setting Zi = 1 iff node
of Algorithm 2, we need to find the shortest path between s to h, i∈ H and Zi = 0 otherwise.
h to d for each h and d pair. Moreover, in line 2, to calculate the • Solve the new linear integer programming problem by
cost of edge in Gc , we need to try every combination of h1 and using Branch and bound.
h2 and the shortest paths between them. Therefore, The overall • Record the actual NFV nodes used by the solution since
complexity is O(n2 |H|2 (|V| + |E| log |E|)), where n is number some of the NFV nodes may not be used by the multicast
of end users, |V| is number of nodes in the network and |E| is topology. Calculate the total activation cost of these used
number of edges in the network. NFV node, cmax .
A limitation of Algorithm 2 is that, in line 4 of Algorithm 2, • Select one combination of the NFV nodes, before solv-
the multicast flow sent between two end users may be first re- ing the linear integer programming problem, calculate
versely processed by one NFV node to decrease bandwidth then the total activation cost of this NFV node combination,
forward processed by another NFV node before reaching the denoted as c, if c > cmax , then this combination is pruned
next destination user. Therefore Algorithm 2 assumes that NFV and there is no need to test it.
node can perform both forward and reverse processing. Since
bandwidth consumption of the flow increases when traversing 2) Prune the Search Space of Links: When solving the linear
through the NFV, there should be hardly any loss of original integer programming problem given the activated NFV node,
information when the flow is first forward and then reverse we can use the following facts of the multicast topology to
processed by the NFV node. Example may include lossless prune the search space:
video compression which allows the original video stream to
be perfectly recovered from the compressed stream [25]. • Links directed to the source s can never carry flow from
the source to the NFV node deployed.
V. S OLUTION A LGORITHMS BASED • Links originating from the destination can never carry
ON B RANCH AND B OUND
flow from NFV node to that destination.

In the previous sections, we presented approximation al- Therefore, multicast topologies that satisfy either of these two
gorithms for UMF, RMF and IMF. Since the problem can conditions will not be considered in our Branch and bound
be formulated as an quadratic integer programming problem algorithm.
represented by equation (4)–(11), we now provide an algorithm We will evaluate the performance of our Branch and bound
for solving the integer programming problem using Branch technique and compare it with the approximation algorithms in
and bound. Compared to Algorithm 1 and Algorithm 2, our Section VIII.
Branch and bound algorithm is able to compute the exact
optimal solution of NFV-MTC with the drawback of higher
computational overhead. The key challenge is that, since this
VI. DYNAMIC H EURISTICS
is a quadratic integer program, it is hard to apply traditional
algorithms to solve it. Instead, we can make the problem linear So far, all of our proposed algorithms focus on the static cases
by trying every combination of NFV node and solve the linear where individual users never leave the system until the session
integer programming problem (given the known NFV node) ends. In reality, end users may dynamically join and leave
using Branch and bound. The key features of our algorithm the existing multicast topology. The static algorithms are not
is that we can prune the search space in the following two suited for this case because it is not reasonable to run the static
dimensions: algorithms every time a user joins or leaves the system due
1) Prune the Search Space of NFV Nodes: We can search for to the high computation overhead. Moreover, static algorithm
the best NFV enabled multicast topology without concerning may return a completely different multicast topology as one
on the activation cost of NFV nodes, call this topology Tlink . user joining/leaving the multicast topology, and all the existing
In other words, Tlink is the cheapest multicast topology we can multicast trees need to be reconfigured, which produces a
build if we neglect the activation cost of NFV nodes. Denote high reconfiguration overhead. Therefore, we propose dynamic
by cmax the cost of deployed NFV nodes in Tlink . Therefore if heuristics to deal with this situation. Algorithms 3 and 4 are
ZHANG et al.: ROUTING ALGORITHMS FOR NETWORK FUNCTION VIRTUALIZATION ENABLED MULTICAST TOPOLOGY ON SDN 587

our heuristics for handling user joining and leaving for both the
UMF and RMF problem. Essentially, when a new user joins
the system and its not part of the existing multicast topology,
the algorithm tries to find a user that is closest to the new
user, and find a path from the user in the multicast tree to the
new user. The complexity of algorithm 3 and 4 are O(n(|V| +
|E| log |E|)) and O(|E|) respectively, where n is number of end Fig. 6. Example of load balancing.
users, |V| is number of nodes in the network and |E| is number
of edges in the network. Compared with the complexity of static
algorithm (Algorithm 1) given in the previous sections, which is
Algorithm 5 Dynamic heuristics for IMF (entering)
O((n2 + n|H|)(|V| + |E| log |E|)), the complexity of dynamic
heuristics is lower.
1: For each coming end user d:
2: For each end user v:
Algorithm 3 Dynamic heuristic for UMF (entering) 3: vmin ← arg min(m(v, d, Cincreased ))
v
4: c1min ← min(m(v, d, Cincreased ))
1: for each coming end user d ∈ D do v
2: if new user connects to a node in multicast topology 5: End
then 6: For each node h in Hinactivated:
3: Send the flow to that user directly. 7: hmin ← arg min(m(s, h, Cbefore ) +
h
4: end if m(h, d, Cincreased ))
5: if new user connects to a new node outside existing 8: c2min ← min(m(s, h, Cbefore) +
multicast topology then h
m(h, d, Cincreased ) + ch ))
6: dmin ← user in the multicast group who has the
9: End
shortest distance to d. If there are more than one
10: If c1min ≤ c2min
existing users satisfy this, randomly choose one.
11: add the new user to the group by connecting user d
7: Connecting d to dmin with shortest path.
with dmin
8: end if
12: End
9: end for
13: If c1min > c2min
14: Hinactivated.remove(hmin )
15: add the new user to the group by connecting
Algorithm 4 Dynamic heuristic for UMF (leaving) (s, hmin, d)
16: End
17: End
1: for each leaving end user d ∈ D do
2: for each link e in path to d do
3: if e does not carry any multicast traffic then
4: remove e from the existing multicast topology VII. S CHEDULING OF M ULTIPLE M ULTICAST S ESSIONS
5: end if In the previous sections, we consider the multicast topology
6: end for construction for a single multicast session. However, in reality,
7: end for multiple multicast sessions may coexist to deliver their own
information to different end user groups. Without loss of gener-
ality, we assume each multicast session has a priority level.
However, for the case of IMF, as the bandwidth increases For the scenario of multiple multicast sessions, applying
after processing by NFV, finding the closest user and connect the approximation algorithms over each session may cause
may result in a high bandwidth usage. Therefore we design a imbalance in resource utilization. For example, as it is shown
new algorithm for user entering for IMF (Algorithm 5). When in Fig. 6(a), two multicast trees (shown in green and red arrow)
the new end user joins, this dynamic algorithm first finds the carry traffic from source 1 to their own end users, result in
shortest distances between every existing end user to the new double traffic load on link (1, 3), (3, 5), (3, 6) since they carry
user and it takes the shortest distance c1min . Then it calculates the traffic of both sessions. To solve this problem, we can
the smallest cost of activating a new NFV node and setting up reroute one of the multicast tree to distribute the traffic load
the flow path, c2min. If c1min ≤ c2min , it connects the new end over some other underutilized links to achieve load balancing,
user to that existing end user, otherwise it activates a new NFV one possible solution is shown in Fig. 6(b).
node and sets up new path. The complexity of Algorithm 5 is We now present the formulation of the problem. Suppose
O((n + |H|)(|V| + |E| log |E|)), which is still much lower than there is a set of multicast sessions T, each session has its own
that of Algorithm 2 (O(n2 |H|2 (|V| + |E| log |E|))). Finally, source node st , a set of candidate locations H t to place NFV
Algorithm 4 can still be used to handle the case of user leaving nodes, and destinations Dt (t ∈ T). The goal is to minimize the
for IMF. sum of the maximum link utilization rate u. This problem can be
588 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015

TABLE II
D EFINITIONS OF PARAMETERS

Fig. 7. Multicast mechanism diagram.

has a NFV activation cost and each link has a link cost, the
algorithm is presented as Algorithm 6.

Algorithm 6 Load balancing algorithm

1: Sort the multicast sessions t ∈ V from highest to lowest


priority
2: Assign on initially cost to the nodes and links based on
their resource usages
3: For each multicast session t in V (highest to lowest
priority):
4: Run the Approximation algorithm.
5: For each link in the network:
6: Calculate the bandwidth usage
7: Update the cost of the links and nodes based on the
current utilization rate of the resources
8: End
9: End

represented as the following integer linear problem (the variable To update the cost of link j, we use the function which is
definitions are given in Table II): reversely proportional to the remaining bandwidth on that node
ρj
or link = 1−m (where ρj is a constant, and m is the current
minimize u (12) utilization rate of the node or link). Hence the link with lower
  load is more likely to be used in the next round of scheduling.
subject to M X1t + X2t =A t
(∀ t) (13)
One limitation of the above algorithm is that it assumes there
Z t MX1t = −W t
(∀ t) (14) all multicast sessions have unique priority levels. However,
Z t
= W (∀ t)
MX2t t
(15) when there are multiple multicast sessions with the same pri-
t
X1jk ≤ Y1j
t
≤ 1 (∀ k, j, t) (16) ority, we need to ensure each session is fairly treated while not
exceed the capacity of resources. That is, the total bandwidth
t t
X2jk ≤ Y2j ≤1 (∀ k, j, t) (17) consumption does not exceed the link capacity.
t t
R Z = 0 (∀t) (18) For instance, in Fig. 7, two multicast sessions are built by
using the approximation algorithm proposed above. Session 1
Qt MX1t St (∀ t) (19)
  shown in red arrow has s = 9, h = 5, D = {3, 4}. Session 2
Lt1 Y1j
t
+ Lt2 Y2j
t
≤ uCj (∀ j, t) (20) shown in blue dash arrow has s = 9, h = {5, 7}, D = {4, 6}.
t Both the trees consume the resources on link (9, 5) and (5, 4).
X1 , X2t , Y1t , Y2t , Z t
t
are binary Suppose the sum of bandwidth requirement of session 1 and
session 2 exceeds the capacity of link (9, 5), one of the multicast
In this formulation, equations (12)–(19) are the same as tree has to be rerouted to satisfy the capacity constraint.
the case for the single multicast topology construction. (20) Fig. 7 shows an alternative path (in green arrow), and one of
calculates the total load on each link and makes sure that the the session may take this alternative path to release the load on
total bandwidth usage on that link is less than the utilization link (9, 5). However, since the original multicast topology has
rate times capacity of that link. been changed, the new multicast topology may has a different
Our heuristic algorithm for this problem works as follows. cost than the original multicast topology. That is, rerouting a
Assume that we have a set of multicast sessions t ∈ V with its flow may incur a reconfiguration cost.
own priority, one of the methods to achieve load balancing is For each overloaded link, suppose we have a set of paths {pn },
first scheduling the multicast sessions with the highest priority, (n = 0, 1, . . . , N) which contains the original path p0 (which is
then updating the link cost based on their remaining resource, the link) as well as N alternative paths. Define the total number
all the sessions are scheduled. Assume that initially each node of flows of multicast sessions that the overloaded link carries as
ZHANG et al.: ROUTING ALGORITHMS FOR NETWORK FUNCTION VIRTUALIZATION ENABLED MULTICAST TOPOLOGY ON SDN 589

M, and a set of multicast sessions as {fm }, (m = 1, 2, . . . , M), TABLE III


P ROPERTIES OF N ETWORKS
and the reconfiguration cost rmn as:

0 if n = 0, 1 ≤ m ≤ M
rmn =

c pn , {fm } − c p0 , {fm } if n = 0, 1 ≤ m ≤ M

where c[pn , fm ] denotes the total cost of the multicast topology


of fm if p0 is replaced by pn . Define Cl as the capacity of the TABLE IV
C OST E VALUATION FOR N ETWORK I (UMF)
link l, and the capacity of the path pn , Cpn is defined as:

Cpn = min Cl
l∈pn

which is the minimum capacity of the links contained in the


path. Define Bm as the bandwidth consumption of multicast ses-
sion fm , and xmn as the binary integer variable, xmn = 1 indicates TABLE V
that fm uses pn to direct the flow and xmn = 0 otherwise. Then C OST E VALUATION FOR N ETWORK II (UMF)
the problem of minimizing total reconfiguration cost has the
following objective function:

M 
N
minimize rmn xmn . (21)
x
m=1 n=1

We need to assign a path for each multicast session, which TABLE VI


C OST E VALUATION FOR N ETWORK III (UMF)
gives:

N
subject to xmn = 1 ∀ m ∈ M. (22)
n=1

And we need to make sure that the total bandwidth usage does
not exceed the capacity of each path:
TABLE VII
C OST E VALUATION FOR N ETWORK I (RMF)

M
Bm xmn ≤ Cpn ∀ n ∈ N. (23)
m=1

Finally, this is a binary integer programming problem:

xmn ∈ {0, 1}. (24)

This problem is a special case of the generalized assignment Proof: Proof is given in [27]. 
problem (GAP) which is APX-hard. For this problem, [26]
presents a solution algorithm for a similar problem running VIII. E XPERIMENTS
in polynomial time with relaxation on the capacity constraint.
We revise the solution in [26] to solve our problem. The We evaluate our multicast algorithms from both the static and
algorithm works as follows. First, we need to convert it to linear dynamic scenarios on the real WAN model. We will demon-
programming problem by relaxing the integer constraint (24) to strate the accuracy of the algorithms by comparing the result
of the Approximation algorithm with the multicast topology
xmn ≥ 0. (25) generated by our Branch and bound method over three network
models generated by GT-ITM [28], the network settings are
Moreover, we can add another constraint presented in Table III. In [27], more simulations on different
xmn = 0 if Bm > Cpn (26) network topologies are provided.
For each network topology, we randomly generate a set of
which states that pn will be not used by fm if fm consumes more nodes H and a set of end users. We schedule all the users at
bandwidth than the capacity of pn . Similar to the result given the same time. Each scenario is evaluated 100 times and the
by [26], we have the following theorem: average results are presented.
Theorem 3: Providing that there is a feasible solution for the
linear programming problem (21), (22), (23), (25), (26) with
A. Cost Analysis
cost φ, we can find the optimal integer solution with total cost
no more than 2φ in polynomial time, with each path pn carries From Tables IV–XII, we compare the total cost of multi-
at most 2Cpn . cast topology generated by approximation algorithm with the
590 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015

TABLE VIII 1) UMF: Fig. 8 shows the running time of Algorithm 1 and
C OST E VALUATION FOR N ETWORK II (RMF)
Branch and bound over three different networks. We can see
the running time of both methods increases as the number of
destination users increases, and the running time of Approxi-
mation algorithm is much lower than that of Branch and Bound.
Besides, the network size has a great effect on the running time
for both methods, with a higher impact on Branch and bound.
Fig. 9 shows the relationships between total number of end
TABLE IX
C OST E VALUATION FOR N ETWORK III (RMF) users entering and the average time taken to process each
entering user for the dynamic algorithm for UMF. We first build
a multicast topology with 5 users by using the Algorithm 1
proposed above. Then the new incoming users are dynamic
entering the current multicast topology and we record the
average processing time for each new user. We can see that
the average processing time increases as more users join the
TABLE X multicast group, a possible reason is that as the number of
C OST E VALUATION FOR N ETWORK I (IMF) users in the group increases, there are more options for the new
end users to connect. Furthermore, the average processing time
grows gently as the network size increases, which demonstrates
the algorithm is scalable. Lastly, we present the simulations of
the dynamic removal algorithm for UMF in [27].
2) IMF: Fig. 10 shows the running time of Approximation
algorithm and Branch and bound for IMF over three network
TABLE XI topologies. We make the same observations as that of UMF.
C OST E VALUATION FOR N ETWORK II (IMF)
Besides from this, we notice that for the same number of end
users and the same network topology, the running time of the
approximation algorithm (Algorithm 2) is higher than that of
Algorithm 1 due to its higher complexity. Fig. 11 shows the
relationship between total number of end users entering and
the average time taken to process each end user for IMF over
three network topologies. We find that the average processing
TABLE XII
C OST E VALUATION FOR N ETWORK III (IMF) time increases as number of user increases, and we think the
reason is the same as that for dynamic algorithm of UMF: as
the number of user increases, there are more options for the
new users to connect. Besides, we present the simulations of
the dynamic removal algorithm for IMF in [27].

C. Scheduling Multiple Multicast Sessions


optimal solution generated by Branch and bound for all the In this section, we present our evaluation results for schedul-
three problems (UMF, RMF and IMF). All the results generated ing multiple multicast sessions. We assume that the bandwidth
by the corresponding approximation algorithms are normalized of the network flow keeps unchanged after traversing through
by the optimal solution generated by our Branch and bound the NFV, therefore Algorithm 1 can be user to calculate the
method. multicast topology. In order to illustrate the performance of
The variation on the performance of the Approximation the load balancing algorithm, we develop another benchmark
algorithm is small (within 11 percent). And we found the algorithm which directly construct all the multicast topolo-
gap between the Branch and Bound solution and Approximate gies generated by the Algorithm 1 to the network without
algorithm increases as the number of end users grows or the updating the link cost. The bandwidth consumption of the
size of the network increases, one possible reason is that as the links are evenly distributed between 1 and 10. Simulation for
number of the end users increases or the size of the network each network topology is repeated for 100 times. For each
increases, there are more possibilities to build the multicast network topology, we assign each link a label, range from 1
topology, therefore it is harder to find a good solution. to total number of links. The traffic load of links is shown in
Fig. 12 with x axis denoting label of the links.
Since number of links in network II and III is large and diffi-
B. Running Time Analysis
cult to show by bar graph, we use the Cumulative Distribution
In this section we analyze the running time of both the static Function (CDF) plot to present the traffic distribution on the
and dynamic algorithms, we run all the simulations 100 times links. Moreover, we assume that the maximum load among all
and record the average results. the links is 1 and traffic load on other links are normalized to 1.
ZHANG et al.: ROUTING ALGORITHMS FOR NETWORK FUNCTION VIRTUALIZATION ENABLED MULTICAST TOPOLOGY ON SDN 591

Fig. 8. Running time of statics algorithms over three networks.

Fig. 9. Running time of dynamic heuristics over three networks.

Fig. 10. Running time of static algorithms over three networks.

Fig. 11. Running time of dynamic heuristics over three networks.


592 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015

Fig. 12. Traffic load of links in networks (a) I, (b) II, and (c) III.

Fig. 13. Multicast mechanism diagram.

In the Fig. 12, we can tell that by deploying the load balancing
algorithm, the traffic on the links are distributed more evenly
than the traffic without implementing load balancing algorithm.

Fig. 14. Network topology.


IX. I MPLEMENTATION IN A R EAL T ESTBED
In order to validate the functionality our proposed algo- 4. SDN Controller: the SDN controller will take the output
rithms, we implemented our NFV-enabled multicast mecha- from the Routing Calculator, translates them into a set of
nism on ViNO running on the SAVI testbed. The SAVI testbed openflow forwarding rules, and implements the rules in
is an open application platform which is aimed for efficiently Openflow switches.
controlling and managing virtual ICT resources [29]. ViNO is 5. Multicast network is set up after the rules has been
an SDN launcher that uses the VXLAN alongside a software implemented in the switches.
switch (Open vSwitch) running on virtual machines to create
an overlay SDN network whose topology is specified by the
user. Moreover, a central controller is set up to enforce the
A. Test Scenario
network management policies to each network element [30].
The multicast mechanism is illustrated by the block diagram in For the implementation, we choose a network topology with
Fig. 13. It consists of the following components: four hosts h1, h2, h3, h4, 12 OpenFlow switches and a set
of predefined link weights (shown in Fig. 14). The multicast
1. User (Tenant) Input: the tenant specifies the network group consists of three hosts h1, h3 and h4. The source host h1
topology, link weight, source node, destination nodes into multicasts packets which contains some text messages to end
a file with some special format. Then the file will be users h3 and h4. An NFV node has also been booted up on h2
passed to the routing calculator and ViNO. which can turn the lower case letter received by the NFV into
2. Routing Calculator: it takes the input from tenant, com- upper case. The text message written in lower case will be sent
putes the routing paths using the proposed algorithms, and from h1 to h3 and h4, h3 and h4 should receive the processed
sends the results to the SDN controller. multicast flow which contains the same text message in upper
3. ViNO: ViNO will take the input from tenant and generate case. The multicast topology generated by routing calculator is
the overlay network topology based on the input file. shown with color arrow in Fig. 14.
ZHANG et al.: ROUTING ALGORITHMS FOR NETWORK FUNCTION VIRTUALIZATION ENABLED MULTICAST TOPOLOGY ON SDN 593

From h1 to h3: (h1, s1, NFV, s6, s10, h3) [12] J. E. Klinker, “Multicast tree construction in directed networks,” in Proc.
From h1 to h4: (h1, s1, NFV, s1, s2, s4, s7, h4) IEEE MILCON, 1996, pp. 496–500.
[13] R. Mukherjee and J. W. Atwood, “Rendezvous point relocation in pro-
We run a simple python code on the NFV node. This code tocol independent multicast—Sparse mode,” in Proc. 10th Int. Conf.
will intercept every packet received from the UDP port 5005, Telecommun., 2003, pp. 469–475.
turn the text message inside into upper case. To send text from [14] M. Castro, A.-M. Kermarrec, and A. I. T. Rowstron, “Scribe: A large-scale
and decentralized application-level multicast infrastructure,” IEEE J. Sel.
h1 to h2 and h3, we use netcat command in Linux to send Areas Commun., vol. 20, no. 8, pp. 1489–1499, Oct. 2002.
UDP packet through port 5005. We use the IP address of h3 [15] W. Ralph and Z. Martina, Multicast Communications: Protocol and
as destination IP address of the multicast packets. Applications. San Mateo, CA, USA: Morgan Kaufmann, 2000.
[16] J.-F. Macq, L. A. Wolsey, and B. Macq, “A rendezvous point selection
First, we seek to validate the functionality of the multicast algorithm for videoconferencing applications,” in Proc. IEEE Int. Conf.
mechanism by sending the text messages from the host h1. The Multimedia Expo., 2002, pp. 689–692.
text message will first sent to the NFV node and processed by [17] K. Stachowiak and P. Zwierzykowski, “Rendezvous point based approach
to the multi-constrained multicast routing problem,” Int. J. Electron.
h2. And h2 will send the texts in upper case to the end users h3 Commun., vol. 68, no. 6, pp. 561–564, Jun. 2014.
and h4. [18] J. Batalle, J. Ferrer Riera, E. Escalona, and J. A. Garcia-Espin, “On
the implementation of NFV over an OpenFlow infrastructure: Routing
function virtualization,” in Proc. IEEE SDN4FNS, 2013, pp. 1–22.
[19] G. Xiongzi and L. Yi, “OpenANFV: accelerating network function vir-
B. Evaluation Result tualization with a consolidated framework in openstack,” in Proc. ACM
SIGCOMM, 2014, pp. 353–354.
The total set up time is 57.79 seconds, average bandwidth [20] M. Joao et al., “ClickOS and the art of network function virtualization,”
used by each link is 47.6 bytes/second and there is no packet in Proc. Uesnix NSDI, 2014, pp. 459–473.
drop. Assuming the overlay network is ready for use, the total [21] M. Michele, M. Fabio, and C. Antonio, “Stochastic planning for content
delivery: Unveiling the benefits of network functions virtualization,” in
setup time is the time from sending the user input to Routing Proc. IEEE ICNP, 2014, pp. 1–6.
Calculator until all the forwarding rules have been implemented [22] T. Wood, K. K. Ramakrishnan, J. Hwang, G. Liu, and W. Zhang, “Toward
on each switch. The total time used is less than 1 minute. Most a software-based network: Integrating software defined networking and
network function virtualization,” in Proc. IEEE Netw., 2015, pp. 36–41.
of time is spent on communication between virtual machines. [23] R. Riggio, T. Rasheed, and F. Granelli, “EmPOWER: A testbed for net-
work function virtualization research and experimentation,” in Proc. IEEE
SDN4FNS, 2013, pp. 1–5.
X. S UMMARY [24] B. Fortz and M. Thorup, “Internet traffic engineering by optimizing OSPF
weights,” in Proc. Infocom, 2000, pp. 519–528.
[25] K. Sayood, Introduction to Data Compression. San Francisco, CA,
In this work, we present the routing algorithms for building USA: Morgan Kaufmann, 2005.
the NFV-enabled multicast topology on SDN. We consider both [26] D. Williamson and B. Shmoys, The Design of Approximation Algorithms.
the static and dynamic scenario. Then we further studied the Cambridge, U.K.: Cambridge Univ. Press, 2010.
joint scheduling of multiple multicast sessions. We evaluated [27] “Appendix.”[Online].Available:https://docs.google.com/a/savinetwork.ca/
viewer?a=v&pid=sites&srcid=c2F2aW5ldHdvcmsuY2F8c2FpLXMtaG
the all the algorithms, and implemented the NFV-enabled mul- 9tZXBhZ2V8Z3g6NmQ2NTQ4MWE4Njc3M2UwNA
ticast mechanism on ViNO, an SDN launcher built on the SAVI [28] “Modeling topology of large internetworks.” [Online]. Available: http://
testbed. Experiments show that our algorithms produce near www.cc.gatech.edu/projects/gtitm/
[29] J.-M. Kang, H. Bannazadeh, and A. Leon-Garcia, “SAVI testbed: Control
optimal multicast topologies. and management of converged virtual ICT resources,” in Proc. IFIP/IEEE
IM, 2013, pp. 664–667.
[30] S. Bemby, H. Lu, K. Zadeh, H. Bannazadeh, and A. Leon-Garcia, “ViNO:
R EFERENCES SDN overlay to allow seamless migration across heterogeneous infras-
tructure,” in Proc. IEEE IM, 2015, pp. 782–785.
[1] C. Diot, B. N. Levine, B. Lyles, H. Kassem, and D. Balensiefen, “Deploy-
ment issues for the IP multicast service and architecture,” IEEE Netw.
vol. 14, no. 1, pp. 78–88, Jan./Feb. 2000.
[2] T. Hardjono and G. Tsudik, “IP multicast security: Issues and directions,”
Annales des télécommun., vol. 55, no. 7/8, pp. 324–340, 2000. Sai Qian Zhang received the B.A.Sc. degree from
[3] N. McKeown et al., “OpenFlow: Enabling innocation in campus net- the University of Toronto, Toronto, ON, Canada, in
works,” ACM SIGCOMM Comput. Commun. Rev. Archive, vol. 38, no. 2, 2013, where he is currently pursuing the Master’s
pp. 69–74, Apr. 2008. degree. His research interest includes traffic engi-
[4] “Network function virtualization—Introductory white paper.” [Online]. neering, routing algorithms, software defined net-
Available: https://portal.etsi.org/nfv/nfv_white_paper.pdf working, and network function virtualization.
[5] A. Iyer, P. Kumar, and V. Mann, “Avalanche: Data center multicast using
software defined networking,” in Proc. IEEE COMSNETS, 2014, pp. 1–8.
[6] J. Wen-Kang and L. Chun Wang, “A unified unicast and multicast routing
and forwarding algorithm for software-defined datacenter networks,” IEEE
J. Sel. Areas Commun., vol. 31, no. 12, pp. 2646–2657, Dec. 2013.
[7] X. Li and M. Freedman, “Scaling IP multicast on datacenter topologies,”
in Proc. ACM CoNext, 2013, pp. 61–72. Qi Zhang received the B.A.Sc., M.Sc., and Ph.D.
[8] S. Shen, L. Huang, D. Yang, and W. Chen, “Reliable multicast routing for degrees from University of Ottawa, Ottawa, ON,
software-defined networks,” in Proc. IEEE INFOCOM, 2015, pp. 1–9. Canada, Queen’s University, Kingston, ON, Canada,
[9] L. Kou, G. Markowsky, and L. Berman, “A fast algorithm for Steiner and University of Waterloo, Waterloo, ON, Canada
trees,” Acta Informatica, vol. 15, no. 2, pp. 141–145, 1981. respectively. He is currently a Postdoctoral Fellow
[10] S. Hougardy and H. Prömel, “A 1.598 approximation algorithm for the in the Department of Electrical and Computer Engi-
Steiner problem in graphs,” in Proc. 10th Ann. ACM-SIAM Symp. Discrete neering, University of Toronto. His research focuses
Algorithms, Soda, 1999, pp. 448–453. on resource management for cloud data centers and
[11] G. Rouskas and I. Baldine, “Multicast routing with end-to-end delay and applications. He is also interested in related research
delay variation constraints,” IEEE J. Sel. Areas Commun., vol. 15, no. 3, areas including network and enterprise service
pp. 346–356, Apr. 1997. management.
594 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 12, NO. 4, DECEMBER 2015

Hadi Bannazadeh received the Ph.D. degree from Alberto Leon-Garcia (F’99) is Distinguished Pro-
the Department of Electrical & Computer Engineer- fessor in electrical and computer engineering at the
ing, University of Toronto, Toronto, ON, Canada. University of Toronto, Toronto, ON, Canada. He is a
After graduating, he worked at Cisco Systems as Fellow of the Institute of Electronics and Electrical
a Senior Network Software Engineer. In 2011, he Engineering “for contributions to multiplexing and
returned to the University of Toronto to lead the switching of integrated services traffic.” He is also a
efforts toward the creation of Canadian national test- Fellow of the Engineering Institute of Canada and the
bed as part of the Smart Applications on Virtual American Association for the Advancement of Sci-
Infrastructure (SAVI) research project. Since then, he ence. He has received the 2006 Thomas Eadie Medal
has been the Chief Testbed Architect for the SAVI from the Royal Society of Canada and the 2010
project. His main research interest is in the field of IEEE Canada A. G. L. McNaughton Gold Medal for
software defined infrastructure (SDI) including software defined networking his contributions to the area of communications. He is author of the leading
(SDN), and cloud computing. textbooks: Probability and Random Processes for Electrical Engineering, and
Communication Networks: Fundamental Concepts and Key Architecture. He
is currently Scientific Director of the NSERC Strategic Network for Smart
Applications on Virtual Infrastructures.

You might also like