View
55
Download
5
Category
Preview:
Citation preview
Introduction Tutorial C6 Conclusion
DCCN Tutorial C6: Implementation of QoSmechanisms for Device-to-Device (D2D)
communication
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 Tutorial C6 Conclusion
WISLAB Research Group – http://www.wislab.cz
WISLAB - Wireless System Laboratory of Brno
Coordinated by Dr. HosekExperienced researchers and MSc. / Ph.D.students
Working with the up-to-date equipment
Nowadays, focused mainly on the IoT domainCommunication 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 Tutorial C6 Conclusion
DCCN Tutorials: Agenda
Tutorial #1 [Wed 23.11.16] - Communication betweendevices within LAN/WLAN networks
Tutorial #2 [Thu 24.11.16] - Implementation of 4G cellularcommunication within the SmartGrid ecosystem
Tutorial #3 [Thu 24.11.16] - Implementation ofQoS mechanisms for Device-to-Device (D2D)communication between mobile devices
Main goal
From basic network topology to advanced communicationmechanisms used in today’s IoT/M2M scenarios – utilizingNetwork Simulator 3 (NS-3) tool for timely use-cases
Introduction Tutorial C6 Conclusion
Network Scenario
Mobile nodes located in grid (initial position)
Communication without the AP → D2D communication
RandomWalk2d mobility model
QoS implementation – made from scratch, notimplemented in NS-3 by default
Introduction Tutorial C6 Conclusion
Tasks
1 Check structure of given code, understand to QoSimplementation
2 Run the prepared simulation scenario
3 View *.xml output files via netAnim, explore tracing*.pcap files using Wireshark, generate GnuPlot file forflow delay
4 Modify the QoS configuration for data flows and checknew results
0 = AC BE (Best Effort)1, 2 = AC BK (Background)3 = AC BE NQOS (Best Effort no QoS)4, 5 = AC VI (Video first)6, 7 = AC VO (Voice first)
Introduction Tutorial C6 Conclusion
T0: Eclipse Configuration 1/5
Copy the third tutorial (tutorial 3 qos.cc) into the scratchfolder: /home/student/ns-allinone-3.23/ns-3.23/scratch
Introduction Tutorial C6 Conclusion
T0: Eclipse Configuration 2/5
Open the copied file in Eclipse environment
Introduction Tutorial C6 Conclusion
T0: Eclipse Configuration 3/5
Run → Run configuration
Introduction Tutorial C6 Conclusion
T0: Eclipse Configuration 4/5
Search project → tutorial 3 qos → Run
Introduction Tutorial C6 Conclusion
T0: Eclipse Configuration 5/5
Introduction Tutorial C6 Conclusion
T1: QoS Implementation 1/2
void ReceivePacket (Ptr <const Packet > packet , const
Address &)
{
NS_LOG_UNCOND ("Received one packet!");
QosTag q_tag;
if (packet ->PeekPacketTag(q_tag))
{
NS_LOG_UNCOND ("Packet Tag value " << (int)q_tag.
GetTid ());
}
}
void TagMarker (uint8_t tid , Ptr <const Packet > packet)
{
QosTag qosTag;
qosTag.SetTid(tid);
packet ->AddPacketTag (qosTag);
}
Introduction Tutorial C6 Conclusion
T1: QoS Implementation 2/2
Ptr <OnOffApplication > onoffapp;
onoffapp = DynamicCast <OnOffApplication >( serverApps.
Get(0));
onoffapp ->TraceConnectWithoutContext("Tx",
MakeBoundCallback (&TagMarker ,3));
// -----------------------------
Ptr <OnOffApplication > onoffapp2;
onoffapp2 = DynamicCast <OnOffApplication >(
serverApps2.Get(0));
onoffapp2 ->TraceConnectWithoutContext("Tx",
MakeBoundCallback (&TagMarker ,5));
// -----------------------------
Config :: ConnectWithoutContext("/NodeList /0/
ApplicationList /5/\ $ns3:: PacketSink/Rx",
MakeCallback (& ReceivePacket));
Introduction Tutorial C6 Conclusion
T3: Simulation 1/3
Populating routing tables
Introduction Tutorial C6 Conclusion
T3: Simulation 2/3
UDP communication - VoIP (voice/video)
Introduction Tutorial C6 Conclusion
T3: Simulation 3/3
TCP communication - FTP (data transfer)
Introduction Tutorial C6 Conclusion
T3: FlowMonitor - QoS = 6 (voice/video)
Flow ID: 2 Src Addr 10.1.3.1 Dst Addr 10.1.3.6
Tx Packets = 508
Rx Packets = 508
Delay Sum = +287402154072.0 ns
Delay = +565752271.0 nsns
Delay = +565.0 nsms
Jitter Sum = +5085947027.0 ns
Jitter = +10031453.0 nsns
Throughput: 590.069 Kbps
Lost Packets = 0
Introduction Tutorial C6 Conclusion
T3: QoS Config – Wireshark
FTP (data traffic; TCP)
VoIP (video; UDP)
Introduction Tutorial C6 Conclusion
T3: GnuPlot - Flows Delay
Open terminal (go to/home/student/ns-allinone-3.23/ns-3.23) → gnuplotdelay.pltOpen delay.png
Introduction Tutorial C6 Conclusion
Final Conclusion
D2D communication utilizing WiFi Direct
Static routingRouting protocols (AODV, DSDV, etc.)
QoS tag added for any data flow → tested in Wireshark
Visualization using netAnim tool
Results automatically generated by GnuPlot andFlowMonitor
Introduction Tutorial C6 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.
Recommended