Comparison of two concurrent TCP streams for two different TCP stack implementations:
non-ECN and non-SACK capable vs ECN and SACK-capable
Goal: to quantify the per-stream gain achieved through the combination
of ECN and SACK.
Equipment:
-
chain of intermediate ecn-capable routers (Cisco 7500 and C7200),
IOS: 12.1(4)E (experimental version) - only first router is ecn-capable in this
test
- pool of Linux hosts, v. 2.4.9, SACK-capable
- pool of Solaris 2.7 hosts, non SACK-capable
Test description:
- Tolopology
see Test A.
- Parameters
- min threshold constant = 100 pack
- max threshold constant = 300 pack
- drop probability: [1/50, 1/20, 1/10, 1/5, 1/2, 1]
- TCP stacks: ECN and SACK-capable vs non-ECN and non-SACK capable;
- test duration: 3 min
- Traffic profile
- 20 TCP streams (generated by iperf)
- 18 background streams generated by non-ECN and non-SACK capable hosts;
- 2 reference streams respectively between 2 Solaris 2.7 Sun hosts and
2 Linux 2.4.9 hosts. The two reference streams are cuncurrent.
Summary:
- performance with ECN and SACK is better but only for mark probability equal to 1/5 or
larger.
Comments:
- TEST 1: we do see a benefit in terms of increased throughput thanks to the combination
of ECN and SACK, this for mark probabilities equal to 1/5 or larger. However, for small
mark probabilities, the behavior is the contrary, non-ECN and non-SACK capable stacks
seem to show a better performance. For very small mark probabilities the percentage of
CE marked packets is much lower, so, as intuition suggests, the benefit due to the use
of ECN is very limited.
Fig 1: comparison of two cuncurrent TCP streams for two different TCP stack implementations
S.Alessandrini, T.Ferrari, March 22 2002