21
Uni Innsbruck Informatik Uni Innsbruck Informatik - - 1 1 Internet Transport Internet Transport Tomorrow Tomorrow : : Introducing Introducing SCTP SCTP , , UDP UDP - - Lite Lite and and DCCP DCCP Michael Welzl Michael Welzl http://www.welzl.at http://www.welzl.at DPS DPS NSG NSG Team Team http:// http:// dps.uibk.ac.at dps.uibk.ac.at / / nsg nsg Institute of Computer Science Institute of Computer Science University of Innsbruck, University of Innsbruck, Austria Austria CAIA CAIA guest guest talk talk Swinburne Swinburne University University Melbourne AUS Melbourne AUS 30 30 January January , 2008 , 2008 Uni Innsbruck Informatik Uni Innsbruck Informatik - - 2 2 Outline Outline 1. Internet transport today: too much, or not enough 2. Internet transport tomorrow 1. SCTP 2. UDP-Lite 3. DCCP

Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

  • Upload
    lehanh

  • View
    216

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 11

Internet Transport Internet Transport TomorrowTomorrow::

IntroducingIntroducing SCTPSCTP, , UDPUDP--LiteLite and and DCCPDCCP

Michael Welzl Michael Welzl http://www.welzl.athttp://www.welzl.at

DPSDPS NSGNSG Team Team http://http://dps.uibk.ac.atdps.uibk.ac.at // nsgnsgInstitute of Computer ScienceInstitute of Computer ScienceUniversity of Innsbruck, University of Innsbruck, AustriaAustria

CAIACAIA guestguest talktalkSwinburneSwinburne UniversityUniversity

Melbourne AUSMelbourne AUS30 30 JanuaryJanuary, 2008, 2008

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 22

OutlineOutline

1. Internet transport today: too much, or not enough

2. Internet transport tomorrow1. SCTP2. UDP-Lite3. DCCP

Page 2: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 33

Transport Transport layerlayer problemproblem statementstatement

• Efficient transmission of data streams across the Internet– various sources, various destinations, various types of streams

• What is “efficient“?– terms: latency, end2end delay, jitter, bandwidth

(nominal/available/bottleneck -), throughput, goodput, loss ratio, ..– general goals: high throughput (bits / second), low delay, jitter, loss ratio

• Note: Internet = TCP/IP based world-wide network– no assumptions about lower layers!– ignore CSMA/CD, CSMA/CA, token ring, baseband encoding, frame

overhead, switches, etc. etc. !

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 44

Internet Internet transporttransport todaytoday: : oneone sizesize fitsfits allall

• UDP used for sporadic messages (DNS) and some special apps

• TCP used for everything else– in 2003, approximately 83 % according to:

Marina Fomenkov, Ken Keys, David Moore and k claffy, “Longitudinal studyof Internet traffic in 1998-2003”, CAIDA t echnical report , available from http://www.caida.org/outreach/papers/2003/nlanr/

– backbone measurement from 2000 said 98% � UDP usage growing

• Original Internet proposition:IP over everything, everything over IP

• Today‘s reality:IP over everything, almost everything over TCP, and the rest over UDP

Page 3: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 55

WhatWhat TCPTCP doesdoes forfor youyou ((roughlyroughly))

• UDP features: multiplexing + protection against corruption– ports, checksum

• stream-based in-order delivery– segments are ordered according to sequence numbers– only consecutive bytes are delivered

• reliability– missing segments are detected (ACK is missing) and retransmitted

• f low control– receiver is protected against overload (window based)

• congestion control– network is protected against overload (window based)– protocol tries to fill available capacity

• connection handling– explicit establishment + teardown

• full-duplex communication– e.g., an ACK can be a data segment at the same time (piggybacking)

A r e a l l t h e s e f e a t u r e sa l w a y s a p p r o p r i a t e ?

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 66

UDPUDP, , howeverhowever......

• RFC 768: three pages!

• IP + 2 features:– Multiplexing (ports)– Checksum

• Used by apps which want unreliable, timely delivery– e.g. VoIP: significant delay = / ... but some noise = -

• No congestion control– fine for SNMP, DNS, ..

Page 4: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 77

TCPTCP vs. vs. UDPUDP: a simple : a simple simulationsimulation exampleexample

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 88

ItIt doesndoesn‘‘ tt looklook goodgood

• For more details, see:Promoting the Use of End-to-End Congestion Control in the Internet.Floyd, S., and Fall, K.. IEEE/ACM Transactions on Networking, August 1999.

10 tcp - 1 cbr - drop tail

-200000

0

200000

400000

600000

800000

1000000

1200000

1400000

100 tcp - 1 cbr - drop tail

-200000

0

200000

400000

600000

800000

1000000

1200000

1400000

Page 5: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 99

Real Real behaviorbehavior of of todaytoday‘‘ ss appsappsA p p l i c a t i o n t r a f f i c

B a c k g r o u n d t r a f f i c

M o n i t o r 1 M o n i t o r 2

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 1010

TCPTCP ((thethe way way iti t shouldshould bebe))

0

50

100

150

200

1 traffic start at 30 60 traffic end at 90 120

Th

rou

gh

pu

t [K

Byt

e/s

]

Time [sec]

Throughput TCP

server sendclient receive

Page 6: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 1111

StreamingStreaming Video: Video: RealPlayerRealPlayer

0

50

100

150

200

1 traffic start at 30 60 traffic end at 90 120

Thr

ough

put [

KB

yte/

s]

Time [sec]

Throughput

server sendclient receive

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 1212

StreamingStreaming Video: Windows Media Video: Windows Media PlayerPlayer

0

50

100

150

200

1 traffic start at 30 60 traffic end at 90 120

Thr

ough

put [

KB

yte/

s]

Time [sec]

Throughput

server sendclient receive

Page 7: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 1313

StreamingStreaming Video: Video: QuicktimeQuicktime

0

50

100

150

200

1 traffic start at 30 60 traffic end at 90 120

Thr

ough

put [

KB

yte/

s]

Time [sec]

Throughput

server sendclient receive

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 1414

VoIPVoIP: MSN: MSN

0

5

10

15

20

25

120traffic end at 90 60traffic start at 30 1

Thr

ough

put [

KB

yte/

s]

Time [sec]

Throughput

server sendclient receive

Page 8: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 1515

VoIPVoIP: : SkypeSkype

0

5

10

15

20

25

120traffic end at 90 60traffic start at 30 1

Thr

ough

put [

KB

yte/

s]

Time [sec]

Throughput

server sendclient receive

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 1616

Video Video conferencingconferencing: : iVisitiVisit

0

10

20

30

40

50

60

120traffic end at 90 60traffic start at 30 1

Thr

ough

put [

KB

yte/

s]

Time [sec]

Throughput

server send

client receive

Page 9: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 1717

ObservationsObservations

• Several other applications examined– ICQ, NetMeeting, AOL Instant Messenger, Roger Wilco, Jedi Knight II,

Battlefield 1942, FIFA Football 2004, MotoGP2

• Often: congest ion � increase rate– is this FEC?– often: rate increased by increasing packet size– note: packet size limits measurement granularity

• Many are unreactive– Some have quite a low rate, esp. VoIP and games

• Aggregate of unreactive low-rate flows = dangerous!– IAB Concerns Regarding Congestion Control for Voice Traffic

in the Internet [RFC 3714]

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 1818

ConclusionConclusion

• TCP = too much– TCP++ (or rather TCP--) needed

• UDP = not enough– UDP++ needed

• We will see that, in fact, sometimes, even UDP = too much– UDP-- needed

• These gaps are filled by the new IETF transport protocols– TCP++ = SCTP– UDP++ = DCCP– UDP-- = UDP-Lite

Page 10: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 1919

StreamStream ControlControl Transmission Transmission ProtocolProtocol ((SCTPSCTP))

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 2020

MotivationMotivation

• TCP, UDP do not satisfy all application needs

• SCTP evolved from work on IP telephony signaling– Proposed IETF standard (RFC 2960)– Like TCP, it provides reliable, full-duplex connections– Unlike TCP and UDP, it offers new delivery options that are particularly

desirable for telephony signaling and multimedia applications

• TCP + features– Congestion control similar; some optional mechanisms mandatory– Two basic types of enhancements:

• performance

• robustness

Page 11: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 2121

OverviewOverview of of servicesservices and and featuresfeatures

• Services/Features SCTP TCP UDP• Full-duplex data transmission yes yes yes• Connection-oriented yes yes no• Reliable data transfer yes yes no• Unreliable data transfer yes no yes• Partially reliable data transfer yes no no• Ordered data delivery yes yes no• Unordered data delivery yes no yes• Flow and Congestion Control yes yes no• ECN support yes yes no• Selective acks yes yes no• Preservation of message boundaries yes no yes• PMTUD yes yes no• Application data fragmentation yes yes no• Multistreaming yes no no• Multihoming yes no no• Protection agains SYN flooding attack yes no n/a• Half-closed connections no yes n/a

S o A T C P+ E x t r a s

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 2222

Packet Packet formatformat

• Unlike TCP, SCTP provides message-oriented data delivery service– key enabler for performance enhancements

• Common header; three basic functions:– Source and destination ports together with the IP addresses– Verification tag– Checksum: CRC-32 instead of Adler-32

• f ollowed by one or more chunks– chunk header that identifies length, type, and any special flags– concatenated building blocks containg either control or data information– control chunks t ransfer information needed for association (connection)

functionality and data chunks carry application layer data.– Current spec: 14 different Control Chunks for association establishment,

termination, ACK, destination failure recovery, ECN, and error reporting

• Packet can contain several different chunk types• SCTP is extensible

Page 12: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 2323

Performance Performance enhancementsenhancements

• Decoupling of reliable and ordered delivery– Unordered delivery: eliminate head-of-line blocking delay

Chunk 2 Chunk 3 Chunk 4 Chunk 1TCP receiver buffer

App waits in vain!

• Application Level Framing

• Support for multiple data streams (per-stream ordered delivery)- Stream sequence number (SSN) preserves order within streams- no order preserved between streams- per-stream flow control, per-association congestion control

Page 13: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 2525

Multiple Multiple DataData StreamsStreams

• Application may use multiple logical data streams– e.g. pictures in a web browser

• Common solution: multiple TCP connections– separate flow / congestion control, overhead (connection setup/teardown, ..)

Chunk 1 Chunk 2 Chunk 3 Chunk 4

Chunk 1 Chunk 2 Chunk 3 Chunk 4

App stream 1

App stream 2

TCP sender

Chunk 1

1

Chunk 1

2

Chunk 2

3

Chunk 2

4

Chunk 1

1

Chunk 2

4

Chunk 2

3

Chunk 1

2

TCP receiver

App 1 waits in vain!

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 2626

MultihomingMultihoming

• ...at transport layer! (i.e. transparent for apps, such as FTP)

• TCP connection Ù SCTP association– 2 IP addresses, 2 port numbers Ù 2 sets of IP addresses, 2 port numbers

• Goal: robustness– automatically switch hosts upon failure– eliminates effect of long routing reconvergence time

• TCP: no guarantee for “keepalive“ messages when connection idle• SCTP monitors each destination's reachability via ACKs of

– data chunks– heartbeat chunks

• Note: SCTP uses multihoming for redundancy, not for load balancing!

Page 14: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 2727

Association Association phasesphases

• Association establishment: 4-way handshake– Host A sends INIT chunk to Host B– Host B returns INIT-ACK containing a cookie

• information that only Host B can verify• No memory is allocated at this point!

– Host A replies with COOKIE-ECHO chunk; may contain A's first data.– Host B checks validity of cookie; association is established

• Data t ransfer– SCTP assigns each chunk a unique Transmission Sequence Number (TSN)– SCTP peers exchange starting TSN values during association establishment phase– Message oriented data delivery; fragmented if larger than destination path MTU– Can bundle messages < path MTU into a single packet and unbundle at receiver– reliability through acks, retransmissions, and end-to-end checksum

• Association shutdown: 3-way handshake– SHUTDOWN � SHUTDOWN-ACK � SHUTDOWN-COMPLETE– Does not allow half-closed connections

(i.e. one end shuts down while the other end continues sending new data)

A v o i d s S Y N f l o o d a t t a c k s !

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 2828

UDPUDP--LiteLite

Page 15: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 2929

UDPUDP--LiteLite

• Checksum: Adler-32 covering the whole packet– UDP: checksum field = 0 � no checksum at all - bad idea!

• solution: UDP-Lite (length := checksum coverage)– e.g. video codecs can cope with bit errors, but UDP throws whole packet away!– acceptable BER up to applications (complies with end-to-end arguments)– some data can be covered by checksum– apps can realize several or different checksums

• Issues:– apps can depend on lower layers (no more “IP over everything“)– authentication requires data integrity - not given with UDP-Lite– handing over corrupt data is not always efficient - link layer should detect UDP-Lite

C h e c k s u m c o v e r a g e

I n t e r - l a y e rc o m m u n i c a t i o n

p r o b l e m

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 3030

Link Link layerlayer ARQARQ

• Advantages:– potentially faster than end-to-end retransmits– operates on frames, not packets– could use knowledge that is not available at transport end points

• example scenario: control loop 1 much shorter than 2

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Page 16: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 3131

Link Link LayerLayer ARQARQ /2/2

• Disadvantages:– hides information (known corruption) from end points– TCP: increased delay � more conservative behavior

• Link layer ARQ can have varying degrees of persistence

• So what?

• Ideal choice would depend on individual end-to-end flows

• Thus, recommendation:– low persistence or disable (leave severe cases up to end points)

– Give end points means to react properly (detect corruption)

F u r t h e r d e t a i l s :R F C 3 3 6 6

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 3232

DatagramDatagram Congestion Congestion ControlControl ProtocolProtocol ((DCCPDCCP))

Page 17: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 3333

MotivationMotivation

• Some apps want unreliable, timely delivery– e.g. VoIP: significant delay = / ... but some noise = -

• UDP: no congestion control

• Unresponsive long-lived applications– endanger others (congestion collapse)

– may hinder themselves (queuing delay, loss, ..)

• Implementing congestion control is difficult– illustrated by lots of faulty TCP implementations– may require precise t imers; should be placed in kernel

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 3434

DCCPDCCP fundamentalsfundamentals

• Congestion control for unreliable communication– in the OS, where it belongs

• Well-defined framework for [TCP-friendly] mechanisms

• Roughly:

DCCP = TCP –(bytestream semantics, reliability)= UDP + (congestion control with ECN, handshakes, ACKs)

• Main specification does not contain congestion control mechanisms– CCID definitions (e.g. TCP-like, TFRC, TFRC for VoIP)

• IETF status: working group, several Internet-drafts, thorough review– RFCs published in March 2006

N o t a n e x p l i c i t DCCPr e q u i r e m e n t , b u t a

c u r r e n t I E T F r e q u i r e m e n t

Page 18: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 3535

WhatWhat DCCPDCCP doesdoes forfor youyou ((roughlyroughly))

• Multiplexing + protection against corruption– ports, checksum (UDP-Lite ++)

• Connection setup and teardown– even though unreliable! one reason: middlebox traversal

• Feature negotiation mechanism– Features are variables such as CCID (“Congestion Control ID“)

• Reliable ACKs� knowledge about congestion on ACK path– ACKs have sequence numbers– ACKs are t ransmitted (receiver) until ACKed by sender (ACKs of ACKs)

• Full duplex communication– Each sender/receiver pair is a half-connection; can even use different CCIDs!

• Some security mechanisms, several options

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 3636

Packet Packet formatformat

• Generic header with 4-bit type field– indicates follwing subheader

– only one subheader per packet, not several as with SCTP chunks

2 Variants; different sequence no. length, detection via X flag

Page 19: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 3737

Separate Separate headerheader / / payloadpayload checksumschecksums

• Available as “Data Checksum option“ in DCCP– Also suggested for TCP, but not (yet?) accepted– Note: partial checksums useless in TCP (reliable transmission of erroneous data?)

• Differentiate corruption / congestion– Checksum covers all

• Error could be in header• Impossible to notify sender (seqno, ports, ..)

– Checksum fails in header only• Bad luck

– Checksum fails in payload only, ECN = 0• Inform sender of corruption• No need to react as if congestion

• Sti l l react (keeping high rate + high BER = bad idea) � experimental!– Checksum fails in payload only, ECN = 1

• Clear sign of congestion

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 3838

Additional Additional optionsoptions

• Data Dropped: indicate differentdrop events in receiver(differentiate: not received by app / not received by stack)

– removed from buffer because receiver is too slow– received but unusable because corrupt (Data Checksum option)

• Slow receiver: simple flow control

• ACK vector: SACK (runlength encoded)

• Init Cookie: protection against SYN floods

• Timestamp, Elapsed Time: RTT estimation aids

• Mandatory: next option must be supported

• Feature negotiation: Change L/R, Confirm L/R

Page 20: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 3939

ClassifyingClassifying DCCPDCCP applicationsapplications

• Congestion control trade-off (selfish single-flow view):+ reduced loss— necessary to adapt rate– Use sender buffer, drain it with varying rate– Change encoding

D e l a y s e n s i t i v e D e l a y i n s e n s i t i v e

T r a d e - o f f : s e n d e rb u f f e r s i z e ( = d e l a y ) v s . f r e q u e n c y o f e n c o d i n g c h a n g e s

V o I P ,G a m e s S t r e a m i n g M e d i aV i d e o c o n f .

S w e e t s p o t ?

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 4040

IsIs TCPTCP thethe ideal ideal protocolprotocol forfor oneone--waywaystreamingstreaming media?media?

• Perhaps! Let‘s consider what happens…• Remember: we‘re at the “ buffering“ side of the spectrum

– Buffers (delay) don‘t matter– User perception studies of adaptive multimedia apps have shown that users

dislike permanent encoding changes (big surprise :-) )

� no need for a smooth rate!• Little loss case: TCP retransmissions won‘t hurt• Heavy loss case:• DCCP: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10…• TCP: (assume window = 3): 1, 2, 3, 2, 3, 4, 3, 4, 5, 4…

– Application would detect: 4 out of 10 expected packets arrived� should reduce rate

– Is receiving 1, 4, 7, 10 instead of 1, 2, 3, 4 really such a big benefit?• Or is it just a matter of properly reacting?• In RealPlayer and MediaPlayer, TCP can be used for streaming…

seems to work well (also in YouTube!)

Page 21: Internet Transport Tomorrow: Introducing SCTP, UDP …caia.swin.edu.au/talks/CAIA-TALK-080130A.pdf · Uni Innsbruck Informatik - 1 Internet Transport Tomorrow: Introducing SCTP, UDP-Lite

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 4141

DCCPDCCP usageusage: : incentiveincentive considerationsconsiderations

• Benefits from DCCP (perspective of a single application) limited

• Compare them with reasons not to use DCCP– programming effort, especially if updating a working application– common deployment problems of new protocol with f irewalls etc.

• What if dramatically better performance is required to convince appprogrammers to use it?

• Can be attained using “ penalty boxes“ - but:– requires such boxes to be widely used

– will only happen if beneficial for ISP:financial loss from unresponsive UDP traffic > financial loss from customers whose UDP application doesn't work anymore

– requires many applications to use DCCP

– chicken-egg problem!

Uni Innsbruck Informatik Uni Innsbruck Informatik -- 4242

RReferenceseferences

• Michael Welzl: “Network Congestion Control: Managing Internet Traffic“, John Wiley & Sons, July 2005.

• Randall R. Stewart, Qiaobing Xie: “Stream Control Transmission Protocols(SCTP)“, Addison-Wesley Professional 2002.

• Key RFCs (main protocol specifications):– SCTP: RFC 2960; UDP-Lite: RFC 3828; DCCP: RFC 4340

• Recommended URLs:– SCTP, UDP-Lite:

• http://www.ietf.org/html.charters/tsvwg-charter.html– SCTP:

• http://www.sctp.org/• http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/sctp_fb/

– DCCP:• http://www.ietf.org/html.charters/dccp-charter.html• http://www.icir.org/kohler/dccp/