Applicable Versions
NetSim Pro
NetSim Standard*


Applicable Releases
v12
v13


Applicable Toolbox
Internetworks
5G_NR_mmWave
 MANET
IoT



Introduction

This article explains how NetSim users can create large scale network scenarios in the Internetworks library using a script/patch program. The step by step procedure to be followed to generate large scale network scenarios for networks such as Internetworks, 5GNR, MANETs, and IoT.


Note: 
This program does not have inbuilt error handling and is not covered under our regular support. Go through the Parameter section carefully, before attempting to generate large network scenarios.  


What are the system requirements?


Number of NodesProcessorRAMStorage Type
< 100Intel i3 Equivalent and above8 GBSSD
100 to 2500Intel i5 Equivalent and above16 GBSSD
> 2500Intel Xeon Equivalent and above32 GBSSD


Note: This specification is based on internal testing and customer usability reports on internetworks (not 5G NR). These are the specifications to load and run simulations in NetSim.


How to download and start using the patch program?

  1. Follow the instructions specified in the following link to clone/download the project folder from GitHub using Visual Studio:

    https://tetcos.freshdesk.com/support/solutions/articles/14000099351-how-to-clone-netsim-file- exchange-project-repositories-from-github-

     

    Other tools such as GitHub Desktop, SVN Client, Sourcetree, Git from the command line, or any client you like to clone the Git repository.

     

    Note: It is recommended not to download the project as an archive (compressed zip) to avoid incompatibility while importing workspaces into NetSim.

     

    Secure URL for the GitHub repository:

    v12.1: https://github.com/NetSim-TETCOS/Network_Scenario_generator_v12.1.git

    v12.2: https://github.com/NetSim-TETCOS/Network_Scenario_generator_v12.2.git

    v13.0: https://github.com/NetSim-TETCOS/Network_Scenario_generator_v13.0/raw/main/Network_Scenario_generator_v13.0.zip


  1. The project directory consists of Documentation, Network Scenario Generator Scripts and associated source codes.

     
  2. The Network Scenario Generators directory consists of separate scripts to generate Network Configurations for Networks such as Internetworks, 5G NR, MANETs and IoT.
  3. Each of the folders inside contains files and folders related to the respective network technology
    • ConfigHelper: A folder that contains files used by the patch to create a scenario. Do not RENAME or DELETE any of the files in this folder.
    • NetSim_Scenario_Generation.exe: This is the actual patch program used to generate large scale scenarios.


How to run the patch program?


Users need to run this patch either by using command prompt or by writing a batch file. In this article, command prompt is used to run the patch program.

  • Open command prompt in the directory containing NetSim_Scenario_Generation.exe
  • Enter the command as syntax is shown 

INTERNETWORKS

Syntax

NetSim_Scenario_Generation.exe <space> <Number of Router Interface> <Space> <Number of Hops> <Space> <Number of Nodes> <Space> <Number of application> <Space><ConfigHelper_Path> <Space> <Experiment Name> <Space><NetSim_Version_Name><Space><NetSim_Version_Number> <Space> <Simulation Time>


Parameters

ParameterDescription
<Number of Router Interfaces>Specifies the number of interfaces of each router where the minimum is 3 and the maximum is 24.
<Number of Hops>Specifies the number of hops to reach the destination. i.e 2, 4 or 6.
<Number of Nodes>Specifies the number of Wired nodes to generate less than 1,00,000 Nodes and a minimum of 3 nodes.
Formula: Math.Pow(No. of interface-1,max_hop/2)*(No. of interface-1) 
<Number of applications>Specifies the number of applications to model with a minimum of 1 and a maximum of 1,00,000 Applications.
Formula: No. of node*(No. of node-1)/2)
<ConfigHelper_Path>Specifies the path to the ConfigHelper folder in the directory.
Eg: C:\Users\SPEED MT5811\Desktop\Internetworks Scenario Generator
<Experiment Name>Specifies the name of the experiment.
<NetSim_Version_Name>Specifies the NetSim Version, For example 'PRO'
<NetSim_Version_Number>Specifies NetSim Version Number installed in terms of major, minor and build numbers
Eg: 12.1.21 
<Simulation Time> in secondsSpecifies the simulation time in seconds to simulate the network scenario  
30s < T <100000s


Example of Network_Scenario_Generation.exe Output

EXAMPLE: This example will create 1000 Wirednodes scenario
C:\Users\User\Desktop\Internetworks Scenario Generator>NetSim_Scenario_Generation.exe 24 4 1000 1 "C:\Users\User\Desktop\Internetworks Scenario Generator" "1000NODES" "PRO" "12.1.21" 100  
This Example will generate a network with 11155 Routers and 1500 Wired Nodes. NetSim_Scenario_Generation.exe 23 6 1500 10 "C:\Users\MT5815\Desktop\Network_Scenario_generator_v13.0\Network_Scenario_Generators\NetSim_Internetworks_v13.0" "Internetworks" "PRO" "13.0" 100


Execution of patch program


How to increase grid size?

While generating scenario users can also change the network design window's grid size from the default size of 500m * 500m. The steps to change the default grid size:

  1. Go to ConfigHelper folder -> Edit guiInfo.txt
  2. Search for <ENVIRONMENT_LENGTH>500</ENVIRONMENT_LENGTH>
  3. In the above tag, you can change the value from 500 m to your desired input with a maximum of 100000 m.


Similarly, users can also change parameters related to Application, Link, and Device by editing respective files in the ConfigHelper folder. A short explanation about the contents of the ConfigHelper directory is given in the following table:



File NameDescription
Node Folder
Parameters related to Wired Node properties.( All 5 Layers)
Router FolderParameters related to Router properties. (Incl Routing protocol)
Switch FolderParameters related to switching properties.
Application.txt and Application_Config.txtParameters related to Application Properties
guiInfo.txtParameters related to Environment settings
Link.txtParameters related to link properties
Protocol_Configuration.txtParameters related to general protocol configuration like ARP.
Statistics_Collection.txtParameters related to advanced options like Packet Trace, Event Trace, and Emulator PCAP files.



The output of the Patch Program

When the patch program is run, the output Configuration.netsim file will be generated in the same folder where NetSim_Scenario_Geneation.exe is present.


5G_NR_mmWave

Syntax

NetSim_Scenario_Generation_5GLTE.exe <space> <Number of Router> <Space> <Number of Wired node> <Space> <Number of gNB> <Space><Number of UE><space><Number of EPC><space><Number of application> <Space><ConfigHelper_Path> <Space> <Experiment Name> <Space><NetSim_Version_Name><Space><NetSim_Version_Number> <Space> <Simulation Time>


Parameters

ParameterDescription
<Number of Routers>Specifies the number of routers.
<Number of Wired nodes>Specifies the number of Wired nodes.
<Number of gNB>Specifies the number of gNB.
<Number of UE>Specifies the number of UE.
<Number of EPC>Specifies the number of EPC.
<Number of applications>Specifies the number of applications to model with a minimum of 1 and a maximum of 1,00,000 Applications.
Formula: No. of node*(No. of node-1)/2)
<ConfigHelper_Path>Specifies the path to the ConfigHelper folder in the directory.
Eg: C:\Users\SPEED MT5811\Desktop\Internetworks Scenario Generator
<Experiment Name>Specifies the name of the experiment.
<NetSim_Version_Name>Specifies the NetSim Version, For example, 'PRO'
<NetSim_Version_Number>Specifies NetSim Version Number installed in terms of major, minor and build numbers
Eg: 12.1.21 
<Simulation Time> in secondsSpecifies the simulation time in seconds to simulate the network scenario  
30s < T <100000s


Example of NetSim_Scenario_Generation_5GLTE.exe Output

EXAMPLE: This example will create 100 UE in the scenario with 1 
C:\Users\User\Desktop\Internetworks Scenario Generator>NetSim_Scenario_Generation_5GLTE.exe 1 1 1 100 1 1 "C:\Users\User\Desktop\5G Scenario Generator" "100NODES" "PRO" "12.1.21" 100  

Similarly, users can also change parameters related to Application, Link, and Device by editing respective files in the ConfigHelper folder. A short explanation about the contents of the ConfigHelper directory is given in the following table:



File NameDescription
EPC, GNB, UEParameters related to its properties.
WiredNode
Parameters related to Wired Node properties. ( All 5 Layers)
Router FolderParameters related to Router properties. (Incl Routing protocol)
Switch FolderParameters related to switching properties.
Application.txt and Application_Config.txtParameters related to Application Properties
guiInfo.txtParameters related to Environment settings
Link.txtParameters related to link properties
Protocol_Configuration.txtParameters related to general protocol configuration like ARP.
Statistics_Collection.txtParameters related to advanced options like Packet Trace, Event Trace, and Emulator PCAP files.


How to increase grid size?

While generating scenario users can also change the network design window's grid size from the default size of 500m * 500m. The steps to change the default grid size:

  1. Go to ConfigHelper folder -> Edit guiInfo.txt
  2. Search for <ENVIRONMENT_LENGTH>500</ENVIRONMENT_LENGTH>
  3. In the above tag, you can change the value from 500 m to your desired input with a maximum of 100000 m.


The output of the Patch Program

When the patch program is run, the output Configuration.netsim file will be generated in the same folder where NetSim_Scenario_Geneation.exe is present.

MANETs:

NetSim_Scenario_Generation_Manet.exe<space><Number_of_Nodes><space><Number_of_applications><space><ConfigHelper_Path><space><ExperimentName><Space><NetSim_Version_Name><Space><NetSim_Version_Number><Space><Simulation Time>


Parameter

Description

<Number of Nodes>

Specifies the number of Wireless nodes to generate, which takes a value in the range 2 to 1,00,000.

<Number of applications>

Specifies the number of applications to model with a minimum of 1 and a maximum of 1,00,000 Applications.

<ConfigHelper_Path>

Specifies the path to the ConfigHelper folder in the directory.
Eg: C:\Users\Admin\Desktop\Internetworks Scenario Generator

<Experiment Name>

Specifies the name of the experiment.

<NetSim_Version_Name>

Specifies the NetSim Version, For example, 'PRO' or ‘STANDARD’

<NetSim_Version_Number>

Specifies NetSim Version Number installed in terms of major, minor and build numbers
Eg: 12.1.21 

<Simulation Time> in seconds

Specifies the simulation time in seconds to simulate the network scenario  
 30s < T <100000s

 Example of NetSim_Scenario_Generation_Manet.exe Output

To generate a network scenario with 100 wireless nodes and 100 applications following arguments are passed as input to the NetSim_Scenario_Generation.exe file

C:\Users\MT5815\Desktop\Network_Scenario_generator_v12.2\Network_Scenario_Generators\NetSim_MANET_v12.2>NetSim_Scenario_Generation_MANET.exe 100 100
"C:\Users\MT5815\Desktop\Network_Scenario_generator_v12.2\Network_Scenario_Generators\NetSim_MANET_v12.2" "MANET" "PRO" "12.2" 10



The output of the Patch Program

After successful execution of the command, the output Configuration.netsim file gets created in the same location where the NetSim_Scenario_Generation_MANET.exe file is present.


IoT:

NetSim_Scenario_Generation_IOT.exe<space><Number_of_Routers><space><Number_of_WiredNodes><space><Number_of_Sensors><space><Number_of_6LoWPAN_Gateways><space><Number_of_applications><space><ConfigHelper_Path><Space><Experiment_Name><Space><NetSim_Version_Name><Space><NetSim_Version_Number><Space><Simulation_Time>


Parameter

Description

<Number of Routers>

Specifies the number of routers to generate, which takes a value in the range 1 to 1,00,000.

<Number of Wired Nodes>

Specifies the number of Wired nodes to generate, which takes a value in the range 1 to 1,00,000.

<Number of Sensor Nodes>

Specifies the number of Sensor nodes to generate, which takes a value in the range 1 to 1,00,000.

<Number of 6LoWPAN Gateways>

Specifies the number of 6LoWPAN gateways. This can take the value 1 only. 

<Number of applications>

Specifies the number of applications to model with a minimum of 1 and a maximum of 1,00,000 Applications.

<ConfigHelper_Path>

Specifies the path to the ConfigHelper folder in the directory.
Eg: C:\Users\SPEED MT5811\Desktop\Internetworks Scenario Generator

<Experiment Name>

Specifies the name of the experiment.

<NetSim_Version_Name>

Specifies the NetSim Version, For example, 'PRO' or ‘STANDARD’

<NetSim_Version_Number>

Specifies NetSim Version Number installed in terms of major, minor and build numbers
Eg: 12.1.21 

<Simulation Time> in seconds

Specifies the simulation time in seconds to simulate the network scenario
 30s < T <100000s

 

To generate a network scenario with 2 routers, 1 wired node, 1 6LoWPAN gateway, 100 sensors and 100 applications following arguments are passed as input to the NetSim_Scenario_Generation.exe file.

C:\Users\MT5815\Desktop\Network_Scenario_generator_v12.2\Network_Scenario_Generators\NetSim_IoT_v12.2>NetSim_Scenario_Generation_IOT.exe 2 1 100 1 100 "C:\Users\MT5815\Desktop\Network_Scenario_generator_v12.2\Network_Scenario_Generators\NetSim_IoT_v12.2" "IoT" "PRO" "12.2" 10      



The output of the Patch Program

After successful execution of the command, the output Configuration.netsim file gets created in the same location where the NetSim_Scenario_Generation_5GLTE.exe file is present.


Importing and Running Simulation

How to import and run large scale simulation in NetSim?


The generated configuration file can be imported into NetSim and simulated as explained below:

  1. Run NetSim Pro installed in your system
  2. Click on Open Simulation
  3. Click on Import Experiment 
  4. Select the Configuration File option
  5. Browse and select the Configuration file that you generated.
  6. Enter an Experiment Name and Click on OK.



After importing, you can find the experiment under the Open Simulation list. The scenario can be loaded in NetSim by clicking on the experiment name



The generated network scenario will be loaded in NetSim design window as shown below. 


Internetworks

1 central Router connects to 9 Routers (circle 1). Each of these 9 routers, in turn, connect to 9 routers ( blue circle 2). Each of these routers (at circle 2) in turn connect to nodes ( blue circle 3). The black sections are the connecting link and node names. These can be viewed by zooming in NetSim but the zoomed rendering may take a long time.


5G_NR_mmWave

.

MANETs


Internet of Things (IoT):



Note: Upon opening, any scenario generated using this script program, initially it displays a warning which can be ignored as shown below.


Customizing the Network Scenario Generator:

The Source Codes directory that is part of the project consists of the source codes associated with the Scenario Generators of Internetworks, 5G NR, MANETs and IoT. 


 

The source codes are written in C# and can be loaded in visual studio by double-clicking on the visual studio solution file (*.sln) from the respective network folder.


NetworkScenario.cs is the main file that contains the source codes to generate the Configuration.netsim file as per the user input.


AddNetworkElement.cs is the file which reads from the text files present in the ConfigHelper directory of the scenario generator and accordingly updates the Configuration.netsim file for the addition of nodes, links, applications, etc. This file also consists of functions for generating IP addresses, MAC addresses, etc.


Similar to the Network Scenario Generators folder each Source Code Folder contains a ConfigHelper directory in the <Network_Source_Code_Folder>/bin/Debug path with text files containing the properties related devices, links and applications.


If source codes are modified, the codes must be rebuilt and the newly generated Network Scenario Generator in the <Network_Source_Code_Folder>/bin/Debug path should be used to generate a configuration file for changes done to take effect.


 

 


Additional References

How to execute a series of simulations without manual intervention?



NetSim Standard* -  Our standard version support is up to 500 nodes. We can't provide detailed support when you scale beyond this.