Professional Documents
Culture Documents
Optimizing Routing Rules Space Through Traffic Engineering Based On Ant Colony Algorithm in Software Defined Network
Optimizing Routing Rules Space Through Traffic Engineering Based On Ant Colony Algorithm in Software Defined Network
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
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.
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.
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