Applicable versions | NetSim Standard | Netsim Pro |
Applicable Releases | v12 | v13 |
NetSim has a in-built virtual traffic generator which supports different traffic models.
Listed below are the different application methods present in the traffic generator:
- Unicast
- Multicast
- Broadcast
Note that Multicast applications are limited to certain networks only.
Listed below are the different Application models that are available:
- CBR
- Custom
- Peer to Peer
- HTTP
- CoAP
- FTP
- Video
- Voice
- Database
- Sensor App
- Emulation
- Interactive Gaming
Note that some of the Application models are limited to certain network modules only. For Eg: Sensor App is limited to WSN and IoT networks.
Following are some of the Application parameters that are found in simple Application types such as Custom, CBR, FTP, Sensor_App and Database:
- Start Time - Time at which an application starts and generates the first packet
- End Time - Time at which the application stops generating packets
- Inter Arrival Time Value - Time between two packets that are generated. Can be constant or variable based on the distribution selected.
- Inter Arrival Time Distribution - Distribution used for packet generation time.
It is based on these parameters that the packets are generated in the Application Layer.
Let us consider the following example:
Start Time: 0 Seconds
End Time: 100000 Seconds
Inter Arrival Time:
Value: 1000000 micro Seconds
Distribution: CONSTANT
The function fn_NetSim_Application_StartDataAPP() (file Database_FTP_Custom.c) is called at the time as specified by the Application Parameter "Start Time" (0 in this case).
A packet is generated and a new event "event_APP_START" is added at time specified by "Start Time" (0 in this case).
In the function, fn_NetSim_Application_Run(), (file Application.c)under case TIMER_EVENT, When event_APP_START is triggred, a new event "APPLICATION_OUT_EVENT" is added at time as specified by the "event_APP_START" event time (0 in this case) with the previously generated packet.
In the function, fn_NetSim_Application_Run(), under case APPLICATION_OUT_EVENT, a new event "TRANSPORT_OUT_EVENT" is added at time as specified by the "APPLICATION_OUT_EVENT" event time (0 in this case) with the previously generated packet.
Further a call to function, fn_NetSim_Application_GenerateNextPacket() (file Application.c) is done inside the same case, where a new packet is generated and a new event "APPLICATION_OUT_EVENT" is added to send the generated packet at current event time (0 in this case) + arrival time (1 sec in this case) calculated based on the Inter arrival time "Value" and "Distribution".
This process continues, with each "APPLICATION_OUT_EVENT" event adding the next "APPLICATION_OUT_EVENT" till the Application End Time is reached or Simulation End Time is reached.
A packet is generated and a new event "event_APP_START" is added at time specified by "Start Time" (0 in this case).
In the function, fn_NetSim_Application_Run(), (file Application.c)under case TIMER_EVENT, When event_APP_START is triggred, a new event "APPLICATION_OUT_EVENT" is added at time as specified by the "event_APP_START" event time (0 in this case) with the previously generated packet.
In the function, fn_NetSim_Application_Run(), under case APPLICATION_OUT_EVENT, a new event "TRANSPORT_OUT_EVENT" is added at time as specified by the "APPLICATION_OUT_EVENT" event time (0 in this case) with the previously generated packet.
Further a call to function, fn_NetSim_Application_GenerateNextPacket() (file Application.c) is done inside the same case, where a new packet is generated and a new event "APPLICATION_OUT_EVENT" is added to send the generated packet at current event time (0 in this case) + arrival time (1 sec in this case) calculated based on the Inter arrival time "Value" and "Distribution".
This process continues, with each "APPLICATION_OUT_EVENT" event adding the next "APPLICATION_OUT_EVENT" till the Application End Time is reached or Simulation End Time is reached.
Related Articles: