Our study of residential broadband networks revealed several important characteristics specific to residential broadband networks. Our goal is to capture these networks' key properties in a simple model that could be used by researchers to emulate broadband links. This can help researchers to evaluate their protocols and systems in residential networks.
This model is not meant to be the final solution on modeling broadband network. Instead of modeling all the properties we identified in our study, we limit ourselves to just include the propagation delay of the link as well as the bandwidths and queue sizes for both upstream and downstream direction.
The Figure below shows the various components of our model. They are:
Propagation delay: A fixed round-trip delay of rtt
milliseconds, divided evenly between upstream and
downstream.
Queues: Fixed-size queues that can hold up to qp packets
or qb bytes. The queues are tail-drop.
Link capacity: The link has a fixed speed of rdown or
rup bits per second downstream and upstream, respectively.
Figure: Simple model for broadband links: We use propagation
delay (yellow), queues (orange), and link speed (blue) as components.
Our paper revealed more characteristics that show a significant deployment. But while several of the model parameters are relatively easy to estimate, a few, such as RED, are fairly involved and to date we have no good way of inferring the exact parameters to model such features reliably. Therefore, we limit ourselves to bandwidths, queues, and propagation delays, as for these we are confident that we can infer their parameters accurately. On the main page we already added a parameter configuration for the model that includes the data from all the broadband hosts we measured for our study. Note, that it was not possible to infer the last hop propagation delay for all the broadband hosts as sometimes the last hop router would not respond to our probes. In these cases we used the median propagation delay for DSL and cable, respectively.
Emulator for PlanetLab and Linux
Our broadband emulator is simple and easy to use and can be run on Linux as well as on PlanetLab nodes. The emulator uses a tun device for incoming packets and shapes these packets according to our broadband model. Applications that want to use the emulation just need to bind to the IP address of the tun device to ensure that all the traffic gets passed through the emulator. No other changes are needed.
The emulator is configured with a configuration file that contains the model parameters the emulator should use. Packets are tunneled between instances of the emulator, thus the configuration file also contains the IP addresses of the other instances of an experiment. It is also possible to run multiple instances of the emulator on the same node, employing different port ranges to distinguish the different instances. A detailed tutorial on using the broadband emulator can be found in the source distribution. It features an detailed description on the format of the configuration file and an example experiment.
We also implemented our simple broadband model for ns2. Thereby, the model is implemented as a new queue module in ns2. Thus, experiments can be set up as usual with broadband links simply using our broadband queue module. Every link can be individually configured in the experiment's configuration file.
More details on the configuration of the broadband model for ns2 and a sample configuration file for a simple experiment can be found in the source distribution.