Scenario: COP as server, SOLDIER as client. Two network scenarios were created:
Server application adapted: thttpd version 2.25b
Client application adapted: httperf version 0.8
The SCTP tests were carried out with 1, 10 and 100 streams, that correspond to 1, 10 and 100 files transferred per association. In TCP, exactly one connection is created per transferred file, since thttpd server does not support HTTP pipelining (neither do most HTTP servers and browsers).
File size | TCP | SCTP - 1 stream | SCTP - 10 streams | SCTP - 100 streams |
---|---|---|---|---|
100 | 1008,7 | 537,6 | 1243,9 | 2221,3 |
1000 | 2315,0 | 1458,6 | 4043,1 | 6281,7 |
10000 | 7688,2 | 5613,4 | 6397,2 | 9954,1 |
100000 | 10693,3 | 10226,1 | 8880,5 | 11314,1 |
File sizes in bytes, throughput in KBytes/s (1KByte = 1024 bytes)
File size | TCP | SCTP - 1 stream | SCTP - 10 streams | SCTP - 100 streams |
---|---|---|---|---|
100 | 3,3 | 2,2 | 39,4 | 88,9 |
1000 | 10.7 | 7,2 | 61,7 | 100,2 |
10000 | 56,4 | 33,9 | 73,6 | 115,3 |
100000 | 117,7 | 95,3 | 110,4 | 108,0 |
File sizes in bytes, throughput in KBytes/s (1KByte = 1024 bytes)
Using only one stream, SCTP is slower than TCP. This is congruent with the other tests, but here there is an additional problem: a lot of associations are created (one per file) and it hurts SCTP further, since association creation overhead is bigger than TCP connection creation.
On the other hand, SCTP surpassed TCP when it was allowed to use several streams per association, in particular when small files were transferred (most Web files are small). In 1Mbps network scenario, that approximates a typical end-user ADSL connection [in 2004], SCTP gain on TCP was even bigger.
As bigger files are used, SCTP gain diminishes because the network bandwidth becomes the ultimate botteneck.