Proceedings of the Third International DCDIS Conference Copyright c 2003 Watam Press

A Simulator of the OSI Network Layer A. T. Lawniczak

P. Zhao

B. Di Stefano

Dept.of Math.and Stat. University of Guelph Guelph, Ont. N1G 2W1, Canada [email protected]

Dept.of Math.and Stat. University of Guelph Guelph, Ont. N1G 2W1, Canada [email protected]

Nuptek Systems Ltd. Toronto, Ont. M5R 3M6 Canada [email protected]

Abstract - This paper describes a software package used to simulate the OSI Network Layer of packet-switching networks. The need for such a tool is presented. Architecture, organisation, algorithms, and user’s view are described and explained.

I Introduction Packet-switching networks (PSNs) are communications networks where units of information called packets are individually switched between packet switches also referred to as routers. The global Internet, wireless communication systems, ad-hoc networks, and sensors networks are some of the examples of PSNs. They have experienced unprecedented growth that is going to continue in the foreseeable future. The evolution of PSNs and improvements in their design depend strongly on the ability to predict systems performance using analytical and simulation methods. For instance, the dynamics of large PSNs might significantly influence the performance of proposed new protocols and routing schemes. In general, protocol independent simulation tools are needed to better understand which characteristics the protocols should have. One of the authors has had extensive experience in this research and has supervised the development of four different generations of simulation environments. Results obtained using the first generation are reported in [1] and [2], while those obtained using the second and third generations are described in [3] and [9]. Some of the results obtained so far using the fourth generation software are reported in [4], [5], [6], [7], and [8]. This paper focuses on the description of second-generation software package called Datanetwork.exe. This package is a “digital laboratory” used to run “digital experiments” to test various hypothesis and to test the obtained results against real experimental data. An explanation of the mathematical algorithms employed to create Datanetwork.exe and a description of simulation results obtained by employing to simulate various network configurations can be found in [4] and [9]. DataNetwork.exe was developed to run under Microsoft Windows 95 and Microsoft Windows 98. No extensive test has been made under Microsoft Windows 2000 and Microsoft Windows XP, but it seems to operate correctly also under these

two operating systems. The primary aim of DataNetwork.exe was to provide an interactive, real-time, GUI-based tool to allow visualisation of the dynamics of the network being modelled. DataNetwork.exe has been very successful in achieving this goal. However, the intrinsic slow response of computer display technology and the large amount of data to be generated for some digital experiments, made it clear that to simulate relatively large size PSNs required to eliminate the real-time GUIs. In fact, Datanetwork.exe, as any program with real-time GUIs, is not optimal for running in batch mode large number of simulations. It can do it, but it requires very long time [9]. This consideration and the need to analyse the dynamics of the networks under multiple values of probability of packet creation at each network node created the need to utilise in batch mode the Linux-based computing facilities of the SHARCnet [10]. Since DataNetwork.exe cannot run under the Linux operating system. It was decided to modify and adapt DataNetwork.exe creating DataNetworkCore-1.0, a program without GUIs capable of running under Linux on the SHARCnet. DataNetworkCore-1.0 is the third generation software [3]. Subsequent research on flow and congestion of PSNs required further functionality and performance and led to the development of the fourth generation software package still running under Linux in batch mode, the package called Netzwerk-1. Architecture, organisation, and other details of Netzwerk-1 can be found in [8] and [10]. Datanetwork.exe remains unparalleled for allowing quick and intuitive verification, in visual terms, of one’s ideas about a particular PSN configuration. It is particularly well suited for small networks, with a square lattice of 25 x 25 nodes. Up to 50 x 50 nodes have been tested, but the response becomes very slow. Improved computer technology, both in terms of microprocessor speed and memory size, are expected to improve the response time for lattices of 50 x 50 nodes in the next three to five years. This paper describes Datanetworks.exe. The need for such a tool is presented. Architecture, organisation, algorithms, and user’s view are described and explained. In particular, the discrete time routing algorithm is explained, with attention to the update of routing information, the creation of new packets, and their routing.

390

II. Architecture In the experiment to study flow and congestion of a PSN, the simulation model consists of a number of switching nodes that are interconnected by bi-directional communication links and its purpose is to transmit packets from nodes of origin to destination nodes. A packet is a capsule that carries the information payload and some additional information related to the internal structure of the network. One or more packets make up a message that a user wants to transmit over the network from a node of origin to a destination node. The simplifying hypothesis of messages consisting of one packet only allows neglecting issues such as message reconstruction at the destination node, an issue that does not contribute to the study of flow and congestion over the network. A further simplification is possible assuming that each packet carries only two pieces of information: time of its creation and its destination address. Each switching node can perform two functions: that of a host (source and destination of packets) and that of a router (message processor that can store and forward packets). To simulate a wide variety of traffic situations, packets are created randomly at each node and independently from the other nodes, with a probability called “source load”. Packets are stored in queues and buffers that are maintained by the nodes. We assume that each queue can be of unlimited length and that each buffer stores temporarily only one packet that is ready for routing. Packets are created and moved according to a discrete time parallel algorithm. A packet-switching network topology can be viewed in an obvious way as a digraph, where each network node corresponds to a vertex, and each communication link between two nodes corresponds to a pair of parallel edges, each carrying data in one direction. With each direction of a link is associated a cost of transmission of a packet. In the network models under discussion, each packet is transmitted from its source node through various links and packet switches to a destination node according to some routing decision. This is equivalent to finding a path (route) through the graph. Depending on the costs assigned to network links we consider routing decisions based on the following least-cost criterions: “minimum path distance” and “minimum path length”. We consider three types of link cost functions called “One”, “QueueSize” and “QueueSizePlusOne”. In the case of the link cost function ``One'' all links in the network are assigned a cost equal to one. Using the minimum path distance criterion for this link cost function, the number of hops from source to destination is minimised for each packet. The routing based on this criterion is called the “minimum-hop routing”. In the case of the link cost function ``QueueSize'' all links in the network are assigned a cost equal to the number of packets awaiting transmission in the node from which the link originates. In the case of the link cost function “QueueSizePlusOne” all links in the network are assigned a cost equal to the number of packets awaiting transmission in the node from which the link originates plus the cost of a single hop (which is equal to one). For these two types of link cost functions the minimum path length criterion selects for a packet in a buffer the next node on its path to its destination. This node is on a path with a

minimum sum of queue sizes or with the smallest sum of queue sizes plus the number of hops, respectively, from the packet's node to its destination, depending on the current state of the network.

III. The Algorithm Each node in our model of packet switching networks can perform two functions, of a host and of a router. As a router, each node ni maintains a queue q i of unlimited length for storing packets. Packets newly created or newly received from the neighbours of a router/host are placed at the end of the queue. At each discrete time only one packet is picked up from the beginning of the queue. This packet is stored temporarily in the buffer b i maintained by the same node n i and waits there for routing. In order to make a routing decision for a packet, we need to find a shortest walk from the current node n i of the packet to its destination node nd . The selection of a shortest walk depends on the assignments of link costs to the communication links. Nodes of a network maintain routing tables in order to perform routing efficiently. We assume that each node in a network stores estimates of the least path costs from itself to all destination nodes in the network. This type of the routing scheme is called “full-table routing”. Other types of table routings are considered [1] and [2]. For the link cost functions “QueueSize” and “QueueSizePlusOne” we need to keep the routing tables up to date with the state of the network. This type of routing is called “adaptive routing”. In this case we must update the tables on a regular basis. This is not necessary for link cost function “One” where edge costs remain constant during the time evolution of the network (“static routing”). Once the entries of the routing table are equal to the precise least path costs and not only estimate thereof, they do not change with time and subsequently require no updates. At initialisation time of the network, we compute the least path costs, not just estimates, between any ordered pair of nodes and store them in the routing table. A suitable algorithm for the computation of this initial routing table and for the computation of its centralised updates (a case considered [3] [6] and [9] is the Bellman-Ford algorithm [12]. In the case of a distributed routing table update a distributed version of the Bellman-Ford algorithm [12] is executed simultaneously and independently at every node in the network. After the completion of one distributed routing table update the newly calculated values of the routing table are not necessarily equal to the least path costs of paths connecting pairs of network nodes, they are only locally computed estimates of these least costs. In this type of update nodes exchange information about their link costs in time in order to determine the least-cost routes from one node to another one. The least path cost routing tables are not built up in one cycle as in the case of the centralised routing table update. They are built up gradually in time. Comparisons of network performance with distributed versus centralised update can be found in [3] - [6] and [9].

391

We start the simulation of the network model with an empty queue at each node and the discrete time k set to zero. Then, the following actions are performed repetitively (see Figure 1). 1. Update: at each node the routing table is calculated. 2. Create : at each node, independently of the other nodes, a packet is created with probability λ called the “presented node load”. Its destination address is randomly selected among all other nodes in the network with uniform probability distribution. The newly created packet is placed at the end of the queue. 3. Route : at each node the packet from the buffer is forwarded, if there is one, to the next node along a shortest length walk (i.e. a least-cost route) to its destination. If there are several shortest length walks, then one of them is selected randomly with uniform probability. If the next node is the packet destination, then the packet is destroyed immediately. Otherwise, it is placed at the end of the queue of the next node. If several packets arrive to the next node at the same time, then the packets are placed at the end of the queue in the order determined by the addresses of the nodes from which these packets have arrived. The order of the packets corresponds to the increasing order of the network addresses of the packets. 4. Pop: at each node, if the queue is not empty, the first packet from the queue is picked up, and stored in the buffer. 5. Time k is incremented by 1.

considered in our research their algorithms are • Centralised Full Routing Table Update Algorithm, see

Figure 2 •

Distributed Full Routing Table Update Algorithm, see

Figure 3

Figure 2 - Procedure "Centralised Update"

Figure 1 - Simplified flow chart showing the discrete time network model algorithm

The purpose of the procedure “Update” is to calculate routing tables. For the two types of full routing table updates

392

Figure 3 - Procedure "Distributed Update"

In the first case, one can interpret as if there is a central site responsible for all the calculations. In the network model algorithm, the function of the central site is realised by the procedure “CentralizedUpdate” which applies “shortest path backward tree algorithm” [12]. The flow chart of the procedure “CentralizedUpdate” is shown in Figure 2. Contrary to the centralised update algorithm, in a packet switching network using the distributed full routing table update, no central site is needed. Nodes exchange information to determine the shortest walk length. The distributed update algorithm is implemented in the network model by the procedure “DistributedUpdate” which applies the distributed version of “the shortest path backward tree algorithm” [12]. The flow chart of this procedure is shown in Figure 3.

Figure 5 - Procedure "Route"

Figure 4 - Procedure "Create"

The flow chart of the procedure “Create” used to randomly create a packet at each node is shown in Figure 4. The procedure “Route” is used at each node to route the packet stored in the buffer.. The flow chart of the procedure “Route” is shown in Figure 5. The procedure “Pop” is used at each node to pick up a packet from the beginning of the queue and store it in the buffer. The flow chart of the procedure “Pop” is shown in

Figure 6

Figure 6 - Procedure "Pop"

393

IV. User’s View Datanetwork.exe, described in detail in [9], consists of a single executable file and is immediately started as soon as its icon is double-clicked. The main window of Datanetwork.exe

of the network. This is a grey scale display. Darker shades of grey indicate queues containing a larger number of packets. Lighter shades of grey show queues containing smaller number of packets. Where there is no grey square on a node, it means that the queue and the related buffer are empty. The grey scale provides qualitative information about the number of packets at each node. Global quantitative data is displayed on the right side of Main Window.

is displayed. Figure 7 - Main Window of Datanetwork.exe This window includes the following basic elements: Title Bar, Menu Bar and ToolBar. The network topology is displayed in the left side of the Main Window. The default network topology is the 25 x 25 square periodic lattice with 50 additional links added randomly. All additional links, which were added randomly to the network, are marked in red. A green square frame is placed at the node at the top left corner and a blue square frame is placed at the node at the bottom right corner. These two frames can be dragged to the location of any node in the network. We call the node marked by the green square frame “the green node” and the node marked by the blue square frame “the blue node”. The right side of the Main Window displays parameters and variables of a network. Note that the variable “Average Packets in Transit” is written in parenthesis in the same line as the variable “Packets in Transit”. Similarly, the variable “Filtered Queue Size” is written in the same line as the variable “Queue Size”.

Figure 8 - The Toolbar

By clicking the “Create” button on the Toolbar, it is possible to create a “new network configuration” to be simulated (see . Figure 8). The dialog box with title “Create a New Network” as soon as the “Create” button of the Toolbar is pressed (see Figure 9). In order to start a simulation for the newly created network or the default one, the Play Button on the Toolbar must be clicked (see Figure 8). When the simulation is running, the display looks like in Figure 10. Small squares of various intensity of grey shade are observed moving among the nodes

Figure 9 - Dialog box to "Create a New Network"

Figure 10 - Snapshot of Main Window while simulation is running. While running a simulation, the values of some variables shown in the right side of the Main Window change in time. Clicking the variable names written in blue will pop out the corresponding data windows which show dynamic behaviour of the related variables as a function of time as shown inFigure 11. The horizontal axis represents time expressed as simulation cycles. The range of this simulation cycles is as entered in the dialog box in Figure 9. The scale on each vertical axis is adjusted automatically as required by the data being displayed. The user can open all three data windows at the same time. The display of these three windows happens in real time with the running of the data network simulation. Figure 11 (a) shows the data window for “Number of Packets in Transit” as a function of time. “Average Number of Packets in Transit” are marked by the big red dots. Figure 11 (b) shows the data window for the “(Filtered) Queue Size” of

394

the Green Node as a function of time. Blue dots and red dots show “Queue Size” and “Filtered Queue Size” respectively. Figure 11 (c) shows the data window for “Cost” from the Green Node to the Blue Node as a function of time.

V. Summary This paper has described a software package used to simulate the OSI Network Layer of packet-switching networks. The need for such a tool has been presented. Architecture, organisation, algorithms, and user’s view have been described and explained. This tool can be expanded further to accommodate more features of real networks.

Acknowledgements

Figure 11 - Data windows as function of time for (a) “Number of Packets in Transit”, (b) “(Filtered) Queue Size” of the Green Node, (c) “Cost” from the Green Node to the Blue Node. As it can be seen from Figure 8, by clicking the relative buttons, it is also possible to “pause” and “single step” the running of the simulation. After the simulation is completed, all data are still in the memory. By clicking the Save Button in the Toolbar (see Figure 8), the user can save the data in a binary file for further analysis. MatLab scripts can be used to perform this processing. In order to analyse the performance of a network, the user must run it under a series of different situations, in particular under several different probabilities of packet creation at each node. Each value of probability is called “presented node load”. As discussed above, the user has to enter parameters, run the network and save data for each presented node load. However, the software provides an easy way to handle a series of node loads automatically. By clicking the “auto” button in the Toolbar (see Figure 8), the dialog box “Auto Set Node Load” is displayed (see Figure 12). Pressing the “OK” button causes the execution of the program for a number of times equal to the number of “presented node loads” satisfying the formula (“Up To” - “Start”) /“Increment”. The result of each execution run for a given “presented node load” is stored in a file having an automatically generated name given by the string entered by the user in the “Save To” field and by the “presented node load” used for that specific run.

Figure 12 - Dialog box "Auto Set Node Load"

A.T. Lawniczak and Peng Zhao acknowledge partial support from the University of Guelph. A.T. Lawniczak acknowledges additionally partial support from NSERC of Canada and The Fields Institute for Research in Mathematical Sciences. Bruno Di Stefano acknowledges total financial support from Nuptek Systems Ltd. The authors would like to acknowledge Dr. H. Fukœand Dr. Alf Gerisch for helpful discussions.

References [1] H. Fukœ, A.T.Lawniczak, “Performance of data networks with random links”, Mathematics and Computers in Simulation, vol. 51, 101-17, 1999. [2] H. Fukœ, A.T.Lawniczak, and S. Volkov, “Packet Delay in Models of Data Networks”, ACM Transactions on Modeling and Computer Simulation, vol. 11, 1-18, 2001. [3] A.T. Lawniczak, P. Zhao, A. Gerisch, and B. Di Stefano, “Modeling flow and congestion in packets switching networks”, IEEE Canadian Review, 23-27, Winter 2002. [4] A.T. Lawniczak, A. Gerisch, P. Zhao, and B. Di Stefano, “Effects of Randomly Added Links on Average Delay and Number of Packets in Transit in Data Network Traffic Models”, Proceedings of DCDIS'2003, Guelph , Ontario, Canada, May 15-18, 2003. [5] A.T. Lawniczak, A. Gerisch, B. Di Stefano, “OSI Network-layer Abstraction: Analysis of Simulation Dynamics and Performance Indicators”, (unpublished), 2003. [6] A.T. Lawniczak, A. Gerisch, B. Di Stefano, “Development and Performance of Cellular Automaton Model of OSI Network Layer of Packet Switching Networks”, Proceedings of CCECE'2003, Montreal Quebec, Canada May 4-7, 2003 [7] A.T. Lawniczak, A. Gerisch, and K. Maxie, “Effects of randomly added links on a phase transition in data network traffic models”, Proceedings of DCDIS'2003, Guelph , Ontario, Canada, May 15-18, 2003. [8] A. Gerisch, A.T. Lawniczak, B. Di Stefano, “Netzwerk-1 a packet-switching network simulation enviroment”, (unpublished), 2003. [9] Peng Zhao, “Models of Packet Switching Networks and their Performance”, M.Sc. Dissertation in Mathematics, University of Guelph, Ontario, Canada, 2003 [10] http://www.SHARC-net.ca [11] A. Gerisch, A.T. Lawniczak, B. Di Stefano, “Building blocks of a simulation environment of the OSI network layer of packet-switching Networks”, Proceedings of CCECE'2003, Montreal Quebec, Canada May 4-7, 2003. [12] P.D. Bertsekas and R.G. Gallager. “Data Networks”, Prentice Hall, Upper Saddle River, 2nd edition, 1992.

395

The Study of Neural Network Adaptive Variable ...

Abstract - This paper describes a software package used to simulate the OSI ... This consideration and the need to analyse the dynamics of the networks under ...

791KB Sizes 1 Downloads 207 Views

Recommend Documents

The Study of Neural Network Adaptive Variable ...
in transit and average delay are affected by routing al- ... connection topology affect the number of packets in transit ..... Princeton University Press, 1999. [12] Jon ...

The Study of Neural Network Adaptive Variable ...
added randomly to a network connection topology of a ..... developed the software tool Netzwerk-1 [7]. The main ob- jective of a ... setup we monitor the trajectory of some quantities of this ... networks with λ

The Study of Neural Network Adaptive Variable Structure ... - CiteSeerX
The global Internet, wireless communication systems, ad-hoc networks or ... from the free flow to the high congestion state indicated in terms of number of packet ...

The Study of Neural Network Adaptive Variable Structure ... - CiteSeerX
the non-periodic cases apply especially to wireless networks. We consider network ..... of saturation are observed) and hence this advantage of the triangular ...

an adaptive neural network pre-distorter for non ...
various emerging telecommunication systems make use of this technique capable ... neural network which forms an adaptive nonlinear device whose response ...

Neural Network Adaptive Beamforming for ... - Research at Google
network adaptive beamforming (NAB) technique to address this issue. Specifically, we use ..... locations vary across utterances; the distance between the sound source and the ..... cessing. Springer Science & Business Media, 2008, vol. 1. ... long sh

Neural Network Toolbox
3 Apple Hill Drive. Natick, MA 01760-2098 ...... Joan Pilgram for her business help, general support, and good cheer. Teri Beale for running the show .... translation of spoken language, customer payment processing systems. Transportation.

Neural Network Toolbox
[email protected] .... Simulation With Concurrent Inputs in a Dynamic Network . ... iii. Incremental Training (of Adaptive and Other Networks) . . . . 2-20.

Neural Network Toolbox
to the government's use and disclosure of the Program and Documentation, and ...... tool for industry, education and research, a tool that will help users find what .... Once there, you can download the TRANSPARENCY MASTERS with a click.

Adaptive Incremental Learning in Neural Networks
structure of the system (the building blocks: hardware and/or software components). ... working and maintenance cycle starting from online self-monitoring to ... neural network scientists as well as mathematicians, physicists, engineers, ...

Neural Network Toolbox - Share ITS
are used, in this supervised learning, to train a network. Batch training of a network proceeds by making weight and bias changes based on an entire set (batch) of input vectors. Incremental training changes the weights and biases of a network as nee

30 years of adaptive neural networks: perceptron ...
tract no. NCA2-389, and by Rome Air Development Center under .... Although the bird served to inspire development ...... by Rosenblatt [106], [5] and Mays [IOS].

ARTIFICIAL NEURAL NETWORK MODELLING OF THE ...
induction furnace and the data on recovery of various alloying elements was obtained for charge ..... tensile tests of the lab melt ingot has been employed.

Supporting Variable Pedagogical Models in Network ... - CiteSeerX
not technical but come from educational theory backgrounds. This combination of educationalists and technologists has meant that each group has had to learn.

Effective Neural Network Training with Adaptive ... https://sites.google.com/site/oyamasatoshi/papers/neunet2018.pdf
as 0.1, every fixed number of training epochs, such as 100 epochs. ...... This research was supported by Global Station for Big Data and CyberSecurity, a project ...

Direct Adaptive Control using Single Network Adaptive ...
in forward direction and hence can be implemented on-line. Adaptive critic based ... network instead of two required in a standard adaptive critic design.

LONG SHORT TERM MEMORY NEURAL NETWORK FOR ...
a variant of recurrent networks, namely Long Short Term ... Index Terms— Long-short term memory, LSTM, gesture typing, keyboard. 1. ..... services. ACM, 2012, pp. 251–260. [20] Bryan Klimt and Yiming Yang, “Introducing the enron corpus,” .

A programmable neural network hierarchical ...
PNN realizes a neural sub-system fully controllable (pro- grammable) behavior ...... comings of strong modularity, but it also affords flex- ible and plausible ...

A Regenerating Spiking Neural Network
allow the design of hardware and software devices capable of re-growing damaged ..... It is interesting to analyse how often a single mutilation can affect the ...

Alternative Regularized Neural Network Architectures ...
collaboration, and also several colleagues and friends for their support during ...... 365–370. [47] D. Imseng, M. Doss, and H. Bourlard, “Hierarchical multilayer ... identity,” in IEEE 11th International Conference on Computer Vision, 2007., 2

Neural Network Toolbox User's Guide
Fax. The MathWorks, Inc. Mail. 24 Prime Park Way. Natick, MA 01760-1500 ... Computer Software or Commercial Software Documentation Clause at DFARS ...

Optimal Adaptive Feedback Control of a Network Buffer.
Mechanics (CESAME) ... {guffens,bastin}@auto.ucl.ac.be ... suitable for representing a large class of queueing system. An ..... 2) Fixed final state value x(tf ) with x(tf ) small, tf free. ..... Perturbation analysis for online control and optimizat