Lab 3

Home
Lab 1
Lab 2
Lab 3
Final Project

Bridging and Forwarding Performance of IXP1200

Due: 12/09/03
Lab 3 instructions
iperf documentation
tcpdump documentation

The goal of this lab is to measure the performance of the IXP1200 hardware running different bridging and forwarding applications. Due to the use of hardware, it is necessary that you do this lab at the in the Marcus 15B lab. You can use the lab Thursday (12/4): 4:00pm-5:30pm, Friday (12/5) 1:00pm-2:00pm, Monday (12/8) 1:00pm-2:00pm. Ning will be available during these times. If you need another time slot, email Ning: nweng@ecs.umass.edu or call him at 545-1372.

The basic system setup is:

You will measure the throughput performance under four different setups:

  1. No IXP1200: A direct wire connection between the two PCs yields the baseline throughput performance.

  2. wwwbump: The IXP1200 runs the wwwbump code from the book (Chapter 26). There are two cases to consider:
    a.  Web traffic (source or destination port 80)
    b. Non-web traffic (not port 80)

  3. IP forwarding: The IXP1200 runs the IPv4 forwarding code from Lab 2.

Use iperf to generate traffic and measure throughput. Use tcpdump to collect packet headers that are sent to and from the IXP. For each setup you should collect the following information:

bulletMeasurement setup (iperf options etc.)
bulletThroughput for large packets (e.g., 1500 bytes)
bulletThroughput for small packets (e.g., 64 bytes)
bulletExample tcpdump packet headers (layers 2, 3, and 4). Show which fields (if any) have changed between PC1 and PC2.

For each setup present the measurement result and explain if and why they make sense.

Measurement Setup

It is recommended that you go through the following steps. There are three terminal setup on PC2 so you can access all systems at the same time (IXP = Network Processor, PC1 = IXP host machine, PC2 = the other Linux machine).

Case 1: No IXP1200

  Setup:

    1. connect the two testing machine using crossover cable

    2. configure ip address for the two machine: for example

       PC1% ifconfig eth0 down 10.1.0.3 netmask 255.255.255.0 broadcast

            10.1.0.255 up 

       PC2% ifconfig eth0 down 10.1.0.5 netmask 255.255.255.0 broadcast

            10.1.0.255 up

    3. setup complete, now you should be able ping  PC1 from PC2:

       PC2% ping -c 10 10.1.0.3

  Measurement:

    a. sent tcp packet to port 80                   

      1. PC1% iperf -p 80 -s 

      2. PC2% iperf -p 80 -c 10.1.0.3 

      3. collect the throughput

Case 2: wwwbump

  Setup:

    1. connect the two testing machine with IXP crossover cable such as:

       PC1 connected with IXP Port 1; PC2 to Port2

    2. configure ip address for the two machine: for example

       PC1% ifconfig eth0 down 10.1.0.3 netmask 255.255.255.0 broadcast

            10.1.0.255 up

       PC2% ifconfig eth0 down 10.1.0.5 netmask 255.255.255.0 broadcast

            10.1.0.255 up

    3. IXP% ./ixstop

    4. IXP% ./ixstart ixsys.config-wwbump

    5. setup complete, now you should be able ping PC1 from PC2:

        PC2% ping -c 10 10.1.0.3

  Measurement:

    a. sent tcp packet to port 80

      1. PC1% iperf -p 80 -s   //at terminal of PC1 or PC2

      2. PC2% iperf -p 80 -c   10.1.0.3

      3. collect the throughput

    b. set tcp packet to port  81

      1. PC1% iperf -p 81 -s   //at terminal of PC1 or PC2

      2. PC2% iperf -p 81 -c 10.1.0.3

      3. collect the throughput

Case 3: IPv4 forwarding

  Setup:

    1. connect the two testing machine with IXP crossover cable such as:

       PC1 connected with IXP Port 1; PC2 to Port2

    2. configure ip address for the two machine: for example

       PC1% ifconfig eth0 down 10.1.0.3 netmask 255.255.255.0 broadcast

            10.1.0.255 up

       PC2% ifconfig eth0 down 10.2.0.3 netmask 255.255.255.0 broadcast

            10.2.0.255 up   

    3. route table update:

       PC1% ip route add 10.2.0/24 via 10.1.0.0

       PC2% ip route add 10.1.0/24 via 10.2.0.0

    4. IXP% ./ixstop

    5. IXP% ./ixstart ixsys.config-l3fwdr

    6. setup complete, now you should be able ping PC1 from PC2:

       PC2% ping -c 10 10.1.0.3

  Measurement:

    a. sent tcp packet to port 80

      1. PC1% iperf -p 80 -s   //at terminal of PC1 or PC2

      2. PC2% iperf -p 80 -c 10.1.0.3

      3. collect the throughput 

The report for this project should include the measurement results and a brief discussion. It is due 12/09/03 in class.

2003 by Tilman Wolf