Network simulation and simulators. Lecturer: Dmitri A. Moltchanov

Size: px
Start display at page:

Download "Network simulation and simulators. Lecturer: Dmitri A. Moltchanov E-mail: [email protected]"

Transcription

1 Network simulation and simulators Lecturer: Dmitri A. Moltchanov

2 OUTLINE Theoretical aspects why do we need network simulation? structure of a simulator discrete-event simulation data collection and analysis simulation with a given accuracy variance reduction techniques Practical aspects: ns2 ns2 overview; ns2 architecture; simulation procedure; support tools: nam and xgraph; examples: bottleneck, routing and WLANs. Lecture: Network simulation 2

3 1. Why do we need network simulations? Analyze communication networks: two ways analytical analysis; simulation studies. Example: analysis of queuing system: modeling of arrival process as a stochastic process; modeling of service time are a stochastic process; representation of interactions of these processes as an another process. What is important for analytical analysis: often analytical analysis is too complicated or even not possible; even if possible, it requires restrictive assumptions. Lecture: Network simulation 3

4 1.1. Simple example GI/G/1 queuing system arrivals unlimited # of waiting positions server Figure 1: Graphical representation of GI/G/1 queuing system. System is characterized by: arbitrary i.i.d. distributed interarrival times (GI); arbitrary i.i.d. distributed service times (G); single server; FCFS queuing discipline. Lecture: Network simulation 4

5 What should be noted: there are no analytical solution for GI/G/1 queue; what should we do? Approximate solution can be derived for: overloaded GI/G/1 system (λ µ); unloaded GI/G/1 system (λ << µ); results in terms of bounds. Notes on GI/G/1 queue: GI/G/1 does not capture correlation between arrivals; arrival processes in real networks are often correlated; simulation is the only suitable way in this case. Lecture: Network simulation 5

6 1.2. Simulations vs. analytic: queue example Simulation of a queue consists of: representation of the arrival process as a stochastic one; representation of service time as a stochastic process; representation of interoperation as a stochastic process; simulation run; collection of data; statistical analysis of obtained data; drawing conclusions. Differences between analytical analysis and simulations: incorporation of simulation execution; incorporation of data collection and analysis. Lecture: Network simulation 6

7 1.3. Advantages/shortcoming of simulations Advantages: does not require restrictive assumption or require less of them; model structure, algorithms and variable may be changed quickly; models of traffic and service times can be used as is just from measurements; may provide results which are not obtainable using analytical techniques. Shortcomings: time consuming, it may take much more time that analytic; computationally expensive; validation of results take additional time; results may be inaccurate when time of analysis is not sufficient; simulations may be of higher complexity than required; relationship between variables is hard to visualize and explain; sensitivity analysis is difficult. Lecture: Network simulation 7

8 2. Structure of a simulator We have the following components: simulation engine (core); a collection of models (link, buffer, etc.); frontend (interface); preprocessing tools (hidden for a user); data postprocessing tools. Engine is the most important: specifies how to handle simulations; everything is handled in uniform way; does not matter what you simulate. Lecture: Network simulation 8

9 2.1. Types of simulations Continuous simulations: real time is used: time increments as fine as possible: to capture all state changes. Discrete simulations: system is observed at discrete times t 0, t 0 + t, t t,.... Discrete event simulations: we focus on system changes only at event times; after processing the current event, the system clock is forwarded to another event simulation moves from the current system state to the event occurring next; processing of the event may create additional events; event list which is updated for the system. Lecture: Network simulation 9

10 Discrete-event t 0 t 1 t 3 Discrete t 0 t 1 t 2 t 3 t 4 t 5 Continuous t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7... Figure 2: Illustration of different types of simulations. Lecture: Network simulation 10

11 2.2. The simulation procedure Define the problem Debug Analyze data Validate model Formulate submodels Design experiments Combine submodels Run the simulator Collect data Analyze the results Write the program Implement results Lecture: Network simulation 11

12 2.3. The simulation program Simulation program can be implemented using: general purpose programming languages: C: suitable for one purpose simulations; C++: suitable for writing multiple purposes simulations. +: very flexible languages; : there are no simulation specific functions and error detection. simulation oriented programming languages: OPNET: all networks; OMNET++: all networks; Qualnet: very good for cellular networks; ns2: all networks: +: reliable approach; : sometimes not fast (incorporate a lot of functionality;) : sometimes limited to specific functionality; : one more language to learn. Lecture: Network simulation 12

13 3. Discrete event simulation The basic idea: only events change the state of the system; no need to track state of the system between events. The whole system consists of the following components: system under consideration: process under considerations: product of other processes and RVs. system state: state of the stochastic process. simulation clock: tells the occurrence time of the next event. event list: holder for events: consider it as a two dimensional vector: time and event. Lecture: Network simulation 13

14 The idea of the event list is illustrated in the following figure: T i, i = 1, 2,..., are event times; E i, i = 1, 2,..., are corresponding events. E 1 T 1 E 2 T 2 E 3 T 3... E i T i... Figure 3: The idea of the event list. Events are identified by event time and event type. There are two general types of events: basic events: these events modify the state of the system: arrivals/departures of customers. additional events: these are events needed by additional tasks of simulation: run, stoppage, collection of data. Lecture: Network simulation 14

15 General algorithm: initialization procedure: system clock should be set to zero; system state is assigned an initial value; generate list of the event and place the next event to this list. handling of events during a simulation: system clock should be set to the occurrence time of the first (next) event in event list; handle the event making all appropriate actions associated with the event; update the system state. stop of simulation. Note that the following is not included: storing of statistical data; statistical analysis of obtained data. Lecture: Network simulation 15

16 3.1. Time advance methods Time advance methods in discrete-event simulations: event-advance method; unit-advance method. unit-time advance: t 0 t 1 t 2 t 3 t 4 t 5 event advance: t 0 t 1 t 3 Figure 4: Time advance techniques in discrete-event simulations. Lecture: Network simulation 16

17 3.2. Event list Future event list: collection of events that occur in the future. What type of operation are performed in a list: locating the next event and its type: required when advancing the time. deleting the event: required when the events has already been treated. inserting the event in a list: required when generating new event; required when basic event generates conditional events. Basically, there are two ways of organizing a list: using sequential array; using linked list. Lecture: Network simulation 17

18 3.3. Sequential arrays The approach: all future event times are stored sequentially in array. How to implement: associate each event type with a certain integer i; clock associated with this event is stored in the ith position in array. Example: we need N positions in array: clock value of the type 1 event is stored in 1st position; clock value of the type 2 event is stored in 2nd position;... clock value of the type N event is store in Nth position; Figure 5: Using sequential array as a future event list. Lecture: Network simulation 18

19 How to find the next event: locate the smallest value in array of N elements. Example: find the smallest element and its index in array E[i], i = 0, 1,..., N 1: variable smallest returns the smallest element; variable index returns the index of the smallest element. smallest = E[0]; index = 0; for (i=1; i<n; i++) { if (E[i] < smallest) { smallest = E[i]; index = i; } } Lecture: Network simulation 19

20 How to deal with other functions: deletion: set the value of the clock associated with event of type i to very big one; not deleted physically! insertion: update the value of the clock associated with event of type i. not inserted physically! Advantages: insertion and deletion are made very easily; location of the next event depend on the number of event types: complexity is linear in time. Shortcoming: if the number of event types is large location is time consuming; in this case different organization of the future event list should be considered. Lecture: Network simulation 20

21 3.4. Linked list The idea: to access data elements in correct order we store data element; we store pointer to the next element. Definitions: pointer is referred to as link; data element and the link(s) are referred to as node. Example: node consists of two elements: one is data elements, the next one is link; link F points to the first element; link of the last node is set to zero. Figure 6: Using linked list as a future event list. Lecture: Network simulation 21

22 Implementation example: arrange integer numbers in T in ascending order: create new array P of the same dimension; the content of P (i) is the link to location in T containing element larger than T (i); example: P (1) = 7, next larger after T (1) is T (7)... Notes: F (= 5) is the first element; node: location in T and corresponding location in P. Figure 7: Locating values in a singly linked list. Lecture: Network simulation 22

23 Locating element: we want to locate number 10 in T : using pointer F we check the value stored in the first node: (T (5), P (5)); using pointer P (5) we locate the second node: (T (3), P (3)); using pointer P (3) we locate the third node: (T (1), P (1)); pointer P (1) contains the address we are looking for; general: if we know address of the first node we can locate any element. Note: we can only move forward using singly linked link! Figure 8: Deletion of elements in a singly linked list. Lecture: Network simulation 23

24 Deletion: we want to delete number 10: change the value of the pointer of the previous node; previous node: (T (1), P (1)) = (5, 4); node containing 10 has the pointer P (7) = 4; to delete: set P (1) = P (7) = 4. Note: information is not physically deleted, just not accessible! Figure 9: Deletion of elements in a singly linked list. Lecture: Network simulation 24

25 Insertion: we want to insert number 6: locate two nodes between which we should put 6; starting from the first node we find them as: (5, 7) and (10, 4) (see previous slide); get unused location in T : T (2); set P (1) = 2 to go from T (1) = 5 to T (2) = 6; set T (2) = 6, P (2) = 7 to go from T (2) = 6 to T (7) = 10. Figure 10: Insertion of elements in a singly linked list. Lecture: Network simulation 25

26 3.5. Implementation of linked lists We have to be able: organize data elements and pointers into nodes; access node using pointer; create and delete nodes. There are two ways: use built-in commands to carry these operations (if any); set-up your own storage scheme. Notes: must be long enough to accommodate all events that might be generated; all unused nodes must be linked together to form a pool of free nodes. Lecture: Network simulation 26

27 3.6. Event list using linked list General notes: nodes are organized such that CL i < CL j < < CL n ; the next event is given by pointer F (first node); when the event occurred and processed it should be deleted; if conditional events are generated they are place in linked list. Advantages: location and deletion is made easily: using linked lists in simulation we have to delete only the first node! Shortcomings we have to use location procedure to insert an event in a linked list; search of the linked lists might be time consuming if the number of event types is large; solution: use better location procedure (e.g. use pointer pointing to the middle of the list)! Lecture: Network simulation 27

28 3.7. Doubly linked lists The main problem of the singly linked lists: we can go only forward! Doubly linked lists: link two successive node with two pointers; we can go forward and backward! Note: there are some advantages for specific applications. Figure 11: Example of the doubly linked list. Lecture: Network simulation 28

29 4. Data collection How to carry out a simulation: set the initial state; start the simulation; obtain simulation results for some time... We distinguish between: transient simulations (results for warm-up period); steady-state simulation (results for steady-state period). N(t) warm-up steady-state T W T t Lecture: Network simulation 29

30 4.1. Transient simulations What is the reason: analyze problems associated with a specific initial state; T W is a function of the initial conditions; this might give some hints how to start a certain system... example: which initial state faster leads to steady-state. analyze transient state itself: a certain system may not have a steady-state at all; example: M/M/1 queuing system with λ/µ = ρ > 1. N(t), number of jobs M/M/1 0 1 lambda/mu Lecture: Network simulation 30

31 4.2. Steady-state simulations: initial condition What is the reason: typical application of simulations; simulation has to run long enough to get away from the transient state (T W ). Note: T W is a function of the initial conditions. How to choose initial condition: assume no activities in the system prior to time 0; no particular reasons for that; as good as any other choice of the initial state. set to some typical state of the system: should be as representative as possible; a-priori knowledge of the system is required; advantage: may significantly shorten the length of the transient period, T W. Lecture: Network simulation 31

32 4.3. Steady-state simulation: effect of the transient period Transient period: may deteriorate statistics: how to remove transient period; how to determine the length of the transient period. What are approaches to deal with: use very long simulation runs such that (meanwhile, how long is long enough?): the amount of data in transient period is small relative to those of steady-state; time-consuming approach. no data collection during transient period: simulate till the steady-state is reached; clear all data accumulated up to this point; continue to get enough statistical data. Hint for both approaches: set the initial state to what is expected in the long run. Lecture: Network simulation 32

33 4.4. Steady-state simulation: detecting transient period There are three methods to detect T W : method of trials; moving-average method; blind guess using time-series... Method of trials: try out different transient periods: T 1, T 2,..., T k, T 1 < T 2 <..., < T k ; compile steady-state statistics for each run; choose T i such that for all j > i statistics do not change significantly. Moving-average method: compute moving average as time progresses: R i = i j=i r N j; where N j is some metric of interest, r is the range of moving averages. steady-state when R i no longer changes significantly over time. Lecture: Network simulation 33

34 4.5. Estimating metrics How to estimate the mean: use point estimator; estimate confidence intervals. Confidence interval for the mean: { } s P r Ê[X] z α/2 µ Ê[X] + z s α/2 1 α, (1) N N Note: interval [Ê[X] z α/2 s N, Ê[X] + z α/2 s N ] is 100(1 α)% confidence interval for µ. a 2 a 2 Lecture: Network simulation 34

35 What is the problem with the following expression? { } s P r Ê[X] z α/2 µ Ê[X] + z s α/2 1 α, (2) N N we have to estimate sample mean and sample variance; point estimator of the variance is given by: ŝ 2 = 1 N 1 Ê[X] = 1 N N (X i Ê[X])2, X i, i = 1, 2,..., N must be independent for ŝ 2 to be unbiased! quite often observations are dependent (correlated, in particular): i=0 N X i, (3) i=0 example: waiting time of the packet i depends on the waiting time of packet (i 1)! The main problem! how to remove dependence between observations? Lecture: Network simulation 35

36 The following approaches have been proposed: use of autocorrelation function: tries to explicitly take correlation into account. batch means method; tries to remove correlation from observations. replication method; tries to remove correlation from observations. regenerative method. tries to remove correlation from observations. Note the following: when sample size is really large the effect of dependence can be negligible; use any of above methods when sample size is not really huge. Lecture: Network simulation 36

37 4.6. Use of ACF How to estimate the variance: idea: take into account the effect of correlation explicitly (σ 2 X+Y = σ2 X + σ2 Y + 2Cov XY ); get the sample X 1, X 2,..., X N ; compute autocorrelation coefficients R(i), i = 0, 1,..., k; the variance can now be estimated as: ŝ 2 = ŝ 2 X N/4 k=1 (1 kn ) R(k). (4) ŝ 2 X is the point estimator of the variance assuming no serial correlation: ŝ 2 X = 1 N 1 N (X i Ê[X])2. (5) i=1 Lecture: Network simulation 37

38 4.7. Batch means method N(t) correlation batch 1 batch 2 batch 3... batch k T W time Figure 12: Correlation between successive batches. Do the following: let Ê[X i] be the sample mean of the batch i, i = 1, 2,..., k; if b is large: Ê[X 1 ], Ê[X 2],..., Ê[X k] are approximately uncorrelated and normally distributed. Lecture: Network simulation 38

39 Given that Ê[X 1], Ê[X 2],..., Ê[X k] are uncorrelated and normally distributed: Ê[X] = 1 k ŝ 2 = 1 k 1 k Ê[X i ], i=1 k (Ê[X i] Ê[X])2. (6) i=1 Thus, for large k, k > 30 we get the following confidential intervals: ( Ê[X] 1.96 ŝ ) ŝ, Ê[X] (7) k k construct confidential intervals using t distribution. Important notes: if b is not large enough, this computation gives biased estimates; estimate of b: plot ACF of X 1, X 2,..., X N : b should be approximately 5 times greater than the last significant correlation. Lecture: Network simulation 39

40 4.8. Method of replications The idea: replicate simulation run several times: make n runs each resulting in m observations: (X 11, X 12,..., X 1m ), (X 21, X 22,..., X 2m ),..., (X n1, X n2,..., X nm ). (8) for each sample compute the sample mean using point estimator of the mean: Ê[X i ] = 1 m n x (9) treat sample means as a sample of independent observations: j=1 Ê[X] = 1 n n i=1 Ê[X i ], ŝ 2 = 1 n 1 n (Ê[X i] Ê[X])2. (10) i=1 Classic problems: determine the length of each simulation run; determine the length of the transient period. Lecture: Network simulation 40

41 4.9. Regenerative method Comparison of methods: batch means: obtain approximately independent samples from a single run. method of replications: obtain strictly independent samples from multiples runs; regenerative method: obtain strictly independent samples from a single run; application is limited to systems with specific behavior. Where it is used: simulation of queue-related problems. Lecture: Network simulation 41

42 4.10. Estimation for transient simulations Two cases are possible: trajectories are all random: estimation may have no sense; trajectories are somewhat similar. How to estimate: the transient state depends on initial conditions; the only way to get independent realizations of X is to use method of replications; Repeating experiments: must start with the same initial condition; must use different random numbers (different seeds); we have to know the length of transient period. Lecture: Network simulation 42

43 5. Simulation with a given accuracy Two inverse tasks: we considered: what are the confidence intervals given N observation: is it OK to say that mean is 50 ± 30? what we are asked: provide a kind of assurance: say what would be the values with confidence ±3... question: how many experiments are needed to achieve that? General notes: recall, width of confidence intervals is proportional to 1/ N; ( ) ŝ Ê[X] z α/2, Ê[X] + z ŝ α/2. (11) N N N: number of iid observations; the larger N the smaller is the interval. to halve the confidence interval: increase N four times. Lecture: Network simulation 43

44 Observe that: we do not know how many observations are needed: what accuracy may N experiments give? e.g. how many observations are needed to get 50 ± 3? Two techniques: Solution 1: use of pilot experiments: aim 1: to get overall idea how things go; aim 2: obtain rough estimate of N providing required accuracy. Solution 2: sequential in-simulation checking: test is carried out periodically to check whether required accuracy is achieved. Can be applied to: batch mean method; method of replications. Lecture: Network simulation 44

45 5.1. Example: replications + pilot experiments Use of pilot experiments: we want to estimate statistics a with the intervals ±0.1â: pilot experiments is carried out to collect N 1 replications; let â 1 be a point estimator of a; let 1 be the width of confidence intervals; check the following: if 1 0.1â 1 we stop; if 1 > 0.1â 1 we carry out main simulation with N 2 = ( 1 /0.1â 1 ) 2 N 1 replications; we obtain new â 2 and 2 : they may not be exactly what we wanted (0.1â 2 ) due to randomness. if 1 > 0.1â 1 carry out new attempt. Lecture: Network simulation 45

46 5.2. Example: batch means + in-simulation checking Sequential in-simulations checking: we want to estimate statistics a with the intervals ±0.1â: gather k batches; estimate â 1 and 1 ; check the following: if 1 0.1â 1 we stop; if 1 > 0.1â 1 gather k additional batches. calculate new â 2 and 2 based on total 2k batches; check the following: if 2 0.1â 2 we stop; if 2 > 0.1â 2 gather k additional batches. repeat... Lecture: Network simulation 46

47 6. Variance reduction techniques Suppose we have to estimate mean given N iid observations: point estimate of the mean is: Ê[X] = 1 N N X i, (12) i=1 confidence intervals for the mean are given by: ( ) ŝ Ê[X] z α/2, Ê[X] + z ŝ α/2. (13) N N where ŝ 2 is the estimate of the variance. How to shorten the confidence intervals: accuracy of an estimate can be increased by increasing the number of observations; shortcoming: may require very long simulations. accuracy can also be achieved by reducing variance. Lecture: Network simulation 47

48 Lecture: Network simulation 48

49 7. Network simulators Free simulators ns2/ns3: OMNET++: QualNet: ITGuru: Commercial: OPNET: a plenty of others... Note: ITGuru is an academic edition of OPNET. Lecture: Network simulation 49

50 8. ns2 Overview Characteristics: discrete-event engine; network simulator; basically TCP/IP networks; wired and wireless components included. Intended usage: research; development; education. Developing: research institutes and universities; freely distributed and open source. Lecture: Network simulation 50

51 8.1. History of developing Briefly: 1989: REAL simulator by UCB; 1990: ns1: LBL; 1995: ns2 DARPA VINT project (Virtual InterNet Testbed) 2011: ns3. Current status: ns2 runs on: almost all UNIX and Linux and Win 95/98/2000/XP. last stable version: 2.35 released in Nov. 4, 2011 roughly 1 release in 6 months + daily snapshots. or Page > line of codes; > 1000 institutions; > users; > 400 pages of short manual; ns3 project started in July 2006, Lecture: Network simulation 51

52 8.2. Components ns2 distribution consists of: ns2 itself; nam: Network AniMator visualizing ns2 output; GUI for simple scenarios. Mandatory support tools: tcl/tk: script language otcl: object-oriented tcl; TclCL: tcl library. Pre-processing tools: traffic, topology generators, converters. Post-processing tools: trace analysis: awk, sed, perl, tcl. very simple and not recommended. Lecture: Network simulation 52

53 8.3. Installation Differs for: Unix/Linux; Windows. Two types are available: Via compilation; get all-in-one package ; get pieces and then compile. Obtaining binaries. easiest way to run on Win platform. Hints and notes: to compile on Windows you need Cygwin (Unix emulation); Size of all-in-one is around 320Mb (v2.29). Lecture: Network simulation 53

54 Building from pieces (Unix/Linux): get Otcl, TclCL and ns2; unpack in some temp folder at the same level; cd into the OTcl directory; run./configure; run make; cd into the TclCL directory; run./configure; run make; cd into the ns directory; run./configure; run make; Verify that it built correctly and runs by running./validate. Note: ns2 all-in-one contains install script (just run it). Lecture: Network simulation 54

55 8.4. Support Documentation: mailing list: to get in send message to the address with subscribe ns-users in the body; to browse archive go to ns manual: available at is only a short reference guide. tutorials: a number is available on FAQ: de-facto tutorial: installation and bug fixes: E. Altman, T. Jimenez: Lecture: Network simulation 55

56 9. Ns 2 architecture Object-oriented structure: advantage: code reuse; shortcomings: performance. Software structure: uses two languages to separate control and processing: C++: packet processing; Otcl: control. Packet processing: C++ makes it fast and detailed; C++ makes it scalable. Control: Otcl makes it easy to create scenarios; Otcl makes it easy to understand third party scripts. Lecture: Network simulation 56

57 9.1. Scalability and extensibility Scalability: per-packet processing must be fast; separating control and packet handling. Extensibility: must be easy to add new objects; object trees to understand hierarchy: in C++; in Otcl. C++ and Otcl trees are split: if not needed nothing have to be changed at a certain level; helps a lot! Otcl class hierarchy: C++ class hierarchy: Lecture: Network simulation 57

58 9.2. Simple script Lecture: Network simulation 58

59 9.3. Tcl basics Tcl language: semantics is similar to perl; one can check tutorial at: real programming language to create network topology; tcl is used by Otcl to construct advanced objects. Tcl contains: lists, arrays, associative arrays etc.; procedures and functions; flow controls: if, while, for, etc. Lecture: Network simulation 59

60 Lecture: Network simulation 60

61 9.4. Otcl basics codes can be reused (for example, different version of TCP). Lecture: Network simulation 61

62 9.5. Viewing source code Where to find: C++: /whereyouinstalled/ns-(ver)/ where (ver) is your version of ns2 (e.g. 2.1b9a). Otcl: /whereyouinstalled/ns-(ver)/tcl/lib/ ns-default.tcl: default values for ns2 objects; other Otcl definitions. /whereyouinstalled/ns-(ver)/tcl/ specialized objects in subdirs. Lecture: Network simulation 62

63 10. Simulation procedure Basic steps: Create the simulation environment; event list, scheduler, etc.; Create the network: nodes and links between them. Create connections: TCP, UDP (in some sense). Create applications: CBR flow, FTP, WWW traffic. Trace network elements: trace queue, trace flow. Lecture: Network simulation 63

64 10.1. Creating environment The following are the common commands: Create event scheduler: set ns [new Simulator]; Schedule events: $ns at <time> <event>; Start scheduler: $ns run. Stop and close everything: $ns at $x exit. where $x is some instant of time. Note: before closing you must take additional actions: flush all traces to files; close all files. Lecture: Network simulation 64

65 10.2. Generating RVs Create new generator: set rng [new RNG]; $rng seed 0. RNs from other distributions: using class RNG: uniform: $rng uniform a b. using class RandomVariable: distributions: uniform, exponential, hyperexponential, Pareto; Lecture: Network simulation 65

66 10.3. Creating the network Nodes: set n0 [$ns node]. Links and queuing: $ns duplex-link $n0 $n1 <bandwidth> <delay> <queue type>; <queue type>: DropTail, RED, CBQ, FQ, SFQ, DRR; example: link with 10 Mbps, 10 ms delay, buffer size 100, RED buffer control Lecture: Network simulation 66

67 10.4. Creating connections Creating UDP flow In one command: $ns create-connection <src type> <src node> <dst type> <dst node> <packet class>; example: $ns create-connection UDP $n0 Null $n1 1. Other sources: TCP (we will consider); RTP source, RTCP source. TCP for wireless links. Lecture: Network simulation 67

68 Creating TCP flow In one command: $ns create-connection <src type> <src node> <dst type> <dst node> <packet class>; example: $ns create-connection TCP $n0 TCPSink $n1 1. Some included TCP versions: TCP: Tahoe TCP (slow start and AIMD); TCP/Reno: Reno TCP (... + fast retransmit/fast recovery); TCP/NewReno: TCP Reno with improved fast retransmit; TCP/Sack: TCP SACK (Selective ACK). Lecture: Network simulation 68

69 10.5. Creating traffic on top of UDP CBR: Constant bit rate; set src [new Application/Traffic/CBR]. Exponential or Pareto ON/OFF: on/off times are exponentially distributed; set src [new Application/Traffic/Exponential]; set src [new Application/Traffic/Pareto]. Connecting to transport: $udp defined earlier; $src attach-agent $udp. Lecture: Network simulation 69

70 ns2 includes support for traffic traces: What <file> should look like: each record consist of two 32 bit field; inter-packet time (msec) and packet size (in bytes). For example: there is converter for MPEG frame size file to ns2. Lecture: Network simulation 70

71 10.6. Creating traffic on top of TCP FTP: set ftp [new Application/FTP]; attaching to TCP: $ftp attach-agent $tcp. Telnet: set telnet [new Application/Telnet]; attaching to TCP: $telnet attach-agent $tcp. Lecture: Network simulation 71

72 10.7. Starting/stopping traffic sources Starting and stopping times scheduled as events to the scheduler: $ns at <time> <event>. Starting: $ns at 1.0 $ftp start ; sends infinitely long; the same for CBR, telnet and on/off sources. Stopping: $ns at 5.0 $ftp stop ; the same for CBR, telnet and on/off sources. Sending for example 1000 packets: $ns at 7.0 $ftp produce 1000 ; works for FTP only. Lecture: Network simulation 72

73 10.8. Tracing Trace packets on all links of the network: $ns trace-all [open test.out w]. Tracing on specific links: $ns trace-queue $n0 $n1. Lecture: Network simulation 73

74 10.9. Monitoring Queue monitor: set qmon [$ns monitor-queue $n0 $n1]; for packet arrivals and drops: set parr [$qmon set parrivals ]; set drops [$qmon set pdrops ]. Flow monitor: enable flow monitoring: set fmon [$nssim makeflowmon Fid]; $nssim attach-fmon [$nssim link $n0 $n1] $fmon. count arrivals and drops for flow with id xx: set fclassifier [$fmon classifier]; set flow1 [$fclassifier lookup auto 0 0 xx]; set parr [$flow1 set parrivals ]; set pdrops [$flow1 set pdrops ]. Lecture: Network simulation 74

75 Generic methodology Lecture: Network simulation 75

76 Other functionalities ns2 also provides: errors on the data-link layer; LAN and WLAN; Routing; Multicasting; Mobile IP; DiffServ; MPLS;... Lecture: Network simulation 76

77 11. Support tools: nam and xgraph Nam (Network AniMator): packet-level animation; almost integrated with ns2. controls node link packet time Lecture: Network simulation 77

78 Lecture: Network simulation 78

79 Xgraph allows to make graphs: frequently used with ns2; simple visualizer. Lecture: Network simulation 79

80 12. Example: analyzing a bottleneck Environment is the same! # Create a simulator object set ns [new Simulator] # Open the nam trace file set nf [open out.nam w] $ns namtrace-all $nf # Define a 'finish' procedure proc finish {} { global ns nf $ns flush-trace close $nf exec nam out.nam & exit 0 } BODY # Call the finish procedure after 5 seconds simulation time $ns at 5.0 "finish" # Run the simulation $ns run Lecture: Network simulation 80

81 Let s create four nodes: set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] Duplex links between them with droptail queuing: $ns duplex-link $n0 $n2 1Mb 10ms DropTail $ns duplex-link $n1 $n2 1Mb 10ms DropTail $ns duplex-link $n3 $n2 1Mb 10ms DropTail Re-layout topology for good-looking in nam: $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right Lecture: Network simulation 81

82 What we get in nam: What is next: two UDP agents with CBR sources at n0 and n1; null agent at node n3. Lecture: Network simulation 82

83 We use these commands: #Create a UDP agent and attach it to node n0 set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 # Create a CBR traffic source and attach it to udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packetsize_ 500 $cbr0 set interval_ $cbr0 attach-agent $udp0 #Create a UDP agent and attach it to node n1 set udp1 [new Agent/UDP] $ns attach-agent $n1 $udp1 # Create a CBR traffic source and attach it to udp1 set cbr1 [new Application/Traffic/CBR] $cbr1 set packetsize_ 500 $cbr1 set interval_ $cbr1 attach-agent $udp1 # Create a Null agent and attach it to node n3 set null0 [new Agent/Null] $ns attach-agent $n3 $nul Lecture: Network simulation 83

84 Connect two CBR agents to the Null agent: $ns connect $udp0 $null0 $ns connect $udp1 $null0... Schedule their sending times: $ns at 0.5 "$cbr0 start" $ns at 1.0 "$cbr1 start" $ns at 4.0 "$cbr1 stop" $ns at 4.5 "$cbr0 stop" Classic bottleneck scenario: both sources send 200 pps with size 500 bytes; n0 to n2: 0.8 Mbps, n1 to n2: 0.8 Mbps; link between n2 and n3 is 1 Mbps. Questions: which packets get lost? how many? what is the effect of queuing? Lecture: Network simulation 84

85 12.1. Marking flows Set class to UDP sources first: $udp0 set class_ 1 $udp1 set class_ 2 Set colors to flows: $ns color 1 Blue $ns color 2 Red Lecture: Network simulation 85

86 12.2. Monitoring a queue Add queue monitor: $ns duplex-link-op $n2 $n3 queuepos 0.5 Everything is droptail on that queue! Lecture: Network simulation 86

87 Why not to add some fairness with stochastic fair queuing (SFQ): $ns duplex-link $n3 $n2 1Mb 10ms SFQ Everything is SFQ on that queue! Example: Lecture: Network simulation 87

88 13. Routing Create 8 nodes: for {set i 0} {$i < 7} {incr i} { set n($i) [$ns node] } Create circular topology: for {set i 0} {$i < 7} {incr i} { $ns duplex-link $n($i) $n([expr ($i+1)%7]) 1Mb 10ms DropTail } Lecture: Network simulation 88

89 Lecture: Network simulation 89

90 Send some data from n0 to n3: #Create a UDP agent and attach it to node n(0) set udp0 [new Agent/UDP] $ns attach-agent $n(0) $udp0 # Create a CBR traffic source and attach it to udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packetsize_ 500 $cbr0 set interval_ $cbr0 attach-agent $udp0 set null0 [new Agent/Null] $ns attach-agent $n(3) $null0 $ns connect $udp0 $null0 $ns at 0.5 "$cbr0 start" $ns at 4.5 "$cbr0 stop" By default traffic goes over shortest path n0-n1-n2-n3! Lecture: Network simulation 90

91 Introducing link failure: $ns rtmodel-at 1.0 down $n(1) $n(2) $ns rtmodel-at 2.0 up $n(1) $n(2) Lecture: Network simulation 91

92 Introduce destination vector (DV) routing to tackle the problem: $ns rtproto DV. Example: Lecture: Network simulation 92

93 14. Wireless simulations in ns2 What we consider: simple 2-nodes wireless scenario; nodes move within the area 500m 500m; nodes start out initially at two opposite ends of the boundary; nodes move towards each other and then move away; TCP connection is setup between the two nodes; packets are exchanged as nodes come within hearing range of each other; as nodes move away, packets start getting dropped. We start with simple template: just as usual - some must do things; Lecture: Network simulation 93

94 Array val() is used to set basic parameters: link layer (LL); interface queue (IfQ); MAC layer; wireless channel nodes transmit and receive signals from... # ====================================================================== # Define options # ====================================================================== set val(chan) Channel/WirelessChannel ;# channel type set val(prop) Propagation/TwoRayGround ;# radio-propagation model set val(ant) Antenna/OmniAntenna ;# Antenna type set val(ll) LL ;# Link layer type set val(ifq) Queue/DropTail/PriQueue ;# Interface queue type set val(ifqlen) 50 ;# max packet in ifq set val(netif) Phy/WirelessPhy ;# network interface type set val(mac) Mac/802_11 ;# MAC type set val(rp) DSDV ;# ad-hoc routing protocol set val(nn) 2 ;# number of mobile nodes Lecture: Network simulation 94

95 Create an instance of the simulator: set ns_ [new Simulator] Setup trace supportand call the procedure trace-all : set tracefd [open simple.tr w] $ns_ trace-all $tracefd Create a topology object that keeps track of movements: set topo [new Topography] Provide the topography object with x and y coordinates: $topo load_flatgrid Next we create the object God (general operations director), as follows: create-god $val(n keeps track of wireless environment. Lecture: Network simulation 95

96 We have to configure nodes before creating them providing e.g.: type of adressing (flat or hierarchial or...); routing protocol, LL, IfQ, MAC, etc. # $ns_ node-config -addressingtype flat or hierarchical or expanded # -adhocrouting DSDV or DSR or TORA # -lltype LL # -mactype Mac/802_11 # -proptype "Propagation/TwoRayGround" # -ifqtype "Queue/DropTail/PriQueue" # -ifqlen 50 # -phytype "Phy/WirelessPhy" # -anttype "Antenna/OmniAntenna" # -channeltype "Channel/WirelessChannel" # -topoinstance $topo # -energymodel "EnergyModel" # -initialenergy (in Joules) # -rxpower (in W) # -txpower (in W) # -agenttrace ON or OFF # -routertrace ON or OFF # -mactrace ON or OFF # -movementtrace ON or OFF Lecture: Network simulation 96

97 We use the following configuration: # Configure nodes $ns_ node-config -adhocrouting $val(rp) \ -lltype $val(ll) \ -mactype $val(mac) \ -ifqtype $val(ifq) \ -ifqlen $val(ifqlen) \ -anttype $val(ant) \ -proptype $val(prop) \ -phytype $val(netif) \ -topoinstance $topo \ -channeltype $val(chan) \ -agenttrace ON \ -routertrace ON \ -mactrace OFF \ -movementtrace OFF Then we create two nodes disabling random movement: for {set i 0} {$i < $val(nn) } {incr i} { set node_($i) [$ns_ node ] $node_($i) random-motion 0 } ;# disable random motion Lecture: Network simulation 97

98 Give initial positions of nodes: # Provide initial (X,Y, for now Z=0) co-ordinates for node_(0) and node_(1) # $node_(0) set X_ 5.0 $node_(0) set Y_ 2.0 $node_(0) set Z_ 0.0 $node_(1) set X_ $node_(1) set Y_ $node_(1) set Z_ 0.0 Setting movement of nodes: # # Node_(1) starts to move towards node_(0) $ns_ at 50.0 "$node_(1) setdest " $ns_ at 10.0 "$node_(0) setdest " # Node_(1) then starts to move away from node_(0) $ns_ at "$node_(1) setdest " ns at 50.0 node (1) setdest : at 50.0s, it moves to (x=25,y=20) at 15m/s. Lecture: Network simulation 98

99 Setup traffic flow between nodes: set tcp [new Agent/TCP] $tcp set class_ 2 set sink [new Agent/TCPSink] $ns_ attach-agent $node_(0) $tcp $ns_ attach-agent $node_(1) $sink $ns_ connect $tcp $sink set ftp [new Application/FTP] $ftp attach-agent $tcp $ns_ at 10.0 "$ftp start" Setting up time when simulation ends and reset to initial states: for {set i 0} {$i < $val(nn) } {incr i} { $ns_ at "$node_($i) reset"; } $ns_ at "stop" $ns_ at "puts \"NS EXITING...\" ; $ns_ halt" proc stop {} { global ns_ tracefd close $tracefd } Lecture: Network simulation 99

100 Example: What actually happens: TCP flow starting at 10.0s from node0; no packets are exchanged as nodes too far apart; around 81.0s the routing info begins to be exchanged between both the nodes; around 100.0s we see the first TCP packet being received by node1; the connection breaks down again around time 116.0s. Note the following: all wireless traces starts with WL in their first field; we enabled DSDV so we have routing messages. Lecture: Network simulation 100

Daniele Messina, Ilenia Tinnirello

Daniele Messina, Ilenia Tinnirello !"! #$ %& ' %& traffic source agent node link n0 ftp tcp sink 2mbps 10 ms n2 1.7mbps, 20 ms n3 cbr udp n1 2mbps 10 ms null pktsize 1KB, rate 1mbps #Create a simulator object set ns [new Simulator] $ $

More information

ns-2 Tutorial Exercise

ns-2 Tutorial Exercise ns-2 Tutorial Exercise Multimedia Networking Group, The Department of Computer Science, UVA Jianping Wang Partly adopted from Nicolas s slides On to the Tutorial Work in group of two. At least one people

More information

Network Simulator: ns-2

Network Simulator: ns-2 Network Simulator: ns-2 Antonio Cianfrani Dipartimento DIET Università Sapienza di Roma E-mail: [email protected] Introduction Network simulator provides a powerful support to research in networking

More information

Network Simulator: A Learning Tool for Wireless Technologies

Network Simulator: A Learning Tool for Wireless Technologies Current Developments in Technology-Assisted Education (2006) 1979 Network Simulator: A Learning Tool for Wireless Technologies A. Triviño Cabrera, E. Casilari Dpto. Tecnología Electrónica, University of

More information

Evaluation and Comparison of Wired VoIP Systems to VoWLAN

Evaluation and Comparison of Wired VoIP Systems to VoWLAN ENSC 427: COMMUNICATION NETWORKS SPRING 2013 Evaluation and Comparison of Wired VoIP Systems to VoWLAN Project website: http://www.sfu.ca/~rza6/ensc427.html Group #15 Leslie Man 301048471 [email protected] Bill

More information

Exercises on ns-2. Chadi BARAKAT. INRIA, PLANETE research group 2004, route des Lucioles 06902 Sophia Antipolis, France

Exercises on ns-2. Chadi BARAKAT. INRIA, PLANETE research group 2004, route des Lucioles 06902 Sophia Antipolis, France Exercises on ns-2 Chadi BARAKAT INRIA, PLANETE research group 2004, route des Lucioles 06902 Sophia Antipolis, France Email: [email protected] November 21, 2003 The code provided between the

More information

TCP Performance Simulations Using Ns2. Johanna Antila 51189d TLT e-mail: [email protected]

TCP Performance Simulations Using Ns2. Johanna Antila 51189d TLT e-mail: jmantti3@cc.hut.fi TCP Performance Simulations Using Ns2 Johanna Antila 51189d TLT e-mail: [email protected] 1. Introduction...3 2. Theoretical background...3 2.1. Overview of TCP s congestion control...3 2.1.1. Slow start

More information

Comparative Study of Performance Evaluation for Mobile Ad hoc networks using a proxy node

Comparative Study of Performance Evaluation for Mobile Ad hoc networks using a proxy node Comparative Study of Performance Evaluation for Mobile Ad hoc networks using a proxy node G. E. RIZOS [email protected] D. C. VASILIADIS [email protected] E. STERGIOU [email protected] Abstract: In this paper,

More information

SystemC - NS-2 Co-simulation using HSN

SystemC - NS-2 Co-simulation using HSN Verona, 12/09/2005 SystemC - NS-2 Co-simulation using HSN Giovanni Perbellini 1 REQUIRED BACKGROUND 2 2 GOAL 2 3 WHAT IS SYSTEMC? 2 4 WHAT IS NS-2? 2 5 WHAT IS HSN? 3 6 HARDWARE-NETWORK COSIMULATION 3

More information

Congestion Control Review. 15-441 Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

Congestion Control Review. 15-441 Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control? Congestion Control Review What is congestion control? 15-441 Computer Networking What is the principle of TCP? Lecture 22 Queue Management and QoS 2 Traffic and Resource Management Resource Management

More information

Multiple Fault Tolerance in MPLS Network using Open Source Network Simulator

Multiple Fault Tolerance in MPLS Network using Open Source Network Simulator Multiple Fault Tolerance in MPLS Network using Open Source Network Simulator Muhammad Kamran 1 and Adnan Noor Mian 2 Department of Computer Sciences, FAST- National University of Computer & Emerging Sciences,

More information

Capacity Estimation of VOIP Channels on Wireless Networks

Capacity Estimation of VOIP Channels on Wireless Networks Capacity Estimation of VOIP Channels on Wireless Networks T. J. Patel, V. A. Ogale, S. Baek, N. Cui, R. Park WNCG, Dept of Electrical and Computer Engineering The University of Texas at Austin Austin TX

More information

A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks

A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks T.Chandrasekhar 1, J.S.Chakravarthi 2, K.Sravya 3 Professor, Dept. of Electronics and Communication Engg., GIET Engg.

More information

Tutorial: The ns-2 Network Simulator. Outline. Michael Welzl http://www.welzl.at. Institute of Computer Science University of Innsbruck, Austria

Tutorial: The ns-2 Network Simulator. Outline. Michael Welzl http://www.welzl.at. Institute of Computer Science University of Innsbruck, Austria Uni Innsbruck Informatik - 1 Tutorial: The ns-2 Network Simulator Michael Welzl http://www.welzl.at Institute of Computer Science University of Innsbruck, Austria Uni Innsbruck Informatik - 2 Outline ns-2

More information

Outline. Tutorial: The ns-2 Network Simulator. Some thoughts about network simulation. What to use it for. Michael Welzl http://www.welzl.

Outline. Tutorial: The ns-2 Network Simulator. Some thoughts about network simulation. What to use it for. Michael Welzl http://www.welzl. Uni Innsbruck Informatik - 1 Uni Innsbruck Informatik - 2 Outline Tutorial: The ns-2 Network Simulator ns-2 overview Writing simulation scripts Obtaining results General network simulation hints Michael

More information

Smart Queue Scheduling for QoS Spring 2001 Final Report

Smart Queue Scheduling for QoS Spring 2001 Final Report ENSC 833-3: NETWORK PROTOCOLS AND PERFORMANCE CMPT 885-3: SPECIAL TOPICS: HIGH-PERFORMANCE NETWORKS Smart Queue Scheduling for QoS Spring 2001 Final Report By Haijing Fang([email protected]) & Liu Tang([email protected])

More information

Study of Active Queue Management Algorithms ----Towards stabilize and high link utilization

Study of Active Queue Management Algorithms ----Towards stabilize and high link utilization Study of Active Queue Management Algorithms ----Towards stabilize and high link utilization Mengke Li, Huili Wang Computer Science and Engineering University of Nebraska Lincoln Lincoln, NE 66588-0115

More information

Per-Flow Queuing Allot's Approach to Bandwidth Management

Per-Flow Queuing Allot's Approach to Bandwidth Management White Paper Per-Flow Queuing Allot's Approach to Bandwidth Management Allot Communications, July 2006. All Rights Reserved. Table of Contents Executive Overview... 3 Understanding TCP/IP... 4 What is Bandwidth

More information

TCP in Wireless Mobile Networks

TCP in Wireless Mobile Networks TCP in Wireless Mobile Networks 1 Outline Introduction to transport layer Introduction to TCP (Internet) congestion control Congestion control in wireless networks 2 Transport Layer v.s. Network Layer

More information

Effect of Packet-Size over Network Performance

Effect of Packet-Size over Network Performance International Journal of Electronics and Computer Science Engineering 762 Available Online at www.ijecse.org ISSN: 2277-1956 Effect of Packet-Size over Network Performance Abhi U. Shah 1, Daivik H. Bhatt

More information

How To Monitor Performance On Eve

How To Monitor Performance On Eve Performance Monitoring on Networked Virtual Environments C. Bouras 1, 2, E. Giannaka 1, 2 Abstract As networked virtual environments gain increasing interest and acceptance in the field of Internet applications,

More information

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP) TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) *Slides adapted from a talk given by Nitin Vaidya. Wireless Computing and Network Systems Page

More information

Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage Lecture 15: Congestion Control CSE 123: Computer Networks Stefan Savage Overview Yesterday: TCP & UDP overview Connection setup Flow control: resource exhaustion at end node Today: Congestion control Resource

More information

Quality of Service versus Fairness. Inelastic Applications. QoS Analogy: Surface Mail. How to Provide QoS?

Quality of Service versus Fairness. Inelastic Applications. QoS Analogy: Surface Mail. How to Provide QoS? 18-345: Introduction to Telecommunication Networks Lectures 20: Quality of Service Peter Steenkiste Spring 2015 www.cs.cmu.edu/~prs/nets-ece Overview What is QoS? Queuing discipline and scheduling Traffic

More information

Comparative Analysis of Congestion Control Algorithms Using ns-2

Comparative Analysis of Congestion Control Algorithms Using ns-2 www.ijcsi.org 89 Comparative Analysis of Congestion Control Algorithms Using ns-2 Sanjeev Patel 1, P. K. Gupta 2, Arjun Garg 3, Prateek Mehrotra 4 and Manish Chhabra 5 1 Deptt. of Computer Sc. & Engg,

More information

Performance Analysis of AQM Schemes in Wired and Wireless Networks based on TCP flow

Performance Analysis of AQM Schemes in Wired and Wireless Networks based on TCP flow International Journal of Soft Computing and Engineering (IJSCE) Performance Analysis of AQM Schemes in Wired and Wireless Networks based on TCP flow Abdullah Al Masud, Hossain Md. Shamim, Amina Akhter

More information

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM 152 APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM A1.1 INTRODUCTION PPATPAN is implemented in a test bed with five Linux system arranged in a multihop topology. The system is implemented

More information

Voice over IP. Demonstration 1: VoIP Protocols. Network Environment

Voice over IP. Demonstration 1: VoIP Protocols. Network Environment Voice over IP Demonstration 1: VoIP Protocols Network Environment We use two Windows workstations from the production network, both with OpenPhone application (figure 1). The OpenH.323 project has developed

More information

Optimization of VoIP over 802.11e EDCA based on synchronized time

Optimization of VoIP over 802.11e EDCA based on synchronized time Optimization of VoIP over 802.11e EDCA based on synchronized time Padraig O Flaithearta, Dr. Hugh Melvin Discipline of Information Technology, College of Engineering and Informatics, National University

More information

Lecture 8 Performance Measurements and Metrics. Performance Metrics. Outline. Performance Metrics. Performance Metrics Performance Measurements

Lecture 8 Performance Measurements and Metrics. Performance Metrics. Outline. Performance Metrics. Performance Metrics Performance Measurements Outline Lecture 8 Performance Measurements and Metrics Performance Metrics Performance Measurements Kurose-Ross: 1.2-1.4 (Hassan-Jain: Chapter 3 Performance Measurement of TCP/IP Networks ) 2010-02-17

More information

Performance Analysis on VoIP over LTE network Website: www.sfu.ca/~lchor/ensc%20427/427website

Performance Analysis on VoIP over LTE network Website: www.sfu.ca/~lchor/ensc%20427/427website ENSC 427: Communication Networks Spring 2015 Final Project Performance Analysis on VoIP over LTE network Website: www.sfu.ca/~lchor/ensc%20427/427website Group 7 Chor, Alexandrea (Lexi) [email protected] Dai,

More information

COMPARATIVE ANALYSIS OF ON -DEMAND MOBILE AD-HOC NETWORK

COMPARATIVE ANALYSIS OF ON -DEMAND MOBILE AD-HOC NETWORK www.ijecs.in International Journal Of Engineering And Computer Science ISSN:2319-7242 Volume 2 Issue 5 May, 2013 Page No. 1680-1684 COMPARATIVE ANALYSIS OF ON -DEMAND MOBILE AD-HOC NETWORK ABSTRACT: Mr.Upendra

More information

A Survey of Network Simulation Tools: Current Status and Future Developments

A Survey of Network Simulation Tools: Current Status and Future Developments 1 of 13 A Survey of Network Simulation Tools: Current Status and Future Developments Jianli Pan, [email protected] (A project report written under the guidance of Prof. Raj Jain) Download Abstract In

More information

AN IMPROVED SNOOP FOR TCP RENO AND TCP SACK IN WIRED-CUM- WIRELESS NETWORKS

AN IMPROVED SNOOP FOR TCP RENO AND TCP SACK IN WIRED-CUM- WIRELESS NETWORKS AN IMPROVED SNOOP FOR TCP RENO AND TCP SACK IN WIRED-CUM- WIRELESS NETWORKS Srikanth Tiyyagura Department of Computer Science and Engineering JNTUA College of Engg., pulivendula, Andhra Pradesh, India.

More information

Applications. Network Application Performance Analysis. Laboratory. Objective. Overview

Applications. Network Application Performance Analysis. Laboratory. Objective. Overview Laboratory 12 Applications Network Application Performance Analysis Objective The objective of this lab is to analyze the performance of an Internet application protocol and its relation to the underlying

More information

architecture: what the pieces are and how they fit together names and addresses: what's your name and number?

architecture: what the pieces are and how they fit together names and addresses: what's your name and number? Communications and networking history and background telephone system local area networks Internet architecture: what the pieces are and how they fit together names and addresses: what's your name and

More information

Simulation of wireless ad-hoc sensor networks with QualNet

Simulation of wireless ad-hoc sensor networks with QualNet Advanced Seminar Embedded Systems 2008/2009 Simulation of wireless ad-hoc sensor networks with QualNet Documentation by Tobias Doerffel Chemnitz, April 9, 2009 Contents Contents 1 Introduction 3 1.1 The

More information

SJBIT, Bangalore, KARNATAKA

SJBIT, Bangalore, KARNATAKA A Comparison of the TCP Variants Performance over different Routing Protocols on Mobile Ad Hoc Networks S. R. Biradar 1, Subir Kumar Sarkar 2, Puttamadappa C 3 1 Sikkim Manipal Institute of Technology,

More information

Transport Layer Protocols

Transport Layer Protocols Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements

More information

Seamless Congestion Control over Wired and Wireless IEEE 802.11 Networks

Seamless Congestion Control over Wired and Wireless IEEE 802.11 Networks Seamless Congestion Control over Wired and Wireless IEEE 802.11 Networks Vasilios A. Siris and Despina Triantafyllidou Institute of Computer Science (ICS) Foundation for Research and Technology - Hellas

More information

OPNET Network Simulator

OPNET Network Simulator Simulations and Tools for Telecommunications 521365S: OPNET Network Simulator Jarmo Prokkola Research team leader, M. Sc. (Tech.) VTT Technical Research Centre of Finland Kaitoväylä 1, Oulu P.O. Box 1100,

More information

Network Design Performance Evaluation, and Simulation #6

Network Design Performance Evaluation, and Simulation #6 Network Design Performance Evaluation, and Simulation #6 1 Network Design Problem Goal Given QoS metric, e.g., Average delay Loss probability Characterization of the traffic, e.g., Average interarrival

More information

Measure wireless network performance using testing tool iperf

Measure wireless network performance using testing tool iperf Measure wireless network performance using testing tool iperf By Lisa Phifer, SearchNetworking.com Many companies are upgrading their wireless networks to 802.11n for better throughput, reach, and reliability,

More information

Data Networks Summer 2007 Homework #3

Data Networks Summer 2007 Homework #3 Data Networks Summer Homework # Assigned June 8, Due June in class Name: Email: Student ID: Problem Total Points Problem ( points) Host A is transferring a file of size L to host B using a TCP connection.

More information

Analysis of IP Network for different Quality of Service

Analysis of IP Network for different Quality of Service 2009 International Symposium on Computing, Communication, and Control (ISCCC 2009) Proc.of CSIT vol.1 (2011) (2011) IACSIT Press, Singapore Analysis of IP Network for different Quality of Service Ajith

More information

Performance Evaluation of Wired and Wireless Local Area Networks

Performance Evaluation of Wired and Wireless Local Area Networks International Journal of Engineering Research and Development ISSN: 2278-067X, Volume 1, Issue 11 (July 2012), PP.43-48 www.ijerd.com Performance Evaluation of Wired and Wireless Local Area Networks Prof.

More information

15-441: Computer Networks Homework 2 Solution

15-441: Computer Networks Homework 2 Solution 5-44: omputer Networks Homework 2 Solution Assigned: September 25, 2002. Due: October 7, 2002 in class. In this homework you will test your understanding of the TP concepts taught in class including flow

More information

Step by Step Procedural Comparison of DSR, AODV and DSDV Routing protocol

Step by Step Procedural Comparison of DSR, AODV and DSDV Routing protocol th International Conference on Computer Engineering and Technology (ICCET ) IPCSIT vol. () () IACSIT Press, Singapore Step by Step Procedural Comparison of DSR, AODV and DSDV Routing protocol Amith Khandakar

More information

Simulation and Evaluation for a Network on Chip Architecture Using Ns-2

Simulation and Evaluation for a Network on Chip Architecture Using Ns-2 Simulation and Evaluation for a Network on Chip Architecture Using Ns-2 Yi-Ran Sun, Shashi Kumar, Axel Jantsch the Lab of Electronics and Computer Systems (LECS), the Department of Microelectronics & Information

More information

Quality of Service using Traffic Engineering over MPLS: An Analysis. Praveen Bhaniramka, Wei Sun, Raj Jain

Quality of Service using Traffic Engineering over MPLS: An Analysis. Praveen Bhaniramka, Wei Sun, Raj Jain Praveen Bhaniramka, Wei Sun, Raj Jain Department of Computer and Information Science The Ohio State University 201 Neil Ave, DL39 Columbus, OH 43210 USA Telephone Number: +1 614-292-3989 FAX number: +1

More information

Keywords: DSDV and AODV Protocol

Keywords: DSDV and AODV Protocol Volume 3, Issue 12, December 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Comparison

More information

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING CHAPTER 6 CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING 6.1 INTRODUCTION The technical challenges in WMNs are load balancing, optimal routing, fairness, network auto-configuration and mobility

More information

1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.

1. The subnet must prevent additional packets from entering the congested region until those already present can be processed. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because routers are receiving packets faster than they can forward them, one

More information

TCP, Active Queue Management and QoS

TCP, Active Queue Management and QoS TCP, Active Queue Management and QoS Don Towsley UMass Amherst [email protected] Collaborators: W. Gong, C. Hollot, V. Misra Outline motivation TCP friendliness/fairness bottleneck invariant principle

More information

Master s Thesis. A Study on Active Queue Management Mechanisms for. Internet Routers: Design, Performance Analysis, and.

Master s Thesis. A Study on Active Queue Management Mechanisms for. Internet Routers: Design, Performance Analysis, and. Master s Thesis Title A Study on Active Queue Management Mechanisms for Internet Routers: Design, Performance Analysis, and Parameter Tuning Supervisor Prof. Masayuki Murata Author Tomoya Eguchi February

More information

Classes of multimedia Applications

Classes of multimedia Applications Classes of multimedia Applications Streaming Stored Audio and Video Streaming Live Audio and Video Real-Time Interactive Audio and Video Others Class: Streaming Stored Audio and Video The multimedia content

More information

Ad-hoc and Hybrid Networks Performance Comparison of MANET Routing Protocols in Ad-hoc and Hybrid Networks

Ad-hoc and Hybrid Networks Performance Comparison of MANET Routing Protocols in Ad-hoc and Hybrid Networks Ad-hoc and Hybrid Networks Performance Comparison of MANET Routing Protocols in Ad-hoc and Hybrid Networks Computer Science Project done by: Thomas Staub [email protected] head: Prof. Torsten Braun assisted

More information

Communications and Networking

Communications and Networking Communications and Networking History and Background telephone system local area networks Internet architecture: what the pieces are and how they fit together names and addresses: what's your name and

More information

(Refer Slide Time: 02:17)

(Refer Slide Time: 02:17) Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #06 IP Subnetting and Addressing (Not audible: (00:46)) Now,

More information

Mike Canney Principal Network Analyst getpackets.com

Mike Canney Principal Network Analyst getpackets.com Mike Canney Principal Network Analyst getpackets.com 1 My contact info contact Mike Canney, Principal Network Analyst, getpackets.com [email protected] 319.389.1137 2 Capture Strategies capture Capture

More information

point to point and point to multi point calls over IP

point to point and point to multi point calls over IP Helsinki University of Technology Department of Electrical and Communications Engineering Jarkko Kneckt point to point and point to multi point calls over IP Helsinki 27.11.2001 Supervisor: Instructor:

More information

NOVEL PRIORITISED EGPRS MEDIUM ACCESS REGIME FOR REDUCED FILE TRANSFER DELAY DURING CONGESTED PERIODS

NOVEL PRIORITISED EGPRS MEDIUM ACCESS REGIME FOR REDUCED FILE TRANSFER DELAY DURING CONGESTED PERIODS NOVEL PRIORITISED EGPRS MEDIUM ACCESS REGIME FOR REDUCED FILE TRANSFER DELAY DURING CONGESTED PERIODS D. Todinca, P. Perry and J. Murphy Dublin City University, Ireland ABSTRACT The goal of this paper

More information

LABORATORY: TELECOMMUNICATION SYSTEMS & NETWORKS PART 1 NCTUNS PROGRAM INTRODUCTION

LABORATORY: TELECOMMUNICATION SYSTEMS & NETWORKS PART 1 NCTUNS PROGRAM INTRODUCTION LABORATORY: TELECOMMUNICATION SYSTEMS & NETWORKS PART 1 NCTUNS PROGRAM INTRODUCTION 1 NCTUns Program In General NCTUns Program is an extensible network simulator and emulator for teleinformatic networks.

More information

Introduction to LAN/WAN. Network Layer

Introduction to LAN/WAN. Network Layer Introduction to LAN/WAN Network Layer Topics Introduction (5-5.1) Routing (5.2) (The core) Internetworking (5.5) Congestion Control (5.3) Network Layer Design Isues Store-and-Forward Packet Switching Services

More information

Quality of Service (QoS)) in IP networks

Quality of Service (QoS)) in IP networks Quality of Service (QoS)) in IP networks Petr Grygárek rek 1 Quality of Service (QoS( QoS) QoS is the ability of network to support applications without limiting it s s function or performance ITU-T T

More information

Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software

Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software Local Area What s a LAN? A transmission system, usually private owned, very speedy and secure, covering a geographical area in the range of kilometres, comprising a shared transmission medium and a set

More information

Arena Tutorial 1. Installation STUDENT 2. Overall Features of Arena

Arena Tutorial 1. Installation STUDENT 2. Overall Features of Arena Arena Tutorial This Arena tutorial aims to provide a minimum but sufficient guide for a beginner to get started with Arena. For more details, the reader is referred to the Arena user s guide, which can

More information

Performance Analysis of a Telephone System with both Patient and Impatient Customers

Performance Analysis of a Telephone System with both Patient and Impatient Customers Performance Analysis of a Telephone System with both Patient and Impatient Customers Yiqiang Quennel Zhao Department of Mathematics and Statistics University of Winnipeg Winnipeg, Manitoba Canada R3B 2E9

More information

Effects of Filler Traffic In IP Networks. Adam Feldman April 5, 2001 Master s Project

Effects of Filler Traffic In IP Networks. Adam Feldman April 5, 2001 Master s Project Effects of Filler Traffic In IP Networks Adam Feldman April 5, 2001 Master s Project Abstract On the Internet, there is a well-documented requirement that much more bandwidth be available than is used

More information

Performance Workload Design

Performance Workload Design Performance Workload Design The goal of this paper is to show the basic principles involved in designing a workload for performance and scalability testing. We will understand how to achieve these principles

More information

NetworkPathDiscoveryMechanismforFailuresinMobileAdhocNetworks

NetworkPathDiscoveryMechanismforFailuresinMobileAdhocNetworks Global Journal of Computer Science and Technology: E Network, Web & Security Volume 14 Issue 3 Version 1.0 Year 2014 Type: Double Blind Peer Reviewed International Research Journal Publisher: Global Journals

More information

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided

More information

Simulation Software 1

Simulation Software 1 Simulation Software 1 Introduction The features that should be programmed in simulation are: Generating random numbers from the uniform distribution Generating random variates from any distribution Advancing

More information

Intelligent Agents for Routing on Mobile Ad-Hoc Networks

Intelligent Agents for Routing on Mobile Ad-Hoc Networks Intelligent Agents for Routing on Mobile Ad-Hoc Networks Y. Zhou Dalhousie University [email protected] A. N. Zincir-Heywood Dalhousie University [email protected] Abstract This paper introduces a new agent-based

More information

Chapter 8 Detailed Modeling

Chapter 8 Detailed Modeling Chapter 8 Detailed Modeling What We ll Do... Exploit hierarchical structure of Arena to blend in lower-level modeling for greater detail Example: call-center system Nonstationary arrival processes Build

More information

Performance Monitoring on Networked Virtual Environments

Performance Monitoring on Networked Virtual Environments ICC2129 1 Performance Monitoring on Networked Virtual Environments Christos Bouras, Eri Giannaka Abstract As networked virtual environments gain increasing interest and acceptance in the field of Internet

More information

FlowMonitor a network monitoring framework for the Network Simulator 3 (NS-3)

FlowMonitor a network monitoring framework for the Network Simulator 3 (NS-3) FlowMonitor a network monitoring framework for the Network Simulator 3 (NS-3) Gustavo Carneiro Pedro Fortuna Manuel Ricardo INESC Porto Unidade de Telecomunicações e Multimédia Faculdade de Engenharia

More information

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols Purvi N. Ramanuj Department of Computer Engineering L.D. College of Engineering Ahmedabad Hiteishi M. Diwanji

More information

A REPORT ON ANALYSIS OF OSPF ROUTING PROTOCOL NORTH CAROLINA STATE UNIVERSITY

A REPORT ON ANALYSIS OF OSPF ROUTING PROTOCOL NORTH CAROLINA STATE UNIVERSITY A REPORT ON ANALYSIS OF OSPF ROUTING PROTOCOL Using OPNET 14.5 Modeler NORTH CAROLINA STATE UNIVERSITY SUBMITTED BY: SHOBHANK SHARMA [email protected] Page 1 ANALYSIS OF OSPF ROUTING PROTOCOL A. Introduction

More information

Chapter 4. VoIP Metric based Traffic Engineering to Support the Service Quality over the Internet (Inter-domain IP network)

Chapter 4. VoIP Metric based Traffic Engineering to Support the Service Quality over the Internet (Inter-domain IP network) Chapter 4 VoIP Metric based Traffic Engineering to Support the Service Quality over the Internet (Inter-domain IP network) 4.1 Introduction Traffic Engineering can be defined as a task of mapping traffic

More information

1 M.Tech, 2 HOD. Computer Engineering Department, Govt. Engineering College, Ajmer, Rajasthan, India

1 M.Tech, 2 HOD. Computer Engineering Department, Govt. Engineering College, Ajmer, Rajasthan, India Volume 5, Issue 5, May 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Dynamic Performance

More information

Outline. TCP connection setup/data transfer. 15-441 Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics

Outline. TCP connection setup/data transfer. 15-441 Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics Outline 15-441 Computer Networking Lecture 8 TCP & Congestion Control TCP connection setup/data transfer TCP Reliability Congestion sources and collapse Congestion control basics Lecture 8: 09-23-2002

More information

How To Monitor And Test An Ethernet Network On A Computer Or Network Card

How To Monitor And Test An Ethernet Network On A Computer Or Network Card 3. MONITORING AND TESTING THE ETHERNET NETWORK 3.1 Introduction The following parameters are covered by the Ethernet performance metrics: Latency (delay) the amount of time required for a frame to travel

More information

modeling Network Traffic

modeling Network Traffic Aalborg Universitet Characterization and Modeling of Network Shawky, Ahmed Sherif Mahmoud; Bergheim, Hans ; Ragnarsson, Olafur ; Wranty, Andrzej ; Pedersen, Jens Myrup Published in: Proceedings of 6th

More information

How To Provide Qos Based Routing In The Internet

How To Provide Qos Based Routing In The Internet CHAPTER 2 QoS ROUTING AND ITS ROLE IN QOS PARADIGM 22 QoS ROUTING AND ITS ROLE IN QOS PARADIGM 2.1 INTRODUCTION As the main emphasis of the present research work is on achieving QoS in routing, hence this

More information

First Midterm for ECE374 03/24/11 Solution!!

First Midterm for ECE374 03/24/11 Solution!! 1 First Midterm for ECE374 03/24/11 Solution!! Note: In all written assignments, please show as much of your work as you can. Even if you get a wrong answer, you can get partial credit if you show your

More information

Broadband Networks. Prof. Dr. Abhay Karandikar. Electrical Engineering Department. Indian Institute of Technology, Bombay. Lecture - 29.

Broadband Networks. Prof. Dr. Abhay Karandikar. Electrical Engineering Department. Indian Institute of Technology, Bombay. Lecture - 29. Broadband Networks Prof. Dr. Abhay Karandikar Electrical Engineering Department Indian Institute of Technology, Bombay Lecture - 29 Voice over IP So, today we will discuss about voice over IP and internet

More information

Robust Router Congestion Control Using Acceptance and Departure Rate Measures

Robust Router Congestion Control Using Acceptance and Departure Rate Measures Robust Router Congestion Control Using Acceptance and Departure Rate Measures Ganesh Gopalakrishnan a, Sneha Kasera b, Catherine Loader c, and Xin Wang b a {[email protected]}, Microsoft Corporation,

More information

SECURE DATA TRANSMISSION USING INDISCRIMINATE DATA PATHS FOR STAGNANT DESTINATION IN MANET

SECURE DATA TRANSMISSION USING INDISCRIMINATE DATA PATHS FOR STAGNANT DESTINATION IN MANET SECURE DATA TRANSMISSION USING INDISCRIMINATE DATA PATHS FOR STAGNANT DESTINATION IN MANET MR. ARVIND P. PANDE 1, PROF. UTTAM A. PATIL 2, PROF. B.S PATIL 3 Dept. Of Electronics Textile and Engineering

More information

ENSC 427 Communications Network Spring 2015 Group 8 http://www.sfu.ca/~spc12/ Samuel Chow <spc12 at sfu.ca> Tenzin Sherpa <tserpa at sfu.

ENSC 427 Communications Network Spring 2015 Group 8 http://www.sfu.ca/~spc12/ Samuel Chow <spc12 at sfu.ca> Tenzin Sherpa <tserpa at sfu. Performance analysis of a system during a DDoS attack ENSC 427 Communications Network Spring 2015 Group 8 http://www.sfu.ca/~spc12/ Samuel Chow Tenzin Sherpa Sam Hoque

More information

Project 2: Firewall Design (Phase I)

Project 2: Firewall Design (Phase I) Project 2: Firewall Design (Phase I) CS 161 - Joseph/Tygar November 12, 2006 1 Edits If we need to make clarifications or corrections to this document after distributing it, we will post a new version

More information

Basic Multiplexing models. Computer Networks - Vassilis Tsaoussidis

Basic Multiplexing models. Computer Networks - Vassilis Tsaoussidis Basic Multiplexing models? Supermarket?? Computer Networks - Vassilis Tsaoussidis Schedule Where does statistical multiplexing differ from TDM and FDM Why are buffers necessary - what is their tradeoff,

More information

OPNET - Network Simulator

OPNET - Network Simulator Simulations and Tools for Telecommunications 521365S: OPNET - Network Simulator Jarmo Prokkola Project Manager, M. Sc. (Tech.) VTT Technical Research Centre of Finland Kaitoväylä 1, Oulu P.O. Box 1100,

More information

A Passive Method for Estimating End-to-End TCP Packet Loss

A Passive Method for Estimating End-to-End TCP Packet Loss A Passive Method for Estimating End-to-End TCP Packet Loss Peter Benko and Andras Veres Traffic Analysis and Network Performance Laboratory, Ericsson Research, Budapest, Hungary {Peter.Benko, Andras.Veres}@eth.ericsson.se

More information

Traffic Behavior Analysis with Poisson Sampling on High-speed Network 1

Traffic Behavior Analysis with Poisson Sampling on High-speed Network 1 Traffic Behavior Analysis with Poisson Sampling on High-speed etwork Guang Cheng Jian Gong (Computer Department of Southeast University anjing 0096, P.R.China) Abstract: With the subsequent increasing

More information

Lab Exercise SSL/TLS. Objective. Requirements. Step 1: Capture a Trace

Lab Exercise SSL/TLS. Objective. Requirements. Step 1: Capture a Trace Lab Exercise SSL/TLS Objective To observe SSL/TLS (Secure Sockets Layer / Transport Layer Security) in action. SSL/TLS is used to secure TCP connections, and it is widely used as part of the secure web:

More information

10CS64: COMPUTER NETWORKS - II

10CS64: COMPUTER NETWORKS - II QUESTION BANK 10CS64: COMPUTER NETWORKS - II Part A Unit 1 & 2: Packet-Switching Networks 1 and Packet-Switching Networks 2 1. Mention different types of network services? Explain the same. 2. Difference

More information