SlideShare a Scribd company logo
4
Most read
7
Most read
13
Most read
5G Network Slicing Using Mininet
Mohammed Abuibaid
Fall 2019
Email:
m.a.abuibaid@gmail.com
Outline
Background
Generic 5G Network Slicing Framework
FlowVisor
Demo – Network Slicing
Background - One Size Does Not Fit All
Multiple Applications 
Different QOS requirements 
Same authentication, mobility, reliability, delay, and QOS
 COMPROMISES 
4G Radio Acess Network 4G Evolved Packet Core Network
Generic Mobile Network Slicing Framework
 Heterogeneous set of infrastructure components
like data centers, routers and base stations.
E.g. Rogers Communications
 Creation of each network slice according to service
instance requests coming from the upper layer.
 Enabling Technologies: SDN and NFV
 NFs: Firewall, MMEs, S-GWs, Load balancer
Foukas, X.; Patounas, G.; Elmokashfi, A.; Marina, M. K. (2017). "Network Slicing in 5G: Survey and
Challenges" (PDF). IEEE Communications Magazine. 55 (5): 94–100.
 MVNOs: e.g. Fido, Chatr Mobile, and SimplyConnect.
 All shares the underlying physical network and it
provides a unified vision of the service requirements.
FlowVisor
 Special Purpose OpenFlow Controller
 Enables Network Virtualization
 Transparent proxy between OpenFlow switches
and multiple controllers
 Creates rich slice of network resources
 Delegates control of each slice to a different
controller
 It intercepts the messages
FlowVisor Implemented on OpenFlow
What is FlowVisor?
Demo – Network Slicing
Isolated Network
Slices
Physical Network Topology
Network Slicing: Step by Step
 In the main VM terminal, running the custom topology except operating the POX controller which will be
started after slice configurations.
sudo python Network_Topology.py
 In a new VM terminal (via Putty), making sure that the flowvisor is stopped.
sudo /etc/init.d/flowvisor stop
 Generating the flowvisor Config.json file.
fvconfig generate /etc/flowvisor/config.json
Network Slicing: Step by Step
 Starting flowvisor
sudo /etc/init.d/flowvisor start
 By using fvctl command, enabling the Flowvisor topology controller
fvctl -f /dev/null set-config --enable-topo-ctrl
Network Slicing: Step by Step
 Displaying the content of flowvisor Config file to make sure all switches dpid’s are listed in the fvadmin
field
fvctl get-config
Network Slicing: Step by Step
 In case the switches are not linked to the Flow visor, restarting the flowvisor to ensure all topology
switches get connected to it
sudo /etc/init.d/flowvisor restart
 Listing the existing slices to make sure nothing has been created previously.
fvctl list-slices
Network Slicing: Step by Step
 Listing the existing flow spaces to make sure nothing has been created previously
fvctl -f /dev/null list-flowspace
 Listing the existing data paths to the connected switches
fvctl -f /dev/null list-datapaths
Network Slicing: Step by Step
 Listing the existing links between all switches
fvctl -f /dev/null list-links
Network Slicing: Step by Step
 Upper and Lower Slices creation:
 Using the fvctl command, creating a slice called upper which will be managed by a separate controller
that control all the traffic in this slice. The “controller-url” is set “tcp:localhost:7777” and the admin email is
“adam@upperslice”
fvctl -f /dev/null add-slice upper tcp:localhost:7777 adam@upperslice
 Similarly, creating the lower slice:
fvctl -f /dev/null add-slice lower tcp:localhost:3333 aleen@lowerslice
Network Slicing: Step by Step
 Listing the existing slices to make sure that the upper and lower slices are correctly created.
fvctl list-slices
 Upper Slice Configurations:
 On switch s1:
Creating a flow space named dpid1-port1 (with priority value 1) that maps all the traffic on port 1 of switch
s1 to the upper slice, giving it all permissions (upper=7): DELEGATE, READ, and WRITE.
fvctl -f /dev/null add-flowspace dpid1-port1 1 1 in_port=1 upper=7
 Creating a flow space named dpid1-port3 (with priority value 1) that maps all the traffic on port 3 of switch
s1 to the upper slice, giving it all permissions (upper=7): DELEGATE, READ, and WRITE
fvctl -f /dev/null add-flowspace dpid1-port3 1 1 in_port=3 upper=7
Network Slicing: Step by Step
 On switch s2:
creating a flow space named dpid2 (with priority value 1) that maps all the traffic at switch s2 (match
value of any) to the upper slice, giving it all permissions (upper=7): DELEGATE, READ, and WRITE.
fvctl -f /dev/null add-flowspace dpid2 2 1 any upper=7
 On switch s4:
Similar to S1 configurations, creating a flow space named dpid4-port1 (with priority value 1) that maps all
the traffic on port 1 of switch s4 to the upper slice, giving it all permissions (upper=7): DELEGATE,
READ, and WRITE.
fvctl -f /dev/null add-flowspace dpid4-port1 4 1 in_port=1 upper=7
 Creating a flow space named dpid4-port3 (with priority value 1) that maps all the traffic on port 3 of switch
s4 to the upper slice, giving it all permissions (upper=7): DELEGATE, READ, and WRITE
fvctl -f /dev/null add-flowspace dpid4-port3 4 1 in_port=3 upper=7
Network Slicing: Step by Step
 Lower Slice Configurations:
 Similar to the upper flow spaces configurations, creating the following flow spaces on switches s1, s3,
and s4.
fvctl -f /dev/null add-flowspace dpid1-port2 1 1 in_port=2 lower=7
fvctl -f /dev/null add-flowspace dpid1-port4 1 1 in_port=4 lower=7
fvctl -f /dev/null add-flowspace dpid3 3 1 any lower=7
fvctl -f /dev/null add-flowspace dpid4-port2 4 1 in_port=2 lower=7
fvctl -f /dev/null add-flowspace dpid4-port4 4 1 in_port=4 lower=7
Network Slicing: Step by Step
 Ensuring that all upper and lower flow spaces are correctly configured.
fvctl -f /dev/null list-flowspace
Network Slicing: Step by Step
 In a new terminal (via Putty), running a POX controller for the upper slice listing on port 7777.
cd pox
./pox.py openflow.of_01 --port=7777 forwarding.l2_pairs
 Performing connectivity test (pingall) in the main VM terminal. As shown below, only hosts h1 and h3
reaches each other, isolating them from the other hosts h2 and h4.
Network Slicing: Step by Step
 In a new terminal (via Putty), running POX controller for the lower slice (listing to port 3333).
cd pox
./pox.py openflow.of_01 --port=3333 forwarding.l2_pairs
 Performing connectivity test (pingall) in the main VM terminal. As shown below, hosts h2 and h4
reaches each other, isolating them from the other hosts h2 and h4.
Network Slicing: Step by Step
 One can notice that the hosts can reaches only the other hosts in their slice and there is no connections
to the hosts in other slice.
 Testing the maximum achievable bandwidth between hosts h1 and h3 for the upper slice and between h2
and h4 for the lower slice using the command iperf.
iperf h1 h3
iperf h2 h4
5G Network Slicing Using Mininet

More Related Content

PPTX
Fundamentals of 5G Network Slicing
PDF
Network slicing-5g-beyond-networks
PDF
ORAN Fundamental from basics to advance.
PPTX
5G End to-end network slicing Demo
 
PDF
5G Network Architecture and FMC
 
PDF
5G Network Slicing
PPT
Ip ran v1.1
Fundamentals of 5G Network Slicing
Network slicing-5g-beyond-networks
ORAN Fundamental from basics to advance.
5G End to-end network slicing Demo
 
5G Network Architecture and FMC
 
5G Network Slicing
Ip ran v1.1

What's hot (20)

PDF
BGP on RouterOS7 -Part 1
PDF
Scale Kubernetes to support 50000 services
PPTX
3GPP TS 38.300-100まとめ
PDF
Building DataCenter networks with VXLAN BGP-EVPN
PPTX
Opendaylight SDN Controller
PDF
Cisco commands List for Beginners (CCNA, CCNP)
PDF
Understanding Open vSwitch
PDF
【Interop Tokyo 2023】ShowNetにおけるジュニパーネットワークスの取り組み
PPTX
Vxlan control plane and routing
PPTX
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
PPT
Huawei network icon database v2
PPTX
Network Function Virtualization : Overview
PPTX
Tutorial: Using GoBGP as an IXP connecting router
PPTX
Software defined networking(sdn) vahid sadri
PPTX
Enable DPDK and SR-IOV for containerized virtual network functions with zun
PDF
virtio
PDF
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
PPTX
SCSI Protocol
PPTX
NFV : Virtual Network Function Architecture
PDF
VXLAN Design and Deployment.pdf
BGP on RouterOS7 -Part 1
Scale Kubernetes to support 50000 services
3GPP TS 38.300-100まとめ
Building DataCenter networks with VXLAN BGP-EVPN
Opendaylight SDN Controller
Cisco commands List for Beginners (CCNA, CCNP)
Understanding Open vSwitch
【Interop Tokyo 2023】ShowNetにおけるジュニパーネットワークスの取り組み
Vxlan control plane and routing
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
Huawei network icon database v2
Network Function Virtualization : Overview
Tutorial: Using GoBGP as an IXP connecting router
Software defined networking(sdn) vahid sadri
Enable DPDK and SR-IOV for containerized virtual network functions with zun
virtio
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
SCSI Protocol
NFV : Virtual Network Function Architecture
VXLAN Design and Deployment.pdf
Ad

Similar to 5G Network Slicing Using Mininet (20)

PPTX
Virt july-2013-meetup
PDF
10 sdn-vir-6up
PDF
PPTX
Sdn command line controller lab
PPTX
Set review 1
PPTX
Floodlight with Firewall and Network Virtualization
PPTX
Hedera - Dynamic Flow Scheduling for Data Center Networks, an Application of ...
PPTX
Securing Micro Services in Cloud Foundry
PPT
CloudStack and SDN
PPTX
Virtual Networking (1) (1).pptx
PPTX
Network and Service Virtualization tutorial at ONUG Spring 2015
PPTX
Openstack openswitch basics
PDF
CloudOpen 2013: Developing cloud infrastructure: from scratch: the tale of an...
PDF
OpenStack Networking
PDF
Understanding network and service virtualization
PDF
Sdn dell lab report v2
PPTX
OpenvSwitch Deep Dive
PDF
Net1674 final emea
PDF
In3514801485
PDF
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Virt july-2013-meetup
10 sdn-vir-6up
Sdn command line controller lab
Set review 1
Floodlight with Firewall and Network Virtualization
Hedera - Dynamic Flow Scheduling for Data Center Networks, an Application of ...
Securing Micro Services in Cloud Foundry
CloudStack and SDN
Virtual Networking (1) (1).pptx
Network and Service Virtualization tutorial at ONUG Spring 2015
Openstack openswitch basics
CloudOpen 2013: Developing cloud infrastructure: from scratch: the tale of an...
OpenStack Networking
Understanding network and service virtualization
Sdn dell lab report v2
OpenvSwitch Deep Dive
Net1674 final emea
In3514801485
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Ad

More from Mohammed Abuibaid (9)

PPTX
Adaptive Beamforming Algorithms
PPT
Mobile Positioning System
PPTX
Noise cancellation
PPT
How does 3D technology work ?
PPTX
RF Antenna Planning
PPTX
LTE Advance Pro
PPTX
Convolutional Error Control Coding
PPTX
OKUMURA, HATA and COST231 Propagation Models
PPTX
Carrier Sense Multiple Access (CSMA)
Adaptive Beamforming Algorithms
Mobile Positioning System
Noise cancellation
How does 3D technology work ?
RF Antenna Planning
LTE Advance Pro
Convolutional Error Control Coding
OKUMURA, HATA and COST231 Propagation Models
Carrier Sense Multiple Access (CSMA)

Recently uploaded (20)

PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
PPT on Performance Review to get promotions
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPT
Mechanical Engineering MATERIALS Selection
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPT on Performance Review to get promotions
bas. eng. economics group 4 presentation 1.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Lecture Notes Electrical Wiring System Components
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Operating System & Kernel Study Guide-1 - converted.pdf
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Automation-in-Manufacturing-Chapter-Introduction.pdf
Mechanical Engineering MATERIALS Selection
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
CYBER-CRIMES AND SECURITY A guide to understanding
Model Code of Practice - Construction Work - 21102022 .pdf
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Embodied AI: Ushering in the Next Era of Intelligent Systems

5G Network Slicing Using Mininet

  • 1. 5G Network Slicing Using Mininet Mohammed Abuibaid Fall 2019 Email: m.a.abuibaid@gmail.com
  • 2. Outline Background Generic 5G Network Slicing Framework FlowVisor Demo – Network Slicing
  • 3. Background - One Size Does Not Fit All Multiple Applications  Different QOS requirements  Same authentication, mobility, reliability, delay, and QOS  COMPROMISES  4G Radio Acess Network 4G Evolved Packet Core Network
  • 4. Generic Mobile Network Slicing Framework  Heterogeneous set of infrastructure components like data centers, routers and base stations. E.g. Rogers Communications  Creation of each network slice according to service instance requests coming from the upper layer.  Enabling Technologies: SDN and NFV  NFs: Firewall, MMEs, S-GWs, Load balancer Foukas, X.; Patounas, G.; Elmokashfi, A.; Marina, M. K. (2017). "Network Slicing in 5G: Survey and Challenges" (PDF). IEEE Communications Magazine. 55 (5): 94–100.  MVNOs: e.g. Fido, Chatr Mobile, and SimplyConnect.  All shares the underlying physical network and it provides a unified vision of the service requirements.
  • 5. FlowVisor  Special Purpose OpenFlow Controller  Enables Network Virtualization  Transparent proxy between OpenFlow switches and multiple controllers  Creates rich slice of network resources  Delegates control of each slice to a different controller  It intercepts the messages FlowVisor Implemented on OpenFlow What is FlowVisor?
  • 6. Demo – Network Slicing Isolated Network Slices Physical Network Topology
  • 7. Network Slicing: Step by Step  In the main VM terminal, running the custom topology except operating the POX controller which will be started after slice configurations. sudo python Network_Topology.py  In a new VM terminal (via Putty), making sure that the flowvisor is stopped. sudo /etc/init.d/flowvisor stop  Generating the flowvisor Config.json file. fvconfig generate /etc/flowvisor/config.json
  • 8. Network Slicing: Step by Step  Starting flowvisor sudo /etc/init.d/flowvisor start  By using fvctl command, enabling the Flowvisor topology controller fvctl -f /dev/null set-config --enable-topo-ctrl
  • 9. Network Slicing: Step by Step  Displaying the content of flowvisor Config file to make sure all switches dpid’s are listed in the fvadmin field fvctl get-config
  • 10. Network Slicing: Step by Step  In case the switches are not linked to the Flow visor, restarting the flowvisor to ensure all topology switches get connected to it sudo /etc/init.d/flowvisor restart  Listing the existing slices to make sure nothing has been created previously. fvctl list-slices
  • 11. Network Slicing: Step by Step  Listing the existing flow spaces to make sure nothing has been created previously fvctl -f /dev/null list-flowspace  Listing the existing data paths to the connected switches fvctl -f /dev/null list-datapaths
  • 12. Network Slicing: Step by Step  Listing the existing links between all switches fvctl -f /dev/null list-links
  • 13. Network Slicing: Step by Step  Upper and Lower Slices creation:  Using the fvctl command, creating a slice called upper which will be managed by a separate controller that control all the traffic in this slice. The “controller-url” is set “tcp:localhost:7777” and the admin email is “adam@upperslice” fvctl -f /dev/null add-slice upper tcp:localhost:7777 adam@upperslice  Similarly, creating the lower slice: fvctl -f /dev/null add-slice lower tcp:localhost:3333 aleen@lowerslice
  • 14. Network Slicing: Step by Step  Listing the existing slices to make sure that the upper and lower slices are correctly created. fvctl list-slices  Upper Slice Configurations:  On switch s1: Creating a flow space named dpid1-port1 (with priority value 1) that maps all the traffic on port 1 of switch s1 to the upper slice, giving it all permissions (upper=7): DELEGATE, READ, and WRITE. fvctl -f /dev/null add-flowspace dpid1-port1 1 1 in_port=1 upper=7  Creating a flow space named dpid1-port3 (with priority value 1) that maps all the traffic on port 3 of switch s1 to the upper slice, giving it all permissions (upper=7): DELEGATE, READ, and WRITE fvctl -f /dev/null add-flowspace dpid1-port3 1 1 in_port=3 upper=7
  • 15. Network Slicing: Step by Step  On switch s2: creating a flow space named dpid2 (with priority value 1) that maps all the traffic at switch s2 (match value of any) to the upper slice, giving it all permissions (upper=7): DELEGATE, READ, and WRITE. fvctl -f /dev/null add-flowspace dpid2 2 1 any upper=7  On switch s4: Similar to S1 configurations, creating a flow space named dpid4-port1 (with priority value 1) that maps all the traffic on port 1 of switch s4 to the upper slice, giving it all permissions (upper=7): DELEGATE, READ, and WRITE. fvctl -f /dev/null add-flowspace dpid4-port1 4 1 in_port=1 upper=7  Creating a flow space named dpid4-port3 (with priority value 1) that maps all the traffic on port 3 of switch s4 to the upper slice, giving it all permissions (upper=7): DELEGATE, READ, and WRITE fvctl -f /dev/null add-flowspace dpid4-port3 4 1 in_port=3 upper=7
  • 16. Network Slicing: Step by Step  Lower Slice Configurations:  Similar to the upper flow spaces configurations, creating the following flow spaces on switches s1, s3, and s4. fvctl -f /dev/null add-flowspace dpid1-port2 1 1 in_port=2 lower=7 fvctl -f /dev/null add-flowspace dpid1-port4 1 1 in_port=4 lower=7 fvctl -f /dev/null add-flowspace dpid3 3 1 any lower=7 fvctl -f /dev/null add-flowspace dpid4-port2 4 1 in_port=2 lower=7 fvctl -f /dev/null add-flowspace dpid4-port4 4 1 in_port=4 lower=7
  • 17. Network Slicing: Step by Step  Ensuring that all upper and lower flow spaces are correctly configured. fvctl -f /dev/null list-flowspace
  • 18. Network Slicing: Step by Step  In a new terminal (via Putty), running a POX controller for the upper slice listing on port 7777. cd pox ./pox.py openflow.of_01 --port=7777 forwarding.l2_pairs  Performing connectivity test (pingall) in the main VM terminal. As shown below, only hosts h1 and h3 reaches each other, isolating them from the other hosts h2 and h4.
  • 19. Network Slicing: Step by Step  In a new terminal (via Putty), running POX controller for the lower slice (listing to port 3333). cd pox ./pox.py openflow.of_01 --port=3333 forwarding.l2_pairs  Performing connectivity test (pingall) in the main VM terminal. As shown below, hosts h2 and h4 reaches each other, isolating them from the other hosts h2 and h4.
  • 20. Network Slicing: Step by Step  One can notice that the hosts can reaches only the other hosts in their slice and there is no connections to the hosts in other slice.  Testing the maximum achievable bandwidth between hosts h1 and h3 for the upper slice and between h2 and h4 for the lower slice using the command iperf. iperf h1 h3 iperf h2 h4