Ns3 Projects for B.E/B.Tech M.E/M.Tech PhD Scholars.  Phone-Number:9790238391   E-mail: ns3simulation@gmail.com

How To Import UDP HEADER.H Packages in NS3

To Import UDP-HEADER.H Packages in NS3 we have popped out the needed steps that are required. The UdpHeader class offers functions to set and get important UDP header fields like source and destination ports, length, and checksum. It allows for serialization and deserialization, making it easy to create and read UDP headers during network simulations. This class is crucial for simulating and studying UDP communication, which is commonly used in situations needing quick or real-time data transfer in NS-3. Developers working on UDP simulations should understand udp-header.h, as it provides the tools needed to manage UDP packets and their functions effectively.

Installation steps of Udp-header.h.

PRE-REQUISITES:

  1. Fresh installation of Ubuntu 22.04 LTS:

Screenshot:

Fresh installation of Ubuntu 22_04 LTS

2.NS-3.35 Installation:

Screenshot:

NS-3.35 Installation

HEADER FILE VERIFICATION:

  1. Locate to the ns3/scratch folder:

Screenshot:

2.Create the Udp-header_eg.cc file in the scratch folder:

Next we need to create the Udp-header_eg.cc file by using text editor in the ns3/scratch folder.

Screenshot:

Create the udp_eg.cc file in the scratch folder

Next we need to paste the below code to the Udp-header_eg.cc file and save the file in the ns3/scratch folder.

Code:

#include “ns3/core-module.h”

#include “ns3/udp-header.h”

#include “ns3/ipv4-address.h”

#include “ns3/packet.h”

#include <iostream>

using namespace ns3;

int main() {

    // Create a UDP Header object

    UdpHeader udpHeader;

    // Set source and destination ports

    udpHeader.SetSourcePort(12345);

    udpHeader.SetDestinationPort(80);

    std::cout << “Source Port: ” << udpHeader.GetSourcePort() << std::endl;

    std::cout << “Destination Port: ” << udpHeader.GetDestinationPort() << std::endl;

    // Create a Packet and add the UDP header to it

    Ptr<Packet> packet = Create<Packet>(100); // 100 bytes of payload

    packet->AddHeader(udpHeader);

    // Print the packet contents

    std::cout << “Packet Size: ” << packet->GetSize() << ” bytes” << std::endl;

    UdpHeader receivedHeader;

    packet->RemoveHeader(receivedHeader); // Extract the UDP header from the packet

    std::cout << “Received Source Port: ” << receivedHeader.GetSourcePort() << std::endl;

    std::cout << “Received Destination Port: ” << receivedHeader.GetDestinationPort() << std::endl;

    return 0;}

Screenshot:

3.Open the Terminal:

Next, we need to launch the terminal by right clicking the mouse in the ns3 location.

Screenshot:

Open the Terminal

Screenshot:

Open the Terminal

4.NS-3.35 Configuration && Building Process:

Next, we need to configure and build the ns3 folder to make the copied files to the scratch need to store in configuration.

Command:      “./waf configure && ./waf build”

Screenshot:

NS-3.35 Configuration && Building Process

Screenshot:

NS-3.35 Configuration && Building Process

5.Importing Udp-header.h:

Here we imported the Udp-header.h header file in this example program.

Screenshot:

Importing Udp.h

Here we highlighted the code line that GetSourcePort() class which is the part of the Udp-header.h that we will show class file that used in this code via internet folder.

Screenshot:

Importing Udp.h

Screenshot:

Importing Udp.h

Here we will show the header file by opening Udp-header.h file to show the class imported from the Udp-header.h in the example code.

Screenshot:

Importing Udp.h

6.Executing the Example Udp-header Program:

Then we need to run the Example Udp-header program to view output of the program.

Command:      “./waf –run Udp-header_eg”

Screenshot:

Executing the Example Udp Program

Here we shown the output of the example Udp-header program by using Udp-header.h.

Screenshot:

Executing the Example Udp Program