SDN
SDN
SDN
University of Murcia
Computer Science Faculty
SDN in IoT
Author:
Sara N. Matheu Garca
June 2, 2016
SDN in IoT
Contents
1 Introduction
2 SDN
3 SDN in IoT
3.1 SDN based architecture for IoT: Sensor Openflow (SOF) . . .
3.2 Security in SDN for IoT . . . . . . . . . . . . . . . . . . . . .
5
6
9
4 Conclusions
11
List of Figures
1
2
3
4
5
6
7
SDN architecture[8] . . . . . . . . . . . . . . . . . . . . . .
Use of OXM SOF CAV type for 30 < temperature < 60 [7]
Sensor OpenFlow architecture [7] . . . . . . . . . . . . . .
Peer compatibility in SOF[7] . . . . . . . . . . . . . . . . .
SDN Domains[2] . . . . . . . . . . . . . . . . . . . . . . .
Interconnection between domains [2] . . . . . . . . . . . .
Security in SDN domains [2] . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
. 4
. 7
. 8
. 9
. 10
. 11
. 12
Introduction
SDN in IoT
The goal of SDN is to allow network engineers and administrators to respond quickly to changing business requirements. In a software-defined network, a network administrator can shape traffic from a centralized control
console without having to touch individual switches, and can deliver services
to wherever they are needed in the network, without regard to what specific devices a server or other device is connected to. The key technologies
are functional separation, network virtualization and automation through
programmability.
With SDN, the applications can be network aware, as opposed to traditional networks where the network is application aware and the control plane
is logically centralized and decoupled from the data plane. The SDN Controller summarizes the network state for applications and translates application requirements to low-level rules. This does not imply that the controller
is physically centralized. For performance, scalability, and/or reliability reasons, the logically centralized SDN Controller can be distributed so that several physical controller instances cooperate to control the network and serve
the applications. The SDN Controller has complete control of the SDN Datapaths, subject to the limit of their capabilities. This allows networks to run
with complex and precise policies with greater network resource utilization
and quality of service guarantees.
With these properties, the SDN architecture has a lot of advantages,
because it is:
Directly programmable: Network control is directly programmable because it is decoupled from forwarding functions.
Agile: Abstracting control from forwarding lets administrators dynamically adjust network-wide traffic flow to meet changing needs.
Centrally managed: Network intelligence is (logically) centralized in
software-based SDN controllers that maintain a global view of the network, which appears to applications and policy engines as a single,
logical switch.
Programmatically configured: SDN lets network managers configure,
manage, secure, and optimize network resources very quickly via dynamic, automated SDN programs, which they can write themselves
because the programs do not depend on proprietary software.
Open standards-based and vendor-neutral: When implemented through
open standards, SDN simplifies network design and operation because
instructions are provided by SDN controllers instead of multiple, vendorspecific devices and protocols.
2
SDN in IoT
The problem of IoT networks is that they are rigid to policy changes. Policies are rules related to network-exogenous factors such as business operation
and user access. Policy changes, engendered by the ever-changing business
needs, are hard to cope with by algorithms and often dictate manual reconfiguration or reprogramming of IoT networks. They are also hard to manage.
This is because developing a network management system (NMS) for distributed WSN is a demanding task in the first place. The above problems
are not superficial symptoms but are inherent to IoT networks. Although
this architecture works well most of the time due to many well-designed algorithms, it lacks good abstraction and carries too much complexity, making
IoT networks unwieldy, inelastic to change and hard to manage. As a result of this, there are many articles that propose a solution using SDN with
IoT networks such as [7], that creates a new architecture based on OpenFlow taking into account the problems of the IoT devices, [4], which explains
briefly how SDN and IoT can work together and [9], that proposes a new
SDN controller and is more centered in latency problems. We are going to
see the first proposal in the subsection 3.1, since OpenFlow is a well known
protocol in SDN and it analyses all the problems derived of joining SDN and
IoT, which is very interesting.
In terms of security, SDN architecture extends the security perimeter to
the network access end point devices (access switches, wireless access points,
etc.), by pushing security policies to those devices. This is a good advantage
that can be used in the IoT field. However, although as we said before some
authors have proposed architecture for IoT, security is usually a forgotten
topic. We can find some articles regarding security like [2], [1] or [10]. We are
going to see the first proposal in the subsection 3.2, since the three articles
are very similar, the idea is the same.
SDN
SDN in IoT
SDN in IoT
SDN in IoT
SDN in IoT
3.1
Despite of the benefits of using SDNS, there are some technicals challenges
that must be solved in order to adapt SDNs to IoT.
One of the problems is that at the data plane, packets are handled as per
flows. A flow is a programmable set of packets that share certain properties specified by a Match in a flow-table entry, or flow entry for short. The
Match is often wild-carded, like IP source address is 10.0.*.*, and packets that match it will be treated as in the same flow and be imposed an
action specified by the same flow entry. OpenFlow implicitly assumes the
presence of IP-like addressing so as to create flows. For example, it defines
Match fields such as IPv4 SRC or ETH DST to match packets with IPv4
source address or Ethernet destination, respectively. However, as opposed to
address-centric OpenFlow networks, IoT networks are typically data-centric,
that is, acquiring data of interest is more important than knowing who sent
the data, and employ different addressing such as attribute-based naming.
This problem could be solved, as T. Luo proposes in [7] augmenting the
network with IP, using for example UIP on Contiki OS or Blip on TinyOS,
which are IP implementations for low power networks, or redefining flow
tables in order to add the addressing schemes of these type of networks.
For compact unique addresses, they explote the OpenFlow extensible match
SDN in IoT
Figure 2: Use of OXM SOF CAV type for 30 < temperature < 60 [7]
Another problem of this adaptation is that an OpenFlow channel is an
end-to-end connection used to transmit control messages between a controller
and a switch. However, this channel must provide TCP/IP connectivity for
reliable end-to-end in-order message delivery. These are generally unavailable
in this networks and need to be addressed. This problem is solved using
IP implementations like the described before, which include ready to use
TCP implementations or overlying a transport protocol[6] directly over the
network if we choose the solution of redefining flow tables.
We also have a problem with the overhead of control traffic. SDN can
(and usually would) host the OpenFlow channel out of band, i.e., using a
separate dedicated network. This is normally not practical for constrained
networks and the SOF channel has to be hosted in band, i.e., by the network
itself. Thus, the resource constrained networks will have to additionally
carry control traffic between controllers and sensors. This is a big problem
since the control traffic in this networks tends to be large due to the high
network dynamics (node/link failures, energy-aware routing, mobility, etc.).
Hence, without a proper mechanism to curb control traffic overhead, the
underlying network can be overloaded. Taking into account that control
traffic in mainly composed by packet-in when a sensor wants to know what
to do with a packet and packet-out, which is the response of the controller
with the instructions for that packet, and knowing that in this networks an
important event can trigger a lot of packets from several sensor leading to
many flows simultaneously, the proposal is to send only one packet-in for
all the packets with the same destination until the packet-out arrives or a
predefined timeout occurs.
Another problem is the traffic generation. End-users are considered peripheral to SDN and hence out of the scope of OpenFlow. On the contrary,
sensor nodes behave like end-users by generating data packets, in addition
to merely forwarding data as OpenFlow switches do. The author proposes
adding a traf-gen module on each sensor as in the figure 3. It is a simple
7
SDN in IoT
SDN in IoT
teroperability purposes. SOF inherits backward compatibility from OpenFlow. An SOF-hybrid sensor will have a logical port defined similarly as by
OpenFlow, which directs packets to traditional sensor network forwarding, so
there are not problems. The only thing to manage is the peer compatibility.
To be compatible with OpenFlow, SOF should enable OpenFlow to recognize SOF flow tables so that OpenFlow can relegate the new addressing
types that we defined before to SOF. For this new flows, they designate two
unused values of ETH TYPE, 0x0802 and 0x0808, respectively. Thus, an
SOF flow entry (oxm type=OXM SOF SRC/DST or OXM SOF CAV) can
be defined as in figure 4, which achieves peer compatibility.
3.2
SDN in IoT
10
SDN in IoT
Conclusions
The problem of IoT networks is that they are rigid to policy changes. Policies
are rules related to network-exogenous factors such as business operation and
user access. Policy changes, engendered by the ever-changing business needs,
are hard to cope with by algorithms and often dictate manual reconfiguration or reprogramming of IoT networks. They are also hard to manage. This
is because developing a network management system (NMS) for distributed
WSN is a demanding task in the first place. The above problems are not
11
SDN in IoT
12
SDN in IoT
References
[1] C.P, V. Security improvement in iot based on software defined networking (SDN). International Journal of Science, Engineering and Technology Research (IJSETR) 5 (2016).
[2] FLAUZAC, O., GONZALEZ, C., HACHANI, A., and NOLOT,
F. SDN based architecture for iot and improvement of the security.
IEEE (Mar. 2015).
[3] Hu, H., Han, W., Ahn, G.-J., and Zhao, Z. FLOWGUARD:
Building robust firewalls for software-defined networks. Workshop on
Hot Topics in Software Defined Networking (2014).
[4] Huang, H., Zhu, J., and Zhang, L. An sdn based management
framework for iot devices. In Irish Signals & Systems Conference 2014
and 2014 China-Ireland International Conference on Information and
Communications Technologies (2014).
[5] Jin, R., and Wang, B. Malware detection for mobile devices using
software defined networking. Proceedings of the Workshop of Research
and Educational (2013).
[6] Luo, T., Tan, H. P., and Quek, T. Q. S. A compiled list of
transport protocols for wireless sensor networks. May 2012.
[7] Luo, T., Tan, H. P., and Quek, T. Q. S. Sensor openflow: Enabling
software-defined wireless sensor networks. IEEE COMMUNICATIONS
16, 11 (Nov. 2012), 4.
[8] Open Networking Foundation. SDN architecture overview, Dec.
2013.
[9] Qin, Z., Denker, G., Giannelli, C., Bellavista, P., and
Venkatasubramanian, N. A software defined networking architecture for the internet-of-things. IEEE (2014).
[10] Sahoo, K. S., Sahoo, B., and Panda, A. A secured sdn framework
for iot.
[11] Skowyra, R., Bahargam, S., and Bestavros, A. Software-defined
ids for securing embedded mobile devices. In Proceedings of the High
Performance Extreme Computing Conference (2013).
13