Traffic

To evaluate congestion control algorithms, network traffic has to be generated. The amount of traffic needs to exhaust the bandwidth at a link to create a network-limited scenario. This page specifies the terms traffic, application, and flow.

Application

Applications generate and consume data that is transmitted as traffic through the network. Network sockets are the communication endpoints that are maintained by applications. An application sends data when it writes to and may receive data when it reads from a network socket.

Flow

A flow (stream) carries network traffic between two network sockets. In ccperf, only unicast flows that use IP as the network layer protocol are evaluated. Furthermore, the transport layer protocol is either TCP or UDP. Flows can be identified via the 5-tuple consisting of the source and destination IP addresses, the source and destination port numbers, and the IP protocol field.

Traffic Models

Traffic models specify when applications generate data. As such, these models specify the exact timings when data is written to a network socket. Traffic models have parameters. For example, the parameter bytes is common to all traffic models and specifies the amount of bytes an application has to send. If bytes=0, that amount is infinite. Each traffic model has its own signature. The following three traffic models are used in ccperf:

  • Greedy source traffic lets applications generate data as fast as the network socket allows it. An application that use this traffic model always has data to send. Hence, the associated flow of the application cannot be application-limited. The signature of the traffic model is Greedy(bytes).

  • Constant Bit Rate (CBR) traffic generates data synchronously with a fixed data rate over time. The signature of the traffic model is CBR(bytes,rate), where rate specifies the fixed data rate.

  • Poisson traffic generates data according a Poisson point process. The duration between two consecutive packet generations is randomly drawn from an exponential distribution. The probability density function of the exponential distribution is given by \(f(t;\lambda) = \lambda e^{ - \lambda t}\) for \(t \geq 0\). The rate parameter \(\lambda\) equals to the mean sending rate of the traffic model. The signature of the traffic model is Poisson(bytes,rate), where rate specifies the parameter \(\lambda\).