Professional Documents
Culture Documents
A Hash-Based Distributed Storage Strategy of Flowtables in Sdn-Iot Networks
A Hash-Based Distributed Storage Strategy of Flowtables in Sdn-Iot Networks
Abstract—Nowadays the integration of IoT and SDN has been resources of switches are limited. For example, a switch
a research hotspot which attracts significant attention. However, can delete the plethoric FlowTables, which would further
as resources are relatively limited in IoT, direct application exacerbate the network delay and controller load. To mitigate
of SDN will cause some challenges, one of them is that IoT
forwarding nodes cannot store massive complex FlowTables like this problem, some people optimize the timeout to delete
a traditional OpenFlow switch. To solve the problem, this paper overflow FlowTables, some simplify the FlowTable storage
proposes a hash-based distributed storage strategy. Specifically, structure, and others concern the extension of hardware storage
we present a multi-dimension selection method to decide the space in a OF-switch. Huan Ma et al. [10] proposed a
optimum distributed storage location. And then a hash space is FlowTables distributed storage framework to solve the exces-
formed by using the content of data flow in IoT, it is the basis of
FlowTables deployment and data forwarding in distributed stor- sive FlowTables storage problem in traditional SDN network.
age. Moreover, we introduce a new FlowTables search mechanism They think all forwarding nodes should be connected to each
which is built on the principle of the binary tree. Experimental other and jointly store an entire FlowTables. However, since
results demonstrate that our strategy efficiently improves the the capacity of IoT forwarding nodes are more inadequate,
FlowTables storage capacity with small performance loss in IoT. traditional extensive FlowTables are highly unlikely to be
Index Terms—IoT, SDN, Distributed storage, OpenFlow,
FlowTable stored in a single IoT node. What’s more, existing techniques
are unsuitable for IoT owing to its unique features. For
example, forwarding nodes may not directly communicate
I. I NTRODUCTION
with the IoT SDN controller owning to the constraints of
With the outstanding progress of 4G, WSN and other tech- wireless communication and power. Therefore, we propose a
nologies [1], Internet of Things (IoT) penetrates incessantly hash-based distributed storage strategy to address the problem
in various social areas, including industry, medical treatment, of abundant FlowTables storage in the SDN-IoT network.
power grid, etc. But there are many problems along with its Our strategy focus on the cluster SDN-IoT network. In
development. For example, it lacks an effective mechanism to this architecture, some IoT nodes play the roles of controller
manage complex heterogeneous IoT devices [2]. Many meth- or OF-switch [7] [8] [9]. Generally, the role of nodes is
ods have been proposed to resolve these problems. Software determined according to their abilities. We assume that all
Defined Network (SDN) is one of these solutions and achieves nodes can be divided into three categories: the SDN Lo-
excellent results [3]. It is a new network design paradigm cal Centric Node (SDNLCN), the SDN Local Switch Node
which decouples control plane and data plane [4]. Thus SDN (SDNLSN) and the IoT Perception Node (IPN). They are
brings convenient management, programmability and flexibili- exhaustively explained in the section III. In our method, when
ty to IoT. The most widely used protocol in SDN is OpenFlow the storage space of a SDNLSN is exhausted, other multiple
(OF) [5]. It defines the communication interface between the SDNLDNs with large remaining storage space will store the
control and forwarding layers. The FlowTables defined by OF FlowTables of this SDNLSN. These nodes work as a group to
are the foundation to control data flow forwarding. Whereas store FlowTables and cooperate mutually to complete network
to achieve complex and fine-grained flow control, the size function. There are two kinds of distributed storage strategies:
and number of FlowTables in OF-switches become extremely one is the distributed storage strategy of SDNLSNs in a region,
large. For instance, there are as many as 1227 bits in the match and the other is the distributed storage strategy of SDNLCNs
fields of OF 1.3 FlowTables [6]. inter regions.
The massive and complex FlowTables stored in a switch Fig. 1 shows the proposed distributed storage of FlowTables
may cause many problems, especially in a case that the in a horizontal view. The SDNLSNs in an aggregation region
Agg
Region3
FlowTables
Agg ###
...
###
...
###
...
###
...
Overflow
Region4 ... ... ... ...
Node5
Overflow
Node4 FlowTables
### ### ### ###
... ... ... ...
... ... ... ...
need to report their own information to the SDNLCN when limited capacity. In the deployment of FlowTables, we build
their states or abilities change, hence the SDNLCN has global hash value space on the basis of data content that are sensed
network information. When the storage space of a SDNLSN location, sensed time and data type.
is insufficient, the SDNLCN will discover this condition and (3) We systematically evaluate this strategy under a sim-
carry out the distributed storage strategy. The main problems ulation test platform, test results show that the distributed
which we launch are: (1) storage location selection; (2) storage can provide more FlowTables storage space with small
FlowTables deployment method; (3) FlowTables lookup and performance loss.
data flow forwarding. The specific solutions are as follows: The rest of the paper is organized as follows. We review
∙ For the distributed storage location, we constructed a the background and related work in Section II. Section III
multi-dimension location selection scheme. The factors introduces the architecture of SDN-IoT network. Hash-based
involve the distance from the SDNLCN, remaining stor- distributed storage strategy is presented in Section IV. Section
age space, whether storing other SDNLSNs FlowTables V reports on the experimental. Finally, we conclude this paper
or not (repeatability) and the communication distance with future work in Section VI.
from the current storage SDNLSN.
∙ In the FlowTables deployment, aiming to facilitate II. R ELATED W ORK
FlowTables management, storage balance load and data
forwarding, we introduce a hash-based deployment strat- In this section, we summarize previous approaches that are
egy of FlowTables. As IoT is typically data-centric, the related to our work.
hash value space is built on the basis of IoT data content. FlowTables are generally stored in TCAM of OF-switches in
∙ As for efficient FlowTables lookup and data flow forward- traditional SDN network, so the ability of TCAM is the main
ing, this paper presents a binary tree lookup and routing constraint of FlowTables storage. Paul Congdon et al. [11]
method which can reduce the resource consumption. proposed a method to optimize the classification and lookup
Finally, we build a simulation environment based on Open- of FlowTables in TCAM. Linlian Zhang et al. [12] efficiently
vSwich and test the proposed distributed storage strategy. utilized the timeout field to delete useless FlowTables. A
The experimental results reveal that our strategy effectively virtual compression approach was introduced by S Veeramani
achieves FlowTables distributed storage and data forwarding et al. [13] to diminish the size of FlowTables stored in TCAM.
with acceptable performance loss. Compared with the existing These studies focus on storage of a single switch.
methods, our main contributions lie in the following three Another research direction is to reduce the storage space
aspects: occupied by FlowTables. Jingguo Ge et al. [14] presented
(1) To the best of our knowledge, our proposed distributed a heuristic storage space optimization algorithm (H-SOFT)
storage strategy is the first solution to the problem that IoT for FlowTables. H-SOFT degraded the complex and high-
forwarding nodes with limited resources may hardly store dimensional fields of a FlowTable into multiple ones with
massive FlowTables. simple and low-dimensional fields. Chiba et al. [15] replaced
(2) Our distributed storage strategy take the special features the action field of FlowTables with simple bits to lessen the
of IoT into account, such as data-centric forwarding and FlowTable size. To a certain degree, these work can alleviate
SDN Controller
selection of storage location, FlowTables deployment and data
flow forwarding. And the first is the basis of FlowTables
deployment and data forwarding. Moreover, a well-designed
Internet
deployment method can increase the efficiency of the data flow
forwarding. These will be explained in detail later.
IoT Gateway
IoT Controllerr FlowTables are stored in SDNLSNs and SDNLCNs which
Agg
Agg ... ... Region4 are respectively responsible for data forwarding in a region and
Region3 inter regions. When the storage space occupied by FlowTa-
bles exceeds a threshold, the overflowNode begins to story
them in a distributed way. There are two types of methods
Agg
Agg Region2 to calculate the threshold: static threshold assignment and
Region1
R
Region1 dynamic threshold algorithm. A value is manually allocated
SDN Local Centric SDN Local Switch IoT Perception
Node(SDNLCN) Node(SDNLSN) Node(IPN)
to the threshold in the former. As for the dynamic method,
Fig. 2: The cluster SDN-IoT architecture the threshold would vary according to current network status.
Specifically, if network storage space is relatively sufficient,
the threshold will be small and the frequency of distributed
the problem of massive FlowTables storage. However, they are storage is high. Otherwise the threshold will be large and the
useless when numerous FlowTables exit in a switch. frequency is low. We assume the number of SDNLSNs is N.
Considering the above deficiencies and unique character- Every SDNLSN stores up to S FlowTables. The 𝑛𝑡ℎ SDNLSN
istics of IoT, we propose a hash-based distributed storage stores 𝑆𝑛 (1 ≤ 𝑛 ≤ 𝑁 ) number of FlowTables at a time. And
strategy. It can store more fine-grained FlowTables without L is the threshold of distributed storage. It is calculated using
huge consumption for IoT forwarding nodes. Equation (1):
90 2
20 40
Distributed
Storage
overflowNode SDNLSN2
50 50
FlowTable1 FlowTable2 FlowTable3 FlowTable44 ...
... F
FlowTable ϹĆ FlowTable1 FlowTable2 ...
. F FlowTable k FlowTable a ... FlowTable b
coarse-grained fine-grained
fi
fine -grained
i d
SDNLSN1
50
FlowTable1 FlowTable2 ... FlowTable n FlowTable p ... FlowTable q
...
consumption caused by distributed storage. Thus we need to 000**** 001***** 101***** 111*****
distinguish different FlowTables and store them at suitable 1110**** 1111****
0010****
locations. In OpenFlow protocol, FlowTables can be classified SDNLSN1
into the coarse-grained and the fine-grained according to 11100***
their granularity of match fields. In addition, coarse-grained
FlowTables can be replaced by a set of fine-grained ones and Fig. 5: The built binary tree for FlowTables
control more data flow forwarding. These characteristics are
utilized to guide data flow forwarding. It will be thoroughly
explained in next section.
If the deployment location of distributed storage is a mesh
3) Data flow forwarding: After distributed storage of path like overflowNode3 and overflowNode4 in Fig. 1, it is
FlowTables, the overflowNode only store partial FlowTables. unreasonable to randomly forward the unmatched data flows
Thus when a data flow arrives at the node, it may not know to a storage node. This may lead to the problems of not
how to deal with it. If the overflowNode directly sends a finding the target FlowTable or more pointless network traffic.
Packet-In message to the controller, the SDNLCN work load is Therefore, we adopt a hash-based mapping and classification
heavier. Moreover, the SDNLSNs in the IoT may not directly method to tackle this issue. In our solution, every SDNLSN
communicate with a SDNLCN. That means more commu- is aware of their Flowtables partition information, thus data
nication consumption and network latency. Furthermore, this forwarding is no more blind. To be specific, the overflowNode
approach loses the meaning of distributed storage to a degree. stores all coarse-grained FlowTables which point at the fine-
If all distributed storage nodes are traversed to forward data, grained FlowTables. If the storage space is enough, a number
pointless network traffic will be increased. Consequently, of fine-grained FlowTables are also stored in the overflowN-
we provide a mechanism that enables the overflowNode to ode, as shown in Fig. 4. When a data flow reaches the
know storage partition information, thus it easily forward the overflowNode and dose not match corresponding FlowTables,
unmatched data flows to the SDNLSN which stores relevant it will be forwarded to the SDNLSNs where their FlowTables
FlowTables without the help of the controller. If there are not can match this kind of data flows according to the coarse-
enjoyable FlowTables at last, the Packet-In message would be grained FlowTables. Fig. 4 depicts the partition information
sent to the SDNLCN. of FlowTables in distributed storage.
Specifically, we give different solutions for the two FlowTa- The concrete implementation method is to build a binary
bles deployment results. If the deployment location of dis- tree by using the hash value obtained by FlowTables deploy-
tributed storage is a chain path which gradually approaches ment. As shown in Fig. 5, FlowTables matching granularity
the SDNLCN, unmatched data flows are merely forwarded to is becoming finer from top to bottom. For example, the hash
the next node in this path, and repeat this process until the value of a coarse-grained FlowTable is 1 ******* (32 bits),
data flow reaches last storage node. When there are still not whose first bit represents the sensed position of the data. It
FlowTables handling this data flow, the last storage node will can cover the value range [-2147483648, 2147483647]. When
send Packet-In message to the controller. we add a bit that represents the sensed time, it can be divided
Nodes number for distributed storage of FlowTables
8
the method in this paper
7 the method of DFSoF[10]
SDNLCN 6
Number of nodes
SDNLSN2
30 FL 20%
5
SDNLSN1 SDNLSN3 SDNLSN4
50% 60% 40%
4
20 FL
overflowNode
SDNLSN5 SDNLSN7
30% SDNLSN6
20% 3
40%
overflowNode
SDNLSN9 2
10 FL
SDNLSN8 60% SDNLSN10
40% 30%
1
SDNLSN11
20%
FL: FlowTables 0
overflowNode 1 2 3 4 5 6 7 8 9 10 11
SDNLSN
Fig. 6: The topology graph of test network
Fig. 7: Distributed storage nodes number
4
before distributed storage ACKNOWLEDGMENT
This work is supported by the National Natural Science
Number of links
3
Foundation of China under Grant No.61672109, No.61370196,
2
No.61772085, and No.616532012.
R EFERENCES
1
[1] Asadi A, Wang Q, Mancuso V. A survey on device-to-device communi-
0 cation in cellular networks, IEEE Communications Surveys & Tutorials,
1 2 3 4 5 6 7 8 9 10 11
SDNLSN
vol. 16, no. 4, pp. 1801-1819, 2014.
[2] Whitmore A, Agarwal A, Da Xu L. The Internet of Things: A survey
(a) links number of topics and trends, Information Systems Frontiers, vol. 17, no. 4, pp.
261-274, 2015.
Data forwarding performance for distributed storage [3] Qin Z, Denker G, Giannelli C, et al. A software defined networking
1800
architecture for the internet-of-things in 2014 IEEE Network Operations
1600 after distributed storage
and Management Symposium (NOMS), 2014, pp. 1-9.
Time of forwarding (ms)