How to Calculate Network Throughput in ns3

To calculate throughput in ns3, we need to measure the amount of data successfully received at the destination node over a specific period. Throughput is typically measured in bits per second (bps) and for evaluating the performance of network protocols and applications it is an essential metric. Here is the complete guide to calculate throughput in ns3.

Steps for calculation

  1. Set up your ns3 :
  • Make sure that ns3 is installed in the computer. If not, install it.
  1. Create a new ns3 script :
  • In the scratch directory of ns3, create a new script.
  1. Include necessary libraries :
  • In your script, include the necessary libraries.
  1. Define network topology :
  • For your network topology, create multiple nodes.
  1. Simulate data transmission :
  • To simulate the receiver and generate traffic from the source, use PacketSink function.
  1. Measure throughput :
  • To calculate the throughput, track the amount of data received over time.

Example for calculating throughput in ns3

Here is the example for the calculation of throughput:

#include “ns3/core-module.h”

#include “ns3/network-module.h”

#include “ns3/internet-module.h”

#include “ns3/point-to-point-module.h”

#include “ns3/applications-module.h”

using namespace ns3;

NS_LOG_COMPONENT_DEFINE (“ThroughputCalculationExample”);

void CalculateThroughput(Ptr<PacketSink> sink, Time interval)

{

static uint64_t lastTotalRx = 0;

uint64_t totalRx = sink->GetTotalRx();

uint64_t rxBytes = totalRx – lastTotalRx;

lastTotalRx = totalRx;

double throughput = (rxBytes * 8) / interval.GetSeconds(); // bits per second

std::cout << Simulator::Now().GetSeconds() << “s: Throughput = ” << throughput / 1e6 << ” Mbps” << std::endl;

Simulator::Schedule(interval, &CalculateThroughput, sink, interval); // Schedule next calculation

}

void GenerateTraffic(Ptr<Socket> socket, uint32_t pktSize, uint32_t pktCount, Time interPacketInterval)

{

if (pktCount > 0)

{

socket->Send(Create<Packet>(pktSize));

Simulator::Schedule(interPacketInterval, &GenerateTraffic, socket, pktSize, pktCount – 1, interPacketInterval);

}

}

int main(int argc, char *argv[])

{

uint32_t nNodes = 2; // Number of nodes

double simulationTime = 10.0; // Total simulation time in seconds

Time calculationInterval = Seconds(1.0); // Interval to calculate throughput

uint32_t packetSize = 1024; // Packet size in bytes

uint32_t numPackets = 1000; // Number of packets to send

Time interPacketInterval = MilliSeconds(10); // Interval between packets

CommandLine cmd;

cmd.AddValue(“nNodes”, “Number of nodes”, nNodes);

cmd.AddValue(“simulationTime”, “Total simulation time”, simulationTime);

cmd.AddValue(“calculationInterval”, “Interval to calculate throughput”, calculationInterval);

cmd.AddValue(“packetSize”, “Size of each packet”, packetSize);

cmd.AddValue(“numPackets”, “Number of packets to send”, numPackets);

cmd.AddValue(“interPacketInterval”, “Interval between packets”, interPacketInterval);

cmd.Parse(argc, argv);

NodeContainer nodes;

nodes.Create(nNodes);

PointToPointHelper pointToPoint;

pointToPoint.SetDeviceAttribute(“DataRate”, StringValue(“5Mbps”));

pointToPoint.SetChannelAttribute(“Delay”, StringValue(“2ms”));

NetDeviceContainer devices;

devices = pointToPoint.Install(nodes);

InternetStackHelper stack;

stack.Install(nodes);

Ipv4AddressHelper address;

address.SetBase(“10.1.1.0”, “255.255.255.0”);

Ipv4InterfaceContainer interfaces = address.Assign(devices);

uint16_t port = 9;

Address sinkAddress(InetSocketAddress(interfaces.GetAddress(1), port));

PacketSinkHelper packetSinkHelper(“ns3::UdpSocketFactory”, sinkAddress);

ApplicationContainer sinkApps = packetSinkHelper.Install(nodes.Get(1));

sinkApps.Start(Seconds(0.0));

sinkApps.Stop(Seconds(simulationTime));

Ptr<Socket> sourceSocket = Socket::CreateSocket(nodes.Get(0), TypeId::LookupByName(“ns3::UdpSocketFactory”));

sourceSocket->Connect(sinkAddress);

Simulator::ScheduleWithContext(sourceSocket->GetNode()->GetId(), Seconds(1.0), &GenerateTraffic, sourceSocket, packetSize, numPackets, interPacketInterval);

Simulator::Schedule(calculationInterval, &CalculateThroughput, DynamicCast<PacketSink>(sinkApps.Get(0)), calculationInterval);

Simulator::Stop(Seconds(simulationTime));

Simulator::Run();

Simulator::Destroy();

return 0;

}

Explanation

  1. Nodes and links :

Two nodes are created. Point-to-point links between nodes are configured. o Set up the network with nodes connected using point-to-point links.

  1. Applications :

On one node, a PacketSink is installed to simulate receiver. and On another node, UDP sockets are created to send packets.

  1. Traffic generation :

To send packets from the source node to the sink node at regular intervals,  GenerateTraffic is implemented.

  1. Throughput calculation :

To calculate the throughput by measuring the amount of data received over time, CalculateThroughput is implemented. Scheduled the throughput calculation at regular intervals using the Simulator::Schedule function.

  1. Running the Simulation :

The simulation runs by sending and receiving the packets. Throughput is calculated and printed at regular intervals.

So now we had performed analysis on calculating throughput in ns3 by measuring the amount of data successfully received at the destination node over a specific period. Also, we provide more related information on throughput.

If you require additional support in performance analysis focused on throughput in ns3, we invite you to share your specifications with us. ns3simulation.com will provide a detailed analysis of the results.

Assignments Support

 

  • OMNET++ Assignments
  • NS3 Assignments
  • Ns2 Assignments
  • COOJA SIMULATOR Assignments
  • CONTIKI OS Assignments
  • MININET Assignments
  • OPNET Assignments
  • QUALNET Assignments
  • GNS3 Assignments
  • NetSim Assignments
  • Matlab Assignments
  • Python Assignments

You’re Hub for Diverse Network Simulators Network Simulators Network Simulators

NS3 Services

We Provide

  • NS3 Coding
  • NS3 Simulation Services
  • NS3 Simulation Results
  • NS3 Modeling
  • NS3 Code Implementation
  • NS3 Designs
  • NS3 Research
  • NS3 PhD Guidance
  • NS3 Assignments
  • NS3 Homework
  • NS3 Projects
  • NS3 Thesis
  • NS3 Simulation Services
  • NS3 Simulation Help
  • NS3 Simulation Writers

Writing Services

We Provide

  • Research Proposal
  • Simulation / Results
  • Paper Writing
  • Paper Publication
  • Thesis Writing
  • MASTER Thesis
  • Dissertation Writing
NS3 Research

Get Expert Advice. Instantly.

Powering your research with expert end-to-end support for ns-3 simulation projects.

Helping 1M+ Research Scholars
Research Topics Project Paper Thesis
3D Underwater WSN 150 499 541
Hybrid Beamforming 110 398 432
Intelligent Agent WSN 135 412 510
Blockchain technology 121 467 496
Optical Networks 149 398 465
Vehicular sensor Network 250 491 534
Industrial IoT 114 378 431
Service Discovery 170 419 489
Named Data Networking 121 386 423
SDN-NDN 110 427 498
D2D Communication 131 389 425
M2M Communication 108 389 411
UWB communication 124 495 510
5G Network Slicing 137 437 492
Delay Tolerant Network 105 469 533
Multi-Microgrid 111 326 379
Content-centric network 100 296 304
5G Beyond networks 131 379 409
Cloud-RAN 127 352 389
Fog-RAN 145 310 378
FANET 178 395 400
Cognitive adhoc network 153 325 363
Vehicular NDN 175 310 425
Multimedia sensor network205 275 315
V2X communication 151 200 308
Software-defined WSN 176 248 358
5G 201 289 365
Fibre Channel / Cellular / 5G topics
Cellular Networks 185 235 397
CRN 204 268 348
IoT 163 287 395
Intrusion Detection system110 257 348
LiFi 101 279 386
LTE 159 208 345
MANET 175 247 395
MIMO 142 298 354
Mobile Computing 114 254 308
RPL 189 275 357
SDN 109 258 346
VANET 152 278 359
Vertical Handover 108 241 367
Wireless Body Area Network121 198 348
Wireless Communication 178 248 371
Wireless Sensor Networks106 213 369
NS3 Research
Professional guidance and complete assistance for your ns-3 simulation research and development.

Complete NS-3 Simulation Support

Contact

End-to-End Project Assistance

From Topic selection to Final submission support.

Code Debugging & Error Fixing

Fix build errors, runtime issues, and simulation crashes.

Scenario Design & Custom Topologies

Create real-time research-based network scenarios.

Performance Optimization

Improve simulation efficiency and execution time.

Thesis & Journal Paper Support

Help with result interpretation, graphs, and documentation.

Online Demo & Explanation Support

Project explanation for viva, review, and presentations.

Network Communication Domains

Your Trusted Your Trusted Your Trusted NS-3 Research Companion

Your one-stop solution for NS-3 protocols, routing strategies, and parameter optimization—fully tailored to your research needs.

  • Physical Layer
  • Data Link Layer
  • Network Layer
  • Transport Layer
  • Session Layer
  • Presentation Layer
  • Application Layer
  • Traffic Analysis Attack
  • Sniffer Attack
  • SS7 Attack
  • DDoS
  • Spoofing Wireshark
  • Ping Sweep Attack
  • Packet Injection
  • Network Probe Attack
  • ICMP Attack
  • ICMP Redirect Attack
  • Passive Attacks
  • Botnets
  • Eavesdropping Attack
  • Wireless Attacks
  • Internet Attacks
  • Hello Flood Attack
  • Hping3 SYN Flood Attack
  • Intrusion Attacks
  • Active Attacks
  • Password Sniffing Attacks
  • Packet Flooding Attack
  • Birthday Attack
  • Fragmentation Attack
  • Ransomware Attack
  • Firewall Attack
  • Teardrop Attack
  • Masquerade Attack
  • Quench Attack
  • Bus Topology
  • Star Topology
  • Ring Topology
  • Mesh Topology
  • Tree Topology
  • Hybrid Topology
  • Point-to-Point Topology
  • Point-to-Multipoint Topology
  • Daisy Chain Topology
  • Fully Connected Topology
  • Partial Mesh Topology
  • Extended Star Topology
  • Hierarchical Topology
  • Line Topology
  • Circular Topology
  • Grid Topology
  • Cellular Topology
  • Cluster Topology
  • Peer-to-Peer Topology
  • Overlay Topology
  • Logical Topology
  • Physical Topology
  • Wireless Mesh Topology
  • Fibre Channel Arbitrated Loop (FC-AL) Topology
  • Token Ring Topology
  • Dual Ring Topology
  • Flat Topology
  • Mixed Topology
  • Zigbee Topology
  • Network-on-Chip (NoC) Topology
  • Switched Mesh Topology
  • Irregular Topology
  • Bus-Star Hybrid Topology
  • Hierarchical Star Topology
  • Ring-Mesh Hybrid Topology
  • Star-Bus Hybrid Topology
  • Extended Bus Topology
  • Wireless Topology
  • Bluetooth Topology
  • Fiber Optic Topology
  • Network traffic analysis
  • Network Routing
  • Network designs optimization
  • Network Topology
  • QoS Attainment
  • QoE Attainment
  • Physical layer technologies
  • Network Security Analysis
  • Multi-RAT
  • AP Selection
  • Delay Assessment
  • Packets Transmission
  • Mobility Handoff Management
  • Mobility Management
  • Distributed Systems
  • Energy Management
  • Channel Equalization
  • Trust model
  • Clustering
  • MAC protocol design
  • 3D Beam alignment
  • Blockage mitigation
  • Offloading
  • Data fusion
  • Bundling protocols
  • DTN data management
  • DTN architectures
  • DTN prototypes
  • Network Content Sharing
  • Data Synchronization
  • Trust Models Design
  • IP Addressing
  • Namespaces
  • PID Management
  • Rendezvous, Discovery
  • Bootstrapping
  • Data Transmission Privacy
  • Social Network Analysis
  • Ransomware Target
  • StableBitcoins
  • Interoperability
  • Consensus Protocol Design
  • Protocol Optimization
  • Lightweight Blockchain Design
  • VNFs Orchestration
  • Containerized Services
  • Quantum Communication
  • Physical Layer Communication
  • NFV Communication
  • Scalability Improvement
  • Network Softwarization
  • Interact Different Networks
  • Fusion of Fronthaul
  • Backhaul
  • Small Cell Nets
  • Allocation in HetNets
  • slicing HetNets
  • Interoperability B5G
  • Coexistence of OFDMA
  • NAMO
  • Traffic differentiation
  • Traffic Offloading
  • M2M Radio Link
  • Mesh Communication
  • Sensor Management
  • Device Management
  • Spectral Efficiency
  • Network Resource Allocation
  • Cross Layer Design
  • Multimedia Transmission
  • Next Generation
  • Channel Rate Adaptation
  • Multi-Hop Energy
  • Flying Vehicle Communication
  • Submarine Data Transmission
  • Visual MIMO
  • Large-Scale Networks
  • mmWave
  • Node Deployment
  • OSI layers Security
  • Trust based Routing
  • Reputation based Routing
  • Network Port Access
  • Multi-level Firewall
  • En-Route Filtering
  • End-to-End Encryption
  • Radio Fingerprinting
  • Scalable Parameterization
  • Channel Interference Avoidance
  • Radio Resource Allocation
  • Frequency Hopping
  • Data Suppression
  • Data Compression
  • Beamforming
  • Multimedia Routing
  • Cell Sectorization
  • Satellite Constellations 5G
  • Satellite Constellations B5G
  • AI based Resource Allocation
  • Energy Harvesting
  • Energy Consumption
  • Route Readjustment
  • Path Prediction
  • Mobile Sink Location
  • Relocation
  • Intelligent Agents Deployed
  • 3D Wireless Sensor Modeling
  • 4D Wireless Sensor Modeling
  • 6TiSCH Sensors Communication
  • TSCH based Sensors Communication
  • New Waveform
  • Channel Modeling
  • Spectrum Allocation
  • Energy Harvesting in URLLC
  • Energy Harvesting eNBB
  • Security Preservation
  • Bio-Inspired Routing
  • Deep Learning based Routing
  • Route by Hybrid Protocols
  • Routing Protocols Design
  • Multi-Criteria based Routing
  • Network Structure
  • Topology based Routing
  • MIMO Routing
  • Hybrid Beamforming
  • Interference Management
  • Channel Characterization
  • Pilot Contamination
  • 3D Channel Modeling
  • HD Video Streaming
  • Mobile Data Networking
  • Carrier Aggregation
  • Channel Aggregation
  • Packet Scheduling
  • Scheduling Cell Resource
  • Uplink Synchronization
  • Downlink Synchronization
  • QoS aware Routing
  • QoS aware Clustering
  • 3D MANET Massive Users
  • 4D MANET Massive Users
  • Interoperability to D2D
  • Interoperability Cloud
  • Interoperability 5G
  • MANET-IoT
  • Massive Channel Access
  • H&off Management
  • Video Traffic Scheduling
  • Secondary Users Routing
  • PUEA Detection
  • Spectrum & Power Allocation
  • Error Control & Fault Prediction
  • Dynamic Spectrum Access
  • Channel Scheduling
  • Channel Sensing
  • Relay Selection
  • Power Allocation
  • Coverage Improvement
  • Capacity Improvement
  • Power allocation
  • scheduling
  • Content Dissemination
  • VSN
  • Mobile Sensing
  • Network Collision Avoidance
  • Traffic Congestion Info
  • Systems on a chip
  • Optical fibers
  • line switching
  • Passive optical networks
  • Rapid fault handling
  • Optics in 5G networks
  • Satellite optical
  • Low earth orbit satellite
  • M2M satellite communication
  • Heterogeneous satellite-cooperative
  • Hybrid satellite terrestrial relay network
  • Inter-satellite Optical communication
  • DWDM in Fiber
  • Packet Switching
  • Optimal Routing
  • Optical Visual MIMO
  • Burst Loss Probability
  • Flexible Branching
  • Path planning AUV
  • cluster transmission
  • Prediction sensor location
  • Range Free Localization
  • Gateway Placement
  • Mobility Control
  • Adjustment of power
  • Demodulation
  • ISI mitigation
  • Reactive obstacle prediction
  • Localization schemes
  • Channel coding
  • Aggregation
  • Co-channel interference
  • Nearest Antenna Selection
  • Spatial Modulation
  • PAPR Mitigation
  • Multiple Access
  • Filtered OFDM
  • MAC Frame Design
  • In-body, On-body & Off-body
  • Emergency Data Prediction
  • Remote Patient Monitoring
  • Energy Aware Resource Allocation
  • Power Optimized Data Transmission
  • Flow Rule Placement
  • Multimedia Flows Routing
  • Buffer Management
  • Network Traffic Analysis
  • Dynamic Offloading
  • Controller Placement
  • Emergency Message Dissemination
  • Vehicle Traffic Analysis
  • Network Penetration Testing
  • Security Information and Event Management
  • Network Threat Intelligence
  • Task Offloading Decision
  • Traffic aware Routing
  • Network Privacy
  • DODAG Fault Tolerance
  • Network Traffic Balancing
  • Traffic Control
  • Congestion Control
  • Mobility Control
  • Network Incident Response
  • Service Discovery
  • Network Design and Architecture
  • Network Management
  • Network Performance Analysis
  • Network Monitoring
  • Network Troubleshooting
  • Network Privacy
  • Network Anonymity
  • Network Secure Shell
  • Network Telnet
  • Video Conferencing
  • Network Telepresence
  • Collaboration Tools
  • Network Cloud Storage
  • Network Wireshark Analysis
  • Network Packet Tracing
  • Network Business Continuity
  • Network Traffic Shaping
  • Autonomous Network Management
  • Internet Governance
  • Secure Multi-Party Computation
  • Network Service Chaining
  • Network Slicing
  • Network Microsegmentation
  • Network Coding
  • Cross Layer Design
  • Network Neutrality
  • Network Edge Intelligence
  • Machine Learning for Network Optimization
  • Network Analytics
  • Network Digital Twins
  • Network Service Orchestration
  • Network Policy Based Management
  • Network Intent Based Networking
  • Virtualized Security
  • Ransomware Detection
  • Anti-forensic Techniques
  • Malware Detection
  • Virus Detection
  • Access Control
  • Privacy Control
  • Insider Threat
  • Intrusion Detection
  • Attacks Mitigation
  • Node Authentication
  • Behavioral Detection
  • Multi-Attacks Detection
  • Threats Analysis
  • Multi-Factor Authentication
  • CoC Preservation
  • Types of Forensics
  • Refine Forensics Architecture
  • SDN Forensics
  • IaaS Cloud Forensics
  • Lightweight Architecture
  • Public Key Cryptography
  • Symmetric Key Cryptography
  • Identity based Cryptography
  • Certificateless Cryptography
  • Cryptographic Hashing
  • Lightweight Cryptography
  • Fiber Optical Security
  • ANN based Steganography
  • Internet Traffic Transforming
  • Blockchain based IDS
  • Anomaly based IDS
  • Hybrid Signature
  • Retraining Massive Data
  • Source Location Privacy
  • Phishing Defense
  • Network Disaster Recovery
  • Network Security Architecture
  • Network Security Engineering
  • Network Security Operations
  • Network Security Awareness
  • Network Cybersecurity Frameworks
  • Network Cybersecurity Policies
  • Network Cybersecurity Compliance
  • Network Cybersecurity Auditing
  • Network Threat Hunting
  • Network Penetration Testing Methodologies
  • Network Vulnerability Assessment
  • Network Risk Assessment
  • Network Security Posture
  • Security Metrics
  • Industrial Control Systems Security
  • SCADA Network Security
  • Data Security
  • Privacy Protection
  • Application Security
  • Web Security
  • Mobile Security
  • Cloud Security
  • Endpoint Security
  • Identity and Access Management (IAM)
  • Zero Trust Security
  • Secure Coding Practice
  • Antivirus and Anti-malware
  • Security Architecture
  • Advanced Persistent Threats
  • Cyber-Physical Systems Security
  • Industrial Control Systems Security
  • SCADA Security
  • IoT Security
  • Bring Your Own Device Security
  • Blockchain Security
  • Quantum Cryptography
  • Autonomous Vehicle Security
  • Cybersecurity in Healthcare
  • Cybersecurity in Finance
  • Cybersecurity in Education
  • Cybersecurity in Government
  • Cybersecurity in Retail
  • Cybersecurity in Telecommunications
  • Artificial Intelligence Security
  • Machine Learning Security
  • Cybersecurity in Big Data
  • Cybersecurity in Cloud Computing
  • Cybersecurity in Edge Computing
  • Fog Computing Security
  • Serverless Computing Security
  • Cybersecurity in 5G Networks
  • Wireless Security
  • Security in E-Commerce
  • Security Incident Management
  • Insider Threat Management
  • Cyber Espionage
  • Cyber Warfare
  • Cybersecurity in Supply Chain Management
  • Cybersecurity in Manufacturing
  • Cybersecurity in Renewable Energy Systems
  • Embedded Systems Security
  • Firmware Security
  • Biometric Security
  • Mobile Application Security
  • Next-Generation Firewalls
NS3 Worldwide Support

Enquire Now