Netsim: A Network Performance Simulator. University of Richmond. Abstract

Similar documents
Abstract Studying network protocols and distributed applications in real networks can be dicult due to the need for complex topologies, hard to nd phy

/$10.00 (c) 1998 IEEE

MDP Routing in ATM Networks. Using the Virtual Path Concept 1. Department of Computer Science Department of Computer Science

TCP over Wireless Networks Using Multiple. Saad Biaz Miten Mehta Steve West Nitin H. Vaidya. Texas A&M University. College Station, TX , USA

SCHEDULING REAL-TIME MESSAGES IN PACKET-SWITCHED NETWORKS IAN RAMSAY PHILP. B.S., University of North Carolina at Chapel Hill, 1988

Analytical Modeling of Routing Algorithms in. Virtual Cut-Through Networks. Real-Time Computing Laboratory. Electrical Engineering & Computer Science

perform well on paths including satellite links. It is important to verify how the two ATM data services perform on satellite links. TCP is the most p

Comparison of pre-backoff and post-backoff procedures for IEEE distributed coordination function

160 M. Nadjarbashi, S.M. Fakhraie and A. Kaviani Figure 2. LUTB structure. each block-level track can be arbitrarily connected to each of 16 4-LUT inp

Using OPNET to Enhance Student Learning in a Data Communications

Physical Layers MAC - Layer. Contention Free Service used for. Contention Service. used for. time bounded traffic and for contention free

Improved Collision Resolution Algorithms for Multiple Access Channels with Limited Number of Users * Chiung-Shien Wu y and Po-Ning Chen z y Computer a

Dynamic Multi-Path Communication for Video Trac. Hao-hua Chu, Klara Nahrstedt. Department of Computer Science. University of Illinois

PE PE PE. Network Interface. Processor Pipeline + Register Windows. Thread Management & Scheduling. N e t w o r k P o r t s.

Performance Evaluation of Two New Disk Scheduling Algorithms. for Real-Time Systems. Department of Computer & Information Science

Consistent Logical Checkpointing. Nitin H. Vaidya. Texas A&M University. Phone: Fax:

On the Use of Multicast Delivery to Provide. a Scalable and Interactive Video-on-Demand Service. Kevin C. Almeroth. Mostafa H.

Programming Project. Remember the Titans

Extensions to RTP to support Mobile Networking: Brown, Singh 2 within the cell. In our proposed architecture [3], we add a third level to this hierarc

Optimistic Implementation of. Bulk Data Transfer Protocols. John B. Carter. Willy Zwaenepoel. Rice University. Houston, Texas.

On Checkpoint Latency. Nitin H. Vaidya. Texas A&M University. Phone: (409) Technical Report

Technische Universitat Munchen. Institut fur Informatik. D Munchen.

A Study of Query Execution Strategies. for Client-Server Database Systems. Department of Computer Science and UMIACS. University of Maryland

2 J. Karvo et al. / Blocking of dynamic multicast connections Figure 1. Point to point (top) vs. point to multipoint, or multicast connections (bottom

Uncontrollable. High Priority. Users. Multiplexer. Server. Low Priority. Controllable. Users. Queue

Node Application Logic. SCI Interface. Output FIFO. Input FIFO. Bypass FIFO M U X. Output Link. Input Link. Address Decoder

\Classical" RSVP and IP over ATM. Steven Berson. April 10, Abstract

Shared Ethernet Networks

A Study of Short-Term Fairness. in Wireless MAC Protocols. Andrew Swan and Suchitra Raman. May 11, 1998.

Using the Imprecise-Computation Technique for Congestion. Control on a Real-Time Trac Switching Element

is developed which describe the mean values of various system parameters. These equations have circular dependencies and must be solved iteratively. T

Improving TCP Throughput over. Two-Way Asymmetric Links: Analysis and Solutions. Lampros Kalampoukas, Anujan Varma. and.

Fixed-Length Packets versus Variable-Length Packets. in Fast Packet Switching Networks. Andrew Shaw. 3 March Abstract

2 Application Support via Proxies Onion Routing can be used with applications that are proxy-aware, as well as several non-proxy-aware applications, w

Rate-Controlled Static-Priority. Hui Zhang. Domenico Ferrari. hzhang, Computer Science Division

Lecture 9 November 12, Wireless Access. Graduate course in Communications Engineering. University of Rome La Sapienza. Rome, Italy

UNDERSTANDING GIGABIT ETHERNET PERFORMANCE

Buffer_1 Machine_1 Buffer_2 Machine_2. Arrival. Served

Performance Comparison Between AAL1, AAL2 and AAL5

Mohammad Hossein Manshaei 1393

ECE453 Introduction to Computer Networks. Broadcast vs. PPP. Delay. Lecture 7 Multiple Access Control (I)

Interme diate DNS. Local browse r. Authorit ative ... DNS

sequence number trillian:1166_==>_marvin:3999 (time sequence graph)

100 Mbps DEC FDDI Gigaswitch

Minimum Energy Paths for Reliable Communication in Multi-hop. Wireless Networks CS-TR December Introduction

V 1. volume. time. t 1

Chapter 12 Multiple Access 12.1

Khoral Research, Inc. Khoros is a powerful, integrated system which allows users to perform a variety

Server A Server B. Sequence Number (MB) Time (seconds)

On Checkpoint Latency. Nitin H. Vaidya. In the past, a large number of researchers have analyzed. the checkpointing and rollback recovery scheme

DMN2 : ROUTING AND LAN EXPERIMENT. Faculty of Engineering Multimedia University

University of Maryland. fzzj, basili, Empirical studies (Desurvire, 1994) (Jeries, Miller, USABILITY INSPECTION

Relative Reduced Hops

T H. Runable. Request. Priority Inversion. Exit. Runable. Request. Reply. For T L. For T. Reply. Exit. Request. Runable. Exit. Runable. Reply.

New York University Computer Science Department Courant Institute of Mathematical Sciences

Box Plots. OpenStax College

Storage System. Distributor. Network. Drive. Drive. Storage System. Controller. Controller. Disk. Disk

Submitted for TAU97 Abstract Many attempts have been made to combine some form of retiming with combinational

CS 716: Introduction to communication networks. - 9 th class; 19 th Aug Instructor: Sridhar Iyer IIT Bombay

Laxmi N. Bhuyan, Ravi R. Iyer, Tahsin Askar, Ashwini K. Nanda and Mohan Kumar. Abstract

Acknowledgment packets. Send with a specific rate TCP. Size of the required packet. XMgraph. Delay. TCP_Dump. SlidingWin. TCPSender_old.

IEEE C802.16h-07/017. IEEE Broadband Wireless Access Working Group <

(Preliminary Version 2 ) Jai-Hoon Kim Nitin H. Vaidya. Department of Computer Science. Texas A&M University. College Station, TX

Introduction to Real-Time Communications. Real-Time and Embedded Systems (M) Lecture 15

Discriminating Congestion Losses from Wireless Losses using. Inter-Arrival Times at the Receiver. Texas A&M University.

cell rate bandwidth exploited by ABR and UBR CBR and VBR time

NET0183 Networks and Communications

Numerical Evaluation of Hierarchical QoS Routing. Sungjoon Ahn, Gayathri Chittiappa, A. Udaya Shankar. Computer Science Department and UMIACS

Random Assignment Protocols

n = 2 n = 1 µ λ n = 0

Performance Analysis and Trac Behavior of the Xphone. Videoconferencing Application System on an Ethernet. B. K. Ryu and H. E.

Network. Department of Statistics. University of California, Berkeley. January, Abstract

Hardware Implementation of GA.

Source 1. Destination 1. Bottleneck Link. Destination 2. Source 2. Destination N. Source N

Virtual Multi-homing: On the Feasibility of Combining Overlay Routing with BGP Routing

FB(9,3) Figure 1(a). A 4-by-4 Benes network. Figure 1(b). An FB(4, 2) network. Figure 2. An FB(27, 3) network

AAL2 Transmitter Simulation Study: Revised

Research on outlier intrusion detection technologybased on data mining

Under Bursty Trac. Ludmila Cherkasova, Al Davis, Vadim Kotov, Ian Robinson, Tomas Rokicki. Hewlett-Packard Laboratories Page Mill Road

of Perceptron. Perceptron CPU Seconds CPU Seconds Per Trial

Question 1 In answering the following questions use the following network conguration. Each node in the network represents a router, and the weights o

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA

A New Theory of Deadlock-Free Adaptive. Routing in Wormhole Networks. Jose Duato. Abstract

Multiple Access Protocols

WHITE PAPER. Latency & Jitter WHITE PAPER OVERVIEW

From: The History of the Telephone Herbert N. Casson 1910

CHAPTER 7 MAC LAYER PROTOCOLS. Dr. Bhargavi Goswami Associate Professor & Head Department of Computer Science Garden City College

Solve the Data Flow Problem

Implementations of Dijkstra's Algorithm. Based on Multi-Level Buckets. November Abstract

Introduction to Queueing Theory for Computer Scientists

We now begin to build models in DEVS-Scheme and organize them using the system entity

Markov Chains and Multiaccess Protocols: An. Introduction

CHAPTER 4 AN INTEGRATED APPROACH OF PERFORMANCE PREDICTION ON NETWORKS OF WORKSTATIONS. Xiaodong Zhang and Yongsheng Song

An Evaluation of Information Retrieval Accuracy. with Simulated OCR Output. K. Taghva z, and J. Borsack z. University of Massachusetts, Amherst

A Java-based Course in Human-Computer Interaction. Eileen Kraemer. The University of Georgia. Athens, GA interface.

reasonable to store in a software implementation, it is likely to be a signicant burden in a low-cost hardware implementation. We describe in this pap

David B. Johnson. Willy Zwaenepoel. Rice University. Houston, Texas. or the constraints of real-time applications [6, 7].

Dynamics of an Explicit Rate Allocation. Algorithm for Available Bit-Rate (ABR) Service in ATM Networks. Lampros Kalampoukas, Anujan Varma.

THROUGHPUT IN THE DQDB NETWORK y. Shun Yan Cheung. Emory University, Atlanta, GA 30322, U.S.A. made the request.

Department of. Computer Science. Remapping Subpartitions of. Hyperspace Using Iterative. Genetic Search. Keith Mathias and Darrell Whitley

Transcription:

Netsim: A Network Performance Simulator B. Lewis Barnett, III Department of Mathematics and Computer Science University of Richmond Richmond, VA 23233 barnett@armadillo.urich.edu June 29, 1992 Abstract The performance of computer communication networks is often given only cursory treatment in undergraduate Networking or Computer Communication courses. A simulation package for the investigation of many aspects of Local Area Network (LAN) performance is introduced. Its use as a tool for allowing undergraduate Networking students to investigate the performance of a popular networking system is discussed. 1 Introduction One of the dicult aspects of designing an undergraduate course in Computer Networking revolves around the role that performance analysis/ evaluation should play in such a course. Recent textbooks, for example [Wal91], indicate a trend toward greater integration of performance analysis into such courses. However, the diculties of including a signicant performance analysis component insuch a course, particularly when it is not feasible to require a probability course as a prerequisite, have recently been noted in [Lan92] and [NY92]. There are essentially three approaches to increasing the emphasis on performance in an undergraduate networking course. First, standard analytic techniques can be introduced and used. Second, the students can be allowed to experiment with the behavior of real networks. Third, simulation can be used to provide experience with the behavior of networks. Each of these approaches has bene- ts and drawbacks. The rst approach provides students with a powerful methodology for evaluating network performance which may be useful, depending on the depth of the treatment, for analyzing network systems other than those presented in the course. However, if it is not feasible to require that the students be well versed in probability before entering the course, the preparatory work necessary to bring them up to speed would cause the emphasis of the course to shift signicantly away from Networking and toward performance analysis. The second approach has the great benet of providing the students with \hands-on" experience with networks without the sometimes misleading assumptions about network attributes and trac patterns that are necessary 1

for much of analytic performance modeling. However, the cost of providing dedicated experimental networks on the one hand and the impact on the user community of nondedicated networks where such experiments are carried out on the other hand make this approach unworkable. The third alternative, using network simulation packages, has several advantages. A well-constructed simulator can avoid the limiting assumptions needed by many analytic models, does not require expensive, dedicated hardware, and does not adversely aect the user community at large. It may also be possible to give students experience with a wider range of network systems through simulation than would be possible with actual hardware most campuses have representatives of only one or two dierent types of networking systems. Here we present a description of a performance simulation package for the popular Ethernet LAN protocol which canbeusedtogive students a good feel for the performance characteristics of a widely deployed networking system without requiring them to understand analytic models of the protocol. Though many universities and colleges have Ethernet or other LAN systems installed on their campuses, it is seldom possible to dedicate a network for actual experimentation therefore, simulators are necessary to provide the students with experience in network performance issues. The Netsim system is highly exible so that a wide variety of network congurations can be investigated. This exibility makes Netsim an ideal tool for open-ended investigations of the network by students as well as for more focused exercises where a particular conguration is provided for the students. The output of the package is suitable for display using a widely available X Window System based plotting tool and could be adapted to work with other data analysis packages with some small eort. 2 Simulator Design The Netsim simulator is a single process discrete event simulator. The program simulates a nite population network, which gives a more accurate picture of network behavior than simulations based on assumptions similar to those used in innite-population modeling studies. The program does not model packet buering at individual stations each station is assumed to generate a new arrival only after their previous packet has been successfully transmitted. A single event queue is used for the simulation which at any given time contains one entry for each station on the network. The entry contains the simulation time of the next transmission attempt by the station and the simulation time at which the packet was originally submitted for transmission. Upon each attempted transmission, the queue is scanned to determine which, if any, of the pending transmission attempts will cause collisions or be deferred as a result of the current attempt, and the queue entries are adjusted accordingly. The statistics collected by the simulator are discussed in Section 3.3. Ethernet is a trademark of the Xerox Corporation 2

3 Important Features One of the goals of Netsim is to allow the experimenter a great deal of exibility in specifying the network and the trac that will be generated. The package was also written to model the behavior of Ethernet as accurately as possible. Lastly, the package was constructed with features that make running sequences of related experiments easier. The following sections discuss many of the features of Netsim which address these aims. 3.1 Finite population simulation Netsim simulates a user-speciable nite population of stations on a network. This diers from many analytic and simulation models which rely on the assumption that the population of stations on the network is innite. The innite population assumption makes analytic models more mathematically tractable and simulation models simpler, but often at the expense of accuracy. For example, typical Ethernet simulations based on an innite population model produce asymptotic delay behavior as the oered load on the network increases. A nite population simulation produces a more accurate result, with delay leveling o as the trac generating ability of a nite population of stations reaches its maximum. 3.2 Flexible output process specication The output process or sequence of interpacket times and packet lengths produced by each simulated station can be specied in several ways. These quantities can be generated randomly from traditional probability distributions such as the exponential and uniform distribution. It is also possible to specify a custom tailored discrete distribution by specifying a set of probability/packet length or probability/interpacket time pairs from which lengths or times can be randomly chosen. These quantities can also be deterministic, i.e. can always be the same value. Finally, in the case of interpacket times, it is possible to simulate a continuously queued station. This type of station is always ready to transmit the next packet immediately upon completing transmission of the current one. All stations participating in a simulation can use the same distributions for these two quantities, or individual stations can be congured dierently. For example, it would be possible to congure one station with distributions which simulate the behavior of a le server while the other stations were congured to simulate the behavior of clients. This exibility allows a wide variety of network trac loads to be recreated. 3.3 User oriented delay statistics The simulator keeps track of the queueing delay experienced by transmitted packets. This is dened as the dierence between the time the packet was originally submitted for transmission and the time at which it completes successful transmission. This metric 3

includes the time during which the packet was \queued" at the station waiting for access to the channel and thus illuminates the delay characteristics of the protocol being simulated. This quantity is more useful in determining the network response time from the point of view of the user than the network-oriented metric of overall interarrival time. 3.4 Automatic oered load calculation Performance studies typically gauge the eciency of a network protocol by comparing the achieved throughput to the oered load for a given trac level. Netsim is able to automatically calculate the oered load for an experiment from the descriptions of the individual stations to be simulated. This is accomplished by automatically conducting several preliminary experiments, one for the default station distributions and one each for any stations which use a dierent output process than the default. In these preliminary experiments, a single station transmits on an otherwise idle network with the default (or individual station) output process to determine the maximum oered load with the given output process. 3.5 Automatic experiment repetition It is often desirable to repeat a simulation experiment several times starting with dierent random number generator seeds to diminish the eects of any particular sequence of events, then to use the averages of the collected statistics for data analysis. Netsim allows the experimenter to specify the number of times each experiment should be run and automatically calculates the average of each collected quantity. 3.6 Varying parameters Simulation studies usually involve simulating the behavior of a system a number of different times while varying a single parameter to determine the eect that the parameter has on the performance of the system. Netsim is able to run such a sequence of experiments without human intervention by the use of the varying parameter mechanism. The parameter to vary and the way in which tovary it are specied in the experiment description. The variation can be either by xed sized steps up to a specied maximum value, or can be specied as an explicit sequence of values for the varying parameter. 3.7 Output formatting The data collected by the simulator is saved in two dierent formats. Data for individual experiments is saved in a le in \human readable" format to allow the experimenter to examine the raw data. For sequences of related experments generated using the varying parameter mechanism, a summary of the overall results of the experiments is kept in a separate le. From this le, quantities can be extracted for plotting using the ns graph utility, discussed in Section 7.1. 4

3.8 Restarting interrupted experiments A command line option allows an experiment which wasinterrupted to be restarted. The varying parameter mechanism allows an entire sequence of experiments to be specied by a single experiment description le. Each of these experiments writes out an le of summary data as it completes, so experiments which are interrupted by system failures or other unforeseen circumstances need not be started again from scratch rather, they can be restarted from the point at which they were interrupted. 4 Simulator Operation Running a Netsim experiment consists of three phases: conguration, oered load calculation, and the simulation itself. Currently conguration consists of creating an experiment description le containing the desired values for various simulator attributes, or editing an existing le which species a network similar to the one you wish to simulate. (A window based experiment conguration application is in the works.) Experiment description les are described in more detail in Section 5. After the contents of the experiment description le have been read in and used to initialize the simulators variables, one or more preliminary experiments are run to determine the oered load for the experiment. This is accomplished by running an experiment with one station generating trac according to the default station parameters for arrival rate and packet lengths. If all stations specied in the experiment description le follow the defaults, the oered load is the load generated by a single station multiplied by the number of stations specied for the experiment. If some stations have individually specied trac processes, further oered load experiments will be run to determine the contribution to the overall load of such stations. 5 Conguring Experiments The data used to determine the nature of a Netsim simulation are stored in an experiment description le. This le contains all of the information necessary to carry out a simulation, including the layout of the network to be simulated, the trac generation behavior of the stations on the network, information about repetitions of each run and about the sequence of parameters to be used, and even the string used as the basis for the names of the output les. The features of Netsim, including the automatically varying parameter facility, are best understood by considering how the simulator uses this description le. 5.1 General format of experiment description les The experiment description le is loosely patterned on the structure of X Window System resource les [SG86]. Each entry in the le consists of a keyword and a value separated by a colon. This structure has several advantages. The presence within the 5

description le of a label for each entry means the entries are self-identifying, so a rigid arrangement or ordering is not necessary. Further, carefully chosen names for the entries allow the description le to act as documentation for the experiment. A more detailed description of the format of the experiment description le is included in [Bar91]. The experiment description le consists of entries that specify the physical characteristics of the network (e.g. length, data rate, maximum allowed packet size, number of attached stations, etc.) and the trac generation behavior of the attached stations. Packet length and interarrival times are generated from distributions specied in the description le. Each distribution is given a name in addition to the values that dene its behavior. These names are used to choose a default distribution for packet length and interarrival time for the experiment as a whole. It is also possible to congure individual stations with distributions other than the defaults so that computational activities such as le service can be modeled. 5.2 Congurable quantities Netsim's main strength is its exibility in terms of the aspects of network operation which are under user control. This section discusses some of the important quantities which can be adjusted in the experiment description le. General Experiment Setup Entries are provided to allow the specication of the length of the experiment and the number of times each experiment should be run, and to set up a series of experiments using the varying parameter mechanism. A sequence of experiments is specied by choosing a single network characteristic and specifying how it should be altered from one experiment in the series to the next. The user maychoose the length of the network, the data rate, the number of attached stations, the default transmission rate of messages, or the default message size as the varying parameter for a series of experiments. The chosen parameter can be increased or decreased by a xed amount for each experiment, or a set of explicit values for the parameter can be specied. Physical characteristics of the network Several of the entries in the le deal with the physical characteristics of the network to be simulated. The user can specify the length of the network, the number of stations or stations on the network, the bit transmission time (and thus the data rate), the maximum allowed packet size, and the method by which stations are positioned on the network. For specifying lengths or positions, units of feet, meters, and seconds are understood. There is an upper limit of 1000 attached stations, as mandated by the Ethernet 2.0 specication [Dig82] and the IEEE 802.3 standard [Ins85]. Stations can be positioned on the network in three ways: they can be placed at regular intervals over the length of the network they can be placed at random locations drawn from a uniform distribution or they can be placed at individually specied locations (see Individual station customization, below). Output process specication 6

The output process for a simulation consists, at the minimum, of denitions for a distribution for packet lengths to be generated and a distribution for generating the interpacket delays. At least these two distributions must be specied in the experiment description le, and they must be associated by name with the default packet length distribution and the default interpacket distribution for the experiment. If no other provisions are made, all stations will use these distributions, resulting in a homogeneous trac generation process. Other distributions may also be specied in the le, and these distributions can be associated with the output processes of specic stations, as described below. This allows the inclusion of stations with diering transmission behaviors to be included on the same simulated network. There are ve types of distributions available. The rst two are the standard exponential and uniform probability distributions. In the case of the former, the user species the mean of the distribution, and in the latter, the endpoints of the interval from which the distribution should be drawn are specied. A distribution may also be deterministic, i.e. the same value is generated every time or (in the case of a distribution meant to be used for inter-packet times) continuously queued, in which case the value generated for the delay until the next packet is sent isalways zero. Finally, a user specied discrete distribution is available where the user species a set of values and the probability with which eachvalue should be generated. This nal possibility is useful for specifying distributions which do not conform to a well-behaved statistical distribution, such as the well documented bimodal distribution of packets lengths observed on production Ethernet networks. Individual station customization In the absence of instructions to the contrary, the placement and behavior of all stations on the network are determined by the default station placement policy and the default packet length and interpacket distributions. However, Netsim allows individual hosts to be customized. Entries are provided in the experiment description le for the location, interpacket time distribution, and the packet length distribution of individual stations. So, for example, to simulate a network of workstations served by one or more le server, the default values for interpacket time and packet length could specify typical client request patterns, while server-like distributions could be associated with one or more selected hosts in the simulated network. 6 The Data Files Netsim produces several data les. In the case of an experiment with no varying parameter, an overall summary le, a le containing a histogram of packet queueing delays, and a le containing a histogram of the number of collisions suered by packets are produced. In the case of an experiment run using the varying parameter mechanism, these three les are produced for the experiments run with each value of the varying parameter, with a summary of the results of the entire series of experiments appearing in a series data le. The following quantities are present in the summary and series les: 7

Oered load The sum of the trac load produced by each station specied in the experiment description le transmitting on an otherwise idle network. Throughput The ratio of time spent in actual transmission to the total time elapsed. Actual data rate The actual data rate achieved on average during the experiment. This quantity is calculated by multiplying the throughput by the maximum data rate for the network. Average delay The average queueing delay (as dened in Section 6) experienced by packets transmitted during the experiment. This quantity is calculated by dividing the total delay for the experiment by the number of successful packet transmissions. Delay variance The variance of the average queueing delay, calculated from the delay histogram. Arrival rate The average number of packets transmitted per second over the duration of the experiment. Message size The average size of messages transmitted during the experiment, in bytes. Calculated by dividing the total transmission time for the experiment bythenumber of successful transmissions (giving) the average transmission time per packet) then converting to bytes. Minimum packet size The minimum packet size for the experiment. Calculated from the maximum cable length. Maximum packet size The maximum packet size for the experiment. User specied. Station count The number of stations (transmission sources) on the simulated network. Cable length The actual length of the cable to which the stations were attached in the experiment. Used in calculating signal propagation times. Maximum cable length The maximum allowed length of the cable for systems of the type being simulated. Used to calculate the minimum packet size and backo slot size for Ethernet, for example. Maximum Data Rate The capacity of the channel being simulated. Calculated from the user-specied bit time. Total collisions The total number of collisions as observed from the network. Each such collision would have involved two or more stations, so this number will always be less than the sum of collisions from the station statistics from the corresponding \.nso" le. Collisions per transmission The average number of collisions that a packet suered before it was successfully transmitted. Collision rate The average number of collisions per second. 8

Total packets The total number of packets which were successfully transmitted over the duration of the experiment. In addition, the summary le for individual experiments in a series contains information about the experiment setup and statistics on the performance of each station in the network. 7 Related Utilities Two programs are used to process and display data generated by the simulator. Ns graph is an interactive program which allows the user to choose quantities from one or more series data les and produces output suitable for a plotting package to display. The xgraph package takes these les and displays the plots on an X display. 7.1 The ns graph program Ns graph transforms the series data le into a format which can be plotted using the xgraph program (see Section 7.2). The series data le contains a line for the results of experiments run with each value of the varying parameter. Each of these lines consists of the average values for all of the statistics collected by the program, separated by tabs. Ns graph allows the user to interactively choose which quantities to plot on the x and y axis of a two dimensional graph, and to specify a name for each data set. Multiple series les can be plotted on the same graph. 7.2 The xgraph program Xgraph is an X11 based plotting program with many nice features, including the ability to zoom in on portions of a graph and facilities to produce laser printer output of graphs or data les that can be included as gures in LaTeX documents. It was written by David Harrison, originally of the UC-Berkeley Electronics Research Lab. Data produced by Netsim can be selectively converted to the format read by xgraph using the ns graph program. 8 Pedagogical uses Netsim lends itself to two basic types of assignments, an open-ended \project"-type assignment or a more structured or focused lab or homework-type assignment. In the project type assignment, the students might be given a topic (or allowed to choose one of their own) and told to use the simulator to investigate the topic. A typical topic might be the delay behavior of Ethernet when all packets are under a certain size. The student would be expected to construct a network and series of experiments which would 9

demonstrate the behavior of Ethernet in the suggested situation. For a homework-type assignment, the instructor might supply the students with an experiment description and ask the students to describe the behavior of the specied network when some network parameter was altered. 9 Summary Acknowledgements Thanks to David Harrison, currently of BioCad Corporation (david@biocad.com) for writing xgraph. For those interested in the program, it is available by anonymous ftp from ic.berkeley.edu in the pub directory. References [Bar91] B. Lewis Barnett, III. NetSim User's Manual. Department of Mathematics and Computer Science, University of Richmond, October 1991. [Dig82] Digital Equipment Corporation, Maynard, MA Intel Corporation, Santa Clara, CA Xerox Corporation, Stamford, CT. The Ethernet: A Local Area Network, Data Link Layer and Physical Layer Specications, Version 2.0, November 1982. [Ins85] Institute of Electrical and Electronics Engineers. Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specications, American National Standard ANSI/IEEE Std. 802.3{1985, 1985. [Lan92] Lawrence H. Landweber. Computer Networking Courses at the University of Wisconsin-Madison. Data Communications Review, 22(1):52 { 61, January 1992. [NY92] Thomas Narten and Raj Yavatkar. An Introductory Course in Computer Communication and Networks. Data Communications Review, 22(1):52 { 61, January 1992. [SG86] Robert Scheier and Jim Gettys. The X Window System. ACM Transactions on Graphics, 5(2):79 { 109, April 1986. [Wal91] Jean Walrand. Communication Networks: A First Course. Richard D. Irwin and Aksen Associates, 1991. 10