wikiroute

networking recipes

User Tools

Site Tools


a_networking_lab_on_qos_for_less_than_50_dollars

A Networking Lab on QoS for Less Than 50 Dollars

-. Context and Alternatives

During my teaching experience at the University, I wanted to deploy a testing platform for a networking lab that enables to explore Quality of Service (QoS) mechanisms. The basic topology is presented in Fig. 1. For years, I used Cisco routers and was (more than) happy with the result. Students captured the concepts of congestion in IP networks, analyzed the difference between UDP and TCP transport, and assessed the impact of DiffServ mechanisms in providing guaranteed performance. Le tour est joué.

Figure 1. Basic lab topology

Recently, I added some constraints on this networking lab: suppose that it should cost less than 50 dollars. Indeed, I wanted a portable platform students can take home for projects, preferably with low cost material, and ideally with hackable software. Obviously, I started to search for a replacement of the commercial routers. In the following table, I mention some of the many ideas I explored or tested to replace these routers.

Proposed solution Main advantage Main drawback
Emulated routers with GNS3 Cisco CLI Proprietary Cisco IOS
Mininet emulated Linux routers Low Cost Poor performance at high throughput
NS simulation Low Cost Simulated traffic
Real PCs with Linux OS Open software high cost and lack of portability
Raspberry Pi Low cost Single Ethernet interface

Note that, I already use (extensively) some of these solutions (RPI, Mininet, GNS3) in other courses. However, for my QoS testing platform, none of the proposed solutions met all the criteria.

-. Hardware

-. Software

Install and compile netperf:

wget https://github.com/HewlettPackard/netperf/archive/master.zip
unzip master .zip
cd netperf-master/
./configure --enable-demo=yes
make
make install

Install matplotlib and fping

apt-get install fping
apt-get install python-qt4
pip install matplotlib

Install flent

pip install flent

Install VLC as in this tutorial.

-. Addressing

the addressing plan of the platform is shown in Fig. 2. Both routers have static addresses on their wan and lan interfaces. DHCP is activated on the LAN interfaces and static leases are configured so as to obtain the addresses on the terminals according to the figure.

Figure 2. Addressing plan for QoS platform

-. Access and Configuration

SSH is activated on the two Raspberry Pi devices connected to the TP-LINK router. Thus, they can be accesses by typing ssh pi@ip_address on any terminal. The default password is raspberry and the pi user is a sudoer. For advanced debugging, an HDMI cable is available so you can connect the Pi to a display monitor.

For both routers, SSH is also activated, and they can be accessed by any SSH client on the platform. For easiness, you can also connect to the WiFi interfaces (OpenWrt and GL-iNet SSID) and configure the routers form your personal laptop. The root password for GL-iNet is helloworld, while no password is set for OpenWrt.

-. Before you Leave

Before you leave, make sure to go through the following steps.

  • Gracefully shutdown the raspberry pi modules with shutdown -h now.
  • Switch off the TP-LINK and remove the USB power cable from the GL-iNet.
  • Power off the laptop.
a_networking_lab_on_qos_for_less_than_50_dollars.txt · Last modified: 2017/11/16 11:01 by samer