+ All Categories
Home > Documents > ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow...

ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow...

Date post: 28-Sep-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
14
Intelligent Wireless Network Group Department of Computer Engineering Faculty of Engineering, Kasetsart University http://iwing.cpe.ku.ac.th Friday, 14 Sep 2013, 18:00 - 21:00 By Dr. Aphirak Jansang ns3: Flow Monitor Module Part4 - 2 1
Transcript
Page 1: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

Intelligent Wireless Network Group Department of Computer Engineering Faculty of Engineering, Kasetsart University http://iwing.cpe.ku.ac.th

Friday, 14 Sep 2013, 18:00 - 21:00

By Dr. Aphirak Jansang

ns3: Flow Monitor Module Part4 - 2

1

Page 2: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

“FlowMonitor — a network monitoring framework for the Network Simulator 3 (NS-3)”, Gustavo Carneiro, Pedro Fortuna and Manuel Ricardo.

Resource

2

Page 3: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

Flow Monitor Architecture

3 *From “FlowMonitor — a network monitoring framework for the Network Simulator 3 (NS-3)”, Gustavo Carneiro, Pedro Fortuna and Manuel Ricardo.

Page 4: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

Flow Monitor Data Structures

4 *From “FlowMonitor — a network monitoring framework for the Network Simulator 3 (NS-3)”, Gustavo Carneiro, Pedro Fortuna and Manuel Ricardo.

Page 5: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

Node A, Node B and Node C are installed the Flow Monitor framework

Per-probe flow statistics

5 *From “FlowMonitor — a network monitoring framework for the Network Simulator 3 (NS-3)”, Gustavo Carneiro, Pedro Fortuna and Manuel Ricardo.

Page 6: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

timeFirstTxPacket, timeLastTxPacket begin and end times of the flow from the point of view of the sender

timeFirstRxPacket, timeLastRxPacket begin and end times of the flow from the point of view of the receiver

delaySum, jitterSum sum of delay and jitter values

txBytes, txPackets number of transmitted bytes and packets

rxBytes, rxPackets number of received bytes and packets

lostPackets number of definitely lost packets

timesForwarded the number of times a packet has been

reportedly forwarded, summed for all packets in the flow

FlowMonitor::FlowStats Attributes

6 *From “FlowMonitor — a network monitoring framework for the Network Simulator 3 (NS-3)”, Gustavo Carneiro, Pedro Fortuna and Manuel Ricardo.

Page 7: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

delayHistogram, jitterHistogram, packetSizeHistogram

Histogram versions for the delay, jitter, and packet sizes, respectively

packetsDropped, bytesDropped discriminates the losses by a reason code

DROP NO ROUTE no IPv4 route found for a packet

DROP TTL EXPIRE a packet was dropped due to an IPv4 TTL field decremented and reaching zero

DROP BAD CHECKSUM a packet had a bad IPv4header checksum and had to be dropped

FlowMonitor::FlowStats Attributes

7 *From “FlowMonitor — a network monitoring framework for the Network Simulator 3 (NS-3)”, Gustavo Carneiro, Pedro Fortuna and Manuel Ricardo.

Page 8: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

Performance Metrics Calculation

8 *From “FlowMonitor — a network monitoring framework for the Network Simulator 3 (NS-3)”, Gustavo Carneiro, Pedro Fortuna and Manuel Ricardo.

Page 9: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

Task: study impact of number of clients on average throughput with flowmon

Experiment setup

2-14 mobile clients

UDP CBR stream

512 Kbps per client

Packet size: 512 bytes

Walk-Through Example V (1)

9

Page 10: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

Create mythird2.cc from mythird4-flowmon.cc

Modify the source so that OnOff application is installed on all WiFi stations

Change the line:

to

Walk-Through Example V (2)

10

$ cp scratch/mythird2.cc scratch/mythird4-flowmon.cc

ApplicationContainer apps = onoff.Install(wifiStaNodes);

ApplicationContainer apps = onoff.Install(wifiStaNodes.Get(nWifi-1));

Page 11: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

Adding Flow Monitor include file

Installing Flow Monitor module to all nodes before Simulator::Run();

Walk-Through Example V (3)

11

FlowMonitorHelper flowmon;

Ptr<FlowMonitor> monitor = flowmon.InstallAll ();

Simulator::Run();

#include "ns3/flow-monitor-module.h"

Page 12: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

Extract statistical result after Simulator::Run();

Walk-Through Example V (4)

12

Simulator::Run();

monitor->CheckForLostPackets ();

Ptr<Ipv4FlowClassifier> classifier = DynamicCast<Ipv4FlowClassifier>

flowmon.GetClassifier());

std::map<FlowId, FlowMonitor::FlowStats> stats = monitor->GetFlowStats ();

uint64_t bytesTotal = 0;

double lastRxTime=-1;

double firstRxTime=-1;

for (std::map<FlowId,FlowMonitor::FlowStats>::const_iterator i=stats.begin();i!=stats.end();

++i)

{

if (firstRxTime < 0)

firstRxTime = i->second.timeFirstRxPacket.GetSeconds();

else if (firstRxTime > i->second.timeFirstRxPacket.GetSeconds() )

firstRxTime = i->second.timeFirstRxPacket.GetSeconds();

if (lastRxTime < i->second.timeLastRxPacket.GetSeconds() )

lastRxTime = i->second.timeLastRxPacket.GetSeconds();

bytesTotal = bytesTotal + i->second.rxBytes;

}

Find 1st packet arrival time

Find last packet arrival

time

Page 13: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

Report the number of WiFi stations in addition to the average throughput

Run the simulation script

Walk-Through Example V (5)

13

Simulator::Run();

.

.

.

std::cout << "Num clients = " << nWifi << " "

<< "Avg throughput = "

<< bytesTotal*8/(lastRxTime-firstRxTime)/1024

<< " kbits/sec" << std::endl;

.

.

.

Simulator::Destroy();

Page 14: ns3: Flow Monitor Module Part4 - 2 - Kasetsart Universityanan/myhomepage/wp-content/uploads/...Flow Monitor Data Structures 4 *From “FlowMonitor — a network monitoring framework

Study impact of number of mobile stations to packet delivery ratio

Hands-on Exercise

14


Recommended