Changes between Version 1 and Version 2 of UDTExampleExperiment/VMOnly


Ignore:
Timestamp:
02/20/15 13:41:19 (9 years ago)
Author:
sedwards@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UDTExampleExperiment/VMOnly

    v1 v2  
    9494In this experiment, you'll be changing the characteristics of the link and measuring how they affect UDT and TCP performance.
    9595
    96  * Log into your delay node as you do with any other node. Then, on your delay node, use this command:
     96There are three link characteristics we'll manipulate in this experiment: ''bandwidth'', ''delay'', and ''packet loss rate''.
     97
     98It is possible to adjust the parameters of the two directions of your link separately, to emulate asymmetric links.
     99In this experiment, however, we are looking at symmetric links, so we'll always change the settings on both directions together.
     100
     101Here are the command sequences you'll need to change your link parameters.
     102In each case, you'll need to provide the correct data plane interface (usually `eth1`), if they're different from the example.
     103
     104 * To change bandwidth (100mbit means 100Mbits/s) do the following on both `PC1` and `PC2`:
    97105{{{
    98 %sudo ipfw pipe show
     106sudo /sbin/tc qdisc add dev eth1 root handle 1:0 tbf limit 1000000 burst 1000000 rate 10mbit
    99107}}}
    100108
    101 You'll get something like this:
     109 * To remove the rate limit do the following on both `PC1` and `PC2`:
    102110{{{
    103 60111: 100.000 Mbit/s    1 ms   50 sl. 1 queues (1 buckets) droptail
    104     mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
    105 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
    106   0 ip    207.167.175.72/0       195.123.216.8/6        7     1060  0    0   0
    107 60121: 100.000 Mbit/s    1 ms   50 sl. 1 queues (1 buckets) droptail
    108     mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
    109 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
    110   0 ip   207.167.176.224/0         195.124.8.8/6        8     1138  0    0   0
     111sudo /sbin/tc qdisc del dev eth1 root
    111112}}}
    112113
    113 This information shows the internal configuration of the "pipes" used to emulate network characteristics.
    114 (Your output may look different, depending on the version of ipfw installed on your delay node.
    115 In any case, the information you need is on the first line of output for each pipe.)
    116 
    117 You'll want to make note of the two pipe numbers, one for each direction of traffic along your link.
    118 In the example above, they are 60111 and 60121.
    119 
    120 There are three link characteristics we'll manipulate in this experiment: ''bandwidth'', ''delay'', and ''packet loss rate''.
    121 You'll find their values listed in the `ipfw` output above.
    122 The link bandwidth appears on the first line immediately after the pipe number. It's 100Mbps in the example shown above.
    123 The next value shown is the delay, 1 ms in the example above.
    124 The packet loss rate (PLR) is omitted if it's zero, as shown above. If non-zero, you'll see something like '''plr 0.000100'''
    125 immediately after the "50 sl." on the first output line.
    126 
    127 It is possible to adjust the parameters of the two directions of your link separately, to emulate asymmetric links.
    128 In this experiment, however, we are looking at symmetric links, so we'll always change the settings on both pipes together.
    129 
    130 Here are the command sequences you'll need to change your link parameters.
    131 In each case, you'll need to provide the correct pipe numbers, if they're different from the example.
    132 
    133  * To change bandwidth (100M means 100Mbits/s):
     114 * To change link delay (delays are measured in ms) do the following on both `PC1` and `PC2`:
    134115{{{
    135 sudo ipfw pipe 60111 config bw 100M
    136 sudo ipfw pipe 60121 config bw 100M
     116sudo /sbin/tc qdisc add dev eth1 root handle 1:0 netem delay 10ms
    137117}}}
    138118
    139  * Request a bandwidth of zero to use the full capacity of the link (unlimited):
     119 * To change packet loss rate (rate is a probability) do the following on both `PC1` and `PC2`:
    140120{{{
    141 sudo ipfw pipe 60111 config bw 0
    142 sudo ipfw pipe 60121 config bw 0
     121sudo /sbin/tc qdisc add dev eth1 root handle 1:0 netem drop 0.1%
    143122}}}
    144123
    145  * To change link delay (delays are measured in ms):
    146 {{{
    147 sudo ipfw pipe 60111 config delay 10
    148 sudo ipfw pipe 60121 config delay 10
    149 }}}
    150 
    151  * To change packet loss rate (rate is a probability, so 0.001 means 0.1% packet loss):
    152 {{{
    153 sudo ipfw pipe 60111 config plr .0001
    154 sudo ipfw pipe 60121 config plr .0001
    155 }}}
    156 
    157  * You can combine settings for bandwidth, delay, and loss by specifying more than one in a single ipfw command. We'll use this form in the procedure below.
     124 * You can combine settings for bandwidth, delay, and loss by specifying more than one in a single command. We'll use this form in the procedure below.
    158125
    159126== Experiment Procedure ==
     127 * Using this initial setting, try a few UDT transfers, including the larger files. Now try FTP transfers. Record the transfer sizes and rates.
    160128
    161  * Set your link parameters to use maximum bandwidth, no delay, no packet loss:
     129 * Now change the link parameters to reduce the available bandwidth to 10Mbps (on the data plane interface on both PC1 and PC2):
    162130
    163131{{{
    164 sudo ipfw pipe 60111 config bw 0 delay 0 plr 0
    165 sudo ipfw pipe 60121 config bw 0 delay 0 plr 0
    166 }}}
    167 
    168  * Verify with
    169 
    170 {{{
    171 sudo ipfw pipe show
    172 60111: unlimited    0 ms   50 sl. 1 queues (1 buckets) droptail
    173     mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
    174 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
    175   0 ip    207.167.175.72/0       195.123.216.8/6        7     1060  0    0   0
    176 60121: unlimited    0 ms   50 sl. 1 queues (1 buckets) droptail
    177     mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
    178 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
    179   0 ip   207.167.176.224/0         195.124.8.8/6        8     1138  0    0   0
    180 }}}
    181 
    182 Note that bandwidth is set to ''unlimited'', delay to ''0 ms'', and no PLR is shown.
    183 
    184  * Using this initial setting, try a few UDT transfers, including the larger files. Now try FTP transfers. Record the transfer sizes and rates.
    185 
    186  * Now change the link parameters to reduce the available bandwidth to 10Mbps:
    187 
    188 {{{
    189 sudo ipfw pipe 60111 config bw 10M delay 0 plr 0
    190 sudo ipfw pipe 60121 config bw 10M delay 0 plr 0
     132sudo /sbin/tc qdisc add dev eth1 root handle 1:0 tbf limit 1000000 burst 1000000 rate 10mbit
    191133}}}
    192134