Site menu Master Dissertation

Master Dissertation

SCTP performance test - 100Mbps network with variable loss

Scenario: COP as server, SOLDIER as client, Ethernet 100Mbps with variable packet loss. Messages of 500 bytes.

Throughput - variation of packet loss

Protocol0%0,1%1%3%10%
TCPM90596788465787623396878
SCTP60773568345703046438852

Packet loss in %, throughput in kbps (1kbps = 1000 bits/s).

With moderate losses (1% to 3%), SCTP could surpass TCPM, possibly helped by the bidirectional data flow created by this test, which allowed the stronger SCTP SACK to perform the best.

In latency test, the lack of continuous bidirectional traffic prevented SACK from working properly.

Latency - variation of packet loss

Protocol0%0,1%1%3%10%
TCPM281,0483,95190,014418,567097,0
SCTP318,51920,024662,082718,0671100,5

Packet loss in %, latency in µs

Among all tests, this was the worst SCTP result, due to a combination of factors:

In the first test, that supplied the data for dissertation and for the above graphic, adjusting the minimum RTO did not suffice: traffic began fast but ended up stalling and converging to a very slow speed.

In a second test, run after dissertation concluded, adjust of minimum RTO solved the problem and SCTP showed performance close to TCPM in lossy network scenarios. This weakens the hypothesis of Linux TCP congestion control being inherently better than LK-SCTP's.

Still, some doubt remains about a possible instability of SCTP congestion control (which would change its behaviour randomly), or about some mistake committed during our first tests.

If SCTP congestion control has no bugs, still the LK-SCTP implementation should consider lowering default RTO parameters, since most users never try to do any network tuning, would simply blame LK-SCTP, or SCTP itself, when faced with low performance.