+ All Categories
Home > Documents > SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by...

SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by...

Date post: 15-Dec-2015
Category:
Upload: kaylie-gilyard
View: 214 times
Download: 1 times
Share this document with a friend
Popular Tags:
33
SCTP v/s TCP – A SCTP v/s TCP – A Comparison of Comparison of Transport Protocols Transport Protocols for Web Traffic for Web Traffic CS740 Project Presentation CS740 Project Presentation by by N. Gupta, S. Kumar, R. N. Gupta, S. Kumar, R. Rajamani Rajamani
Transcript
Page 1: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

SCTP v/s TCP – A SCTP v/s TCP – A Comparison of Transport Comparison of Transport Protocols for Web TrafficProtocols for Web Traffic

CS740 Project PresentationCS740 Project Presentation

byby

N. Gupta, S. Kumar, R. RajamaniN. Gupta, S. Kumar, R. Rajamani

Page 2: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

OutlineOutline

MotivationMotivation

Introduction to SCTPIntroduction to SCTP

Server ArchitectureServer Architecture

Experimental DesignExperimental Design

ParametersParameters

ResultsResults

ConclusionConclusion

Page 3: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

MotivationMotivation

Many applications need reliable message Many applications need reliable message

delivery – they do so by delineating a TCP delivery – they do so by delineating a TCP

streamstream

TCP provides both strict-ordering and TCP provides both strict-ordering and

reliability – many applications may not reliability – many applications may not

need bothneed both

Page 4: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

Motivation (contd)Motivation (contd)

HTTP is one such applicationHTTP is one such application– While transferring multiple embedded files we While transferring multiple embedded files we

only wantonly wantReliable file transfer for each fileReliable file transfer for each file

Partial ordering for the packets of each file but not Partial ordering for the packets of each file but not total ordering amongst all the packetstotal ordering amongst all the packets

– TCP provides more than this (but overhead?)TCP provides more than this (but overhead?)– SCTP may help (how? – later)SCTP may help (how? – later)

Page 5: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

What is SCTP?What is SCTP?

Originally designed to support PSTN Originally designed to support PSTN

signaling messages over IP Networkssignaling messages over IP Networks

It is a reliable transport protocol operating It is a reliable transport protocol operating

on top of a connectionless packet network on top of a connectionless packet network

such as IP (same level as TCP) such as IP (same level as TCP)

Page 6: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

Major Differences from TCPMajor Differences from TCP

SCTP is message oriented as opposed to SCTP is message oriented as opposed to being byte stream orientedbeing byte stream orientedSCTP has the concept of an association SCTP has the concept of an association instead of a connection instead of a connection – Each association can have multiple streamsEach association can have multiple streams

SCTP separates reliable transfer of SCTP separates reliable transfer of datagrams from the delivery mechanismdatagrams from the delivery mechanismSCTP supports multihomingSCTP supports multihomingConnection SetupConnection Setup

Page 7: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

Packet FormatPacket Format

Page 8: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

Similarities to TCPSimilarities to TCP

Similar Flow Control and Congestion Similar Flow Control and Congestion Control Strategies employedControl Strategies employed– Slow Start and Congestion Avoidance phasesSlow Start and Congestion Avoidance phases– Selective AcknowledgementSelective Acknowledgement– Fast RetransmitFast Retransmit– Slight differences for supporting multihomingSlight differences for supporting multihoming

Will allow co-existence of TCP and SCTP Will allow co-existence of TCP and SCTP [JST 2000][JST 2000]

Page 9: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

HTTP Server ArchitectureHTTP Server ArchitectureSingle File Transfer ( Both TCP and SCTP are similar)

Client

Server

Childprocess

Request file

Fork child

Send file

Page 10: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

HTTP ServerHTTP Server ArchitectureArchitectureMultiple File Transfer (Embedded files) - TCP

Client

Server

Childprocess

Request file 0

Fork childSend file 0

Request file 1..N

Send file 1,2,…N

Page 11: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

SCTP Packet FormatSCTP Packet Format

streams

Page 12: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

HTTP ServerHTTP Server ArchitectureArchitectureMultiple Files Transfer (Embedded Files) - SCTP

Client

Server

Childprocess

Request file 0

Fork childSend file 0 – stream 0

Request files 1..N

Send file 1 – stream 1

Send file N – stream N

Page 13: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

The Scientific MethodThe Scientific Method

ObservationObservation – HTTP does not require – HTTP does not require strict-order of delivery, when fetching strict-order of delivery, when fetching embedded links. Also, HTTP is message-embedded links. Also, HTTP is message-oriented protocol oriented protocol Hypothesis and PredictionsHypothesis and Predictions – SCTP – SCTP provides partially ordered delivery and provides partially ordered delivery and guarantees reliability. This can reduce guarantees reliability. This can reduce user-perceived latency and improve user-perceived latency and improve throughputthroughput

Page 14: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

HypothesisHypothesis

3 2 1 3 2 1 3 2 1

File 1File 2File 3

1

TCPReceive buffer in kernel

Server Client

Page 15: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

HypothesisHypothesis

3 2 1 3 2 1 3 2 1

File 1File 2File 3

1

SCTPReceive buffer in kernel

Server Client

Page 16: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

Experimental DesignExperimental Design

FreeBSD kernel implementation of SCTP FreeBSD kernel implementation of SCTP and TCP Renoand TCP Reno

HTTP 1.1 Server and ClientHTTP 1.1 Server and Client– Similar implementations for TCP/SCTP Similar implementations for TCP/SCTP

Dummynet to simulate interconnection Dummynet to simulate interconnection networknetwork

Page 17: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

Our setupOur setup

Server Client

Dummynet configured with different b/w, delay and loss

characteristics

Page 18: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

ParametersParameters

We observe latencies for single file and We observe latencies for single file and multiple file transfers by varying the multiple file transfers by varying the following parametersfollowing parameters– Loss rate (0%, 1%, 2%, 5%, 8%, 10%, 15%, Loss rate (0%, 1%, 2%, 5%, 8%, 10%, 15%,

20%, 25%)20%, 25%)– Link Bandwidth (40kbps, 400kbps, Link Bandwidth (40kbps, 400kbps,

3mbps,10mbps)3mbps,10mbps)

We keep Latency constant (80ms)We keep Latency constant (80ms)

Page 19: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

ResultsResults

Page 20: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

ResultsResults

Page 21: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

ResultsResults

Page 22: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

About ErrorsAbout Errors

Loss in this direction 1%

Loss in this direction 1%

Page 23: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

ReasonReason

3 2 1 3 2 1

File 2File 31

TCPReceive buffer in kernel

Server Client

TCPSend buffer in kernel

23123

Page 24: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

ReasonReason

3 2 1 3 2 1

File 2File 3

1

SCTPReceive buffer in kernel

Server Client

SCTPReceive buffer in kernel

2

3

1

2

3

Page 25: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

ConclusionsConclusions

The current SCTP implementation performs almost as The current SCTP implementation performs almost as well as TCP when there are no losses – However, there well as TCP when there are no losses – However, there is an extra overhead in sending messages instead of just is an extra overhead in sending messages instead of just a stream of bytesa stream of bytes

SCTP seems to perform better in the presence of losses, SCTP seems to perform better in the presence of losses, because it does not enforce strictly ordered deliverybecause it does not enforce strictly ordered delivery

More graphs available at More graphs available at http://www.cs.wisc.edu/~raj/sctphttp://www.cs.wisc.edu/~raj/sctp

Page 26: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

ImplicationsImplications

SCTP can be a viable transport protocol SCTP can be a viable transport protocol for HTTP traffic, because –for HTTP traffic, because –– It helps reduce user-perceived latency and It helps reduce user-perceived latency and

also improves throughputalso improves throughput– Uses a 4-way handshake and also uses an Uses a 4-way handshake and also uses an

encrypted cookie, which offer better protection encrypted cookie, which offer better protection against SYN floods and DoS attacksagainst SYN floods and DoS attacks

– Multihoming feature can be exploited to Multihoming feature can be exploited to transparently allow mobile users to switch transparently allow mobile users to switch between networks between networks

Page 27: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

ReferencesReferences

[CT90][CT90] D. Clark and D. Tennenhouse, D. Clark and D. Tennenhouse, Architectural Consideration Architectural Consideration for a New Generation of Protocolsfor a New Generation of Protocols, In Proc. of ACM SIGCOMM '90., In Proc. of ACM SIGCOMM '90.

RFC 2960 (http://www.rfc-editor.org)RFC 2960 (http://www.rfc-editor.org)

http://tdrwww.exp-math.uni-essen.de/pages/forschung/sctp_fbhttp://tdrwww.exp-math.uni-essen.de/pages/forschung/sctp_fb//

[JST 2000] [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.

Page 28: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

AcknowledgementsAcknowledgements

Paul BarfordPaul Barford

Doug ThainDoug Thain

Jim Gast, Joel Sommers, Winfred Byrd, Jim Gast, Joel Sommers, Winfred Byrd, CSLCSL

Randall Stewart, Jon Grimm, La Monte Randall Stewart, Jon Grimm, La Monte Henry Piggy YarrollHenry Piggy Yarroll

Page 29: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

Questions?Questions?

Page 30: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

Server ArchitectureServer Architecture

Single File TransferSingle File Transfer– Server forks a child process for each requestServer forks a child process for each request– Child parses the request and sends the Child parses the request and sends the

requested file or an appropriate error requested file or an appropriate error messagemessage

– Similar for both TCP and SCTPSimilar for both TCP and SCTP

Page 31: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

Server Architecture contd.Server Architecture contd.

Multiple File Transfer (embedded files)Multiple File Transfer (embedded files)– TCPTCP

Child process at server parses the request and Child process at server parses the request and sends the requested filesends the requested file

Client parses the received file and sends the Client parses the received file and sends the requests for embedded filesrequests for embedded files

Child process at server receives these requests Child process at server receives these requests and sends the files one after other using persistent and sends the files one after other using persistent connection connection

Page 32: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

Server Architecture contd.Server Architecture contd.

Multiple files transfer (embedded files)Multiple files transfer (embedded files)– SCTPSCTP

Child process at server parses the request and Child process at server parses the request and sends the requested filesends the requested file

Client parses the received file and sends requests Client parses the received file and sends requests for embedded filesfor embedded files

Child process at server receives the requests and Child process at server receives the requests and sends the files on different streams within the sends the files on different streams within the same association same association

– Major difference from TCPMajor difference from TCP

Page 33: SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.

Server ArchitectureServer ArchitectureSingle File Transfer ( Both TCP and SCTP are similar)

Client

Server

Child process

request

Fork child

response


Recommended