In the previous lecture we looked at network traffic from the perspective of a transport layer protocol. More specifically, we looked at the issues surrounding the estimation of network capacity and the ways in which congestion can be controlled (or preferably avoided!).
In this lecture we take a more theoretical approach and discuss traffic from a network layer perspective. This allows us to understand the challenges associated with modelling network traffic and in providing a guaranteed level of service.
Network data sources alternate between:
The periods of each depend on the communication task at hand.
The average data rate U is somewhere between 0% and 100%.
The "Burstiness" of the traffic is given by the reciprocal of the average rate, ie:
B = Peak rate (100%) / Average rate = 1 / U
The "Burstiness" figure varies widely from just above 1 for large file transfers to over 10 or 20 for random web surfing.
In most of the Internet, traffic on a data link originates from a large number of these sources (operating at a variety of basic data rates).
Individually, the sources may behave like the four below:
When summed together, the resulting traffic looks something like:
Packets awaiting routing are stored in a queue:
When the inflow rate exceeds the outflow, the queue fills.
When the inputs are quiet, the queue empties.
The end result of sending data through the Internet is that:
IPv4 originally provided for several different types of service using the IP Type of Service field, though it was doubtful any routers paid attention to it!
Mostly, the Internet provided a "best effort" delivery service, with no control over delivery delay. Any control over delay was an indirect result of the sizing of data links and router capacities.
The recent trend is to use the Internet to deliver streaming audio and video. These both require low data loss and low timing jitter.
The IETF has redefined the use of the IP Type of Service to support Differentiated Services or DiffServ (specified in RFC2474 and RFC2475).
Typical Internet data streams are "peaky" ie. they consist of bursts of data interspersed with periods of silence.
These bursts are not all the same size and the periods of inactivity are variable. When these streams are aggregated at a router, the resulting variable data stream may fill data links and overflow data buffers. The end result is variable delay and occasional data loss under load.
The "exact" behaviour depends on the behaviour of the original data streams. There are different opinions about this behaviour. The two main models are:
This sort of traffic arises when each data packet is unrelated to any other data packet and just arrives at some random time. Even so, it is possible to characterise this traffic and therefore to make estimates regarding its effect on the data network.
Let's have a closer look at the "random" traffic:
![]()
The average arrival rate in packets per second
The interpacket interval is the reciprocal of this.![]()
The "service rate" is actually derived from the Utilisation.
The average packet duration is the reciprocal of this.
![]()
![]()
The channel utilisation.
The "busy" period (when the data link is sending a packet) lasts for a random time conforming to a "negative exponential distribution".
P(t) is the probability that a packet duration is greater than time "t".
Similarly, the "period" (time from start of one packet to start of the next) is "negatively exponentially distributed".
When a number of streams of "pure chance" traffic" leave a router via one path, they are queued awaiting transmission. If data enters the queue at a greater average rate than it leaves, the queue will fill until it overflows (regardless of how much memory is allocated).
When the aggregate input rate is less than the outgoing channel capacity, the quantity queued will depend on the outgoing utilisation figure.
Because the packets are of random size and arrive randomly on a number of input channels, it is possible to have some data in the queue even though the aggregate traffic is insufficient to fill the outgoing data channel (simultaneous arrivals).
The behaviour of the queue is predicted by "Erlang's Queue Formula", familiar to teletraffic engineers, but well beyond the scope of this subject:
Application of this formula to a router with one queued outgoing channel produces a simple result:
| Queue Size |
|
U is the outgoing utilisation B is the channel bit rate. |
| Average Delay |
|
For example, consider a router where a number of data streams all try to leave via one queued output. Suppose the average packet size is 512 bytes:
As the outgoing channel rises toward 100% Utilisation, the average queue size grows rapidly.
In theory, with 100% utilisation the queue length is infinite and the average time to get a packet through the queue is infinite:
The average queue size is small for average utilisations below 90%.
The peak queue size is, in theory, always infinite. If a small rate of packet loss is tolerable, a somewhat smaller queue will be sufficient.
In practice, the queue needs to be much larger than the average size, typically 10 times, to accommodate the occasional run of frequent and/or large packets.
If the aggregate traffic tries to exceed 100% (a number of incoming channels all want to send to the same outgoing channel simultaneously), the router will quickly fill its buffer and start dropping random packets.
TCP traffic doesn't follow the "pure chance model"!
As discussed in the previous lecture, the congestion control algorithms implemented by TCP result in a "sawtooth" traffic profile:
When several streams of this sort of traffic overload a router, they tend to synchronise.
A peak in traffic overflows a router queue, random packets are dropped, resetting one or more TCP sessions at about the same time.
The end result is that aggregated TCP traffic is very "peaky".
When observed over a short period, typical data traffic appears to be classically randomly distributed:
As the observation period is extended, and the traffic averaged over a longer period, the traffic does not "average" to a smoother value as expected with pure chance traffic - see later.
When pure chance traffic is observed over the same time periods, the effect of extended averaging is to reduce the variability of the traffic:
Extended averaging period, smoother traffic.![]()
Even longer period, even smoother traffic.![]()
The previous graphical view of fractal traffic showed traffic peaks that persist over a range of time scales. This sort of behaviour tends to fill queues rapidly.
Aggregating a number of streams doesn't really help: the peakiness remains about the same. By comparison, aggregating a number of pure chance streams reduces the peakiness.
Whereas an aggregated pure chance stream overflows queues when it nears an average of 100% utilisation, the fractal stream overloads practical queues at much lower utilisations, typically 50% to 60%.
Wide Area Traffic: The Failure of Poisson Modelling
http://www.cs.berkeley.edu/~istoica/classes/cs268/05/papers/paxson95widearea.pdf
Why is the Internet Traffic Bursty in Short Time Scales?
http://www-static.cc.gatech.edu/fac/Constantinos.Dovrolis/Papers/f11-dovrolis.pdf