Objectives
After completing this experiment you will be able to:
- Get familiar with the concept of network performance evaluation, and different related metrics
- Get an overview on bandwidth sharing by multiple traffic flows
- Identify bottlenecks in a network
Time Required
Around 3.00 hours
Network Performance Evaluation
For a given network, one might be interested to know how well it is performing. One might also wish to know what could be done to further improve the performance, or if the network is giving the peak performance. Thus, one needs to do a comparative study of the network by considering different options. This performance evaluation helps the user to determine the suitable network configuration that serves him best.
For example consider a new startup organization which has setup its own web portal. As the portal gradually becomes popular then network traffic increases which would degrade its performance. Therefore, one should have a well configured network with proper load balancing capabilities.
Performance Evaluation Metrics
Before we can proceed with performance evaluation, we must choose the different metrics that would help us in making comparisons. There could be different metrics to determine the performance like throughput, delay, jitter, packet loss. The choice of metric would depend upon the purpose the network has been setup for. The metrics could be related to the different layers of the network stack. For example, TCP throughput is based on the application layer, whereas IP round trip time is based on the network layer. For example, a network supporting multimedia applications should have minimum delay and jitter.Packet loss might not be a critical issue for such network. However, packet loss might be a considerable factor for networks supporting textual data oriented applications, say someone downloading by FTP.
Once the metrics have been chosen, one goes for their quantitative evaluation by subjecting the network under diverse conditions. For example, one could make step by step increments in bandwidth of the links, which in turn improve the throughput. However, the throughput might get saturated beyond the certain point. That is, further increase in bandwidth would not improve throughput. Thus, the optimum value of bandwidth has been determined.
The table below shows different metrics of evaluation, and categories they are appropriate for [iv].
Category | Metric | Unit |
---|---|---|
Productivity | Throughput | Bytes per second |
Responsiveness | Delay, jitter | seconds |
Utilization | Channel utilization | Percentage of time busy |
Loss | Packet drops, Retransmission count | Number |
Buffer space | Queue size, overflow or underflow rate | Bytes |
It might not be always possible or feasible to obtain best performance from a network due to various factors like high cost,complexity, compatibility. In such cases one would like to obtain optimum performance by balancing different factors.
Following are some of the performance measurement metrics:
- Latency: It can take a long time for a packet to be delivered across intervening networks. In reliable protocols where a receiver acknowledges delivery of each chunk of data, it is possible to measure this as round-trip time.
- Packet loss: In some cases, intermediate devices in a network will lose packets. This may be due to errors, to overloading of the intermediate network, or to intentional discarding of traffic in order to enforce a particular service level.
- Retransmission: When packets are lost in a reliable network, they are retransmitted. This incurs two delays: First, the delay from re-sending the data; and second, the delay resulting from waiting until the data is received in the correct order before forwarding it up the protocol stack.
- Throughput: The amount of traffic a network can carry is measured as throughput, usually in terms such as kilobits per second. Throughput is analogous to the number of lanes on a highway, whereas latency is analogous to its speed limit.
Parameters Affecting the Performance of Networks
Different parameters can together or independently determine how well a network would perform. A few such are mentioned below:
- Bandwidth: Its is the maximum data transfer rate which a link allows.It is expressed in bits per second(bps).
- Propagation Delay: It is the amount of time required to for a packet to travel from one node to another.If the propagation delay is high then throughput will be low i.e they are inversely proportional to each other.
- Queue type and queue size: The queue of a node is implemented as a part of a link whose input is that node to handle the overflow at the queue.But if the buffer capacity of the output queue is exceeded then the last packet arrived is dropped.We do set the buffer capacity by using queue size.
Performance Evaluation Techniques
Before starting with tuning the performance of a network one must remember that the performance, to some extent, depends on the workload as well as the topology. A given topology might give different throughputs under CBR and exponential traffic. Keeping this in mind, one can go for studying an actual network. Otherwise one can simulate its performance using suitable parameters. these simulations would largely depend on queuing theory.
Network Performance Evaluation using NS-2
In this section we discuss how to evaluate performance of a network by simulating it with ns2.
- Choose and generate a network topology to be used throughout the simulation. This could be a wired network, in which case the topology remains fixed. However, for a wireless network with mobile nodes the topology would change with time, or randomly.
- Once the topology has been generated, traffic source(s) and destination(s) are fixed. Assign suitable traffic sources to the source nodes, and traffic sinks to the destination nodes.
- Some of the parameters that can be used for comparative study of performance of the network are: link bandwidth, propagation delay, node queue type. For example: In ns2 we do create a link by using this code:
$ns simplex-link $n2 $n3 0.3Mb 100ms DropTail
In this code there could be three parameters namely bandwidth, propagation delay and queue type.
We can vary these parameters and could possibly obtain different throughputs. From there we can determine the conditions that provide higher throughput values.In general, we can alter different parameters and study their effects on one or more performance metrics and thereby filter out the combination of parameters that gives best performance. - Performance of the network can be determined by considering different metrics for example 'Throughput'
- We can vary these parameters and could possibly obtain different throughputs, which can be plotted using xgraph
- From there we can determine the conditions that provide higher throughput values
- Make suitable combinations with the parameters that wil bring some changes in the throughput
- Use the best combination of parameters which will bring the best throughput and implement it
- We are considering only one performance metric i.e throughput in our experiment.Other metrics like packet loss,latency,retransmission can measured to evaluate the performance of a network in a more accurate way which will help us to setup the network in a proper way.