Tools and Techniques for Teaching and Research in Network Design and Simulation

Computer networking is taught for some time at universities. A network is a complex mix of applications, communications protocols and link technologies, traffic flows and routing algorithms. Teaching the networking concept, the network design process is a challenging task, requiring designers to balance user performance expectations with costs and capacities. One of the obvious approaches employed to deal with its complexity is through the use of modelling and simulation techniques. This paper examines three best educational tools that can be used in the Computer Networking course at Cardiff Metropolitan University or any University for educational purpose. The paper demonstrates that a successful teaching programme needs to combine a range of teaching tools to achieve its aims. Analysing various aspects of the course provides evaluation of the overall success of the tools. Many network design and simulation tools have been studied. Based on our research and experiment, the best educational tools were selected that could be used for the purpose of teaching in the area of computer communications networks. The wide area network modelling tool Delite, the network simulator ns-3, the topology generation tool Brite can be used together to teach students the networking concepts. These tools can not only help students to understand computer network principles but also improve their network practical skills. Currently there are various tools available that are created by different companies and groups of researchers in academia and that are intended for use as practical and/or educational tools for network design including security issues. To make this task easy, different users, researchers and companies have developed different network modelling and simulation (MS) tools. Very often, such tools are addressing different issues in the network design process which are complementary to each other. It would be useful for learning and improving the network design process by allowing the use of a variety of tools.


Introduction
Teaching computer network is very challenging because of the abstract concepts. In the teaching of basic and advanced computer networks concepts (routing, mobility, load balancing, reliability, capacity, delay and so on), students not only have to acquire the theoretical knowledge but also the practical skills to configure and manage real computer network scenarios. Successful course delivery is a key aim for all educators. The failure of only one part of a course can have disastrous effects on the attitudes of students. The most of the Universities have been delivering computer networking course that aims to teach students the basics of computer networking. Our experience has been that to provide students with a positive learning environment requires the development and integration of a large number of teaching tools. No one tool can be a perfect for teaching in the same way that no one tool will ever be the perfect for computer networking. The teaching has culminated in a strong emphasis on the student being an active learner, as opposed to a passive receiver of information, which is then regurgitated back to the assessor.
The network design process is a challenging task, requiring designers to balance user performance expectations with costs and capacities [1]. External factors, such as government policies and regulations, the competitive situation, available technological services and products are adding complexity to the design process. Organisational strategies, culture and policies also affect the planning and design process. The amount of human and technical resources in the data communication functions of the organisation can also strongly affect the choice. Electronic communication is so ubiquitous in modern business that it is hard to develop an overall strategic vision that is comprehensive and at the same time detailed enough to be useful. Additionally, these factors can change and make the network learning and planning process even more complex. The business role of the proposed network application adds extra complexity to planning process.
To improve the quality of undergraduate education such a complex topics network simulation tools best option. There are many authors who attempted to solve the question on how can students' motivation and interest for the complex teaching material of Computer Networking and other complex module(s) be improved. Currently, many works deal to improve the pedagogy of computer networking concepts using network design and simulation tools and techniques [2][3][4][5][6]. The article [7] shows how to reduce the gap between the education in universities and real work environments in the area of computer networking using Packet tracer, GNS2, OPNET, and fat-tree simulator tools. There are some recent published papers dealing with the complex subjects in the classroom [8][9][10].
Capacity, Reliability, and Delay are three "magic words" used for describing concepts of the computer network design [11]. While capacity and delay are relatively well understood, this is not the case for reliability. The term reliability is often used interchangeable with availability and dependability. Increased redundancy in the network structure is often considered as important, or even the only way to achieve higher levels of reliability. Factors affecting performability of the communications systems are discussed. Reliability in the network design process in a context of systems approach to network design is considered in more detail. Examples of calculations of reliability figures for different network designs are considered using the Delite tool. Reliability support in communications protocols is discussed. Example of simulations and animations of network dynamics is presented using the ns-3 and nam tools. Example of topology handling is Brite tool.
To understand the details of the networking issues, students can use the Delite for the calculation of the Capacity, reliability and delays of the networking module. On the other hand, to see the dynamic behaviours, NS-3 can be used. Finally to know the network topology, Brite tool case be used. We found one article regarding the tools for teaching network [7].
The purpose of this paper is to show how simulation tools and technology can serve as an effective educational tool to enhance the learning of process of networking concepts. In this paper we examine the three teaching tools that can be used in the course of computer networking, features and design process in depth, pedagogical tool for the teaching of computer network design. If a student needs to understand the basic magic works, then they can use Delite; whereas when student needs to see dynamic characteristic of network model, then NS-3 would be the suitable for teaching. To work and gain knowledge about the topology, the Brite would be the perfect tool.

Problems in Teaching Computer Networks
The Open System Interconnection model (OSI) and communications network simulation are two parts of the important area of computer networking course. The OSI model provides an abstract function decomposition of a network protocol and is commonly used to depict network functionality of each layer. There are many tools for network analysis including cost, reliability, capacity, delay etc. both in commercial and educational sectors. It is easy for the students to build the visual connection between OSI model and network protocols of each layer.
The technical complexities of computer networks and data transmission processes and protocols present immense challenges for teaching and learning in computer network education [12]. Students often need to have intensive studying and practical experience with hands-on activities to understand the large numbers of complex and abstract conceptual details on network payers, protocols, addressing format and configurations [13]. The traditional mainstream teaching method of lecturing is found to be inadequate for motivating students in network education [4]. The common challenge often seen in teaching computer networking and data communication is the difficulty for students to understand the complex technical concepts and to visualise the various network protocols, roles, and functions in data communication [15]. More importantly, students may have further difficulty in developing the skills and ability to use higher level skills for troubleshooting and creative problem solving [16].
Some issues of the computer networking could be found in [17]. Computer Networking is difficult to learn.

SN Computer Science
It advances very rapidly. Many Computer Networking topics have also quickly developed into separate subjects, notably Wireless and Mobile Networks, Optical Networks, and Network Security. It becomes increasingly difficult to teach the subject effectively, partly because the Internet's success has attracted students with various backgrounds. Besides the issues, there are quite a number of obstacles to teaching and learning Computer Networking effectively, as outlined below. (a) The principles underlying Computer Networking are intrinsically very complex. (b) Computer Networking concepts and protocols are also very abstract to many students. (c) Unlike Computer Programming and Computer Architecture courses, for example, resource provision for hands-on practical experience in Computer Networking is problematic. A Computer Networking laboratory, if available, usually has a ready-to-use computer network on which students can conduct various experiments. However, students should also be expected to know how to set up a computer network from scratch after taking the course, very much like knowing how to write programmes after taking a Computer Programming class. But it is not quite possible to provide adequate resources to achieving that in many academic environments. (d) Many terminologies and acronyms are introduced and used in the field, and some of them are very similar, e.g. ARP and ARQ. (e) Some of the networking problems are difficult to comprehend and appreciate due to students' common lack of practical experience.

Students and Researchers Expectations from the Network Modelling Tools
Use of network modelling and simulation tools is an important element in the process of design, deployment, testing and evaluation of any communications network. Tools are the integral parts of the overall methodology of planning and designing a network. Designers may analyse the output produced by the tools, compare several designs and select the best design according to some predetermined criteria. Tools are also needed to study and test new protocols.
Typically, every network design undergoes some standard stages and it is expected that tools may help in these stages. Network modelling and simulation tools may help [18] in: (a) The planning of the network topology and link capacities: • It is expected that the tool will use only the links with a standard range of capacities. • Means in the case of network design and upgrade, a tool can interface with existing database systems to obtain the current network configuration directly without data entry by designer; • Typically provides an interactive graphical user interface for network editing, capacity calculation, traffic estimate, performing network optimisation, allowing users to perform "what-if" analysis and many other features; • Displays the results through menus, tables and graphical displays via animated utilisation bars, graphical statistics, diagrams, reports, charts and graphs. • Analyses the network model produced by designer; • Recommends the configurations of existing switches (e.g. how many access cards to add) and the optimal locations of new switches/routers; • Shows which links and devices are over and underused; • Predicts link and device throughput and utilisation; • Shows effects of a link or device failure; • Shows how changes in topology, device upgrades or expansion will affect performance.
(b) Considering cost-related issues: • Analyses the status of the current network, evaluates the condition of any user-defined configuration and optimises the expansion of the network based on demand and costs; • Ensures that the network is cost effective, reliable and has sufficient capacity to meet current and expected customer demand.
(v) Investigation of the network performance by modelling and simulation of dynamic traffic behaviour: • Finds out the limitations of the network as designed by increasing traffic load and investigating its performance; • Identifies the applications or protocols contributing the most to the network congestion and delay; • Predicts the response times of applications before deploying the network; • Predicts how many users an application can handle; • Confirms whether the service level agreements can or cannot be met.
Three of the educational tools are Delite (analytical tool), NS-3(simulation tools) and Brite (topology generation tool). Students can use the Delite for the calculation of the capacity, reliability and delays of the networking module. On the other hand, to see the dynamic behaviours, NS-3 can be used. Finally to know the network topology, BRITE tool case be used.
Students can get clear concepts using topology generation tool(s). They will experiment different topology algorithms using Brite tool. The students can design the topology using menu bar in Brite and it will generate a text file. Students can study the text file and change the parameters. They can design the same model (topology) in Delite tool and perform capacity, reliability and delay analysis using predefine algorithms. Delite also produces the text file and students can edit the file and parameters and perform experiments. And finally they can re-map the same model in NS-3/Ns-2 and check different paraments and dynamic behaviour and conduct performance analysis. For example, in networking course, a full coursework/assessment can be completed using 2 and/or 3 of these tools together based on the requirement of the assessment and the module.
From the assessment point of view, the sequence is: From the tool point of view, the sequence is: These tools will also be very useful for the network designer and researcher in their network design process or algorithm development. The use of network modelling and simulation tools is an important element in the process of design, deployment, testing and evaluation of any communications network. Tools are the integral parts of the overall methodology of planning and designing a network. Designers may analyse the output produced by the tools, compare several designs and select the best design according to some predetermined criteria. Tools are also needed to study and test new protocols.
In the following sections, we will discuss details (related files and their format, steps to design network model, etc.) of these 3 tools which are Delite, Ns-3 and Brite. These can be introduced to the students that might be useful for the students to have basic networking concepts.
Topology Generation → Performance Analysis → Dynamic Behaviour Analysis.

Features of the Delite, NS-3 and Brite
Delite Delite [22] is an educational and practical wide area network (WAN) design tool, which can produce network designs of limited size using a set of embedded network design algorithms. Data for such designs have to be read from the specially formatted external files. Delite can produce graphical displays representing network nodes and links as well as some additional analysis data (delay analysis and reliability analysis) in special windows. An input file contains data for the network design problem: node coordinates, link parameters, traffic parameters, as well as cost and equipment specifications.
Delite provides the network planner with a user-friendly menu-driven interface. It uses a 1000 by 1000 unit size window for a square world on the screen for displaying the network model and a separate special type of window called the 'Delite Monitor' for user responses and analysed output of the designed network model.

Files and Model Processing Steps in Delite
There are seven text files in Delite as shown in Fig. 1. The figure also shows the relationship among the files. The most important for the users are files.gen (original node information, coordinates and available link types) and.net (model node coordinates and additionally a table of links between nodes, i.e. actual network design). Links between nodes can be generated using a few design algorithms. Thus, various designs may have different costs, delays, reliability, average number of hops, etc. Other files are used for different purposes: noeqip.tbl and param.tbl are predefined (used to supply some network parameters), the.cst file describes the costs associated with link types (e.g. T1, T3, D96, etc.), the. req file describes the capacity of each link type, and the. inp file contains the names of files related to a particular model. The users can edit all of the files mentioned above as they are in ASCII text format. The link direction of the arrow between file types means the direction of a "call" for information, e.g. the.net file is only using.inp files and the. inp file is using all others.
The file processing steps are shown in Fig. 2. The.gen file is designed and/or edited by the user and fed to the Delite tool. As a consequence,.inp,.cst, and.req files are produced using some parameters from para.tbl or noeqip.tbl files. Finally using these files (.gen,.inp,.cst,.req), the design file (.net) is produced. As the.net file contains the whole network model information, this file is used by the NeDaSE tool for transformation purposes from Delite to other formats. The. cst and.req files are not used for transformation (from Delite to other tools' formats). This is due to the fact that there is no way to use the data of.cst (all possible combinations of link costs) or.req (all possible combinations of link bandwidths) files in other tools. All of the files are in text format and students can easily change/amend and learn about the parameter and therefore networking issues.
The.net file carries the model information. There are three sections in the.net file [22]. The first section (Fig. 3) contains node/site information, coordinate of the nodes with some predefined parameters etc., the second section (Fig. 4) contains the topology information and predefined parameters [22] and the third section contains parameter information (not shown). Furthermore, other files (.cst,.gen,.inp,.req) are also needed to make a model workable in Delite. For this size of thesis, the structures of these files are not provided. Among these files,.cst and.req are two of the biggest files. In.gen file (not shown), there are three sections: node information, used link type, and parameter section. The node section carries the node name, initial node position (before applying any algorithm for a model), parent node, population concerned with a node (number of users), node level (the level of the site in the hierarchy), traffic in (entering the site) and traffic out (leaving the site) of each node. The second section contains link types that are to be used and their associated information, and the third section contains several parameters.
The traffic file.req contains the capacity of each of the possible links. These possible links are basically the links (combination) from each node to rest of the nodes of the model. If there are n nodes, then the total number of links SN Computer Science with a bandwidth of the.req is ((n -1) + (n -2) + … + (nn)).
The file.cst contains the costs of all of the links available for the design. If there are n nodes then there will be n + ( n -1) + (n -2) + ··· + (n-n) links in this.cst file.
The file para.tbl (predefined and used as a template) contains information to guide the design process.
The file noeqip.tbl/eqip.tbl (also predefined and used as a template) describes equipment, e.g. multiplexers, routers including the cost and capacity of the equipment that can be placed at every site [14], p403]. This specifies the throughput of the equipment and the number of lines that can be terminated. The throughput for data switches is usually measured in packets/seconds, and the voice switches are measured in call setups/seconds. Finally, the.inp file contains the names of all of these files.

Network Model in Delite
Features of the network Delite model are: Nodes 1. By default, the nodes are labelled with N1, N2, N3 and so on. The first node starts labelling with 1 rather than 0. 2. The location of the node is represented by x, y coordinates. 3. It supports text format for a node name that may have more than one word (e.g. United States). 4. The minimum coordinates of the square world (visualisation) of the Delite are in the left-down corner and the maximum are in the right top corner of the window/ screen (shown in Fig. 5). 5. The number of nodes is limited to 100. 6. The.net model is designed from the.gen file. During the editing of the.net file, the node locations can be changed by the designer. Thus, the coordinates of a node may be different in.gen and.net files. Thus, in the case of transforming other models (e.g. ns-3) to the Delite model, it is necessary to generate both.gen and.net files.

Link
The links of a model are duplex. Traffic Does not allow for specifying the use of the communication protocols. Visualisation The visualised location of the node is always the same. Others 1. No animation is supported. 2. In the.net/.gen file, there are a lot of parameters that are used for the calculation of different factors (e.g. delay analysis, traffic analysis, reliability analysis, etc.). 3. Has to be fitted within 1000 by 1000 "square world". 4. Performance analysis is done by this tool. 5. The models designed by the users are confined within the predefined algorithms allowed by the tool. Figure 5 shows the visualisation screen of the Delite tool. The left lower side is the minimum points (0,0) and right upper corner is the maximum point/coordinate (1000, 1000) of the display.

NS-3/NS-2
NS-3 [23,24] network simulator, a VINT (Virtual Inter-Network Testbed) project from U.C. Berkeley/LBL/Xerox PARC, is a discrete event simulator targeted at network research, which provides substantial support for the simulation of TCP, routing and multicast protocols. The simulator is written in C + + and uses a Tcl/Otcl as a command and configuration interface. The ns-3 has the advantage that it provides numerous frameworks as the basis for extending its core capabilities. Ns-3 is derived from REAL (Realistic and Large), which is derived from NEST (Network Simulator testbed).
In ns-3, arbitrary network topologies, composed of routes, links and shared media can be defined.  queuing. The simulator is event-driven and runs in a non-real time fashion. Packet losses are simulated by buffer overflows in routers, which is also the dominant way packets get lost in the Internet. There is also support for error models other than losses through buffer overflow. The routing model can be static or dynamic. The link state and distance vector routing algorithms are supported.
The network topology is specified by describing the network nodes and edges [25]. The network model represents the interconnection of network elements, hereafter called nodes. It consists of nodes and links shown in Fig. 6.
In ns-3 model, single or multiple traffic generators, including statistical generators and other typical generators, such as FTP and Telnet, can be attached to any node. In addition, network and transport protocol behaviours are simulated by attaching the appropriate agents to the interested nodes. Examples of routing agents include the ones supporting static routing (Dijkstra's SPF algorithm), dynamic routing (Distance Vector Algorithm) or multicast routing. Examples of the transport agent include the TCP agent and the UDP agent. Links are modelled on either the simplex link or duplex link with a predefined capacity, delay and queuing discipline. In addition, links can be torn down or restored at any point in time duration the simulation, simulating link failures.
ns-3 has some shortcomings [26,27]: • The design of ns-3, using the hybrid of Tcl, otcl and C languages leads to memory consumption in many cases; • The IP address concept is not used; • Alpha quality; • Minimal documentation; • Incomplete API; • ns-3 has no direct support for mobility or shared wireless radio channels.

Files and Model Processing Steps in ns-3
There are four files (see in Fig. 7) in ns-3 whose processing steps in the tool are shown in Fig. 8. The.ns and.tcl are input files, and.nam and.tr (trace file) are the output files. The.ns or.tcl file is given to the ns-3 tool as an input and the.nam (and/or.tr) file is produced. The.tr file can be used for postprocessing. This nam file is animated by the nam animator which again can produce a.ns file. Initially, the student will prepare a.ns/.tcl script for the network model using tool command language. If students are unfamiliar, then s/he can use GUI in nam animator and design the network model (drag and drop). In this case, the Nam animator will generate a.ns file automatically and the student can open and see the code(s) of the file (text format) and learn. Then the model can be execute by the nam which will execute the codes and simulate the model. The main file format that works behind different kinds of network topologies in the ns-3 tool is shown in this section. The ns-3 file (.ns) normally has six types of information which are; node information ( Fig. 9), topology information (Fig. 10), protocols (agent) (Fig. 11), data source (application) (Fig. 12), connection (agent to agent) (Fig. 13) and simulation timing information (Fig. 14). Details can be found in this reference [15]. Users can write the code using TCL (Tool Command Language) scripting language to design the network model and execute the code that need to have these six types of information. Alternatively, using the NAM animator, user can design the model using Manu bar and tools. In this case, the code(s) will be generated automatically in background for the user. The.ns file is a text file and students can easily change/amend and learn about the parameter(s) and, therefore, networking issues.
In the node information section (Fig. 9), Node/site name(s), coordinates (x, y, z) of the nodes are codes. Link section (Fig. 10) depicts the linkage between nodes/sites, link type (simplex, duplex), queue algorithm, etc. Agent section (Fig. 11) covers the transmission protocol (TCP, UDP etc.), packet size, window size etc. Traffic section Fig. 6 The ns-3 Network Model   Fig. 7 Relationship of model files used in ns-3 tool that shows the linkage between the input/output files SN Computer Science (Fig. 12) shows the application protocols, linkage with the agents, time interval to pass the packets etc. Agent connection section (Fig. 13) interlinks between the agents (source and sink). Finally Simulation Time section (Fig. 14) shows when the agent will start sending the traffic and how long simulation will continue.

Network Model in ns-3
Features of the network model in ns-3 are: Node 1. The location of the node is in 3D view. That is, each node has coordinates with the 3-dimensions (x, y, z). However, the value of the z coordinate is always 0. 2. Node/site name must be one word (e.g. 'London', 'USA', etc.). 3. The minimum coordinates of the nam (visualisation tool) of the ns-3 are in the left-down corner and the maximum are in the right top corner of the window (see in Fig. 15). 4. Medium scale network simulation tool. Link 1. The.ns formatted file supports only the simplex link, whereas the.tcl formatted file supports both a simplex and duplex link. 2. Visualisation of the node in ns-3 starts with 0, 1, 2… and so on. The first node is numbered 0 rather than 1. 3. Models designed by the users are not confined within the predefined topological model/algorithm. 4. The notation of the.ns file (fixed style of notation for node name, agent name, traffic source name) and.tcl file are slightly different. The.tcl file supports any text names

BRITE
Brite [25] is a generator based on the AS power-laws. Furthermore, BRITE also incorporates recent findings on the origin of power-laws and observations of skewed network placement and locality in network connections on the Internet. By studying a number of existing topology generators, the authors of BRITE claim that the preferential connectivity and incremental growth are the primary reasons for power-laws on the Internet. For completeness, topologies are generated that incorporate both skewed node placement and locality in network connections as well as topologies with just incremental growth and preferential connectivity. To generate a topology on a plane, the plane is first divided into HSxHS squares, then the number of nodes in each square is assigned according to the placement, NP which is either a uniform random distribution or a bounded Pareto distribution. The bounded Pareto distribution gives a skewed node placement where a non-negligible number of squares have a large number of nodes in them. Each square is further divided into LSxLS smaller squares and the assigned nodes are then uniformly distributed among the smaller squares. A backbone node is selected from each of the top-level squares populated with nodes and a spanning tree is formed among the backbone nodes. Nodes are then connected one at a time to nodes that are already connected to the backbone. A new node can have preferential connectivity (PC) in its choice of neighbouring nodes: locality based, outdegree based or both. The locality-based preferential connectivity uses a Waxman probability function to connect nodes in the topology. In outdegree-based preferential connectivity, the probability of a new node connecting to an existing node is the ratio of the existing node's outdegree over the sum of all outdegrees of nodes in the connected network. Finally, when mixing both locality-based and outdegree-based preferential connectivity, the probability of connecting to an existing node under outdegree-based preferential connectivity is weighted by the Waxman probability between the new node and the existing node. Each new node introduces new links.

Files and Model Processing Steps in Brite
There are two text files in Brite whose processing steps are shown in Fig. 16 below. The configuration file (text file) is provided as input to the Brite and a model file is produced accordingly. Input can also be given graphically using the GUI of the tool. An input file can also be imported from other tools (e.g. Inet). The student/user provide the configuration parameter (GUI) or Topology file (from other The main file format that works behind different kinds of network topologies in the Brite tool is shown in Fig. 17 as a sample [26]. This is basically the.brite file (output file) that can be produced manually or from a configuration file (input). There are three sections that carry model information, node information (node number/label, coordinate) and topology information (source, sink and some parameters) respectively (details can be found in [26]). The configuration file is not shown.

Network Model in Brite
Features of the network model in Brite are: Node 1. The location of the node is 2D. That is, each node has the coordinate with values of x and y. There is no z coordinate. 2. The nodes are labelled with 0, 1, 2, 3 and so on. The first node starts with label 0 rather than 1. 3. The model does not work without the values of coordinates. 4. Large-scale network topology generator.  Table 1 for other features. If these three education tools are used in teaching the computer networking course, students will be benefitted and learn how to design and analyse a network model along with research.

Conclusions
We have presented by examples the benefit of using modelling and simulation tools in computer network courses. We have shown the use of the network simulation and design tools for teaching, their main features, internal file structure, format, relationship between files and file processing systems, how to design the network model and learn, default features of the tools, etc. However, using hands-on projects, students will see themselves in different (as designers); where, in those moments, they integrate their minds, critical thinking, communication skills, and their cumulative knowledge in the domain to provide solutions to their problems. Moreover, this approach will enable faculty to notice and consider all issues facing students when they apply the selected tools to solve their real-world like problems.
"Pilot" tools for the teaching are Delite, network simulator ns-3, topology generator Brite. We have shown the technical issues how these tools are used to design a network model and the format of the input and output files that a user/student needs to study to know/clarify the ideas of the network models. To clear the idea of the topology, students will use the Brite tools. To analysis the network models student can use the Delite tools and full analysis details can be found in [14]. To visualise the dynamic behaviours of network models (e.g. packet passing, packet loss, queuing, etc.), the NS-2/NS-3 tool would be very beneficial.
Brite generates the small as well as very large topologies. It helps to design eight types of different network models [17][18][19][20][21][22][23][24][25][26]. Also, models from some of the other tools (e.g. GT-IMT, Inet, Skitter, NLANR, etc.), can be fed into the Brite tool. Additionally, the output of Brite can be transformed into SSF, J-Sim, Otter, ns formats. There are great advantages of using this tool, i.e. the use of Brite means use of the other compatible tools along with Brite.
Delite is a network modelling tool that has analysis capability and predefined algorithms. Delite helps to design and analyse a network model in addition to the uses of the predefined algorithms. Delite tool can be used to teach the calculation of the Capacity, reliability and delays of the networking module. To see the dynamic behaviours, NS-3 can be used in the classroom. Finally to know the network topology, BRITE tool case be used. We found one article regarding the tools for teaching network [3][4][5][6][7].
The ns-3 (.ns) does not allow any other words rather than a set of predefined keywords. In Brite, the site name (text) is not allowed and the site is indicated only by an id number. In contrast, Delite and .tcl (ns-3) allow a userdefined site name (text). In all cases, files are structured in such a way that particular data must be placed in a fixed column having spaces in a fixed manner. ns-3 simulates the dynamic behaviour of a protocol. It can simulate most of the protocols from the TCP/IP family. Additionally, it produces a trace file which can be analysed using the postprocessing utilities. Another advantage is that the user can produce a model file using either a GUI or writing code (tcl script). The editor of ns-3 (nam) is very flexible for the naive as well as expert users. In addition, new protocols can be embedded into ns-3 and tested as the tool has open source code.
This article provides issues and techniques of three computer network modelling and simulation tools for teaching Computer Networks. The theoretical concepts are rather abstract in networking subject, and students often find them too obscure to understand, many authors attempt to answer the question on how to improve students' motivation and interest for the complex teaching material of computer networking [7]. Our investigation suggests that the designs could be started by building the network topology using Brite, then gradually students are advised to add more capabilities and features to their designs such as adding linksperformance, choosing right applications (using Delite), and add more advanced features such bandwidth, packet dropping, various queuing mechanisms, build special networking model between some sites in the network and quality of service (QOS) parameters to their designs (using NS).
Data availability All the codes, models and required information are available on request.

Conflict of Interest
The authors would like to declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will SN Computer Science need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http:// creat iveco mmons. org/ licen ses/ by/4. 0/.