Internet Technologies and Applications (ITS 413)

Assignment 1

Format:
Group project, 2 students per group
Weight:
30% of course score
Deadline:
To be announced
Late assignments:
-10% per hour

Overview and Requirements

This assignment involves learning about wireless LANs and transport protocol performance. You will be required to configure a small wireless LAN and run experiments that evaluate the performance of the wireless LAN, as well as the performance of TCP in a wired network. In addition to learning about networks and network performance, you will learn how to setup and report on network experiments.

The assignment will be run across several phases. You will be required to complete each phase by a deadline. You will also receive feedback after each phase.

Your group will be supplied with a wireless LAN access point. You are required to use your own laptop computers for wireless LAN clients. Two laptops per group should be sufficient. If you don't have access to two laptops then you can use lab computers at SIIT. Let me know if you have problems getting regular access to a computer.

Phase 1: Tools and Techniques

Due Date: 14:40 Wednesday 12 December 2012

Your aim is to familiarise yourself with the tools and techniques to be used in subsequent phases. In particular, the wireless LAN access point, software for performance tests, and wireless packet capture.

The pieces of software/equipment that you will need include:

  1. Linksys WRT54GL wireless LAN AP. Each group will be supplied with this wireless LAN AP/router. It is already running OpenWRT firmware, version Backfire 10.03.1 with the Broadcom Linux 2.4 kernel. The root password is siitits413
  2. Two computers, e.g. laptops or PCs. If you do not have access to your own laptop, then you can use lab computers. For example, all the computers in the Mac Lab (3rd floor of IT/MT building) have built-in wireless LAN. Also, in AI3 lab (3rd floor of IT/MT building) has several PCs, at least two of which have PCI wireless LAN cards.
  3. Unix-like operating system, such as Ubuntu Linux or Mac OSX on at least one computer. The primary need is for capturing wireless LAN frames in monitor mode - MS Windows cannot do this. In Linux, it is possible for some wireless LAN chips (e.g. Atheros, Intel, Ralink). In most Apple Macs it is supported. Linux or Mac OS is also useful for traffic generation and manipulating network parameters (e.g. dropping packets). All my examples will be using Ubuntu Linux, although I'll try to support other OS's when possible. If you have a Apple Mac laptop, you should check if the software in the list below is supported. If you have a Windows laptop, then I recommend installing Ubuntu Linux on a separate partition (make sure you have a backup before installing). Linux in a virtual machine (e.g. VMWare, VirtualBox, Parallels) will not be of much use (at least for packet capture).
  4. iperf for generating and measuring traffic. It works on Linux, Mac and Windows. There is a graphical user interface provided by jperf, a Java interface to iperf. However I recommend using iperf on the command line directly.
  5. Packet capture software, such as tcpdump and/or Wireshark, to capture wireless LAN frames. Wireshark runs on most operating systems, as does the command line tcpdump. However not all wireless LAN cards can capture all wireless LAN frames. To do so, the wireless LAN card must be put into monitor mode. Essentially, it is not possible in Windows. In Linux, it is hardware/driver dependent. For an example see my screencast and instructions. In Mac OS X you can use Wireshark directly (according to this post, although I haven't tried it - Wireshark doesn't work in the Mac Lab) or you can use the command line as explained here. The instructions are:

    $ cd /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/
    $ sudo ./airport en1 sniff CHANNEL
    Capturing 802.11 frames on en1.
    Ctrl-C
    Session saved to /tmp/airportSniffXXXXXX.cap
    $ wireshark /tmp/airportSniffXXXXXX.cap
    

    The last line opens the capture file in Wireshark. The airport command has many useful options. Run ./airport on the command line to get help.

  6. tc and optionally iptables to drop packets. They run on Linux. I'm not sure of the equivalents for Mac OS, but either tc and iptables, or equivalent software should be available.

Your tasks are:

  1. Collect, test and learn the interface of the Linksys router and OpenWRT. Set the hostname and ESSID to your group ID. See what parameters are available for the wireless LAN. Test your wireless LAN.
  2. Ensure you have access to computers and the necessary software for the subsequent tasks. In particular, test that your computer can capture packets in monitor mode. E.g. have one computer communicate with the AP, while the other captures the packets sent.

Deliverables: You need to demonstrate your wireless LAN in class (e.g. I should be able to associate and transfer data via the wireless LAN, as well as login to the AP). There is no written deliverable (this phase is primarily for you to setup the AP, learn the OpenWRT interfaces, and ensure you have access to the computer and software).

Some further information on the tools and measurements include (note some of the hints below may not be relevant for all phases):

Phase 2: Capture Wireless LAN Traffic

Due Date: same as Phase 3

Your aim is to capture wireless LAN frames to understand the different steps in wireless LAN management and data transfer

Your tasks are:

  1. With one device, start monitoring on the wireless interface and use tcpdump, Wireshark or similar to capture packets. Be sure that wireless frames of other devices are captured (in Wireshark you should eventually see non-broadcast frames with the RadioTAP header to/from other computers, not yours).
  2. With another device, discover and join with your access point, transfer some data, and then leave the access point.
  3. Inspect the captured packets and draw a time sequence diagram showing the wireless LAN frames. Give a short description of the steps. Identify the frame sizes and any important information in the frames.

Deliverables: You need to submit your capture file (.cap). You also need to submit a draft report for evaluation. See the deliverables for Phase 3 for explanation.

Phase 3: Determine peak throughput of Wireless LAN

Due Date: 2pm, Wednesday 9 January 2012

Your aim is to measure the maximum throughput that can be achieved over a wireless LAN link.

Your tasks are:

  1. Using the default OpenWRT parameters, use iperf to measure the maximum UDP throughput over the wireless LAN.
  2. Write a draft report on the experiments conducted so far, including phase 2.

Deliverables: You need to submit the draft report for evaluation (template in ODT). You will receive a score (worth 10%) and feedback on the draft. Your draft will also be made available to the other groups, so they can see different examples and feedback.

Phase 4: Performance Analysis of TCP

Due Date: 2pm, Wednesday 13 February 2013

Your aim is to determine how different parameters and scenarios impact on the performance of transport protocols (in particular TCP).

Your tasks are:

  1. Design and a set of experiments that will most likely demonstrate the impact of the following factors on TCP throughput in a wired network (the links are some extra explanations and hints about how to conduct each experiment; they mainly come from my notes and the email archive):
  2. Conduct the experiments.
  3. Write a final report on all phase 4 experiments (it can be a separate report from phase 2/3, although you may copy relevant content from phase 2/3 report).

Note that this phase does not require wireless LAN: a wired path between client and server can be used. You may either use a direct connection between client and server, or connect via a switch (e.g. the provided wireless router).

Deliverables: You need to submit the final report for evaluation. You will receive a score (worth 20%) and feedback. This is the final report and there is no opportunity for re-submission. Submit your report as both PDF and source (e.g. .odt or .doc or .docx) on Moodle.

Return to: ITS413 Home | Course List | Steven Gordon's Home | SIIT