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

2016 IEEE 28th International Conference on Tools with Artificial Intelligence

Optimizing Routing Rules Space through Traffic


Engineering Based on Ant Colony Algorithm in
Software Defined Network
Chuangen Gao, Hua Wang*, Linbo Zhai, Shanwen Yi, Xibo Yao
School of Computer Science and Technology
Shandong University
Jinan, China
*Corresponding author. e-mail: wanghua@sdu.edu.cn

Abstract—Software Defined Network (SDN) has been each path requires an entry in the expensive (TCAM)
envisioned as the next generation network infrastructure, which forwarding table of each switch it traverses. Without loss of
simplify network management by decoupling the control plane generality, one forwarding rule is used for at most one flow.
and data plane. It is becoming the leading technology behind Each time a new application flow starts, the controller picks
many traffic engineering solutions, since it allows a central several paths through a series of OpenFlow Switches, and
controller to globally plan the paths of the flows. However, adds a new flow entry to every switch along the chosen paths.
Ternary Content Addressable Memory (TCAM), as a critical When subsequent packets arrive at a switch, they are
hardware storing rules in SDN-enabled devices, can be supplied processed quickly by the Flow Table [3].
to each device with very limited quantity because it is expensive
and energy-consuming. To efficiently use TCAM resources, we While TCAM excels in packet processing, it is an
address the routing rule space occupation problem for multiple expensive hardware with high energy consumption. For
unicast sessions with Quality-of-Service (QoS) constraints. To example, TCAM ternary match is 6 times expensive than
our best knowledge, this is the first work to joint routing rule Hash-based binary match in Static-RAM. Further, it is
optimization with traffic engineering for multipath flows. We reported that TCAMs are 400 times more expensive and 100
formulate the problem using Mixed Integer Linear Programing times more power-consuming per Mbit than RAM-base
(MILP) and propose an approach based on ant colony algorithm storage. As a result, each network device can only be equipped
to solve it. Finally, we evaluate the expected performance of our with limited TCAM [2]. A large network may require
proposed algorithm through a simulation study. hundreds of thousands of path flow table entries at each switch
[4], while according to today’s technology, a commodity
Keywords—routing rule; traffic engineering; ant colony
OpenFlow switch typically support rule size from 2K to 20K
optimization; software defined network
only, far below what is required for an exhaustive network
I. INTRODUCTION management. It is also indicated that datacenter scaling is
made difficult by the forwarding table size, which increases
Software Defined Network (SDN) is a promising network linearly with the size of the system [5]. The shortage of TCAM
paradigm that separates the control plane and data plane. It has motivates us to investigate efficient routing rules optimization
shown great advantages in simplifying network management problem in SDN.
such that new functions can be easily supported without
physical access to the network switches. The data forwarding Single-path routing has been widely used for unicast
behavior of network elements is determined by a centralized sessions because of its simplicity. However, using multiple
controller. This separation of the control plane from the data paths for a traffic flow is useful when it would be insufficient
plane allows network operators to gain a fine grain control to satisfy the bandwidth requirement. A simple example of the
over the actual way packets are forwarded, and thus better advantages of multipath routing is illustrated in Fig.1(a).,
utilize their network. For this reason SDN is becoming the where each link has only 1 Gb/s available bandwidth.
leading technology behind many traffic engineering solutions Supposing that we would like to route a 1.5-Gb/s traffic flow
both for backbone and data center network [1]. from ‫ݏ‬ଵ to ‫ݐ‬ଵ , unfortunately the default (shortest) path,ܽ ՜
ܾ, can achieve a throughput at most 1-Gb/s. In this case, to
In SDN, a logically centralized controller that fetches achieve the required bandwidth, multiple paths can be
information from the network, computes appropriate routes employed for packet delivery. The traffic flow can be split
according to the operator wills and network conditions, and such that 1 Gb/s will be routed over the path ܽ ՜ ܾ, and 0.5
then transparently pushes the corresponding forwarding rules Gb/s over the pathܿ ՜ ݀ ՜ ݁.
into the switches. Each network device stores forwarding rules
in its local Ternary Content Addressable Memory (TCAM) However, splitting a traffic flow over multiple paths
that supports high-speed parallel lookup on wildcard patterns consumes extra “forwarding resources” from the network
[2]. Network operators can establish multiple paths between nodes leading to high TCAM consumption. These resources
source–destination pairs in software defined network. And are proportional to the number of nodes/links traversed by

2375-0197/16 $31.00 © 2016 IEEE 106


DOI 10.1109/ICTAI.2016.23
these paths. In this paper, considering a set of unicast sessions, The remainder of this paper is organized as follows: The
each of which is associated with a bandwidth demand to related work is reported in section II. The Mathematical
guarantee a certain level of Quality-of-Service (QoS), and Model is depicted in section III. Our core algorithm and
taking the flow table limitation of each switch into account, pseudo code are presented in section IV. The results of
we define the Routing Rule Space Optimization Problem simulations and discussion of the performance are reported in
(RSP) for multiple unicast sessions as follows: given a section V. Finally, concluding remarks follow in Section VI.
network and bandwidth demands of a set of pairs of ingress
and egress nodes, find a feasible set of paths that satisfies these II. RELATED WORK
demands and imposes minimum flow table entries. Rule optimization in SDN has been largely covered over
the last years. Part of the related work deals with the endpoint
policy rules. Endpoint policies which are driven by high level
a b
economical and technical considerations, like access control
S1 t1 and load balancing, view the network as one big switch that
0.5 0.5
c d e hides internal topology details. The policy specifies which
0.5 0.5
packets to drop, or to forward to specific egress ports, as well
S2 t2 as any modifications of header fields [6]. The other part,
f g h i which is more relevant to our work, processes routing policy
(a) rules. The routing policy specifies what paths traffic should
follow between the ingress and egress ports. The routing
policy is driven by traffic engineering goals, such as
a b
0.5
minimizing congestion and end to end latency [6].
S1 t1
1 1 For the first part, several mechanisms have been proposed
c d e to address the endpoint policy rules. DIFANE [7] and vCRIB
S2 t2 [8] have been proposed to leverage all switches in a network
f g h i to realize endpoint policies. Specifically, DIFANE places the
most important rules at some additional devices, called
(b)
authority switches. Then, ingress switches redirect
Fig. 1. An example for the routing rule optimization problem unmatching packets towards these specific devices, which
enables reducing load on the controller and, at the same time,
The basic idea is also explained by example in Fig.1, decreasing the number of rules required to be stored on ingress
where each link has only 1 Gb/s available bandwidth. Suppose switches. vCRIB installs rules on both hypervisors and
that we would like to route a 1.5-Gb/s traffic flow from ‫ݏ‬ଵ to switches to increase performance while limiting resource
‫ݐ‬ଵ and a 0.5-Gb/s traffic flow from ‫ݏ‬ଶ to ‫ݐ‬ଶ usage. Palette [9] and OneBigSwitch [6] produce the
simultaneously. As illustrated in Fig.1(a), the traffic flow from aggregated rule sets that satisfy the endpoint policy and place
‫ݏ‬ଵ to ‫ݐ‬ଵ (indicated by solid line) is split such that 1 Gb/s will them on switches while respecting the routing policy and
be routed over the path ܽ ՜ ܾ, and 0.5 Gb/s over the pathܿ ՜ minimizing the resources. Specifically, Palette have proposed
݀ ՜ ݁, and traffic flow 0.5 Gb/s from ‫ݏ‬ଶ to ‫ݐ‬ଶ (indicated by a framework for decomposing large SDN tables into small
dotted line ) is routed over the pathܿ ՜ ݀ ՜ ݁. So the flow ones and then distributing them across the network, while
table entries produced by the routing solution is 2+3+3 = 8. preserving overall SDN policy semantics. To efficiently use
The best routing solution is illustrated in Fig.1(b). The traffic TCAM resources for endpoint policies, paper [2] propose a
flow from ‫ݏ‬ଵ to ‫ݐ‬ଵ is split such that 0.5 Gb/s will be routed rule multiplexing scheme, in which the same set of rules
over the path ܽ ՜ ܾ, and 1 Gb/s over the pathܿ ՜ ݀ ՜ ݁, deployed on each node apply to the whole flow of a session
and traffic flow 0.5 Gb/s from ‫ݏ‬ଶ to ‫ݐ‬ଶ is routed over the going through but towards different paths. They formulate the
pathܽ ՜ ܾ. So the flow table entries produced by the routing optimization problem jointly considering routing engineering
solution is 2+3+2 = 7. and rule placement under both existing and our rule
multiplexing schemes. All the above works address the
In summary, we make the following contributions: endpoint policy rules, while our paper deals with the routing
z To our best knowledge, this is the first work that rules.
address the routing rule space optimization problem
for multiple unicast sessions with QoS guarantees As for the second part, several mechanisms have been
through traffic engineering. And we formulate the proposed to address the routing rules, and our work is also
above optimization problem using Mixed Integer belong to this category. In [10], the rule allocation is modeled
Linear Programing (MILP) for the first time. as a constrained optimization problem focusing on the
minimization of the overall energy consumption of switches
z We propose a CloneAnt-based ant colony algorithm to while respecting capacity constraints on links and rule space
solve the problem, and define two types of pheromone. constraints on routers. Apparently its optimization objective is
The first one is a local pheromone which is used to different from ours. The OFFICER proposed in [11] is a
guide the rule optimization for a single session. The general algorithm to calculate and implement efficient
other one is a global pheromone which is used to guide forwarding rules in switches. It tries to get the maximum from
the overall rules optimization for all sessions. the available resources by adapting the routes followed by the

107
different packets towards their desired egress links. Besides it The relevant problem of Routing with Minimum node for
treats the network as a black box that must satisfy the endpoint a single session is proposed in paper [5], which is proved to
policy imposed by the operator. The model assigns one be NP-complete. There is no doubt that routing with minimum
forwarding path per flow, and as a result all the packets of a node for a set of sessions is NP-hard. Some notation used in
flow follow the same path to the egress link. But our model this paper are listed in Table 1.
adopt multipath routing such that a flow could be forwarded
on several paths. Table 1. Notation used in this paper

The most relevant past work is paper [5]. The paper Notation Description
investigate the problem of minimizing the control load while
delivering a given amount of traffic between a pair of ingress ܰ a set of network devices
and egress nodes. It defined the Routing with Minimum  a set of links among devices
Control Load problem in which the control load is measure by
the number of nodes they traverse. Throughout the paper they ‫ܥ‬௨ TCAM capacity of node ‫ݑ‬
focus on the case where flows are admitted one by one, in ‫ܤ‬௨௩ bandwidth of link ሺ‫ݑ‬ǡ ‫ݒ‬ሻ ‫ܧ א‬
other words “one flow at a time” scenario, while our work are
scenarios where the operator can admit many flows at the ‫ܭ‬ a set of unicast sessions
same time. traffic demand required by session ݇ from
‫ݎ‬௞
‫ݏ‬௞ ‫݀ ݋ݐ‬௞
While the related works presented above focus on
particular aspects of the rule allocation problem, we are the ‫ܮ‬௞ a set of paths for session k
first to propose a routing rule optimization problem through ௞௟ a binary variable indicating whether the link ሺ‫ݑ‬ǡ ‫ݒ‬ሻ
‫ݔ‬௨௩
traffic engineering for multiple unicast sessions to minimizing is on the path ݈of session ݇
the number of routing entries in SDN. a real variable representing the transmission rate on
݂௟௞
path ݈ of session ݇
III. MATHEMATICAL FORMULATION
B. Mathematical Model
A. Problem Statement
Note that the number of nodes on the path is equal to the
We model the SDN as a graph ‫ ܩ‬ൌ ሺܰǡ ‫ܧ‬ሻ, where node number of edges. The routing rule space occupation problem
set ܰ consists of SDN-enabled network devices, and edge set can therefore be formulated as:
‫ ܧ‬represents the communication links among devices. Each
device ‫ ܰ א ݑ‬maintains a TCAM-based flow table that can
accommodate at most ‫ܥ‬௨ rules. The bandwidth of each link
Minimize ¦¦¦
k∈ K l∈ Lk (u ,v )∈ E
xuvkl (1)
ሺ‫ݑ‬ǡ ‫ݒ‬ሻ  ‫ ܧ א‬is constrained by ‫ܤ‬௨௩ .
Subject to:
We consider a set of ‫ܭ‬unicast sessions, and each session
݇ ‫ ܭ א‬imposes a QoS requirement with bandwidth ‫ݎ‬௞ from ­1 ∀ l ∈ Lk , ∀ k ∈ K, u = sk
a source •௞ to destination ݀௞ . Traffic demands are °
represented as the set of source-destination pairs, denoted as ¦ x − ¦ x = ®−1
kl
uv
kl
vu ∀ l ∈ Lk , ∀ k ∈ K, u = dk (2)
‫ ܭ‬ൌ ሼ൏ ‫ݏ‬ଵ ǡ ݀ଵ ǡ ‫ݎ‬ଵ ൐ǡ ൏ ‫ݏ‬ଶ ǡ ݀ଶ ǡ ‫ݎ‬ଶ ൐ǡ ǥ ሽ. For each demand pair
v∈N v∈N °0 ∀ l ∈ Lk , ∀ k ∈ K, u ≠ sk , dk
¯
൏ ‫ݏ‬௞ ǡ ݀௞ ǡ ‫ݎ‬௞ ൐‫ܭ א‬, ‫ݏ‬௞ represent the source,݀௞ denotes the
destination, and ‫ݎ‬௞ denotes traffic demand respectively. The
terms “source-destination pair” and “session” will be used
¦f
l ∈ Lk
l
k
≥ r k , ∀ k ∈K (3)
interchangeably in this paper.
All network and traffic demand information is maintained ¦¦ x
k∈K l∈Lk
kl k
uv l f ≤ Buv , ∀ (u, v) ∈ E (4)
at the centralized controller that has a global view of the SDN.
With the given ‫ ܭ‬unicast sessions and their bandwidth
requirements, we find a set of paths for all sessions ‫ ܭ‬under ¦ ¦ ¦x
k∈K l∈Lk v∈N
kl
uv ≤ Cu , ∀ u ∈ N (5)
their bandwidth constraints with the objective to minimize the
total routing rule space occupation. And the set of ‫ܮ‬௞ x uvkl ∈ {0,1} , f l k > 0 (6)
represents the paths selected for session k‫ܭ א‬.
The path searching process is represented by constraint
Because each node traversal requires one entry in the
(2). At the source node ‫ݏ‬௞ , the number of outgoing links
forwarding table of that node, the routing rule space
minus that of incoming links should be equal to ͳ. And it
occupation can be measured by the number of nodes that carry
equal to െͳ at the destination node ݀௞ . At each intermediate
the paths. For the reason, we redefine the Routing Rule Space
node, the number of incoming link should be equal to the
Optimization Problem (RSP) for multiple unicast sessions as
number of outgoing link. Constraint (3) guarantees the
follows: given ‫ ܭ‬unicast sessions and their bandwidth
bandwidth requirement of each session ݇ ‫ ܭ א‬by letting the
requirements, find a set of paths for all the sessions to
minimize the number of nodes traversed by the paths. total transmission rate of all selected paths be greater than ‫ݎ‬௞ .
Constraint (4) accounts for bandwidth limitation and ensures
that the sum of the rates of the flows crossing a link ሺ‫ݑ‬ǡ ‫ݒ‬ሻ

108
does not exceed its capacity. The number of rules placed at must be unvisited, ܾܽ݊݀‫ ݄ݐ݀݅ݓ‬and rule is available
node ‫ ܰ א ݑ‬cannot exceed its rule space capacity as bandwidth and available rule space of the adjacent node and
represented by constraint (5). limited to be positive number respectively, ‫ݕݐ݈ܾܾ݅݅ܽ݋ݎ݌‬
represents transition probability that can be computed
We first formulate the above problem with a mixed integer according to Eq. (11). Since any change of an ant’s state lead
linear programming (MILP) which is one of the contributions to the change of the whole searching space, we will generate
of our work. And the problem is NP-hard that cannot be solved the candidate set in real time and take advantage of roulette
in polynomial time. It means that we will spend much time wheel to select the next node.
finding out a feasible routing solution in large-scale networks.
Consequently, we design a heuristic algorithm to tackle this The path set is a set of composite 2-tuples, denoted as
problem. PathSet={<path1, bw1>, < path2, bw2>,…}. For <path, bw>
‫א‬PathSet, path is a vector used to save a simple path and ܾ‫ݓ‬
IV. CLONE ANT COLONY OPTIMIZATION FOR RSP is the bandwidth occupied by this path. A ܲܽ‫ ݐ݄݁ܵݐ‬is used
A. Description of CACO-RSP to store the searching results of all ants.

1) Basic idea 4) Updating pheromones and Transition probability


For routing rule space problem, we propose a Clone Ant We define two types of pheromone. The first one called a
Colony Optimization algorithm(CACO-RSP). This is a local pheromone which is used to guide the rule optimization
routing rule optimization algorithm based on clone ants. It for a single session. The other one is a global pheromone
seeks the paths that traverse nodes as less as possible for a set which is used to guide the overall rules optimization for all
of sessions satisfying bandwidth demand. So that routing the sessions. Specifically, there are ‫ ܭ‬kinds of local pheromones
flow on the least nodes to achieve the purpose of optimizing distributed along the path, since we generate a local
the rules. pheromone for the each unicast session, where K is the
number of unicast sessions demands. There is only one kind
In this algorithm, we propose a parallel searching way of ௞
of global pheromone for all sessions. We use ߬௜௝ to denote
ants. In the beginning, all the ants are located at the source ௚
nodes respectively. According to the transition probability all local pheromone for unicast session ݇on linkሺ݅ǡ ݆ሻ, and ߬௜௝
the ants step forward to next node, deposit the corresponding denotes global pheromone on link ሺ݅ǡ ݆ሻ.
pheromone on the path, and save the nodes passing by. During In our proposed algorithm, the pheromone updating
the process of movement, the ants clone themselves when the process includes two steps: a local pheromone update and a
current link bandwidth is unavailable dynamically. When all global pheromone update, which is applied after all ants have
the ants reach the destination nodes, we get a feasible solution, finished building a solution. Initially, all kinds of pheromones
a set of paths for all source-destination pairs satisfying their on all paths are set to constant. After each iteration, all local
traffic demands, and pheromone updates according to results pheromone are updated according to the below formula:
of the iteration.
τ ij k ( t + 1) = (1 − ρ l )τ ij k ( t ) + Δ τ ijk ( t ) (7)
2) Definition of Clone Ant

We denote an clone ant as ‫ ݐ݊ܣ݁݊݋݈ܥ‬ൌ൏ where߬௜௝ ሺ‫ ݐ‬൅ ͳሻ denotes the local pheromone intensity of
‫݁ܿݎݑ݋ݏ‬ǡ ݀݁‫݊݋݅ݐܽ݊݅ݐݏ‬ǡ ݈‫݊݋݅ݐܽܿ݋‬ǡ ܾܽ݊݀‫݄ݐ݀݅ݓ‬ǡ ‫ ݄ݐܽ݌‬൐ , in session ݇ distributed on the link ሺ݅ǡ ݆ሻ, and ߩ௟ represents
which the tuple source and destination represents the source local evaporating parameter used to control the evaporating
node and the destination node respectively, location speed of local pheromone, we set ߩ௟ ൌ ͲǤ͵ in practice on the

represents the current location of ant, bandwidth is basis of experience. ο߬௜௝ ሺ‫ݐ‬ሻ denotes the increment of
bandwidth demand required from source to destination, and pheromone of session ݇ after the ‫ ݄ݐ̴ݐ‬iteration.
path is a vector used to save the paths the ant has passed by.
1
A clone ant can divide itself, namely split up into two Δτ ijk (t ) = k (8)
almost identical ants, and the two ants are similar and R (t )
complementary, that is to say, the elements source, where ܴ௞ ሺ‫ݐ‬ሻ denotes the routing rule occupation of session
destination, location and path have the same value, but the ݇after the ‫ ݄ݐ̴ݐ‬iteration. Apparently the fewer routing rule
sum of their bandwidth equals to the original ant’s bandwidth. occupation, the more increment of pheromones.
We will use an example to explain how a clone ant divides
itself: We assume the original ant CA=<s, d, x, B, path>, and The global update is performed by applying the following
one of adjacent nodes of ‫ ݔ‬is next_‫ݔ‬. After splitting up, the rule:
original ant generates two new ants:‫ܣܥ‬ଵ ൌ൏ ‫ݏ‬ǡ ݀ǡ ‫ݔ‬ǡ ܾଵ ǡ
τ ij g ( t + 1) = (1 − ρ g )τ ij g ( t ) + Δ τ ijg ( t ) (9)
‫݄ݐܽ݌‬ଵ ൐ and ‫ܣܥ‬ଶ ൌ൏ ‫ݏ‬ǡ ݀ǡ ‫ݔ‬ǡ ܾଶ ǡ ‫݄ݐܽ݌‬ଶ ൐, where ܾଵ ൅
ܾଶ ൌ ‫ܤ‬㸪‫݄ݐܽ݌‬ଵ ൌ ‫݄ݐܽ݌‬ଶ ൌ ‫݄ݐܽ݌‬. where ߩ௚ is the pheromone evaporation parameter of global
3) Candidate link set and Path set updating. We set ߩ௚ ൌ ͲǤ͵ͷ in practice on the basis of

experience. ο߬௜௝ ሺ‫ݐ‬ሻ denotes the increment of global
The candidate link set is a set of 4-tuples, denoted as
candidate={<next, bandwidth, rule, probability> | satisfying pheromone of all session ݇ after the ‫ ݄ݐ̴ݐ‬iteration.
constraints}, in which next is one of the adjacent nodes and

109
1 as const. Set the maximum iteration.
Δ τ ijg (t ) = (10)
R (t ) /* Iterative loop*/
3. Place all the clone ants of ‫ ݐ݁ܵݐ݊ܣܥ‬on the
where ܴሺ‫ݐ‬ሻ denotes the total routing rule occupation of all corresponding source locations, such as ‫ܣܥ‬ଵ is put
sessions after the ‫ ݄ݐ̴ݐ‬iteration. on ‫ݏ‬ଵ , ‫ܣܥ‬ଶ is on ‫ݏ‬ଶ . Define the set of working ants
Apart from pheromone trails, another important factor in ܹ‫ ݏݐ݊ܣ݇ݎ݋‬ൌ ‫ ݐ݁ܵݐ݊ܣܥ‬, Initialize the path set
CACO-RSP is the choice of a good heuristic information, ‫ ݐ݄݁ܵݐܽ݌‬ൌ ܷܰ‫ܮܮ‬
which will be used in combination with the pheromone 4. For each ant ‫ ݏݐ݊ܣ݇ݎ݋ܹ א ܣܥ‬, call Function
information to build solutions. The first heuristic information StepNext(CA)
considers the bandwidth available from adjacent node݆ to the 5. If an ant (assume ‫ܣܥ‬௜ ‫ ) ݏݐ݊ܣ݇ݎ݋ܹ א‬finds its
destination node ݀. The rationale behind this procedure is to destination ݀௜ , then WorkAnts = WorkAnts -{CAi},
greedily use the available paths in the network. Apparently the PathSet=PathSet‫ <{׫‬CAi.path , CAi.B >}
larger the bandwidth of selected path for a flow is, then the 6. If ܹ‫ ݏݐ݊ܣ݇ݎ݋‬is not empty, jump Step 4,
less paths is occupied by a flow. And with fewer the number otherwise , jump Step 7
of paths, the number of nodes that carry the paths will be less. 7. Calculate the number of routing rule. Update local
The second heuristic information considers the path length pheromones according to Eq. (7) and global
which is measured by hopes from adjacent node݆ to the pheromones according to Eq. (9).
destination node ݀. The rationale behind this procedure is to 8. If the maximal generations meets, jump Step 9,
use short paths, which traverse fewer nodes. In general, it is otherwise jump Step 3.
better to choose wider and shorter paths for a network flow, 9. Print the number of routing rule , and‫ݐ݄݁ܵݐܽ݌‬
regardless of the network size and node average degree.
2) Procedure StepNext
The formula of transition probability is as below:
Function StepNext (CA) // CA denotes an clone ant
(τ ij k (t ))α *(τ ij g (t ))β *(ηij (t ))γ *(Bij (t ))λ
P (t ) =
k
(11) 1. Compute candidate link set of CA
(τ is k (t ))α *(τ is g (t ))β ∗ (ηis (t ))γ *(Bis (t ))λ
ij
¦ 2. Select a link with roulette from the candidate link
s∈allowedi (t )
set according to Eq. (11)
where ܲ௜௝௞ (t)
denotes the probability of moving from ݅ to ݆ 3. If the available bandwidth can’t satisfy the ant
on the t-th iteration of ants for session ݇, it consists of four Then
factors: local pheromone, global pheromone, distance 4. Perform cloning process for CA, then we obtain
heuristic and bandwidth heuristic information. The CA1 and CA2
parameters of ߙǡ ߚǡ ߛǡ ߣ are used to adjust their weights; the 5. Add new ant into WorkAnts
adjustment of these parameters must be based on experience 6. Else
and experiments. In this paper, we set them ʹǡ͵ǡ ͳǡͳ 7. save the node ant passed;
respectively. The distance heuristic ߟ௜௝ ሺ‫ݐ‬ሻ ൌ ͳΤ݀ሺ݅ǡ ݀ሻ , 8. End If
where ݀ሺ݅ǡ ݀ሻ ൌ ݀ሺ݅ǡ ݆ሻ ൅ ‫݌ݏ‬ሺ݆ǡ ݀ሻ and ‫݌ݏ‬ሺ݆ǡ ݀ሻ represents 9. decrease the available rule space of the node
the shortest path which measured by number of hops from ݆ 10. decrease the available bandwidth of link
to ݀; the shortest path can be solved by famous Dijkstra
algorithm in polynomial time. The bandwidth heuristic V. PERFORMANCE EVALUATION
information ‫ܤ‬௜௝ ሺ‫ݐ‬ሻ ൌ ͳΤ‫ܤ‬ሺ݅ǡ ݆ǡ ݀ሻ , where ‫ܤ‬ሺ݅ǡ ݆ǡ ݀ሻ In this section, we generate several random network
represents the max bandwidth available from ݅ to ݀ topologies according to reference [13], which is almost closed
crossing node ݆ which can be calculated by Maximum-Path to the real network. Our CACO-RSP is written with C++ in
algorithm proposed in paper [12]. VS2013, and run on the machine equipped with Intel Core i7
4-Core processors and 8GB RAM. And all simulation results
B. Algorithm implemention are averaged over 100 instances. In the following section we
would make a comparison with KSP algorithm proposed in
1) Framework of the Algorithm
[14] and WID/LEN algorithm proposed in [5].
Input: Network topology ‫ܩ‬ሺܰǡ ‫ܧ‬ሻ with link capacity We first investigate the routing rule space occupation
constraints and TCAM capacity of node, and traffic under different number of sessions in a network with 400
demand ‫ ܭ‬ൌ ሼ൏ ‫ݏ‬ଵ ǡ ݀ଵ ǡ ‫ݎ‬ଵ ൐ǡ ൏ ‫ݏ‬ଶ ǡ ݀ଶ ǡ ‫ݎ‬ଶ ൐ǡ ǥ ሽ. nodes. And the parameters about link capacity and traffic
Output: a set of paths for all sessions and corresponding demand are randomly generated according to uniform
number of routing rule entry distributions respectively. As shown in Fig. 2, routing rule
/* Initialization*/ space occupation increases linearly as the number of sessions
1. Construct the set of clone ants ‫ ݐ݁ܵݐ݊ܣܥ‬ൌ grows under all schemes. That is because more paths are
ሼ‫ܣܥ‬ଵ ǡ ‫ܣܥ‬ଶ ǡ ǥ ǡ ‫ܣܥ‬௠ ሽ , where ‫ܣܥ‬ଵ employed to achieve the QoS requirement, leading to more
represents<‫ݏ‬ଵ ǡ ݀ଵ ǡ ‫ݎ‬ଵ > rule space occupation. Moreover, the performance gap
2. Deposit global pheromone and ‫ ܭ‬kinds of local between them becomes larger as the number of sessions
pheromones on all the links. Their initial value is set increases. Because KSP takes advantage of multiple shortest

110
path to transmit traffic㸪it only consider the length of the path,
but ignores the width of the path which is a key factor
influence the total nodes that carry the paths. WID/LEN take
both the length and width of the paths into account and
chooses the path with the largest width–length ratio, so it
performs better than KSP. It is easy to see that CACO-RSP
consumes the least routing rule space, because it not only
considers width–length ratio through heuristic information but
also the schedule flows from the entire topology.

Fig. 4. Variation of routing rule consumption with bandwidth demand

In Fig. 4, we then investigate the routing rule space


occupation with bandwidth demand in the network with 400
nodes, and the number of sessions is 80. Other settings are
same as Fig.1. The x-axis represents the normalized
bandwidth demand from s to t, i.e., the bandwidth demand
upper bound divided by the value of the network link
bandwidth upper bound in the network. As can be seen from
the figure, with the increasing bandwidth demand, all
Fig. 2. Variation of routing rule consumption with session number algorithms consume more number of rules. This is because
the network flow must be routed to more paths under link
capacity bound as the bandwidth demand increases.
Moreover, the performance gap between CACO-RSP and the
other two algorithms becomes larger as the bandwidth
demand increases. In addition, the growth of CACO-RSP is
relatively flat indicating that it always find a stable solution
close to optimal one.

Fig. 3. Variation of routing rule consumption with nodes number

In Fig. 3, we then investigate the routing rule space


occupation with different network size. The parameters of
network are same as Fig.2, and the number of sesssions is
proporational to network nodes which randomly generated
according to uniform distributions within 15%-20%. The
number of rules increases with the network topology, because Fig. 5. Only local pheromone and without global pheromone
corresponding number of sessions increase and occupy more
paths to forward flows. CACO-RSP algorithm is always better
than the other two algorithms, and has a relatively slow
growth rate. This shows that our algorithm can be adapted to
different size of the network topology.

111
[2] H. Huang, S. Guo, P. Li, B. Ye, and I. Stojmenovic, "Joint Optimization
of Rule Placement and Traffic Engineering for QoS Provisioning in
Software Defined Network," IEEE Transactions on Computers, vol. 64,
pp. 3488-3499, 2015.
[3] N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson,
J. Rexford, et al., "OpenFlow: enabling innovation in campus networks,"
SIGCOMM Comput. Commun. Rev., vol. 38, pp. 69-74, 2008.
[4] A. R. Curtis, J. C. Mogul, J. Tourrilhes, P. Yalagandula, P. Sharma, and
S. Banerjee, "DevoFlow: scaling flow management for high-
performance networks," presented at the Proceedings of the ACM
SIGCOMM 2011 conference, Toronto, Ontario, Canada, 2011.
[5] G. Nakibly, R. Cohen, and L. Katzir, "Optimizing Data Plane Resources
for Multipath Flows," IEEE/ACM Transactions on Networking, vol. 23,
pp. 138-147, 2015.
Fig. 6. Only global pheromone and without local pheromone
[6] N. Kang, Z. Liu, J. Rexford, and D. Walker, "Optimizing the "one big
In Fig.5 and Fig. 6, we verify the impact of local and switch" abstraction in software-defined networks," presented at the
global pheromone of ant algorithm, CACO-Loc has only Proceedings of the ninth ACM conference on Emerging networking
local pheromone without global pheromone and CACO-Glo experiments and technologies, Santa Barbara, California, USA, 2013.
only has global pheromone without local pheromone. The [7] M. Yu, J. Rexford, M. J. Freedman, and J. Wang, "Scalable flow-based
network setting is same as Fig.2. As can be seen from the networking with DIFANE," presented at the Proceedings of the ACM
figure, CACO-RSP performs better than both of them. SIGCOMM 2010 conference, New Delhi, India, 2010.
Because a local pheromone guide the ant towards individual
[8] M. Moshref, M. Yu, A. Sharma, and R. Govindan, "vCRIB: virtualized
optimal solution, while a global pheromone towards global
rule management in the cloud," presented at the Proceedings of the 4th
optimal solution. CACO-Loc tend to find their own local
optimal solution while ignore the cooperation between the USENIX conference on Hot Topics in Cloud Ccomputing, Boston, MA,
ants. CACO-Glo guide their behaviors by only global 2012.
pheromone ignoring the impact of individual behavior on the [9] Y. Kanizo, D. Hay, and I. Keslassy, "Palette: Distributing tables in
global solution. software-defined networks," in INFOCOM, 2013 Proceedings IEEE,
2013, pp. 545-549.
VI. CONCLUSION
[10] F. Giroire, J. Moulierac, and T. K. Phan, "Optimizing rule placement in
In this paper, we investigated the routing rule space software-defined networks for energy-aware routing," in 2014 IEEE
optimization problem for a set of sessions under QoS Global Communications Conference, 2014, pp. 2523-2529.
guarantees, and formulate it using mixed integer
[11] X. N. Nguyen, D. Saucez, C. Barakat, and T. Turletti, "OFFICER: A
programming. To solve it, we proposed CACO-RSP heuristic
algorithm based on clone ant by exploiting the ant colony general optimization framework for OpenFlow rule allocation and
optimization technique. The important capability of the endpoint policy enforcement," in 2015 IEEE Conference on Computer
CACO-RSP algorithm is that it considers both the local and Communications (INFOCOM), 2015, pp. 478-486.
global pheromone trail to guide the searching. The simulation [12] W. Hua, L. Jianyu, C. Yu, S. Yamin, and S. Xiaojun, "Achieving
results show that the proposed algorithm successfully reduces maximum throughput with a minimum number of label switched paths
routing rule consumption. in MPLS networks," in Proceedings. 14th International Conference on
Computer Communications and Networks, 2005. ICCCN 2005., 2005,
ACKNOWLEDGMENT
pp. 187-192.
The study is supported by theNatural Science Foundation
[13] M. Naldi, "Connectivity of Waxman topology models," Comput.
of Shandong Province (Grant No. ZR2015FM008, No.
Commun., vol. 29, pp. 24-31, 2005.
BS2015DX003),the Science andTechnology Development
Program of Jinan (Grant No. 201303010), and the [14] D. A. Dunn, W. D. Grover, and M. H. MacGregor, "Comparison of k-
Fundamental ResearchFunds of Shandong University (Grant shortest paths and maximum flow routing for network facility
No. 2014JC037). restoration," IEEE Journal on Selected Areas in Communications, vol.
12, pp. 88-99, 1994.

REFERENCES
[1] R. Cohen, L. Lewin-Eytan, J. S. Naor, and D. Raz, "On the effect of
forwarding table size on SDN network utilization," in IEEE INFOCOM
2014 - IEEE Conference on Computer Communications, 2014, pp.
1734-1742.

112

You might also like