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

Size: px
Start display at page:

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

Transcription

1 FlowMonitor - a network monitoring framework for the Network Simulator 3 (NS-3) Gustavo Carneiro INESC Porto Faculdade de Engenharia Universidade do Porto [email protected] Pedro Fortuna Manuel Ricardo INESC Porto INESC Porto Faculdade de Engenharia Faculdade de Engenharia Universidade do Porto Universidade do Porto [email protected] [email protected] The authors would like to thank the support received from the Portuguese Fundação para a Ciência e Tecnologia under the fellowships SFRH/BD/23456/2005 and SFRH/BD/ /2005. ABSTRACT When networking researchers meet the task of doing simulations, there is always a need to evaluate the value of such models by measuring a set of well known network performance metrics. However, simulators in general and NS-3 in particular, require significant programming effort from the researcher in order to collect those metrics. This paper reports a contribution for NS-3 consisting of a new flow monitoring module that makes it easier to collect and save to persistent storage a common set of network performance metrics. The module automatically detects all flows passing through the network and stores in a file most of the metrics that a researcher might need to analyze about the flow, such as bitrates, duration, delays, packet sizes, and packet loss ratio. The value of this module is demonstrated using an easy to follow example. It is also validated by comparing the measurements of a simple scenario with the expected values. Finally, the performance of flow monitoring is characterized and shown to introduce small overheads. 1. INTRODUCTION Network monitoring is accomplished by inspecting the traffic in a network; this technique can be employed for purposes such as: fault detection to detect disruptions in the network connectivity, routing or services; performance evaluation to measure the network utilization or the performance of network protocols; security monitoring to detect possible security problems; and Service Level Agreements (SLA) monitoring to verify if a given network service is performing as specified in contract. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. NSTOOLS 2009, October 19, 2009 Pisa, Italy. Copyright 2009 ICST /00/0004 $5.00. Network monitoring may pose the following problems: 1) monitoring strategy it can follow a passive approach, where the traffic present in the network is measured, or an active approach, where test traffic is injected in the network for testing purposes. In both cases the data collected can then be sent to a central point where a complete picture of the network is computed; 2) monitoring points not every network element can be easily monitored because nodes may lack a monitoring interface such as the Simple Network Monitoring Protocol (SNMP), or nodes may not support the installation of additional software. Monitoring points also depend on the test objective which can be monitoring network links, monitoring network queue dynamics, or monitoring the traffic generated by specific server applications; 3) monitoring duration it must be large enough to enable the gathering of statistically sound results, what implies that a relevant number of events must be captured; this duration may be difficult to define in the passive approach, since the rate of relevant events is, a priori, unknown; 4) synchronization we may be interested in monitoring a sequence of events that might be difficult to synchronize in scenarios involving several nodes; 5) transparency because network monitoring often uses the same resources to transmit regular traffic and monitoring control traffic, we may say that monitoring may affect the results. In network simulation environments, network monitoring is used mostly for characterizing the performance of network protocols. Monitoring in a simulation environment differs from monitoring in real networks in a set of aspects: a) active monitoring is implicitly employed since the traffic injected in a simulated network is controlled and defined statistically; b) installing probing functions to inspect the traffic and queue dynamics is feasible and easy, and there is no need to use monitoring protocols such as SNMP, since the results are easily gathered as data resides in the same process; c) monitoring is less intrusive because the monitoring data needs not to traverse and use the network resources; d) events are easily synchronized because network simulators use the same simulation timer and scheduler; e) scenarios of lots of nodes can be easily addressed. Network monitoring in simulated environments do present some problems: the simulation models may not be accurately designed and produce results that may diverge from the actual protocols. Gathering of results requires the researcher to develop a great deal of code and possibly to

2 know and use different scripting languages. This may be aggravated by the unwillingness of the researcher to dedicate more effort to programming tasks, rather than focusing on the research. This may also lead to lower quality simulation models. This paper introduces the FlowMonitor, a network monitoring framework for the Network Simulator 3 (NS-3) which can be easily used to collect and store network performance data from a NS-3 simulation. The main goals behind the Flow- Monitor development are to automate most of the tasks of dealing with results gathering in a simple way, to be easily extended, and to be efficient in the consumption of memory and CPU resources. NS-3 is a state of the art Network Simulation tool that eventually will replace NS-2, a network simulator used by many researchers. The remainder of this paper is organized as follows: Section 2 gives an overview of the related work; then, in Section 3 an introduction to NS-3 is presented; Section 4 details the FlowMonitor NS-3 module, including its requirements and its architecture; Section 5 presents the validation and results; Section 6 provides the conclusions and future work. 2. RELATED WORK There are a number of contributions that use trace files to gather information to produce network simulation statistics. Trace graph[8] is a NS-2 trace file analyzer based on Matlab that is able to process almost every type of NS2 trace file format; it produces a large amount of graphics that provide various views on the network such as throughput, delay, jitter and packet losses. In[1], a tracing framework is proposed, called XAV, which was built upon an XML Database Management System (DBMS). It was introduced to avoid storing redundant information, to speed up trace analysis and to simplify the access to trace files by post-processing tools. It requires simulators to produce XAV XML trace format files. These files are imported into the XML DBMS which provides an XQuery interface, an SQL-like querying mechanism. The authors compared the performance of XAV with an equivalent system using flat trace files and AWK for trace parsing, and the results show that XAV is always faster in situations where the user needs to extract non-multiple non-consecutive records. The use of trace files can be optimized to a certain extent, but this approach usually requires a huge amount of disk space and the simulation performance is degraded by the extensive use of I/O operations. Even if sampling techniques are used, in large simulations the amount of data to store is still significant. Moreover, using samples introduces some precision error. In order to avoid the overhead of using trace files, statistics can be calculated during the simulation runs. In [5], an experiment was conducted which concluded that using trace files can make simulations take up to 6 or 7 times longer when compared to an approach where statistics are gathered during the simulation. The authors proposed a framework for NS-2 that integrates a data collection module with a separated graphical statistic analysis tool that reads result files produced by the former. The data collection module consists of a static C++ class named Stat. The Stat class provides a put method that can be called anywhere in the NS-2 code. It can collect abstract Routing: olsr,global-routing common Internet-stack (ipv4 impl.) node helper core Devices: csma wifi... simulator mobility Figure 1: Overview or the main NS-3 modules metrics, enabling the use of the framework to measure any variable needed by the user. It is also possible to select specific flows as targets for monitoring instead of considering all the flows. The collected data is used to calculate either mean values or probability density functions. The statistical analysis tool, named analyzer, uses a configuration file which defines the minimum and maximum number of simulation runs required and the specific metrics the user is interested in analyzing. The number of simulation runs can be defined by setting a desired confidence interval. The analyzer can be configured through command line or using a GUI developed with C++/GTK+. The generic nature of this framework provides enhanced flexibility, but at the cost of simplicity. It requires the programmer to explicitly include calls to Stat::put method in his code. Although the framework includes code to automate calls for the most common types of metrics, it still can require some integration effort in some cases. Its use is limited to NS-2. Porting the framework to NS-3 is not trivial due to the many differences between the two versions. 3. NS-3 INTRODUCTION Network Simulator version 3, NS-3, is a new simulator that is intended to eventually replace the aging NS-2 simulator. NS-3 officially started around mid 2006, and the first stable version was released in June 2008, containing models for TCP/IP, WiFi, OLSR, CSMA (Ethernet), and point-topoint links, GOD routing, among others. Additional stable versions have been subsequently released, including Python bindings, learning bridge, and real-time scheduler for version 3.2 (Sep. 2008), emulation, ICMP, and IPv6 addresses in NS- 3.3 (Dec. 2008), WiFi improvements, object naming system, and tap bridge in NS-3.4 (Apr. 2009). Even though NS-2 still has a greater number of models included in the distribution, NS-3 has a good development momentum and is believed to have a better core architecture, better suited to receive community contributions. Core architecture features such as a COM-like interface aggregation and query model, automatic memory management, callback objects, and realistic packets, make for a healthier environment in which to develop new complex simulation models. In addition, it is reportedly[10] one of the better performing simulation tools available today. NS-3 is organized as a set of modules, as shown in Fig. 1. The core module provides additional C++ syntactic sugar to make programming easier, such as smart pointers[6], rich dynamic type system, COM-like[2] interface query system, callback objects, tracing, runtime described object attributes, among others. One of the unusual characteristics about NS-3 when com-

3 pared to other network simulators is its tracing architecture. Generally, tracing is a facility provided by a simulator by which the user can discover which significant events are happening inside the simulation and under which conditions. Tracing will allow the researcher to derive important metrics of a simulation that can be used to quantify the value of a simulated model relative to another module. In NS-2, as in most simulators, tracing consists in generating a text file describing a series of events, with associated time stamps and other properties, one event per line. Common events that are recorded to such files include MAC layer transmission, reception, and queue packet drop, among others. In NS-3, output of events to a text file is also provided, for a small subset of the events known by NS-3. Another possible way for storing events, in particular packet transmit/receive events, is via a PCAP files 1. However, these are just alternative tracing systems; the main tracing system provided by NS-3 is callback based tracing. In NS-3 callback based tracing, trace sources are defined by NS-3 itself. Each possible trace source in NS-3 is associated with a specific object class and is identified by a name. The programmer may register a C++ function or method to be called when a certain (or a set of) trace source produces a new event. It is then the responsibility of the programmer to know what to do in the callback. Common uses for tracing include 1) writing raw event data to a file, 2) collect statistics for the occurrence of the event so that only the mean or other statistic moment is saved to a file, and 3) react to the event and change some parameter in the simulation in real time, for instance to experiment with cross-layer[4] optimizations. Other modules in NS-3 include common, containing data types related to the manipulation of packets and headers, and the simulator module, containing time manipulation primitives and the event scheduler. The node module sits conceptually above the previous modules and provides many fundamental features in a network simulator, such as a Node class, an abstract base class for a layer-2 interface (NetDevice), several address types, including IPv4/6 and MAC-48 (EUI-48 in IEEE 802 terminology) address classes, and abstract base classes for a TCP/IP stack. The mobility module contains an abstract base class for mobility models. A MobilityModel object may be aggregated with a Node object to provide the node with the ability to know its own position. Certain NetDevice implementations, such as WiFiNet- Device, need to know the physical position of a node in order to calculate interference and attenuation values for each transmitted packet, while others, like PointToPoint, do not need this information at all. Some common mobility models are included in NS-3, such as static, constant velocity, constant acceleration, random walk, random waypoint, and random direction[3]. NS-3 also contains a couple of routing models, olsr and global-routing, a module internet-stack implementing a UDP/TCP/IPv4 stack, and few NetDevice implementations, including WiFi (infrastructure and adhoc ), CSMA (Ethernet-like), and PointToPoint (very simple PPP-like link). Finally, sitting above all these modules is a helper module. This module provides a set of very simple C++ classes that 1 PCAP is a binary format for storing (usually live captured) packets, used by programs such as wireshark and tcpdump. do not use pointers (smart or otherwise) and wrap the existing lower level classes with a more programmer-friendly interface. In design pattern terminology[7], we might call this a façade. 4. THE FLOWMONITOR NS-3 MODULE 4.1 Requirements When designing the flow monitoring framework, FlowMonitor, a set of goals were taken into consideration, covering aspects such as usability, performance goals, and flexibility. First and foremost the monitoring framework should be as easy to use as possible. Simulation is already very hard work, and researchers need to focus more on their research rather than spend time programming the simulator. The flow monitoring framework must be easy to activate with just a few lines of code. Ideally, the user should not have to configure any scenario-specific parameters, such as list of flows (e.g. via IP address and port src/dest tuples) that will be simulated, since these are likely to change for numerous reasons, including varying simulation script input parameters and random variable seed. The list of flows to measure should itself be detected by the flow monitor in runtime, without programmer intervention, much like the existing ascii and pcap trace output functions do already in NS-3. Another important concern is regarding the perfect amount of data to capture. Clearly, too little data can be risky for a researcher. A complex series of simulations, including varying input parameters, and multiple runs for generating good confidence intervals, can take between a few minutes to a few days to complete. It can be very frustrating to wait for simulation results for days only to discover in the end that there was something that we forgot to measure and which is important, causing the researcher to code in the additional parameter measurement and wait a few more days for new simulations to be run. Ideally, the simulation framework should attempt to include a reasonably complete information set, even though most of the information may not be needed most of the time, as long as it does not consume too much memory. A large data set is also useful because, in this way, the researcher is able to run the same simulations once, but analyze the results multiple times using multiple views. The reverse is also true. We do not want to save too much information regarding flows. Too much information is difficult to store and transmit, or can significantly increase the memory footprint of the simulation process. For instance, it is preferable to use histograms whenever possible rather than per-packet data, since per-packet data does not scale well with the simulation time. Histograms, on the other hand, do not grow significantly with the number of packets, only with the number of flows, while still being very useful for determining reasonably good approximations of many statistical parameters. It is also a goal of this framework that the produced data can be easily processed in order to obtain the final results, such as plots and high-level statistics. As mentioned earlier, researchers usually need to analyze the same data multiple times for the same simulations, which means that this data should end up on a persistent storage medium eventually. Prime candidates for storage are 1) binary files (e.g. HDF),

4 2) ASCII traces, 3) XML files, and 4) SQL database. It is not completely clear which one of these storage mediums is the best, since each one has its drawbacks. Binary files, for instance, can store information efficiently and allow fast data reading, but are difficult to programmatically read/write, and difficult to extend to accommodate new information once the format has been defined, jeopardizing future extensibility. ASCII traces (line-by-line textual representation of data) are verbose (high formatting overhead), difficult to extend, and potentially slow to read. XML files have excellent extensibility traits, but are also verbose, slow to read for large datasets, and requires everything to be read into memory before any data filtering can be performed. SQL databases, on the other hand, are very efficient reading and filtering data without requiring much process memory, but can also be difficult to manage (except file embedded ones, like SQLite), difficult to extend with new information, and more difficult than textual files to find out how to read the data, since the data format can only be discovered by reading the documentation of the software that produced it or by using a database access GUI tool. We have opted to, initially, support only XML for data storage output, as well as provide access to in-memory data structures. Since the FlowMonitor collects reasonably summarized information, it is not expected that XML trees will be very large, and reading such XML trees into memory is not a problem with today s computing resources. XML presents an important advantage over any other format, which is the large set of programming libraries for reading XML, for almost every programming language, and almost any platform. Especially in scripting languages, such as Python, reading XML is relatively straightforward, and requires no additional programming language, such as SQL, is required knowledge by the researcher. However, this issue is highly debatable, and so all the FlowMonitor data structures are made available for those who wish to serialize data into another storage format. Support for Python based simulations is also one of the main design goals. At the time of this writing, the NS- 3 Python bindings lack support for connecting callbacks to trace sources (Config::Connect, Object::TraceConnect and related APIs). Although supporting trace source callbacks in Python is desired and planned, the main reason for the lack of interest in implementing this feature stems from the awareness that Python is a very slow scripting language and that using Python for per-packet tracing operations would just massively slow down the simulations to the point of not being practical. The reasons for this slowdown include the need to, on a per-call basis, acquire the Python GIL (Global Interpreter Lock), convert the C++ parameters into Python format, call the Python code, convert the return values from Python into C++ format, and finally release the GIL. In order to effectively collect data for Python based simulations we need a configure and forget approach, wherein a C++ class is made responsible for the actual tracing and reports back to Python just the final results, at the end of the simulation. The FlowMonitor architecture is also designed with extensibility in mind. One use case of simulation is to research next-generation networks, which may not even use IPv4, Figure 2: High level view of the FlowMonitor architecture or IPv6. For instance, a researcher could be simulating an MPLS switching fabric, whose data plane encapsulates frames, so we need extensibility at the packet acquisition level to accommodate different data planes. Alternatively, the concept of flow may differ from the usual five-tuple (source-ip, dest-ip, protocol, source-port, dest-port). For instance, someone may want to classify flows by a flow label or DSCP IPv4 field. Therefore we also need an extensible flow classification mechanism. Finally, there is the obvious, but ever so important, requirement of low monitoring overhead. While it is true that some memory and computation overhead cannot be avoided when monitoring flows, this overhead should be as low as can be reasonably expected. 4.2 Architecture Overview The FlowMonitor module is organized into three groups of classes, as shown in Fig. 2. The group of core classes comprises the FlowMonitor class, FlowProbe, and FlowClassifier. The FlowMonitor class is responsible for coordinating efforts regarding probes, and collects end-to-end flow statistics. The FlowProbe class is responsible for listening for packet events in a specific point of the simulated space, report those events to the global FlowMonitor, and collect its own flow statistics regarding only the packets that pass through that probe. Finally, the class FlowClassifier provides a method to translate raw packet data into abstract flow identifier and packet identifier parameters. These identifiers are unsigned 32-bit integers that uniquely identify a flow and a packet within that flow, respectively, for the whole simulation, regardless of the point in which the packet was captured. These abstract identifiers are used in the communication between FlowProbe and FlowMonitor, and all collected statistics reference only those abstract identifiers in order to keep the core architecture generic and not tied down to any particular flow capture method or classification system. Another group of classes provides a default IPv4 flow monitoring implementation. The classes Ipv4FlowProbe and Ipv4-

5 In order to understand the main utility of FlowProbe statistics, consider a simple three-node network, A B C. Consequently, we will have 2 three probes, P A, P B, and P C. When a packet is transmitted from A to C passing through B, the probe P A will notice the packet and create a Flow- Probe::FlowStats structure for the flow, storing a delay- F romf irstp robesum value of zero. Next, the probe P B will detect the packet being forwarded, and will increment the value of delayf romf irstp robesum in its own Flow- Stats structure by the transmission delay from A to B. Finally, the packet arrives at C and will be detected by P C, which then adds to its delayf romf irstp robesum the delay between A and C. In the end, we are able to extract not only end-to-end mean delay but also partial delays that the packet experiences along the path. This type of probespecific information can be very helpful in ascertaining what part of the network is responsible for the majority of the delay, for instance. Such level of detail is missing from the FlowMonitor::FlowStats structure alone. Figure 3: Data collected by the FlowMonitor Classifier subclass the abstract core base classes FlowProbe and FlowClassifier, respectively. Ipv4FlowClassifier classifies packets by looking at their IP and TCP/UDP headers. From these packet headers, a tuple (source-ip, destinationip, protocol, source-port, destination-port) is created, and a unique flow identifier is assigned for each different tuple combination. For each node in the simulation, one instance of the class Ipv4FlowProbe is created to monitor that node. Ipv4FlowProbe accomplishes this by connecting callbacks to trace sources in the Ipv4L3Protocol interface of the node. Some improvements were made to these trace sources in order to support the flow monitoring framework. Finally, there is also a helper group consisting of the single class FlowMonitorHelper, which is modelled in the usual fashion of existing NS-3 helper classes. This helper class is designed to make the most common case of monitoring IPv4 flows for a set of nodes extremely simple. It takes care of all the details of creating the single classifier, creating one Ipv4FlowProbe per node, and creating the FlowMonitor instance. To summarize this highlevel architecture view, a single simulation will typically contain one FlowMonitorHelper instance, one FlowMonitor, one Ipv4FlowClassifier, and several Ipv4FlowProbes, one per Node. Probes capture packets, then ask the classifier to assign identifiers to each packet, and report to the global FlowMonitor abstract flow events, which are finally used for statistical data gathering. 4.3 Flow Data Structures The main result of the flow monitoring process is the collection of flow statistics. They are kept in memory data structures, and can be retrieved via simple getter methods. As seen Fig. 3, there are two distinct flow statistics data structures, FlowMonitor::FlowStats and FlowProbe::FlowStats. The former contains complete end-to-end flow statistics, while the latter contains only a small subset of statistics and from the point of view of each probe. What follows is a more detailed description of the individual attributes in the flow data structures. In FlowMonitor::FlowStats, the following attributes can be found: timefirsttxpacket Contains the absolute time when the first packet in the flow was transmitted, i.e. the time when the flow transmission starts; timelasttxpacket Contains the absolute time when the last packet in the flow was transmitted, i.e. the time when the flow transmission ends; timefirstrxpacket Contains the absolute time when the first packet in the flow was received by an end node, i.e. the time when the flow reception starts; timelastrxpacket Contains the absolute time when the last packet in the flow was received, i.e. the time when the flow reception ends; delaysum Contains the sum of all end-to-end delays for all received packets of the flow; jittersum Contains the sum of all end-to-end delay jitter (delay variation) values for all received packets of the flow. Here we define jitter of a packet as the delay variation relatively to the last packet of the stream, i.e. Jitter {P N } = Delay {P N } Delay {P N 1}. This definition is in accordance with the Type-P-One-wayipdv as defined in IETF RFC 3393; txbytes, txpackets Total number of transmitted bytes and packets, respectively, for the flow; rxbytes, rxpackets Total number of received bytes and packets, respectively, for the flow; lostpackets Total number of packets that are assumed to be lost, i.e. those that were transmitted but have not been reportedly received or forwarded for a long time. By default, packets missing for a period of over 10 seconds are assumed to be lost, although this value can be easily configured in runtime; 2 Note: in the abstract base architecture it is not implied that there is one probe per node; however, for the sake of this example we will assume the IPv4 flow monitoring case, which does make such assumption.

6 timesforwarded Contains the number of times a packet has been reportedly forwarded, summed for all packets in the flow; delayhistogram, jitterhistogram, packetsizehistogram Histogram versions for the delay, jitter, and packet sizes, respectively; packetsdropped, bytesdropped These attributes also track the number of lost packets and bytes, but discriminates the losses by a reason code. This reason code is usually an enumeration defined by the concrete Flow- Probe class, and for each reason code there may be a vector entry indexed by that code and whose value is the number of packets or bytes lost due to this reason. For instance, in the Ipv4FlowProbe case the following reasons are currently defined: DROP_NO_ROUTE (no IPv4 route found for a packet), DROP_TTL_EXPIRE (a packet was dropped due to an IPv4 TTL field decremented and reaching zero), and DROP_BAD_CHECKSUM (a packet had bad IPv4 header checksum and had to be dropped). Some interesting metrics can be derived from the above attributes. For instance: mean delay: delay = delaysum rxp ackets mean jitter: jitter = jittersum rxp ackets 1 mean transmitted packet size (byte): S tx = mean received packet size (byte): S rx = mean transmitted bitrate (bit/s): B tx = txbytes txp ackets rxbytes rxp ackets 8 txbytes timelastt xp acket timef irstt xp acket mean received bitrate (bit/s): B rx = 8 rxbytes timelastrxp acket timef irstrxp acket mean hop count: hopcount = 1 + packet loss ratio: q = timesf orwarded rxp ackets lostp ackets rxp ackets+lostp ackets Some of the metrics, such as delay, jitter, and packet size, are too important to be summarized just by the sum, count and, indirectly, mean values. However, storing all individual samples for those metrics does not scale well and is too expensive in terms of memory/storage. Therefore, histograms are used instead, as a compromise solution that consumes limited memory but is rich enough to allow computation of reasonable approximations of important statistical properties. In FlowMonitor, the class Histogram is used to implement histograms. It offers a single method to count new samples, AddValue, a method to configure the bin width, SetBinWidth, and methods to retrieve the histogram data: GetNBins, GetBinStart, GetBinEnd, GetBinWidth, Get- BinCount. From this data, estimated values for N (number of samples), µ (mean), and s (standard error) can be easily computed. From the equations found in [9] (Chapter 2), we can derive: N = µ = 1 N M 1 X i=0 M 1 X i=0 H i C ih i s 2 = 1 M 1 X (C i µ) 2 H i N 1 i=0 In the above equations, M represents the number of bins, H i represents the count of bin i, and C i the center value of bin i. In FlowProbe::FlowStats some additional attributes can be found on a per-probe/flow basis: delayfromfirstprobesum Tracks the sum of all delays the packet experienced since being reportedly transmitted. The value is always relative to the time the value was initially detected by the first probe; bytes, packets number of bytes and packets, respectively, that this probe has detected belonging to the flow. No distinction is made here between first transmission, forwarding, and reception events; bytesdropped, packetsdropped tracks bytes and packets lost qualified by reason code, similarly to the attributes with the same name in FlowMonitor::FlowStats. 4.4 Example To demonstrate the programming interfaces for using Flow- Monitor, we create a simple simulation scenario, illustrated in Fig. 4, with a grid topology of 3 3 WiFi adhoc nodes running the OLSR protocol. The nodes transmit CBR UDP flows with transmitted bitrate of 100 kbit/s (application data, excluding UPD/IP/MAC overheads), following a simple node numbering strategy: for i in 0..8, node N i transmits to node N 8 i. It is out of scope of this paper to present the full example program source code 3. Suffice to say that enabling the flow monitor is just the matter of replacing the line ns3.simulator.run(), with something like this (using the Python language): flowmon helper = ns3. FlowMonitorHelper ( ) monitor = f l o w m o n h e l p e r. I n s t a l l A l l ( ) monitor. S e t A t t r i b u t e ( DelayBinWidth, ns3. DoubleValue ( ) ) monitor. S e t A t t r i b u t e ( JitterBinWidth, ns3. DoubleValue ( ) ) monitor. S e t A t t r i b u t e ( PacketSizeBinWidth, ns3. DoubleValue ( 2 0 ) ) ns3. S i m u l a t o r. Run ( ) monitor. S e r i a l i z e T o X m l F i l e ( r e s u l t s. xml, True, True ) 3 The complete source code is available online, at

7 Figure 4: Example network topology What the above code does is: 1. Create a new FlowMonitorHelper object; 2. Call the method InstallAll on this object. As a result, the flow monitor will be created and configured to monitor IPv4 in all the simulation nodes; 3. Configure some histogram attributes; 4. Run the simulation, as before, calling ns3.simulator.run(); 5. Finally, write the flow monitored results to a XML file named results.xml. The second parameter of SerializeToXmlFile indicates if we wish to also save the histogram contents, and the third parameter indicates if we wish to save per-probe flow statistics. To present the results, one would have to write a program that reads the data from XML and creates plots. For instance, the Python program in List. 1 reads the XML file and plots the histograms of 1) received bitrates, 2) packet losses, and 3) delays, for all flows. The program uses the Python XML parsing module ElementTree for reading the XML file, and the matplotlib module for generating the plots. The results in Fig. 5 are obtained from this and show that most flows achieved an actual throughput of around 105 kbit/s, except for one flow that only transferred less than 86 kbit/s. Packet losses were generally low except for two flows. Finally, mean delays vary between 20 ms and 70 ms. 5. VALIDATION AND RESULTS For validation and obtaining results, we begin by describing a simple network scenario, which is then used for validation purposes. Finally performance is evaluated using the same scenario and varying the network size. 5.1 Test scenario Fig. 6 shows the network topology and flow configuration for the test scenario. It consists of a number of rows of nodes, each row containing a number of nodes, with each node connected to the next one via a point-to-point link. From left to right, a link is configured with 100 kbit/s, then the next link is configured with 50 kbit/s, the next with 100 kbit/s again, and so on. The configured delay is zero, and the drop tail queue maximum size is 100 packets. The rows are not vertically connected. The NS-3 GlobalRoutingManager is used to compute the routing tables at the beginning of the Listing 1: Sample script to read and plot the results e t = ElementTree. p a r s e ( s y s. argv [ 1 ] ) b i t r a t e s = [ ] l o s s e s = [ ] d e l a y s = [ ] for f l o w in e t. f i n d a l l ( FlowStats /Flow ) : # f i l t e r out OLSR for t p l in e t. f i n d a l l ( I p v 4 F l o w C l a s s i f i e r /Flow ) : i f t p l. g e t ( f l o w I d ) == f l o w. g e t ( f l o w I d ) : break i f t p l. g e t ( d e s t i n a t i o n P o r t ) == 698 : continue l o s s e s. append ( i n t ( f l o w. g e t ( l o s t P a c k e t s ) ) ) r x Packets = i n t ( f l o w. g e t ( r x Packets ) ) i f r x Packets == 0 : b i t r a t e s. append ( 0 ) e l s e : t0 = l o n g ( f l o w. g e t ( timefirstrxpacket ) [ : 2 ] ) t1 = l o n g ( f l o w. g e t ( timelastrxpacket ) [ : 2 ] ) duration = ( t1 t0 ) 1 e 9 b i t r a t e s. append (8 l o n g ( f l o w. g e t ( rxbytes ) ) / duration 1e 3) d e l a y s. append ( f l o a t ( f l o w. g e t ( delaysum ) [ : 2 ] ) 1e 9 / rxpackets ) pylab. s u b p l o t ( ) pylab. h i s t ( b i t r a t e s, b i n s =40) pylab. x l a b e l ( Flow b i t r a t e ( b i t / s ) ) pylab. y l a b e l ( Number o f f l o w s ) pylab. s u b p l o t ( ) pylab. h i s t ( l o s s e s, b i n s =40) pylab. x l a b e l ( Number o f l o s t p a c k e t s ) pylab. y l a b e l ( Number o f f l o w s ) pylab. s u b p l o t ( ) pylab. h i s t ( d e l a y s, b i n s =10) pylab. x l a b e l ( Delay ( s ) ) pylab. y l a b e l ( Number o f f l o w s ) pylab. s u b p l o t s a d j u s t ( hspace =0.4) pylab. s a v e f i g ( r e s u l t s. pdf ) Number of flows Number of flows Flow bitrate (bit/s) 7 Number of flows Number of lost packets Delay (s) Figure 5: Example program results

8 be half the transmitted bitrate. Figure 6: Test scenario simulation. Flows are created at the beginning of the simulation. Every other node sends one 100 kbit/s UDP flow 4 to the node that is two hops to the right, and sends another flow to the node that is two hops to the left. Packet size is the default 512 byte UDP payload. 5.2 Validation To validate the flow monitor, we begin by examining the test scenario and deriving some theoretical flow metrics, which are then compared to values obtained by the measurements done with the help of the FlowMonitor module. The test topology is relatively simple to analyze. In the first link, between the first and second nodes, we have one 100 kbit/s UDP flow in each direction. For each flow, the first hop of the flow traverses a link whose capacity matches exactly the flow link-layer bitrate. Thus, packet loss rate will be zero, and queueing delay will also be null. However, when the flow reaches the second hop it will have to be transmitted by a link that is half the capacity of the flow bitrate. Consequently, after a few seconds the drop-tail queue will fill to maximum capacity, causing a queueing delay, and half the packets will have to be dropped due to the bottleneck link. We can derive the estimated values for delays, losses, and bitrates of each flow. We define S as the number of bits in each packet, S = ( ) 8 = 4336 bit, and C 1 the bitrate of the link layer of the 100 kbit/s link, C 1 = bit/s. Then, the delay in the first hop, where there is no queueing, is simply the transmission delay, d 1 = S C 1 = s. In steady state, the second hop drop-tail queue will be filled, and so packets will experience a delay corresponding to transmitting 99 packets ahead in the queue, plus the packet itself, plus the packet that the PPP device is currently transmitting. Since the second hop has lower bitrate, C 2 = bit/s, and so d 2 = 101 S C 2 = s. Thus, the total end-to-end delay experienced by the flow will be d 1 + d 2 = s. Regarding packet losses, each flow traverses two hops. As previously explained, packet drop probabilities will be 0 and 0.5 for the first and second hop, respectively. Thus, the end-to-end packet probability will be 0.5 for each flow. Consequently, the received bitrate should 4 Actually, at application layer the flow bitrates are kbit/s, so that with UDP, IPv4, and MAC header overhead the bitrate is exactly 100 kbit/s at link layer. The validation results in Tab. 1 show that, for a scenario with 2704 nodes (i.e flows), the measured results (for 10 simulations) match the theoretical values within a very small margin of error. The expected values for transmitted bitrate is slightly less than 100 kbit/s due to the translation from layer-2 to layer-3, taking into account the factor due to the PPP header not being present where packets are monitored by the FlowMonitor. Same reasoning applies to the received bitrate. The errors found between estimated and measured values are negligible for transmitted/received bitrates and delays, and are likely a result of sampling issues and/or numeric errors. The error in the packet loss ratio is slightly larger, but this error is not of great significance. This error can be explained by the method of measuring losses used by the FlowMonitor, wherein a packet is considered lost if it has not been reported by any probe to have been received or retransmitted for a certain period of time, i.e. only packets that are missing in action are considered lost. Naturally, at the end of simulation a number of packets are still in transit, some of which could have been lost, but the potential packet losses are not accounted for, hence the error. In Sec. 6.1 we mention a possible way to overcome this error, as future work. 5.3 Performance Results To evaluate the overhead introduced by flow monitoring, we ran a series of simulations, increasing the network size between 16 and 2704 nodes, and measuring the time taken to simulate each scenario, and memory consumption (virtual memory size), 1) without collecting any results, 2) with flow monitoring, and 3) with ascii tracing to a file. We repeat each experiment 10 times with different random variable seeds. The performance results in Fig. 7 show the additional overhead, in terms of memory consumption and simulation wall-clock time, that is incurred by enabling the flow monitor or trace file. The top-left plot shows the total memory consumed by a simulation while varying the number of nodes. Three curves are shown: one represents the simulations without FlowMonitor or file tracing enabled, another other one represents the same simulations but with FlowMonitor enabled, and the remaining curve represents the simulations with ascii file tracing. The top-right plot shows an alternative view of the same information where instead the monitoring/tracing overhead is shown. The monitoring overhead, in percentage, is defined by the formula 100 M monitor M base M base, where M monitor is the memory consumption with monitoring enabled, and M base the memory without monitoring. Idem for file tracing. The memory overhead of enabling the FlowMonitor was 23.12% for 2704 nodes, corresponding to 45 MB of extra memory consumption, while the overhead with ascii file tracing was 5.82%. The bottom two plots show the impact in terms of simulation wallclock time of the FlowMonitor and trace file, the left plot showing the three curves separately, the right plot showing the relative overhead (using a formula similar to the memory overhead one). For the simulation time, which in case of FlowMonitor includes the time needed to serialize all data to an XML file, the overhead reaches a peak of about 55% for 500 nodes, but then gradually decreases with the network size until reaching 38.82% (about 90 seconds) for 2704 nodes, while the overhead of ascii trace file generation is al-

9 Metric Measured Value (95% C. I.) Expected Value Mean Error Tx. bitrate ± % Rx. bitrate ± % Delays ± % Losses ± % Table 1: Validation results Memory (MiB) Base Flow Monitor Trace File Memory Overhead (%) Flow Monitor Trace File Time (s) Number of Nodes Base Flow Monitor Trace File Number of Nodes Time Overhead (%) Number of Nodes Flow Monitor Trace file Number of Nodes Figure 7: Performance results of the flow monitor most always above 700%. In the course of all simulations, over 150 GiB of ascii trace files were generated. It should be noted that these values are worst case scenario. Since the simulation scenario is very simple (PointToPoint- NetDevice is just about the simplest and fastest NetDevice implementation in NS-3), the additional overhead appears relatively significant. More complex simulations, for example WiFi and OLSR, should consume considerably more memory and CPU time, so that enabling the FlowMonitor on such simulations will add an overhead that will be smaller compared to the baseline simulation. 6. CONCLUSIONS In this paper we have described a solution that solves a common problem for all researchers that need to conduct simulations in NS-3: how to easily extract flow metrics from arbitrary simulations? Existing solutions, some of which have been identified, do not solve this problem effectively, both for simulators in general but especially in NS-3. A set of general requirements have been identified, and a new flow monitoring solution was designed and implemented which meets those requirements. The simplicity of use of this new framework has been demonstrated via a very simple example. The implementation was validated by comparing measured flow metrics with theoretical results. Performance results show that flow monitoring introduces a relatively small overhead, even when used with a base simulation that is already very efficient to begin with. 6.1 Future Work Although the FlowMonitor already covers the most important functionality needed from such a system, there is room for improvement. More data output methods, such as database and binary file, would of course be welcome. Another useful addition could be to add more options to better control what level of detail is stored in memory. For instance, we might not be interested in per-probe flow statistics, or in histograms. FlowMonitor support for multicast/broadcast flows is another features that could be useful for certain researchers. The FlowMonitor could benefit from a closer integration with NetDevices, e.g. so that it could directly monitor packet drop events from each NetDevice s transmission queue, as well as handle transmission errors from layer 2, instead of relying on the vaguer packet missing in action measurement method. In some circumstances a researcher might want to observe how flow metrics evolve over time, instead of just obtaining a summary of the results over the entire simulation. This would require saving a periodic snapshot of the flows metrics to a file. It can be done already by user code, but a convenience API for it would be interesting to have in FlowMonitor. Finally, we would like to add convenient methods to the Histogram class that would compute the values N, µ, and s that were mentioned in Sec The FlowMonitor code for NS version 3.2 is available online at In the future, the authors plan to port this code to the latest version of NS-3 and propose it for inclusion in the main NS-3 source code repository.

10 7. REFERENCES [1] R. Ben-El-Kezadri, F. Kamoun, and G. Pujolle. XAV: a fast and flexible tracing framework for network simulation. In Proceedings of the 11th international symposium on Modeling, analysis and simulation of wireless and mobile systems, pages 47 53, Vancouver, British Columbia, Canada, ACM. [2] D. Box. Essential COM. Addison-Wesley, [3] T. Camp, J. Boleng, and V. Davies. A survey of mobility models for ad hoc network research. Wireless Communications and Mobile Computing, 2(5): , [4] G. Carneiro, J. Ruela, and M. Ricardo. Cross-layer design in 4G wireless terminals. Wireless Communications, IEEE [see also IEEE Personal Communications], 11(2):7 13, [5] C. Cicconetti, E. Mingozzi, and G. Stea. An integrated framework for enabling effective data collection and statistical analysis with ns-2. In Proceeding from the 2006 workshop on ns-2: the IP network simulator, page 11, Pisa, Italy, ACM. [6] D. Edelson. Smart pointers: They re smart, but they re not pointers. University of California, Santa Cruz, Computer Research Laboratory, [7] E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: elements of reusable object-oriented software. Addison-Wesley, [8] J. Malek and K. Nowak. Trace graph-data presentation system for network simulator ns. In Proceedings of the Information Systems - Concepts, Tools and Applications (ISAT 2003), Poland, September [9] S. W. Smith. The Scientist & Engineer s Guide to Digital Signal Processing. California Technical Pub., 1st edition, [10] E. Weingärtner, H. vom Lehn, and K. Wehrle. A performance comparison of recent network simulators. In Proceedings of the IEEE International Conference on Communications 2009 (ICC 2009), Dresden, Germany, IEEE., June 2009.

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

NS-3 Advanced Tutorial: Visualization and Data Collection

NS-3 Advanced Tutorial: Visualization and Data Collection NS-3 Advanced Tutorial: Visualization and Data Collection Tom Henderson (University of Washington and Boeing Research & Technology) L. Felipe Perrone (Bucknell University) NS-3 Consortium Meeting 1 Outline

More information

Establishing How Many VoIP Calls a Wireless LAN Can Support Without Performance Degradation

Establishing How Many VoIP Calls a Wireless LAN Can Support Without Performance Degradation Establishing How Many VoIP Calls a Wireless LAN Can Support Without Performance Degradation ABSTRACT Ángel Cuevas Rumín Universidad Carlos III de Madrid Department of Telematic Engineering Ph.D Student

More information

Performance Evaluation of AODV, OLSR Routing Protocol in VOIP Over Ad Hoc

Performance Evaluation of AODV, OLSR Routing Protocol in VOIP Over Ad Hoc (International Journal of Computer Science & Management Studies) Vol. 17, Issue 01 Performance Evaluation of AODV, OLSR Routing Protocol in VOIP Over Ad Hoc Dr. Khalid Hamid Bilal Khartoum, Sudan [email protected]

More information

LCMON Network Traffic Analysis

LCMON Network Traffic Analysis LCMON Network Traffic Analysis Adam Black Centre for Advanced Internet Architectures, Technical Report 79A Swinburne University of Technology Melbourne, Australia [email protected] Abstract The Swinburne

More information

STANDPOINT FOR QUALITY-OF-SERVICE MEASUREMENT

STANDPOINT FOR QUALITY-OF-SERVICE MEASUREMENT STANDPOINT FOR QUALITY-OF-SERVICE MEASUREMENT 1. TIMING ACCURACY The accurate multi-point measurements require accurate synchronization of clocks of the measurement devices. If for example time stamps

More information

Avaya ExpertNet Lite Assessment Tool

Avaya ExpertNet Lite Assessment Tool IP Telephony Contact Centers Mobility Services WHITE PAPER Avaya ExpertNet Lite Assessment Tool April 2005 avaya.com Table of Contents Overview... 1 Network Impact... 2 Network Paths... 2 Path Generation...

More information

4 Internet QoS Management

4 Internet QoS Management 4 Internet QoS Management Rolf Stadler School of Electrical Engineering KTH Royal Institute of Technology [email protected] September 2008 Overview Network Management Performance Mgt QoS Mgt Resource Control

More information

SolarWinds. Understanding SolarWinds Charts and Graphs Technical Reference

SolarWinds. Understanding SolarWinds Charts and Graphs Technical Reference SolarWinds Understanding SolarWinds Charts and Graphs Technical Reference Copyright 1995-2015 SolarWinds Worldwide, LLC. All rights reserved worldwide. No part of this document may be reproduced by any

More information

Performance Evaluation of Linux Bridge

Performance Evaluation of Linux Bridge Performance Evaluation of Linux Bridge James T. Yu School of Computer Science, Telecommunications, and Information System (CTI) DePaul University ABSTRACT This paper studies a unique network feature, Ethernet

More information

IP SLAs Overview. Finding Feature Information. Information About IP SLAs. IP SLAs Technology Overview

IP SLAs Overview. Finding Feature Information. Information About IP SLAs. IP SLAs Technology Overview This module describes IP Service Level Agreements (SLAs). IP SLAs allows Cisco customers to analyze IP service levels for IP applications and services, to increase productivity, to lower operational costs,

More information

Chapter 9. IP Secure

Chapter 9. IP Secure Chapter 9 IP Secure 1 Network architecture is usually explained as a stack of different layers. Figure 1 explains the OSI (Open System Interconnect) model stack and IP (Internet Protocol) model stack.

More information

Performance Analysis of IPv4 v/s IPv6 in Virtual Environment Using UBUNTU

Performance Analysis of IPv4 v/s IPv6 in Virtual Environment Using UBUNTU Performance Analysis of IPv4 v/s IPv6 in Virtual Environment Using UBUNTU Savita Shiwani Computer Science,Gyan Vihar University, Rajasthan, India G.N. Purohit AIM & ACT, Banasthali University, Banasthali,

More information

Burst Testing. New mobility standards and cloud-computing network. This application note will describe how TCP creates bursty

Burst Testing. New mobility standards and cloud-computing network. This application note will describe how TCP creates bursty Burst Testing Emerging high-speed protocols in mobility and access networks, combined with qualityof-service demands from business customers for services such as cloud computing, place increased performance

More information

Traffic Prediction in Wireless Mesh Networks Using Process Mining Algorithms

Traffic Prediction in Wireless Mesh Networks Using Process Mining Algorithms Traffic Prediction in Wireless Mesh Networks Using Process Mining Algorithms Kirill Krinkin Open Source and Linux lab Saint Petersburg, Russia [email protected] Eugene Kalishenko Saint Petersburg

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

A NOVEL RESOURCE EFFICIENT DMMS APPROACH

A NOVEL RESOURCE EFFICIENT DMMS APPROACH A NOVEL RESOURCE EFFICIENT DMMS APPROACH FOR NETWORK MONITORING AND CONTROLLING FUNCTIONS Golam R. Khan 1, Sharmistha Khan 2, Dhadesugoor R. Vaman 3, and Suxia Cui 4 Department of Electrical and Computer

More information

PANDORA FMS NETWORK DEVICE MONITORING

PANDORA FMS NETWORK DEVICE MONITORING NETWORK DEVICE MONITORING pag. 2 INTRODUCTION This document aims to explain how Pandora FMS is able to monitor all network devices available on the marke such as Routers, Switches, Modems, Access points,

More information

PART OF THE PICTURE: The TCP/IP Communications Architecture

PART OF THE PICTURE: The TCP/IP Communications Architecture PART OF THE PICTURE: The / Communications Architecture 1 PART OF THE PICTURE: The / Communications Architecture BY WILLIAM STALLINGS The key to the success of distributed applications is that all the terminals

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

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

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

CCNA R&S: Introduction to Networks. Chapter 5: Ethernet

CCNA R&S: Introduction to Networks. Chapter 5: Ethernet CCNA R&S: Introduction to Networks Chapter 5: Ethernet 5.0.1.1 Introduction The OSI physical layer provides the means to transport the bits that make up a data link layer frame across the network media.

More information

EKT 332/4 COMPUTER NETWORK

EKT 332/4 COMPUTER NETWORK UNIVERSITI MALAYSIA PERLIS SCHOOL OF COMPUTER & COMMUNICATIONS ENGINEERING EKT 332/4 COMPUTER NETWORK LABORATORY MODULE LAB 2 NETWORK PROTOCOL ANALYZER (SNIFFING AND IDENTIFY PROTOCOL USED IN LIVE NETWORK)

More information

Network Simulation Traffic, Paths and Impairment

Network Simulation Traffic, Paths and Impairment Network Simulation Traffic, Paths and Impairment Summary Network simulation software and hardware appliances can emulate networks and network hardware. Wide Area Network (WAN) emulation, by simulating

More information

PANDORA FMS NETWORK DEVICES MONITORING

PANDORA FMS NETWORK DEVICES MONITORING NETWORK DEVICES MONITORING pag. 2 INTRODUCTION This document aims to explain how Pandora FMS can monitor all the network devices available in the market, like Routers, Switches, Modems, Access points,

More information

Introduction To Computer Networking

Introduction To Computer Networking Introduction To Computer Networking Alex S. 1 Introduction 1.1 Serial Lines Serial lines are generally the most basic and most common communication medium you can have between computers and/or equipment.

More information

APPLICATION NOTE 209 QUALITY OF SERVICE: KEY CONCEPTS AND TESTING NEEDS. Quality of Service Drivers. Why Test Quality of Service?

APPLICATION NOTE 209 QUALITY OF SERVICE: KEY CONCEPTS AND TESTING NEEDS. Quality of Service Drivers. Why Test Quality of Service? QUALITY OF SERVICE: KEY CONCEPTS AND TESTING NEEDS By Thierno Diallo, Product Specialist With the increasing demand for advanced voice and video services, the traditional best-effort delivery model is

More information

Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4)

Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4) Chapter 3 TCP/IP Networks 3.1 Internet Protocol version 4 (IPv4) Internet Protocol version 4 is the fourth iteration of the Internet Protocol (IP) and it is the first version of the protocol to be widely

More information

Backbone Capacity Planning Methodology and Process

Backbone Capacity Planning Methodology and Process Backbone Capacity Planning Methodology and Process A Technical Paper prepared for the Society of Cable Telecommunications Engineers By Leon Zhao Senior Planner, Capacity Time Warner Cable 13820 Sunrise

More information

Internet Protocol: IP packet headers. vendredi 18 octobre 13

Internet Protocol: IP packet headers. vendredi 18 octobre 13 Internet Protocol: IP packet headers 1 IPv4 header V L TOS Total Length Identification F Frag TTL Proto Checksum Options Source address Destination address Data (payload) Padding V: Version (IPv4 ; IPv6)

More information

Study of Network Performance Monitoring Tools-SNMP

Study of Network Performance Monitoring Tools-SNMP 310 Study of Network Performance Monitoring Tools-SNMP Mr. G.S. Nagaraja, Ranjana R.Chittal, Kamod Kumar Summary Computer networks have influenced the software industry by providing enormous resources

More information

Study of Different Types of Attacks on Multicast in Mobile Ad Hoc Networks

Study of Different Types of Attacks on Multicast in Mobile Ad Hoc Networks Study of Different Types of Attacks on Multicast in Mobile Ad Hoc Networks Hoang Lan Nguyen and Uyen Trang Nguyen Department of Computer Science and Engineering, York University 47 Keele Street, Toronto,

More information

How do I get to www.randomsite.com?

How do I get to www.randomsite.com? Networking Primer* *caveat: this is just a brief and incomplete introduction to networking to help students without a networking background learn Network Security. How do I get to www.randomsite.com? Local

More information

Network Discovery Protocol LLDP and LLDP- MED

Network Discovery Protocol LLDP and LLDP- MED Network LLDP and LLDP- MED Prof. Vahida Z. Attar College of Engineering, Pune Wellesely Road, Shivajinagar, Pune-411 005. Maharashtra, INDIA Piyush chandwadkar College of Engineering, Pune Wellesely Road,

More information

Datasheet iscsi Protocol

Datasheet iscsi Protocol Protocol with DCB PROTOCOL PACKAGE Industry s premiere validation system for SAN technologies Overview Load DynamiX offers SCSI over TCP/IP transport () support to its existing powerful suite of file,

More information

Gigabit Ethernet Packet Capture. User s Guide

Gigabit Ethernet Packet Capture. User s Guide Gigabit Ethernet Packet Capture User s Guide Copyrights Copyright 2008 CACE Technologies, Inc. All rights reserved. This document may not, in whole or part, be: copied; photocopied; reproduced; translated;

More information

VoIP over MANET (VoMAN): QoS & Performance Analysis of Routing Protocols for Different Audio Codecs

VoIP over MANET (VoMAN): QoS & Performance Analysis of Routing Protocols for Different Audio Codecs VoIP over MANET (VoMAN): QoS & Performance Analysis of Routing Protocols for Different Audio Codecs Said El brak Mohammed Bouhorma Anouar A.Boudhir ABSTRACT Voice over IP (VoIP) has become a popular Internet

More information

EXTENDING NETWORK KNOWLEDGE: MAKING OLSR A QUALITY OF SERVICE CONDUCIVE PROTOCOL

EXTENDING NETWORK KNOWLEDGE: MAKING OLSR A QUALITY OF SERVICE CONDUCIVE PROTOCOL EXTENDING NETWORK KNOWLEDGE: MAKING OLSR A QUALITY OF SERVICE CONDUCIVE PROTOCOL by Pedro Eduardo Villanueva-Pena, Thomas Kunz Carleton University January, 2006 This report examines mechanisms to gradually

More information

SBSCET, Firozpur (Punjab), India

SBSCET, Firozpur (Punjab), India Volume 3, Issue 9, September 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Layer Based

More information

packet retransmitting based on dynamic route table technology, as shown in fig. 2 and 3.

packet retransmitting based on dynamic route table technology, as shown in fig. 2 and 3. Implementation of an Emulation Environment for Large Scale Network Security Experiments Cui Yimin, Liu Li, Jin Qi, Kuang Xiaohui National Key Laboratory of Science and Technology on Information System

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

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Computer Network. Interconnected collection of autonomous computers that are able to exchange information Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.

More information

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto [email protected] Luís Teixeira INESC Porto, Universidade Católica Portuguesa [email protected] Luís Corte-Real

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

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

Network Discovery Protocol LLDP and LLDP- MED

Network Discovery Protocol LLDP and LLDP- MED Network LLDP and LLDP- MED Prof. Vahida Z. Attar College of Engineering, Pune Wellesely Road, Shivajinagar, Pune-411 005. Maharashtra, INDIA Piyush chandwadkar College of Engineering, Pune Wellesely Road,

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

Using IPM to Measure Network Performance

Using IPM to Measure Network Performance CHAPTER 3 Using IPM to Measure Network Performance This chapter provides details on using IPM to measure latency, jitter, availability, packet loss, and errors. It includes the following sections: Measuring

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

Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints

Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints Michael Bauer, Srinivasan Ravichandran University of Wisconsin-Madison Department of Computer Sciences {bauer, srini}@cs.wisc.edu

More information

Influence of Load Balancing on Quality of Real Time Data Transmission*

Influence of Load Balancing on Quality of Real Time Data Transmission* SERBIAN JOURNAL OF ELECTRICAL ENGINEERING Vol. 6, No. 3, December 2009, 515-524 UDK: 004.738.2 Influence of Load Balancing on Quality of Real Time Data Transmission* Nataša Maksić 1,a, Petar Knežević 2,

More information

Large-Scale TCP Packet Flow Analysis for Common Protocols Using Apache Hadoop

Large-Scale TCP Packet Flow Analysis for Common Protocols Using Apache Hadoop Large-Scale TCP Packet Flow Analysis for Common Protocols Using Apache Hadoop R. David Idol Department of Computer Science University of North Carolina at Chapel Hill [email protected] http://www.cs.unc.edu/~mxrider

More information

TIME TO RETHINK REAL-TIME BIG DATA ANALYTICS

TIME TO RETHINK REAL-TIME BIG DATA ANALYTICS TIME TO RETHINK REAL-TIME BIG DATA ANALYTICS Real-Time Big Data Analytics (RTBDA) has emerged as a new topic in big data discussions. The concepts underpinning RTBDA can be applied in a telecom context,

More information

Network Management and Monitoring Software

Network Management and Monitoring Software Page 1 of 7 Network Management and Monitoring Software Many products on the market today provide analytical information to those who are responsible for the management of networked systems or what the

More information

Internet Infrastructure Measurement: Challenges and Tools

Internet Infrastructure Measurement: Challenges and Tools Internet Infrastructure Measurement: Challenges and Tools Internet Infrastructure Measurement: Challenges and Tools Outline Motivation Challenges Tools Conclusion Why Measure? Why Measure? Internet, with

More information

Customer White paper. SmartTester. Delivering SLA Activation and Performance Testing. November 2012 Author Luc-Yves Pagal-Vinette

Customer White paper. SmartTester. Delivering SLA Activation and Performance Testing. November 2012 Author Luc-Yves Pagal-Vinette SmartTester Delivering SLA Activation and Performance Testing November 2012 Author Luc-Yves Pagal-Vinette Customer White paper Table of Contents Executive Summary I- RFC-2544 is applicable for WAN and

More information

Assignment #3 Routing and Network Analysis. CIS3210 Computer Networks. University of Guelph

Assignment #3 Routing and Network Analysis. CIS3210 Computer Networks. University of Guelph Assignment #3 Routing and Network Analysis CIS3210 Computer Networks University of Guelph Part I Written (50%): 1. Given the network graph diagram above where the nodes represent routers and the weights

More information

Clearing the Way for VoIP

Clearing the Way for VoIP Gen2 Ventures White Paper Clearing the Way for VoIP An Alternative to Expensive WAN Upgrades Executive Overview Enterprises have traditionally maintained separate networks for their voice and data traffic.

More information

Quality of Service Analysis of site to site for IPSec VPNs for realtime multimedia traffic.

Quality of Service Analysis of site to site for IPSec VPNs for realtime multimedia traffic. Quality of Service Analysis of site to site for IPSec VPNs for realtime multimedia traffic. A Network and Data Link Layer infrastructure Design to Improve QoS in Voice and video Traffic Jesús Arturo Pérez,

More information

Network Layer: Network Layer and IP Protocol

Network Layer: Network Layer and IP Protocol 1 Network Layer: Network Layer and IP Protocol Required reading: Garcia 7.3.3, 8.1, 8.2.1 CSE 3213, Winter 2010 Instructor: N. Vlajic 2 1. Introduction 2. Router Architecture 3. Network Layer Protocols

More information

Sage ERP Accpac Online

Sage ERP Accpac Online Sage ERP Accpac Online Mac Resource Guide Thank you for choosing Sage ERP Accpac Online. This Resource Guide will provide important information and instructions on how you can get started using your Mac

More information

ANALYSIS OF LONG DISTANCE 3-WAY CONFERENCE CALLING WITH VOIP

ANALYSIS OF LONG DISTANCE 3-WAY CONFERENCE CALLING WITH VOIP ENSC 427: Communication Networks ANALYSIS OF LONG DISTANCE 3-WAY CONFERENCE CALLING WITH VOIP Spring 2010 Final Project Group #6: Gurpal Singh Sandhu Sasan Naderi Claret Ramos ([email protected]) ([email protected])

More information

Craig Pelkie Bits & Bytes Programming, Inc. [email protected]

Craig Pelkie Bits & Bytes Programming, Inc. craig@web400.com Craig Pelkie Bits & Bytes Programming, Inc. [email protected] The Basics of IP Packet Filtering Edition IPFILTER_20020219 Published by Bits & Bytes Programming, Inc. Valley Center, CA 92082 [email protected]

More information

diversifeye Application Note

diversifeye Application Note diversifeye Application Note Test Performance of IGMP based Multicast Services with emulated IPTV STBs Shenick Network Systems Test Performance of IGMP based Multicast Services with emulated IPTV STBs

More information

SAN Conceptual and Design Basics

SAN Conceptual and Design Basics TECHNICAL NOTE VMware Infrastructure 3 SAN Conceptual and Design Basics VMware ESX Server can be used in conjunction with a SAN (storage area network), a specialized high speed network that connects computer

More information

ITL Lab 5 - Performance Measurements and SNMP Monitoring 1. Purpose

ITL Lab 5 - Performance Measurements and SNMP Monitoring 1. Purpose Lab 5 - Performance Measurements and SNMP Monitoring 1 Purpose Before the Lab Measure the performance (throughput) of TCP connections Measure the performance of UDP connections; observe an RTP flow Examine

More information

Troubleshooting Tools

Troubleshooting Tools Troubleshooting Tools An overview of the main tools for verifying network operation from a host Fulvio Risso Mario Baldi Politecnico di Torino (Technical University of Turin) see page 2 Notes n The commands/programs

More information

Improving DNS performance using Stateless TCP in FreeBSD 9

Improving DNS performance using Stateless TCP in FreeBSD 9 Improving DNS performance using Stateless TCP in FreeBSD 9 David Hayes, Mattia Rossi, Grenville Armitage Centre for Advanced Internet Architectures, Technical Report 101022A Swinburne University of Technology

More information

SSVVP SIP School VVoIP Professional Certification

SSVVP SIP School VVoIP Professional Certification SSVVP SIP School VVoIP Professional Certification Exam Objectives The SSVVP exam is designed to test your skills and knowledge on the basics of Networking, Voice over IP and Video over IP. Everything that

More information

IP Addressing A Simplified Tutorial

IP Addressing A Simplified Tutorial Application Note IP Addressing A Simplified Tutorial July 2002 COMPAS ID 92962 Avaya Labs 1 All information in this document is subject to change without notice. Although the information is believed to

More information

Data Communication Networks and Converged Networks

Data Communication Networks and Converged Networks Data Communication Networks and Converged Networks The OSI Model and Encapsulation Layer traversal through networks Protocol Stacks Converged Data/Telecommunication Networks From Telecom to Datacom, Asynchronous

More information

Detecting rogue systems

Detecting rogue systems Product Guide Revision A McAfee Rogue System Detection 4.7.1 For use with epolicy Orchestrator 4.6.3-5.0.0 Software Detecting rogue systems Unprotected systems, referred to as rogue systems, are often

More information

TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX 75701 1.800.298.5226 www.tjc.edu/continuingstudies/mycaa

TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX 75701 1.800.298.5226 www.tjc.edu/continuingstudies/mycaa TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX 75701 1.800.298.5226 www.tjc.edu/continuingstudies/mycaa Education & Training Plan CompTIA N+ Specialist Program Student Full

More information

A Summary of Network Traffic Monitoring and Analysis Techniques

A Summary of Network Traffic Monitoring and Analysis Techniques http://www.cse.wustl.edu/~jain/cse567-06/ftp/net_monitoring/index.html 1 of 9 A Summary of Network Traffic Monitoring and Analysis Techniques Alisha Cecil, [email protected] Abstract As company intranets

More information

D1.2 Network Load Balancing

D1.2 Network Load Balancing D1. Network Load Balancing Ronald van der Pol, Freek Dijkstra, Igor Idziejczak, and Mark Meijerink SARA Computing and Networking Services, Science Park 11, 9 XG Amsterdam, The Netherlands June [email protected],[email protected],

More information

MANAGING NETWORK COMPONENTS USING SNMP

MANAGING NETWORK COMPONENTS USING SNMP MANAGING NETWORK COMPONENTS USING SNMP Abubucker Samsudeen Shaffi 1 Mohanned Al-Obaidy 2 Gulf College 1, 2 Sultanate of Oman. Email: [email protected] [email protected] Abstract:

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

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation R.Navaneethakrishnan Assistant Professor (SG) Bharathiyar College of Engineering and Technology, Karaikal, India.

More information

Hadoop Technology for Flow Analysis of the Internet Traffic

Hadoop Technology for Flow Analysis of the Internet Traffic Hadoop Technology for Flow Analysis of the Internet Traffic Rakshitha Kiran P PG Scholar, Dept. of C.S, Shree Devi Institute of Technology, Mangalore, Karnataka, India ABSTRACT: Flow analysis of the internet

More information

Choosing Tap or SPAN for Data Center Monitoring

Choosing Tap or SPAN for Data Center Monitoring Choosing Tap or SPAN for Data Center Monitoring Technical Brief Key Points Taps are passive, silent, and deliver a perfect record of link traffic, but require additional hardware and create a point of

More information

TamoSoft Throughput Test

TamoSoft Throughput Test TAKE CONTROL IT'S YOUR SECURITY TAMOSOFT df TamoSoft Throughput Test Help Documentation Version 1.0 Copyright 2011-2014 TamoSoft Contents Contents... 2 Introduction... 3 Overview... 3 System Requirements...

More information

AN OVERVIEW OF QUALITY OF SERVICE COMPUTER NETWORK

AN OVERVIEW OF QUALITY OF SERVICE COMPUTER NETWORK Abstract AN OVERVIEW OF QUALITY OF SERVICE COMPUTER NETWORK Mrs. Amandeep Kaur, Assistant Professor, Department of Computer Application, Apeejay Institute of Management, Ramamandi, Jalandhar-144001, Punjab,

More information

Improved metrics collection and correlation for the CERN cloud storage test framework

Improved metrics collection and correlation for the CERN cloud storage test framework Improved metrics collection and correlation for the CERN cloud storage test framework September 2013 Author: Carolina Lindqvist Supervisors: Maitane Zotes Seppo Heikkila CERN openlab Summer Student Report

More information

Sage 300 ERP Online. Mac Resource Guide. (Formerly Sage ERP Accpac Online) Updated June 1, 2012. Page 1

Sage 300 ERP Online. Mac Resource Guide. (Formerly Sage ERP Accpac Online) Updated June 1, 2012. Page 1 Sage 300 ERP Online (Formerly Sage ERP Accpac Online) Mac Resource Guide Updated June 1, 2012 Page 1 Table of Contents 1.0 Introduction... 3 2.0 Getting Started with Sage 300 ERP Online using a Mac....

More information

An Efficient QoS Routing Protocol for Mobile Ad-Hoc Networks *

An Efficient QoS Routing Protocol for Mobile Ad-Hoc Networks * An Efficient QoS Routing Protocol for Mobile Ad-Hoc Networks * Inwhee Joe College of Information and Communications Hanyang University Seoul, Korea iwj oeshanyang.ac.kr Abstract. To satisfy the user requirements

More information

Chapter 2 - The TCP/IP and OSI Networking Models

Chapter 2 - The TCP/IP and OSI Networking Models Chapter 2 - The TCP/IP and OSI Networking Models TCP/IP : Transmission Control Protocol/Internet Protocol OSI : Open System Interconnection RFC Request for Comments TCP/IP Architecture Layers Application

More information

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX APPENDIX A Introduction Understanding TCP/IP To fully understand the architecture of Cisco Centri Firewall, you need to understand the TCP/IP architecture on which the Internet is based. This appendix

More information

The Impact of QoS Changes towards Network Performance

The Impact of QoS Changes towards Network Performance International Journal of Computer Networks and Communications Security VOL. 3, NO. 2, FEBRUARY 2015, 48 53 Available online at: www.ijcncs.org E-ISSN 2308-9830 (Online) / ISSN 2410-0595 (Print) The Impact

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

LAN Switching. 15-441 Computer Networking. Switched Network Advantages. Hubs (more) Hubs. Bridges/Switches, 802.11, PPP. Interconnecting LANs

LAN Switching. 15-441 Computer Networking. Switched Network Advantages. Hubs (more) Hubs. Bridges/Switches, 802.11, PPP. Interconnecting LANs LAN Switching 15-441 Computer Networking Bridges/Switches, 802.11, PPP Extend reach of a single shared medium Connect two or more segments by copying data frames between them Switches only copy data when

More information

Research on Errors of Utilized Bandwidth Measured by NetFlow

Research on Errors of Utilized Bandwidth Measured by NetFlow Research on s of Utilized Bandwidth Measured by NetFlow Haiting Zhu 1, Xiaoguo Zhang 1,2, Wei Ding 1 1 School of Computer Science and Engineering, Southeast University, Nanjing 211189, China 2 Electronic

More information

Technical Bulletin. Enabling Arista Advanced Monitoring. Overview

Technical Bulletin. Enabling Arista Advanced Monitoring. Overview Technical Bulletin Enabling Arista Advanced Monitoring Overview Highlights: Independent observation networks are costly and can t keep pace with the production network speed increase EOS eapi allows programmatic

More information

SiteCelerate white paper

SiteCelerate white paper SiteCelerate white paper Arahe Solutions SITECELERATE OVERVIEW As enterprises increases their investment in Web applications, Portal and websites and as usage of these applications increase, performance

More information

Additional Information: A link to the conference website is available at: http://www.curtin.edu.my/cutse2008/index.html

Additional Information: A link to the conference website is available at: http://www.curtin.edu.my/cutse2008/index.html Citation: Veeramani, S. and Gopal, Lenin. 2008. Network monitoring tool, in Curtin University of Technology (ed), Curtin University of Technology Science and Engineering International Conference CUTSE

More information

Introduction to Passive Network Traffic Monitoring

Introduction to Passive Network Traffic Monitoring Introduction to Passive Network Traffic Monitoring CS459 ~ Internet Measurements Spring 2015 Despoina Antonakaki [email protected] Active Monitoring Inject test packets into the network or send packets

More information

Modeling and Simulation of Routing Protocols in the Cloud

Modeling and Simulation of Routing Protocols in the Cloud 220 ICT Innovations 2014 Web Proceedings ISSN 1857-7288 Modeling and Simulation of Routing Protocols in the Cloud Dejan Spasov, Igor Jakimovski Faculty of Computer Science and Engineering Skopje, Macedonia

More information

Process Control and Automation using Modbus Protocol

Process Control and Automation using Modbus Protocol Process Control and Automation using Modbus Protocol Modbus is the fundamental network protocol used in most industrial applications today. It is universal, open and an easy to use protocol. Modbus has

More information