Experiments of the packet dropper module( by Glen ) Modified by Lin

Modified: Packets are not dropped randomly (it's inefficient). One out of every 1/Rate packets are dropped.

Test Script file for the test

Network infrastructure diagram

Packet Flow:  Madrid:eth1==>Dublin:eth2==>Dublin:eth1==>Prague:eth2

Packet dropper is running on the Static Router (Dublin).

Packet Dropper Module code    Makefile

TCP connection. Request Size is optimal size 1448Bytes.

Kernel file modified:  /usr/src/linux/net/core/dev.c        /usr/src/linux/net/netsyms.c

 

 

Experiment on packet_dropper. packets are dropped one out of every 1/rate packets
drop rate Elapse time ( sec ) Tcp request size 1448 bytes, iteration time 100000 Throughput(B/s)
1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th AVG Var
0 12.33 12.31 12.31 12.31 12.31 12.31 12.31 12.31 12.31 12.31 12.312 0.004 12394411.96
0.0001 12.33 12.32 12.32 12.32 12.32 12.32 12.32 12.32 12.32 12.32 12.321 0.002 12385358.33
0.0005 12.34 12.33 12.33 12.33 12.33 12.33 12.33 12.33 12.33 12.33 12.331 0.002 12375314.25
0.001 12.36 12.35 12.35 12.35 12.35 12.35 12.35 12.39 12.36 12.35 12.356 0.008 12350275.17
0.002 12.40 12.39 12.39 12.39 12.39 12.39 12.39 12.39 12.39 12.39 12.391 0.002 12315390.20
0.004 12.39 12.38 12.38 12.38 12.38 12.38 12.38 12.38 12.38 12.38 12.381 0.002 12325337.21
0.006 12.40 12.39 12.39 12.39 12.39 12.39 12.39 12.39 12.39 12.39 12.391 0.002 12315390.20
0.008 12.43 12.42 12.42 12.42 12.42 12.42 12.42 12.42 12.42 12.42 12.421 0.002 12285645.28
0.01 12.45 12.45 12.44 12.44 12.44 12.50 12.45 12.45 12.45 12.45 12.452 0.010 12255059.43
0.02 12.59 12.58 12.58 12.58 12.58 12.58 12.58 12.58 12.58 12.58 12.581 0.002 12129401.48
0.03 12.92 12.73 12.71 12.78 12.71 12.84 13.04 12.78 12.72 12.74 12.797 0.082 11924669.84
0.04 14.02 13.96 13.95 13.94 13.96 13.95 14.14 13.96 13.93 13.96 13.977 0.041 10917936.61
0.05 14.36 14.34 14.33 14.32 14.53 14.32 14.33 14.33 14.35 14.33 14.354 0.036 10631182.95
0.06 15.12 15.16 15.11 15.10 15.12 15.12 15.11 15.10 15.10 15.11 15.115 0.012 10095931.19
0.07 15.56 15.67 15.54 15.47 15.53 15.47 15.47 15.48 15.52 15.44 15.515 0.049 9835642.93
0.08 16.30 16.06 16.06 16.26 16.07 16.06 16.28 16.07 16.06 16.27 16.149 0.103 9449501.52
0.09 15.92 15.75 15.93 15.73 15.93 15.75 15.94 15.74 15.95 15.72 15.836 0.098 9636271.79
0.10 15.79 15.42 15.58 15.81 15.43 15.61 15.42 15.77 15.61 15.41 15.585 0.133 9791466.15
0.11 15.79 15.41 15.78 15.62 15.42 15.79 15.43 15.59 15.80 15.41 15.604 0.152 9779543.71
0.12 16.66 17.06 17.63 17.83 15.88 16.08 16.46 16.43 17.25 15.89 16.717 0.580 9128432.13
0.13 15.51 15.30 15.70 15.30 15.49 15.30 15.49 15.49 15.50 15.30 15.438 0.110 9884700.09

 

For Postscript version of this chart. here Gnuplot file here.  Datafile here

Detailed Experiment Data are: drop0 drop0.0001 drop0.0005 drop0.001 drop0.002 drop0.004 drop0.006 drop0.008 drop0.01 drop0.02 drop0.03 drop0.04 drop0.05 drop0.06 drop0.07  drop0.08  drop0.09 drop0.10 drop0.11 drop0.12 drop0.13 drop0.15

UDP experiment result shows that the packet loss is approximate the percentage we specified in the packet_dropper module

See the UDP experiment detail data: drop0 drop0.0001 drop0.0005 drop0.001 drop0.002 drop0.004 drop0.006 drop0.008 drop0.01 drop0.02 drop0.03 drop0.04 drop0.05

 

 

Interesting Result:  When the packet loss rate is set to 0.15 ( ie, drop one out of every 6 packets ). The elapse time varies as the iteration times increases.

Iteration Times Time elapse (Second) Throughput (Bytes/Sec)
1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th AVG Var
1000 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.36 0.351 0.002 4347578
10000 1.76 1.76 1.76 1.76 1.76 1.76 1.76 1.76 1.76 1.76 1.76 0 8670455
20000 3.34 3.32 3.33 3.32 3.32 3.32 3.32 3.32 3.32 127.89 15.780 22.422 1934094
30000 4.90 4.88 4.88 543.45 4.88 4.88 4.88 4.88 1319.27 4.88 190.178 296.473 240722
40000 1079.77 1794.92 6.44 6.44 6.44 6.44 6.44 6.44 6.45 6.44 292.622 457.889 208597
50000 8.03 8.01 8.01 8.01 8.00 8.00 2650.93 8.01 8.00 8.00 272.300 475.726 280206
60000 1516.12 9.56 9.56 9.57 9.56 9.56 1961.96 318.02 9.56 1272.67 512.614 642.582 178614

For Postscript version of this chart. here Gnuplot file here.  Datafile here

Detailed Experiment Data are:  test1000, test10000, test20000, test30000, test40000, test50000, test60000