Analysis and Implementation of Software-Defined Network (SDN) Techniques on Core Network Nodes for Next Generation Cellular Networks
1. Analysis and Implementation of Software-Defined
Network (SDN) Techniques on Core Network
Nodes for Next Generation Cellular Networks
Pavel Popa matricola: 1644389
Corso di Laurea Magistrale in Informatica D.M. 270/04
Relatore: Chiara Petrioli
Universit`a degli Studi di Roma ”La Sapienza”
Facolt`a di Ingegneria dell’Informazione, Informatica e Statistica
18th July 2017
2. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Outline
Introduction
Background information
Goal and Focus
Implementation
Testbed
Evaluation
Conclusions
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 2 / 22
3. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Introduction
Towards 5G
Expectations:
• Super high bit rates
• Ultra low latencies
• Massive capacity
• Internet of Everything
Technologies:
• Clouds and virtualization, NFV
• Dynamicity
• Resources on-demand
• Programmable networks, SDN
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 3 / 22
4. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Introduction
Towards 5G
Expectations:
• Super high bit rates
• Ultra low latencies
• Massive capacity
• Internet of Everything
Technologies:
• Clouds and virtualization, NFV
• Dynamicity
• Resources on-demand
• Programmable networks, SDN
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 4 / 22
5. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Background information - EPC
• S-GW (Serving Gateway): routes and forwards user data packets, while also
acting as the mobility anchor for the user plane during inter-eNodeB handovers
and for mobility between LTE and other 3GPP technologies.
• P-GW (PDN Gateway): provides connectivity from the UE to external packet
data networks by being the exit point and entry of traffic for the UE.
• MME (Mobility Management Entity): the key control-node for the LTE
access-network.
• HSS (Home Subscriber Server): central database that contains user-related
and subscription-related information.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 5 / 22
6. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Background information - SDN
Definition
Software-Defined Networking (SDN) is an approach to computer
networking that allows network administrators to programmatically
initialize, control, change, and manage network behavior dynamically via
open interfaces (e.g., OpenFlow).
Purpose
Decouple the system that makes decisions about where traffic is sent (the
SDN controller, or control plane) from the underlying systems that
forward traffic to the selected destination (the data plane).
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 6 / 22
7. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Background information - SDN
The SDN Architecture:
• Infrastructure layer: decouples the
hardware from the software, and is
responsible for forwarding of the packets.
• Control layer: contains the controllers
providing control data to the data plane
(i.e., Infrastructure layer) so that the
data traffic gets forwarded as effectively
as possible.
• Application layer: implementation of the
application-specific requirements.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 7 / 22
8. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Background information - SDN
Conventional Networking
• Network protocols distributed among the devices, such as routers, switches,
firewalls, etc..
• Control and data planes tightly coupled.
• Hard to introduce new protocols as these are typically built in specialized
hardware equipment, the so-called middlebox.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 8 / 22
9. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Background information - SDN
Software-Defined Networking
• SDN’s main purpose is to add
programmability into a cluster of network
nodes (i.e. ”softwarizing” the hardware),
currently at a slight performance cost.
• Generic packet forwarding equipment,
typically called forwarding element.
• No expensive, specific networking hardware
such as routers, switches, firewalls, etc..
• Forwarding elements (data plane) controlled
by a centralized server (aka SDN Controller,
the control plane) via open interfaces such as
OpenFlow.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 9 / 22
10. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Background information - SDN
Juniper’s global study over the benefits of SDN adoption
• 1800 IT decision-makers and 904 business decision-makers involved.
Source: Juniper Networks, ”Will Your Company Survive The Next Big Disruption?”, June 2016
• ITDMs at companies that have adopted SDN reported even greater benefits and
capabilities than originally expected.
• Automation solutions are proving they are worth the investment.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 10 / 22
11. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Background information - GTP
GPRS Tunneling Protocol (GTP) is a group of IP-based protocols used to
carry data and control traffic within the EPC.
Comprised of three separate protocols:
• GTP-C (the control plane version)
• GTP-U (the data plane version)
• GTP’ (used for carrying charging data)
Figure: GTPv1 header used by GTP-U
Tunnel Endpoint Identifier (TEID) is the key header field of interest as it
identifies one tunnel from another.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 11 / 22
12. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Background information - GTP-U tunneling
1 The UE-generated IP packet gets forwarded to the eNB via radio link.
2 eNB encapsulates the user data packet in a proper GTP-U tunnel and sends it
to S-GW.
3 S-GW encapsulates the user data packet in a proper GTP-U tunnel and sends it
to P-GW.
4 P-GW decapsulates the user data packet from the GTP-U tunnel and sends it to
the specified destination IP address.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 12 / 22
13. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Goal and Focus
Goal
To forward the user data packets, implementing SDN concepts and
using general-purpose hardware. Therefore, disassociating the logic
of packet forwarding from the hardware equipment itself.
Focus
GTP-U tunnel instantiation from the SDN-based S/P-GW.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 13 / 22
14. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Implementation - Open vSwitch
The thesis project extends Open vSwitch with an implementation of the GTP
protocol, specifically the user plane variant (i.e., GTP-U).
Open vSwitch (OvS) is an SDN-based multilayer virtual/software switch designed to
enable massive network automation through programmatic extension.
The two core components are: ovs-vswitchd and openvswitch mod.ko.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 14 / 22
15. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Implementation - OvS core components
ovs-vswitchd
The main userspace daemon. Its major tasks are to communicate with SDN
controllers using OpenFlow (TCP port 6633), interact with the OvS database
(ovsdb-server) via the management protocol (TCP port 6632) and exchange
information with the kernel module (openvswitch mod.ko) using netlink sockets.
openvswitch mod.ko
The OvS kernel module, handles switching and tunneling. When a packet arrives, it
extracts the flow key from the packet headers, and based on that checks for an
existing entry (i.e., flow), if there is non, the packet is sent to ovs-vswitchd,
otherwise, the specified flow action is executed.
• Designed to be fast and simple, normally used as a cache of the most recent
flows.
• Knows nothing about OpenFlow. OpenFlow communication is done exclusively
in userspace, with ovs-vswitchd.
• Implements datapaths, collection of physical and/or virtual ports. Each
datapath can have one or more ports, also called vports.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 15 / 22
16. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Implementation - Extending OvS with GTP-U
OvS kernel module extended with GTP-U support:
• Added GTP tunnel parameters to the flow key structure
(struct sw flow key) definition.
• Flow key parser updated with the extraction of GTP tunnel
parameters.
• Implemented GTP-U encapsulation and decapsulation flow
actions.
• Properly updated utility tool (ovs-dpctl) allowing the admin
to specify and install GTP-related flows.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 16 / 22
17. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Testbed
Setup
• Three Linux boxes operating as S-GW, P-GW, and a generic
host playing the role of the Internet.
• 10 Gigabit Ethernet link speeds.
• OvS with GTP extensions deployed on the P-GW machine.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 17 / 22
18. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Testbed
GTP-U Encapsulation:
root@p-gw: # ovs-dpctl add-gtpu-flow "ipv4(dst=172.26.131.177,frag=no)"
"push gtp(src=172.26.128.241,dst=172.26.128.177,teid=177), 3"
GTP-U Decapsulation:
root@p-gw: # ovs-dpctl add-gtpu-flow "gtp(teid=177,dst=172.26.128.241)"
"pop gtp, 2"
The two installed GTP-U flows after matching some traffic:
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 18 / 22
19. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Evaluation
• The prototype was tested by generating TCP/UDP traffic and
sending packets through the GTP-U tunnel.
• The performance results using OvS with GTP extension were
compared to those obtained using normal plain data traffic
(i.e., without involving Open vSwitch).
GTP-U Tunnel & Plain Data Traffic: UDP Throughput
Various offered loads, from 200Mbps to 1Gbps
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 19 / 22
20. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Evaluation
Results:
• In case of UDP, the performance
obtained with OvS GTP extension is
identical to the plain data traffic
use-case. The same goes for the
jitter.
• In case of TCP, the performance of
the GTP-U tunnel is very similar
when not using OvS, yet sufficiently
underperforming to observe a small
gap between the two lines.
• In evaluating the latency it is
observed that the GTP-encapsulation
case is the ”heaviest” one.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 20 / 22
21. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Conclusions
• SDN is a promising technology paving the way for future 5G cellular core
networks:
- SDN allows the control plane and user plane scale independently
- SDN is the enabler of a distributed user plane
• We have designed a prototype of a virtualized SDN-based S/P-GW that:
- adds flexibility to a modern, traditional, mobile core network, like
EPC
- offers embedded GTP router functionality
- is able to saturate the maximum link capacity (with multiple parallel
flows)
• More work needs to be done to understand the scalability, performance
and behaviour of virtualized SDN-based S/P-GW with real-life networks.
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 21 / 22
22. Introduction Background information Goal and Focus Implementation Testbed Evaluation Conclusions
Project repository
For the more interested:
https://github.com/pa5h1nh0/GTP-U_OvS-kernel-extension
Pavel Popa ”La Sapienza” University of Rome Master’s Degree in Computer Science 22 / 22