SCTP vs TCP A Comparison of Transport Protocols

  • Slides: 30
Download presentation
SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic Rajesh Rajamani

SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic Rajesh Rajamani (raj@cs. wisc. edu) June 03, 2002

Outline • Motivation • Introduction to SCTP • Server Architecture • Experimental Design •

Outline • Motivation • Introduction to SCTP • Server Architecture • Experimental Design • Parameters • Results • Conclusion June 03, 2002 2

Motivation • Many applications need reliable message delivery – they do so by delineating

Motivation • Many applications need reliable message delivery – they do so by delineating a TCP stream • TCP provides both strict-ordering and reliability – many applications may not need both June 03, 2002 3

Motivation (contd) • HTTP is one such application – While transferring multiple embedded files

Motivation (contd) • HTTP is one such application – While transferring multiple embedded files we only want • Reliable file transfer for each file • Partial ordering for the packets of each file but not total ordering amongst all the packets – TCP provides more than this (but overhead? ) – SCTP may help (how? – later) June 03, 2002 4

What is SCTP? • Originally designed to support PSTN signaling messages over IP Networks

What is SCTP? • Originally designed to support PSTN signaling messages over IP Networks • It is a reliable transport protocol operating on top of a connectionless packet network such as IP (same level as TCP) June 03, 2002 5

Major Differences from TCP • SCTP is message oriented • SCTP has the concept

Major Differences from TCP • SCTP is message oriented • SCTP has the concept of an association instead of a connection – Each association can have multiple streams • SCTP separates reliable transfer of datagrams from the delivery mechanism • SCTP supports multihoming • Connection Setup June 03, 2002 6

Packet Format June 03, 2002 7

Packet Format June 03, 2002 7

Similarities to TCP • Similar Flow Control and Congestion Control Strategies employed – Slow

Similarities to TCP • Similar Flow Control and Congestion Control Strategies employed – Slow Start and Congestion Avoidance phases – Selective Acknowledgement – Fast Retransmit – Slight differences for supporting multihoming • Known to co-exist well with TCP June 03, 2002 8

HTTP Server Architecture Single File Transfer ( Both TCP and SCTP are similar) Request

HTTP Server Architecture Single File Transfer ( Both TCP and SCTP are similar) Request file Fork child Client Send file June 03, 2002 Server Child process 9

HTTP Server Architecture Multiple File Transfer (Embedded files) - TCP Request file 0 Client

HTTP Server Architecture Multiple File Transfer (Embedded files) - TCP Request file 0 Client Send file 0 Request file 1. . N Server Fork child Child process Send file 1, 2, …N June 03, 2002 10

HTTP Server Architecture Multiple Files Transfer (Embedded Files) - SCTP Request file 0 Client

HTTP Server Architecture Multiple Files Transfer (Embedded Files) - SCTP Request file 0 Client Send file 0 – stream 0 Request files 1. . N June 03, 2002 Send file 1 – stream 1 Send file N – stream N Server Fork child Child process 11

The Scientific Method • Observation – HTTP does not require strict -order of delivery,

The Scientific Method • Observation – HTTP does not require strict -order of delivery, when fetching embedded links. Also, HTTP is messageoriented protocol • Hypothesis and Predictions – SCTP provides partially ordered delivery and guarantees reliability. This can reduce user-perceived latency and improve throughput June 03, 2002 12

Latency Server Client 1 3 2 File 3 1 3 2 File 2 1

Latency Server Client 1 3 2 File 3 1 3 2 File 2 1 3 2 1 File 1 TCP Receive buffer in kernel June 03, 2002 13

Latency Server Client 1 3 2 File 3 1 3 2 File 2 1

Latency Server Client 1 3 2 File 3 1 3 2 File 2 1 3 2 1 File 1 SCTP Receive buffer in kernel June 03, 2002 14

Throughput Server 3 2 1 3 2 File 3 TCP Send buffer in kernel

Throughput Server 3 2 1 3 2 File 3 TCP Send buffer in kernel June 03, 2002 Client 1 3 2 1 File 2 TCP Receive buffer in kernel 15

Throughput Server 3 3 2 2 1 1 3 2 File 3 SCTP Receive

Throughput Server 3 3 2 2 1 1 3 2 File 3 SCTP Receive buffer in kernel June 03, 2002 Client 1 3 2 1 File 2 SCTP Receive buffer in kernel 16

Experimental Design • Free. BSD kernel implementation of SCTP and TCP Reno • HTTP

Experimental Design • Free. BSD kernel implementation of SCTP and TCP Reno • HTTP 1. 1 Server and Client – Similar implementations for TCP/SCTP • Dummynet to simulate interconnection network June 03, 2002 17

Our setup Server June 03, 2002 Client Dummynet configured with different b/w, delay and

Our setup Server June 03, 2002 Client Dummynet configured with different b/w, delay and loss characteristics 18

Parameters • We observe latencies for single file and multiple file transfers by varying

Parameters • We observe latencies for single file and multiple file transfers by varying the following parameters – Loss rate (0%, 1%, 2%, 5%, 8%, 10%, 15%, 20%, 25%) – Link Bandwidth (40 kbps, 400 kbps, 3 mbps, 10 mbps) • We keep Latency constant (80 ms) June 03, 2002 19

Results June 03, 2002 20

Results June 03, 2002 20

Results June 03, 2002 21

Results June 03, 2002 21

Results June 03, 2002 22

Results June 03, 2002 22

Possible reasons • No TCP SACK option in Free. BSD. SCTP uses SACK –

Possible reasons • No TCP SACK option in Free. BSD. SCTP uses SACK – Not apples to apples comparison • Better rwnd management and smoother handling of rwnd and cwnd. – Mark Allman’s 4*MTU burst limit on all sends enforced in SCTP. TCP overshoots and overruns peer, resulting in a retransmit June 03, 2002 23

Results - Latency Protocol Loss File 1 File 2 File 3 File 4 File

Results - Latency Protocol Loss File 1 File 2 File 3 File 4 File 5 File 6 File 7 File 8 TCP 0% 0. 679 0. 768 3. 873 3. 910 3. 942 4. 243 4. 273 4. 708 SCTP 0% 0. 802 0. 888 4. 468 4. 507 4. 607 4. 834 4. 878 4. 887 TCP 1% 4. 930 5. 595 29. 598 31. 047 31. 924 33. 460 34. 333 38. 222 SCTP 1% 4. 299 4. 775 24. 132 24. 536 25. 106 26. 678 27. 143 29. 628 TCP 2% 5. 983 6. 725 35. 361 37. 232 38. 509 40. 681 42. 568 45. 179 SCTP 2% 5. 506 6. 098 31. 539 32. 164 32. 692 33. 117 33. 981 41. 551 Latency of each file in multiple file transfer test, B/w=10 Mbps. Values in red are higher. All times are in seconds June 03, 2002 24

Results June 03, 2002 25

Results June 03, 2002 25

About Errors Loss in this direction 1% June 03, 2002 26

About Errors Loss in this direction 1% June 03, 2002 26

Conclusions • The current SCTP implementation performs almost as well as TCP when there

Conclusions • The current SCTP implementation performs almost as well as TCP when there are no losses – However, there is an extra overhead in sending messages instead of just a stream of bytes • SCTP seems to perform better in the presence of losses, because it does not enforce strictly ordered delivery • More graphs available at http: //www. cs. wisc. edu/~raj/sctp June 03, 2002 27

Implications • SCTP can be a viable transport protocol for HTTP traffic, because –

Implications • SCTP can be a viable transport protocol for HTTP traffic, because – – It helps reduce user-perceived latency and also improves throughput – Uses a 4 -way handshake and also uses an encrypted cookie, which offer better protection against SYN floods and Do. S attacks – Multihoming feature can be exploited to transparently allow mobile users to switch between networks June 03, 2002 28

Questions? June 03, 2002 29

Questions? June 03, 2002 29

References • [CT 90] D. Clark and D. Tennenhouse, Architectural Consideration for a New

References • [CT 90] D. Clark and D. Tennenhouse, Architectural Consideration for a New Generation of Protocols, In Proc. of ACM SIGCOMM '90. • RFC 2960 (http: //www. rfc-editor. org) • http: //tdrwww. exp-math. uni-essen. de/pages/forschung/sctp_fb/ • [JST 2000] A. Jungmaier, et. al, Performance Evaluation of the Stream Control Transmission Protocol, In Proc. of the IEEE conference on High Performance Switching and Routing, June 2000. June 03, 2002 30