# Performance Evaluation of the RED Gateway

• Simulation Network

• Construct the following simulation network to evaluation DropTail queueing vs. RED queueing:

• Change the buffer limit of link X and Y to 20 packets and leave the buffer limit of the other queues unchanged.

• When you use the RED queue, use these recommended parameter values:

• maxthreshold = 3 * minthreshold

• maxp = 0.1

• wq = 0.002

• Use the following TCP parameters:

• Advertised Window Size = 100000 packets
• TCP connections between A and C use packet size = 600 bytes
TCP connections between B and D use packet size = 552 bytes

• Run each experiment for 200 sec

• We will study the sensitivity of RED when a different minthreshold is being used.

• Experiment 1

• Create 2 TCP Reno flows:

1. One between nodes A and C
2. One between nodes B and D

• Run one DropTail experiment and obtain:

• A CWND plot for both TCP connections (0.1 sec interval space) - filename: exp1-cwnd-droptail.gif

• A throughput plot for both TCP connections (1 sec interval space) - filename: exp1-tput-droptail.gif

• The average throughput of each TCP flow - enter in answer webpage

This experiment will give you a baseline reference performance.

• Run a number of RED experiments using:

• minthreshold = 2
• minthreshold = 4
• minthreshold = 6

and obtain:

• A CWND plot for both TCP connections (0.1 sec interval space) - filename: exp1-cwnd-RED-x.gif (x = 2, 4 or 6)

• A throughput plot for both TCP connections (1 sec interval space) - filename: exp1-tput-RED-x.gif (x = 2, 4 or 6)

• The average throughput of each TCP flow - enter in answer webpage

This experiment will give you an idea how sensitive RED's performance is with regard to one of its parameter.

• Experiment 2

• In the next experiment, we increase the number of flows and repeat the same experiment.

• Create 6 TCP Reno flows:

1. Three between nodes A and C
2. Three between nodes B and D

• Run one DropTail experiment and obtain:

• A CWND plot for one of the TCP connection between A and C and one of the the TCP connection between B and D (0.1 sec interval space) - filename: exp2-cwnd-droptail.gif

• A throughput plot for these 2 TCP connections (1 sec interval space) - filename: exp2-tput-droptail.gif

• The average throughput of these 2 TCP flow - enter in answer webpage

This experiment will give you a baseline reference performance.

• Run a number of RED experiments using:

• minthreshold = 2
• minthreshold = 4
• minthreshold = 6

and obtain:

• A CWND plot for one of the TCP connection between A and C and one of the the TCP connection between B and D (0.1 sec interval space) - filename: exp2-cwnd-RED-x.gif (x = 2, 4 or 6)

• A throughput plot for one of the TCP connection between A and C and one of the the TCP connection between B and D (1 sec interval space) - filename: exp2-tput-RED-x.gif (x = 2, 4 or 6)

• The average throughput of each TCP flow - enter in answer webpage

This experiment will give you an idea how things changes with the number of flows.

• Program Assignment

• Write a NS program named hw5.tcl that is run using 3 parameters:

 ``` ns hw5.tcl N-TCP-connections Method Min-Threshold Experiment 1 is run using: ns hw5.tcl 1 DropTail 0 ns hw5.tcl 1 RED 2 ns hw5.tcl 1 RED 4 ns hw5.tcl 1 RED 6 Experiment 2 is run using: ns hw5.tcl 3 DropTail 0 ns hw5.tcl 3 RED 2 ns hw5.tcl 3 RED 4 ns hw5.tcl 3 RED 6 ```

• You can use a for loop to create the TCP agents/sinks and attach to the nodes. The number of agents you create will depend on the "N-TCP-connections" parameter.

• You can use the "Method" parameter in creating the RED queue. Use an if statement (test of the "Method" is equal to the string "DropTail" or "RED") to create different type of queue.

• Make sure that you set the RED parameters before you create the RED queue !

• NOTE:

Your script should be flexible enough to accept parameters like:

 ``` ns hw5.tcl 4 RED 6 ```

• Turn in

Turn in the program using the command:

 ``` /home/cs558000/turnin hw5.tcl hw5 ```

• The answer page with the throughput data filled in and performance graphs made should be available in your directory: ~/cs558/hw5.