20
Introduction Tutorial C6 Conclusion DCCN Tutorial C6: Implementation of QoS mechanisms for Device-to-Device (D2D) communication Pavel Masek, Jiri Hosek Brno University of Technology, Faculty of Electrical Engineering and Communication, Department of Telecommunication. [email protected], [email protected] November 24, 2016

DCCN 2016 - Tutorial 3 - QoS for D2D

Embed Size (px)

Citation preview

Page 1: DCCN 2016 - Tutorial 3 - QoS for D2D

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.

[email protected], [email protected]

November 24, 2016

Page 2: DCCN 2016 - Tutorial 3 - QoS for D2D

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

Page 3: DCCN 2016 - Tutorial 3 - QoS for D2D

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

Page 4: DCCN 2016 - Tutorial 3 - QoS for D2D

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

Page 5: DCCN 2016 - Tutorial 3 - QoS for D2D

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)

Page 6: DCCN 2016 - Tutorial 3 - QoS for D2D

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

Page 7: DCCN 2016 - Tutorial 3 - QoS for D2D

Introduction Tutorial C6 Conclusion

T0: Eclipse Configuration 2/5

Open the copied file in Eclipse environment

Page 8: DCCN 2016 - Tutorial 3 - QoS for D2D

Introduction Tutorial C6 Conclusion

T0: Eclipse Configuration 3/5

Run → Run configuration

Page 9: DCCN 2016 - Tutorial 3 - QoS for D2D

Introduction Tutorial C6 Conclusion

T0: Eclipse Configuration 4/5

Search project → tutorial 3 qos → Run

Page 10: DCCN 2016 - Tutorial 3 - QoS for D2D

Introduction Tutorial C6 Conclusion

T0: Eclipse Configuration 5/5

Page 11: DCCN 2016 - Tutorial 3 - QoS for D2D

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);

}

Page 12: DCCN 2016 - Tutorial 3 - QoS for D2D

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));

Page 13: DCCN 2016 - Tutorial 3 - QoS for D2D

Introduction Tutorial C6 Conclusion

T3: Simulation 1/3

Populating routing tables

Page 14: DCCN 2016 - Tutorial 3 - QoS for D2D

Introduction Tutorial C6 Conclusion

T3: Simulation 2/3

UDP communication - VoIP (voice/video)

Page 15: DCCN 2016 - Tutorial 3 - QoS for D2D

Introduction Tutorial C6 Conclusion

T3: Simulation 3/3

TCP communication - FTP (data transfer)

Page 16: DCCN 2016 - Tutorial 3 - QoS for D2D

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

Page 17: DCCN 2016 - Tutorial 3 - QoS for D2D

Introduction Tutorial C6 Conclusion

T3: QoS Config – Wireshark

FTP (data traffic; TCP)

VoIP (video; UDP)

Page 18: DCCN 2016 - Tutorial 3 - QoS for D2D

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

Page 19: DCCN 2016 - Tutorial 3 - QoS for D2D

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

Page 20: DCCN 2016 - Tutorial 3 - QoS for D2D

Introduction Tutorial C6 Conclusion

Thank you for your attention.

Pavel Masek, Jiri Hosek

[email protected], [email protected]

Brno University of Technology,Faculty of Electrical Engineering and Communication,

Department of Telecommunication.