EECS881:Router Hands On

From ITTC
Jump to: navigation, search
EECS881 Lab Topology.png

We will be doing hands-on work in the lab, so everyone will need to be present to complete the lab.

The purpose of this lab is to understand the effects of ECN (Explicit Congestion Notification) and RED (Random Early Detection) on the TCP layer. We will be using physical equipment in the lab to perform the experiments. Since we only have 4 routers, we will divide into 4 self-formed groups to run the experiments, however each individual is responsible for writing and submitting their own lab report. Each pair of groups will need to coordinate with each other for each step of the lab. For those that have already completed this lab in EECS-780, please distribute yourselves across the groups; those who have not done the lab previously should be in the driver's seat for each group.

Lab Setup:
Each pair of routers is connected with a T1 (1.5 Mb/s) link, and each router has a host connected to it via a 100 mbps link. This creates a dumbbell topology similar to that used in the ONL labs (just one host on each side instead of two). For this purpose, nodes bern, uri, luzern, and nidwalden have been directly connected to the routers and no longer have internet access. Each group will need to choose one of these machines to work from.

Lab Outline:

  1. Start with RED and ECN off on the routers show run
  2. Start the iperf server on one host $ iperf -s
  3. Monitor the connection with tcpdump $ tcpdump -w tcpdump.dmp
  4. Start the iperf client on the other host $ iperf -c 192.168.4.1 -t 30
  5. Stop monitoring the connection when iperf finishes sending traffic
  6. Generate plots with tcptrace $ tcptrace -S tcpdump.dmp
  7. View plots with xplot $ xplot a2b_tsg.xpl
  8. Rename the .xpl file so that it will not be overwritten in the following steps
  9. Turn on ECN on the hosts (must be root) $ echo “1” > /proc/sys/net/ipv4/tcp_ecn
  10. Modify the router configuration and repeat above steps with ECN turned on (minicom com1):
    Router>enable
    Router#configure terminal
    Router(config)#ip tcp ecn
    Router(config)#exit
  11. Turn off ECN on the hosts (must be root) $ echo “0” > /proc/sys/net/ipv4/tcp_ecn
  12. Turn off ECN in the router configuration and repeat with RED turned on (minicom com1):
    1. Router commands to turn off ECN:
      Router>enable
      Router#configure terminal
      Router(config)#no ip tcp ecn
      Router(config)#exit
    2. Router commands to turn on RED:
      Router>enable
      Router#configure terminal
      Router(config)#interface serial 0
      Router(config‐if)#random‐detect
      Router(config‐if)#exit
      Router(config)#exit
  13. You are looking for relatively small qualitative differences in the plots, you may need to generate a few of each type for the differences to be noticeable.
    • This is due to the fact that today's TCP congestion avoidance algorithms are much less aggressive than what was being used when ECN and RED were designed.
  14. This lab is fairly open ended. The idea is to use the tools provided to explore the effect of enabling ECN and RED on the Cisco routers.

Notes:

  • Most operations will need to be run as root.
  • If host is rebooted, the firewall will need to be turned off by executing service iptables stop as root
  • The commands supplied above are just examples, you will need variations of them to complete different tasks.