SlideShare a Scribd company logo
Introduction NS-3 Tutorial C4 Conclusion
DCCN Tutorial C4: Implementation of 4G
cellular communication within the SmartGrid
ecosystem
Pavel Masek, Jiri Hosek
Brno University of Technology,
Faculty of Electrical Engineering and Communication,
Department of Telecommunication.
masekpavel@feec.vutbr.cz, hosek@feec.vutbr.cz
November 24, 2016
Introduction NS-3 Tutorial C4 Conclusion
WISLAB Research Group – http://www.wislab.cz
WISLAB - Wireless System Laboratory of Brno
Coordinated by Dr. Hosek
Experienced researchers and MSc. / Ph.D.
students
Working with the up-to-date equipment
Nowadays, focused mainly on the IoT domain
Communication in 4G / 5G mobile networks
Intel US, Huawei, AT&T, TUT, IITIS, PFUR, SUAI
SmartHome Gateway
Telekom Austria Group
Wearables
Augmented reality, smart glasses
MTC Communication in NS-3
Member of well-known alliances AllSeen Alliance or HGi
Contributor to 3GPP standards and recommendations
Introduction NS-3 Tutorial C4 Conclusion
DCCN Tutorials: Agenda
Tutorial #1 [Wed 23.11.16] - Communication between
devices within LAN/WLAN networks
Tutorial #2 [Thu 24.11.16] - Implementation of 4G
cellular communication within the SmartGrid
ecosystem
Tutorial #3 [Fri 24.11.16] - Implementation of QoS
mechanisms for Device-to-Device (D2D) communication
between mobile devices
Main goal
From basic network topology to advanced communication
mechanisms used in today’s IoT/M2M scenarios – utilizing
Network Simulator 3 (NS-3) tool for timely use-cases
Introduction NS-3 Tutorial C4 Conclusion
Network Simulator 3 (NS-3) – https://www.nsnam.org
NS-3 is written in C++, with bindings available for
Python
Simulation programs are C++ executables or Python
programs
NS-3 is a GNU GPLv2 licensed project
Mainly supported fro Linux/Unix, MacOS, and FreeBSD
Currently, port to Visual Studio is available
No backwards compatibility with NS-2
In comparison with other network simulators, oriented to
command-line and Unix (no IDE provided in
standard NS-3 framework)
Introduction NS-3 Tutorial C4 Conclusion
NS-3 Simulation Basics
Simulation time advances in discrete jumps from event
to event
C++ functions schedule events to occur at specific
simulation times
Several supporting libraries, not system-installed, can be in
parallel to NS-3 (netAnim, pybindgen, etc.)
A simulation scheduler orders the event execution
Simulation::Run() gets it all started
Simulation stops at specific time or when events end
Introduction NS-3 Tutorial C4 Conclusion
Motivation – Why to Use NS-3?
You want to study network performance or protocol
operation in a controllable or scalable environment
You are comfortable writing C++ or Python code, and
combining NS-3 with other code
You like the idea of working on an active open source
project
NS-3 has the models you are looking for, or you can
provide / integrate what is missing
Well-known projects
LENA (LTE-EPC Network Simulator)
DCE (Direct Code Execution)
Introduction NS-3 Tutorial C4 Conclusion
Created Virtual Machine for Development
Created as a VMware virtual machine (possible to run
via VMware Workstation/Player or VirtualBox)
Based on Ubuntu 14.04 LTS 32bit (Long Term Support)
Possible to make ”Snapshoots”
Already pre-configured
Eclipse environment bounded with NS-3 (no need to
develop straightforward from the command line; possible to
use advanced debugger)
Visualization tools: NetAnim, FlowMonitor, Python
visualizer
Tracing: Wireshark, trace files in NS-3, routing tables, etc.
As the utilized version, NS-3.23 was chosen – verified
functionality, stable, already contains new syntax
Introduction NS-3 Tutorial C4 Conclusion
Created Virtual Machine for Development
Created as a VMware virtual machine (possible to run
via VMware Workstation/Player or VirtualBox)
Based on Ubuntu 14.04 LTS 32bit (Long Term Support)
Possible to make ”Snapshoots”
Already pre-configured
Eclipse environment bounded with NS-3 (no need to
develop straightforward from the command line; possible to
use advanced debugger)
Visualization tools: NetAnim, FlowMonitor, Python
visualizer
Tracing: Wireshark, trace files in NS-3, routing tables, etc.
As the utilized version, NS-3.23 was chosen – verified
functionality, stable, already contains new syntax
Introduction NS-3 Tutorial C4 Conclusion
Network Scenario
MME
SGW/PGW
eNodeB
Remote
host
UEs
Sensors
EPC
model
LTE
model
Devices using the IEEE 802.11g/ah
Devices using the Wireless M-Bus
MTCG
LTE Channel
1.0.0.0/247.0.0.0/24
WN(1)
* **
MTCG
Wi-Fi 10.3.0.0/24
WN(0) WN(9)
*
x
WiFi devices
SGW/
PGW
remoteHost
Internet
Introduction NS-3 Tutorial C4 Conclusion
LENA
An open source LTE/EPC Network Simulator:
DL & UL Schedulers
Radio Resource Management Algorithms
Inter-cell interference coordination solutions
Load Balancing and Mobility Management
Heterogeneous Network (HetNets)
solutions
End-to-end QoE provisioning
Multi-RAT network solutions
Cognitive LTE systems
Introduction NS-3 Tutorial C4 Conclusion
Tasks
1 Check structure of given code, understand to topology
helpers, containers, nodes, etc.
2 Run the prepared simulation scenario
3 View *.xml output files via netAnim, explore tracing
*.pcap files using Wireshark
4 Try to change provided code (rebuild the scenario) and
check the output files (e.g., change positions of created
nodes, update data flows, etc.)
Introduction NS-3 Tutorial C4 Conclusion
T1: LTE + EPC Implementation
LTE-A implementation of both the User Equipment (UE)
and the enhanced NodeB (eNB) devices
RRC entities for both the UE and the eNB
Ptr <LteHelper > lteHelper = CreateObject <LteHelper > ();
// ------------------------------
Ptr <PointToPointEpcHelper > epcHelper = CreateObject <
PointToPointEpcHelper > ();
lteHelper ->SetEpcHelper (epcHelper);
// ------------------------------
ConfigStore inputConfig;
inputConfig. ConfigureDefaults ();
// ------------------------------
Ptr <Node > pgw = epcHelper ->GetPgwNode ();
AnimationInterface :: SetConstantPosition (pgw , 20, 10);
Introduction NS-3 Tutorial C4 Conclusion
T1: Remote Host Declaration 1/2
End node within the communication structure (database
server, data analysis, etc.)
Data from PGW to RemoteHost sent via the public
network (Internet)
NodeContainer remoteHostContainer ;
remoteHostContainer .Create (1);
// ------------------------------
Ptr <Node > remoteHost = remoteHostContainer .Get (0);
AnimationInterface :: SetConstantPosition (remoteHost ,
20, 20);
// ------------------------------
InternetStackHelper internet;
internet.Install ( remoteHostContainer );
Introduction NS-3 Tutorial C4 Conclusion
T1: Remote Host Declaration 2/2
PointToPointHelper p2ph;
p2ph. SetDeviceAttribute ("DataRate", DataRateValue (
DataRate ("100Gb/s")));
p2ph. SetDeviceAttribute ("Mtu", UintegerValue (1500));
p2ph. SetChannelAttribute ("Delay", TimeValue (Seconds
(0.010)));
NetDeviceContainer internetDevices = p2ph.Install (pgw
, remoteHost);
Ipv4AddressHelper ipv4h;
ipv4h.SetBase ("1.0.0.0", "255.0.0.0");
Ipv4InterfaceContainer internetIpIfaces = ipv4h.Assign
( internetDevices );
// interface 0 is localhost , 1 is the p2p device
Ipv4Address remoteHostAddr = internetIpIfaces .
GetAddress (1);
Introduction NS-3 Tutorial C4 Conclusion
T1: On/Off Application 1/2
Traffic generator follows an On/Off pattern. The duration
of each of these states is determined with the onTime and
the offTime random variables.
During the ”Off” state, no traffic is generated. During the
”On” state, CBR traffic is generated. This CBR traffic
is characterized by the specified ”data rate” and ”packet
size”.
OnOffHelper WIFIClientSta1 ("ns3:: UdpSocketFactory ",
Address( InetSocketAddress (remoteHostAddr , 8)));
WIFIClientSta1.SetAttribute ("OnTime",StringValue("ns3
:: ConstantRandomVariable [Constant =1]"));
WIFIClientSta1.SetAttribute ("OffTime",StringValue("
ns3:: ConstantRandomVariable [Constant =0]"));
WIFIClientSta1.SetAttribute ("PacketSize", StringValue
("500"));
WIFIClientSta1.SetAttribute ("DataRate", StringValue (
"0.03 Mb/s"));
Introduction NS-3 Tutorial C4 Conclusion
T1: On/Off Application 2/2
Possible to use TCP or UDP Transport layer protocols
ApplicationContainer sourceAppSta1;
sourceAppSta1 = WIFIClientSta1 .Install (wifiStaNodes.
Get (1));
sourceAppSta1.Start (Seconds (0.5));
sourceAppSta1.Stop (Seconds (simTime));
PacketSinkHelper sinkSta1 ("ns3:: UdpSocketFactory ",
InetSocketAddress (Ipv4Address :: GetAny (), 8));
ApplicationContainer sinkAppSta1 = sinkSta1.Install(
remoteHost);
sinkAppSta1.Start (Seconds (0.5));
sinkAppSta1.Stop (Seconds (simTime));
Introduction NS-3 Tutorial C4 Conclusion
T3: NetAnim Visualization 1/3
Open file: ltenetanim.xml
Introduction NS-3 Tutorial C4 Conclusion
T3: NetAnim Visualization 1/3
Introduction NS-3 Tutorial C4 Conclusion
T3: NetAnim Visualization 3/3
Introduction NS-3 Tutorial C4 Conclusion
T3: FlowMonitor Console Output
Uses probes, installed in network nodes, to track the
packets exchanged by the nodes, and it will measure a
number of parameters
Packets are divided according to the flow they belong to,
where each flow is defined according to the probe’s
characteristics
Flow ID: 5 Src Addr 10.3.0.5 Dst Addr 1.0.0.2
Tx Packets = 33
Tx Bytes = 17424
Rx Packets = 33
Rx Bytes = 18744
Throughput: 33.729 Kb/s
Delay Sum = 1766 ms
Delay = 53ms
Jitter = +34780416.0 ns
Lost Packets = 0
Introduction NS-3 Tutorial C4 Conclusion
T3: Tracing file wifi+lte nodes-3-2.pcap
Open the wifi+lte nodes-3-2.pcap file using Wireshark
Check transmitted data and used destination port (SIP)
Introduction NS-3 Tutorial C4 Conclusion
Final Conclusion
LTE+EPC model with the MTCG node implemented
Utilized topology for today’s aggregation scenarios within
SmartGrid infrastructure
FlowMonitor module used to measure the network
performance
Each flow is defined according to the probe’s characteristics
NetAnim – offline animator based on the Qt toolkit (uses
XML trace file collected during simulation)
Next time: Tutorial C6
Implementation of QoS mechanisms for Device-to-Device (D2D)
communication between mobile devices
Introduction NS-3 Tutorial C4 Conclusion
Thank you for your attention.
Pavel Masek, Jiri Hosek
masekpavel@feec.vutbr.cz, hosek@feec.vutbr.cz
Brno University of Technology,
Faculty of Electrical Engineering and Communication,
Department of Telecommunication.

More Related Content

What's hot

Direct Code Execution - LinuxCon Japan 2014
Direct Code Execution - LinuxCon Japan 2014Direct Code Execution - LinuxCon Japan 2014
Direct Code Execution - LinuxCon Japan 2014
Hajime Tazaki
 

What's hot (20)

Introduction to ns3
Introduction to ns3Introduction to ns3
Introduction to ns3
 
Direct Code Execution - LinuxCon Japan 2014
Direct Code Execution - LinuxCon Japan 2014Direct Code Execution - LinuxCon Japan 2014
Direct Code Execution - LinuxCon Japan 2014
 
mTCP使ってみた
mTCP使ってみたmTCP使ってみた
mTCP使ってみた
 
Playing BBR with a userspace network stack
Playing BBR with a userspace network stackPlaying BBR with a userspace network stack
Playing BBR with a userspace network stack
 
Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)
 
LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1
 
VLANs in the Linux Kernel
VLANs in the Linux KernelVLANs in the Linux Kernel
VLANs in the Linux Kernel
 
PASTE: Network Stacks Must Integrate with NVMM Abstractions
PASTE: Network Stacks Must Integrate with NVMM AbstractionsPASTE: Network Stacks Must Integrate with NVMM Abstractions
PASTE: Network Stacks Must Integrate with NVMM Abstractions
 
Creating a firewall in UBUNTU
Creating a firewall in UBUNTUCreating a firewall in UBUNTU
Creating a firewall in UBUNTU
 
Tsn linux elce17
Tsn linux elce17Tsn linux elce17
Tsn linux elce17
 
Linux Kernel Library - Reusing Monolithic Kernel
Linux Kernel Library - Reusing Monolithic KernelLinux Kernel Library - Reusing Monolithic Kernel
Linux Kernel Library - Reusing Monolithic Kernel
 
Linux rumpkernel - ABC2018 (AsiaBSDCon 2018)
Linux rumpkernel - ABC2018 (AsiaBSDCon 2018)Linux rumpkernel - ABC2018 (AsiaBSDCon 2018)
Linux rumpkernel - ABC2018 (AsiaBSDCon 2018)
 
Time Sensitive Networking in the Linux Kernel
Time Sensitive Networking in the Linux KernelTime Sensitive Networking in the Linux Kernel
Time Sensitive Networking in the Linux Kernel
 
Network stack personality in Android phone - netdev 2.2
Network stack personality in Android phone - netdev 2.2Network stack personality in Android phone - netdev 2.2
Network stack personality in Android phone - netdev 2.2
 
Hs java open_party
Hs java open_partyHs java open_party
Hs java open_party
 
NUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioNUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osio
 
Library Operating System for Linux #netdev01
Library Operating System for Linux #netdev01Library Operating System for Linux #netdev01
Library Operating System for Linux #netdev01
 
GTC Japan 2016 Chainer feature introduction
GTC Japan 2016 Chainer feature introductionGTC Japan 2016 Chainer feature introduction
GTC Japan 2016 Chainer feature introduction
 
ENHANCING PERFORMANCE OF AN HPC CLUSTER BY ADOPTING NONDEDICATED NODES
ENHANCING PERFORMANCE OF AN HPC CLUSTER BY ADOPTING NONDEDICATED NODES ENHANCING PERFORMANCE OF AN HPC CLUSTER BY ADOPTING NONDEDICATED NODES
ENHANCING PERFORMANCE OF AN HPC CLUSTER BY ADOPTING NONDEDICATED NODES
 
protothread and its usage in contiki OS
protothread and its usage in contiki OSprotothread and its usage in contiki OS
protothread and its usage in contiki OS
 

Similar to DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem

Laporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdf
Laporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdfLaporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdf
Laporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdf
IGedeArieYogantaraSu
 
Final Report(Routing_Misbehavior)
Final Report(Routing_Misbehavior)Final Report(Routing_Misbehavior)
Final Report(Routing_Misbehavior)
Ambreen Zafar
 
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
Sungman Jang
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
OpenStack Korea Community
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rules
Freddy Buenaño
 

Similar to DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem (20)

June 28 Presentation
June 28 PresentationJune 28 Presentation
June 28 Presentation
 
IWAN Lab Guide
IWAN Lab GuideIWAN Lab Guide
IWAN Lab Guide
 
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
 
Paper9250 implementation of an i pv6 stack for ns-3
Paper9250 implementation of an i pv6 stack for ns-3Paper9250 implementation of an i pv6 stack for ns-3
Paper9250 implementation of an i pv6 stack for ns-3
 
Dc project 1
Dc project 1Dc project 1
Dc project 1
 
WiMAX implementation in ns3
WiMAX implementation in ns3WiMAX implementation in ns3
WiMAX implementation in ns3
 
opnet lab report
opnet lab reportopnet lab report
opnet lab report
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
 
Laporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdf
Laporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdfLaporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdf
Laporan Praktikum Keamanan Siber - Tugas 4 -Kelas C - Kelompok 3.pdf
 
Network-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQNetwork-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQ
 
Set review 1
Set review 1Set review 1
Set review 1
 
Floodlight with Firewall and Network Virtualization
Floodlight with Firewall and Network VirtualizationFloodlight with Firewall and Network Virtualization
Floodlight with Firewall and Network Virtualization
 
Final Report(Routing_Misbehavior)
Final Report(Routing_Misbehavior)Final Report(Routing_Misbehavior)
Final Report(Routing_Misbehavior)
 
Openstack Networking Internals - first part
Openstack Networking Internals - first partOpenstack Networking Internals - first part
Openstack Networking Internals - first part
 
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
 
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpPushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
 
UDP Report
UDP ReportUDP Report
UDP Report
 
V P N
V P NV P N
V P N
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rules
 

Recently uploaded

Recently uploaded (20)

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem

  • 1. Introduction NS-3 Tutorial C4 Conclusion DCCN Tutorial C4: Implementation of 4G cellular communication within the SmartGrid ecosystem Pavel Masek, Jiri Hosek Brno University of Technology, Faculty of Electrical Engineering and Communication, Department of Telecommunication. masekpavel@feec.vutbr.cz, hosek@feec.vutbr.cz November 24, 2016
  • 2. Introduction NS-3 Tutorial C4 Conclusion WISLAB Research Group – http://www.wislab.cz WISLAB - Wireless System Laboratory of Brno Coordinated by Dr. Hosek Experienced researchers and MSc. / Ph.D. students Working with the up-to-date equipment Nowadays, focused mainly on the IoT domain Communication in 4G / 5G mobile networks Intel US, Huawei, AT&T, TUT, IITIS, PFUR, SUAI SmartHome Gateway Telekom Austria Group Wearables Augmented reality, smart glasses MTC Communication in NS-3 Member of well-known alliances AllSeen Alliance or HGi Contributor to 3GPP standards and recommendations
  • 3. Introduction NS-3 Tutorial C4 Conclusion DCCN Tutorials: Agenda Tutorial #1 [Wed 23.11.16] - Communication between devices within LAN/WLAN networks Tutorial #2 [Thu 24.11.16] - Implementation of 4G cellular communication within the SmartGrid ecosystem Tutorial #3 [Fri 24.11.16] - Implementation of QoS mechanisms for Device-to-Device (D2D) communication between mobile devices Main goal From basic network topology to advanced communication mechanisms used in today’s IoT/M2M scenarios – utilizing Network Simulator 3 (NS-3) tool for timely use-cases
  • 4. Introduction NS-3 Tutorial C4 Conclusion Network Simulator 3 (NS-3) – https://www.nsnam.org NS-3 is written in C++, with bindings available for Python Simulation programs are C++ executables or Python programs NS-3 is a GNU GPLv2 licensed project Mainly supported fro Linux/Unix, MacOS, and FreeBSD Currently, port to Visual Studio is available No backwards compatibility with NS-2 In comparison with other network simulators, oriented to command-line and Unix (no IDE provided in standard NS-3 framework)
  • 5. Introduction NS-3 Tutorial C4 Conclusion NS-3 Simulation Basics Simulation time advances in discrete jumps from event to event C++ functions schedule events to occur at specific simulation times Several supporting libraries, not system-installed, can be in parallel to NS-3 (netAnim, pybindgen, etc.) A simulation scheduler orders the event execution Simulation::Run() gets it all started Simulation stops at specific time or when events end
  • 6. Introduction NS-3 Tutorial C4 Conclusion Motivation – Why to Use NS-3? You want to study network performance or protocol operation in a controllable or scalable environment You are comfortable writing C++ or Python code, and combining NS-3 with other code You like the idea of working on an active open source project NS-3 has the models you are looking for, or you can provide / integrate what is missing Well-known projects LENA (LTE-EPC Network Simulator) DCE (Direct Code Execution)
  • 7. Introduction NS-3 Tutorial C4 Conclusion Created Virtual Machine for Development Created as a VMware virtual machine (possible to run via VMware Workstation/Player or VirtualBox) Based on Ubuntu 14.04 LTS 32bit (Long Term Support) Possible to make ”Snapshoots” Already pre-configured Eclipse environment bounded with NS-3 (no need to develop straightforward from the command line; possible to use advanced debugger) Visualization tools: NetAnim, FlowMonitor, Python visualizer Tracing: Wireshark, trace files in NS-3, routing tables, etc. As the utilized version, NS-3.23 was chosen – verified functionality, stable, already contains new syntax
  • 8. Introduction NS-3 Tutorial C4 Conclusion Created Virtual Machine for Development Created as a VMware virtual machine (possible to run via VMware Workstation/Player or VirtualBox) Based on Ubuntu 14.04 LTS 32bit (Long Term Support) Possible to make ”Snapshoots” Already pre-configured Eclipse environment bounded with NS-3 (no need to develop straightforward from the command line; possible to use advanced debugger) Visualization tools: NetAnim, FlowMonitor, Python visualizer Tracing: Wireshark, trace files in NS-3, routing tables, etc. As the utilized version, NS-3.23 was chosen – verified functionality, stable, already contains new syntax
  • 9. Introduction NS-3 Tutorial C4 Conclusion Network Scenario MME SGW/PGW eNodeB Remote host UEs Sensors EPC model LTE model Devices using the IEEE 802.11g/ah Devices using the Wireless M-Bus MTCG LTE Channel 1.0.0.0/247.0.0.0/24 WN(1) * ** MTCG Wi-Fi 10.3.0.0/24 WN(0) WN(9) * x WiFi devices SGW/ PGW remoteHost Internet
  • 10. Introduction NS-3 Tutorial C4 Conclusion LENA An open source LTE/EPC Network Simulator: DL & UL Schedulers Radio Resource Management Algorithms Inter-cell interference coordination solutions Load Balancing and Mobility Management Heterogeneous Network (HetNets) solutions End-to-end QoE provisioning Multi-RAT network solutions Cognitive LTE systems
  • 11. Introduction NS-3 Tutorial C4 Conclusion Tasks 1 Check structure of given code, understand to topology helpers, containers, nodes, etc. 2 Run the prepared simulation scenario 3 View *.xml output files via netAnim, explore tracing *.pcap files using Wireshark 4 Try to change provided code (rebuild the scenario) and check the output files (e.g., change positions of created nodes, update data flows, etc.)
  • 12. Introduction NS-3 Tutorial C4 Conclusion T1: LTE + EPC Implementation LTE-A implementation of both the User Equipment (UE) and the enhanced NodeB (eNB) devices RRC entities for both the UE and the eNB Ptr <LteHelper > lteHelper = CreateObject <LteHelper > (); // ------------------------------ Ptr <PointToPointEpcHelper > epcHelper = CreateObject < PointToPointEpcHelper > (); lteHelper ->SetEpcHelper (epcHelper); // ------------------------------ ConfigStore inputConfig; inputConfig. ConfigureDefaults (); // ------------------------------ Ptr <Node > pgw = epcHelper ->GetPgwNode (); AnimationInterface :: SetConstantPosition (pgw , 20, 10);
  • 13. Introduction NS-3 Tutorial C4 Conclusion T1: Remote Host Declaration 1/2 End node within the communication structure (database server, data analysis, etc.) Data from PGW to RemoteHost sent via the public network (Internet) NodeContainer remoteHostContainer ; remoteHostContainer .Create (1); // ------------------------------ Ptr <Node > remoteHost = remoteHostContainer .Get (0); AnimationInterface :: SetConstantPosition (remoteHost , 20, 20); // ------------------------------ InternetStackHelper internet; internet.Install ( remoteHostContainer );
  • 14. Introduction NS-3 Tutorial C4 Conclusion T1: Remote Host Declaration 2/2 PointToPointHelper p2ph; p2ph. SetDeviceAttribute ("DataRate", DataRateValue ( DataRate ("100Gb/s"))); p2ph. SetDeviceAttribute ("Mtu", UintegerValue (1500)); p2ph. SetChannelAttribute ("Delay", TimeValue (Seconds (0.010))); NetDeviceContainer internetDevices = p2ph.Install (pgw , remoteHost); Ipv4AddressHelper ipv4h; ipv4h.SetBase ("1.0.0.0", "255.0.0.0"); Ipv4InterfaceContainer internetIpIfaces = ipv4h.Assign ( internetDevices ); // interface 0 is localhost , 1 is the p2p device Ipv4Address remoteHostAddr = internetIpIfaces . GetAddress (1);
  • 15. Introduction NS-3 Tutorial C4 Conclusion T1: On/Off Application 1/2 Traffic generator follows an On/Off pattern. The duration of each of these states is determined with the onTime and the offTime random variables. During the ”Off” state, no traffic is generated. During the ”On” state, CBR traffic is generated. This CBR traffic is characterized by the specified ”data rate” and ”packet size”. OnOffHelper WIFIClientSta1 ("ns3:: UdpSocketFactory ", Address( InetSocketAddress (remoteHostAddr , 8))); WIFIClientSta1.SetAttribute ("OnTime",StringValue("ns3 :: ConstantRandomVariable [Constant =1]")); WIFIClientSta1.SetAttribute ("OffTime",StringValue(" ns3:: ConstantRandomVariable [Constant =0]")); WIFIClientSta1.SetAttribute ("PacketSize", StringValue ("500")); WIFIClientSta1.SetAttribute ("DataRate", StringValue ( "0.03 Mb/s"));
  • 16. Introduction NS-3 Tutorial C4 Conclusion T1: On/Off Application 2/2 Possible to use TCP or UDP Transport layer protocols ApplicationContainer sourceAppSta1; sourceAppSta1 = WIFIClientSta1 .Install (wifiStaNodes. Get (1)); sourceAppSta1.Start (Seconds (0.5)); sourceAppSta1.Stop (Seconds (simTime)); PacketSinkHelper sinkSta1 ("ns3:: UdpSocketFactory ", InetSocketAddress (Ipv4Address :: GetAny (), 8)); ApplicationContainer sinkAppSta1 = sinkSta1.Install( remoteHost); sinkAppSta1.Start (Seconds (0.5)); sinkAppSta1.Stop (Seconds (simTime));
  • 17. Introduction NS-3 Tutorial C4 Conclusion T3: NetAnim Visualization 1/3 Open file: ltenetanim.xml
  • 18. Introduction NS-3 Tutorial C4 Conclusion T3: NetAnim Visualization 1/3
  • 19. Introduction NS-3 Tutorial C4 Conclusion T3: NetAnim Visualization 3/3
  • 20. Introduction NS-3 Tutorial C4 Conclusion T3: FlowMonitor Console Output Uses probes, installed in network nodes, to track the packets exchanged by the nodes, and it will measure a number of parameters Packets are divided according to the flow they belong to, where each flow is defined according to the probe’s characteristics Flow ID: 5 Src Addr 10.3.0.5 Dst Addr 1.0.0.2 Tx Packets = 33 Tx Bytes = 17424 Rx Packets = 33 Rx Bytes = 18744 Throughput: 33.729 Kb/s Delay Sum = 1766 ms Delay = 53ms Jitter = +34780416.0 ns Lost Packets = 0
  • 21. Introduction NS-3 Tutorial C4 Conclusion T3: Tracing file wifi+lte nodes-3-2.pcap Open the wifi+lte nodes-3-2.pcap file using Wireshark Check transmitted data and used destination port (SIP)
  • 22. Introduction NS-3 Tutorial C4 Conclusion Final Conclusion LTE+EPC model with the MTCG node implemented Utilized topology for today’s aggregation scenarios within SmartGrid infrastructure FlowMonitor module used to measure the network performance Each flow is defined according to the probe’s characteristics NetAnim – offline animator based on the Qt toolkit (uses XML trace file collected during simulation) Next time: Tutorial C6 Implementation of QoS mechanisms for Device-to-Device (D2D) communication between mobile devices
  • 23. Introduction NS-3 Tutorial C4 Conclusion Thank you for your attention. Pavel Masek, Jiri Hosek masekpavel@feec.vutbr.cz, hosek@feec.vutbr.cz Brno University of Technology, Faculty of Electrical Engineering and Communication, Department of Telecommunication.