SCTP Technical Tutorial

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 59

LongReach Technical Tutorial

John Rumsey
Senior Systems Engineer
LongReach Networks

Technical Tutorial Stream Control Transmission Protocol

Page 1

Stream Control Transmission Protocol


Next Generation Networks
TCP Transmission Control Protocol
SCTP Stream Control Transmission Protocol
User Adaptation Layers for SCTP
SCTP Packets
Establishing the Connection (Association)
Data Transmission
Closing the Connection (Association)
Multihoming Operation
Congestion Control
Security Issues
Technical Tutorial Stream Control Transmission Protocol

Page 2

Next Generation Networks

PB
X

in
all

Media Gateway
Control Protocol

gn
Si

Legacy ISDN
Subscriber

X
PB

Si
gn
al
lin
g

Softswitch or
Media Gateway Controller

PBX

PBX

IP Network

Legacy ISDN
Subscriber

Media
Gateway

Technical Tutorial Stream Control Transmission Protocol

Media
Gateway

Page 3

Next Generation Networks

PB
X

in
all

Media Gateway
Control Protocol

gn
Si

Legacy ISDN
Subscriber

X
PB

Si
gn
al
lin
g

Softswitch or
Media Gateway Controller

PBX

PBX

IP Network

Legacy ISDN
Subscriber

Media
Gateway

Technical Tutorial Stream Control Transmission Protocol

Media
Gateway

Page 4

Next Generation Networks

PB
X

in
all

Media Gateway
Control Protocol

gn
Si

Legacy ISDN
Subscriber

X
PB

Si
gn
al
lin
g

Softswitch or
Media Gateway Controller

PBX

PBX

IP Network

Legacy ISDN
Subscriber

Media
Gateway

Technical Tutorial Stream Control Transmission Protocol

Media
Gateway

Page 5

Next Generation Networks

PB
X

in
all

Media Gateway
Control Protocol

gn
Si

Legacy ISDN
Subscriber

X
PB

Si
gn
al
lin
g

Softswitch or
Media Gateway Controller

IP Network

Media
Gateway

Technical Tutorial Stream Control Transmission Protocol

PBX

PBX

Voice Connection

Legacy ISDN
Subscriber

Media
Gateway

Page 6

How are Services are carried over IP


Voice is carried over IP using Real Time Protocol but how is

PBX

signalling carried?

?? PBX Signalling / RTP or UDP or TCP / IP ??

Media
Gateway

Voice
/ RTP
/ IP

Technical Tutorial Stream Control Transmission Protocol

Softswitch or
Media Gateway
Controller

Page 7

TCP - Transmission Control Protocol


Good Points
Provides Reliable, In-Sequence delivery of data packets
Supports Congestion Control and Avoidance Features
Bad Points
TCP transports a byte stream which must be delivered in order
Doesnt Support Multistreaming
Vulnerable to Denial of Service Attacks
Doesnt support Multihoming or Path Monitoring

Technical Tutorial Stream Control Transmission Protocol

Page 8

Stream Control Transmission Protocol


SCTP has been specifically designed to provide reliable, error free
transport of message oriented applications over IP

PBX

PBX Signalling
Steam Control Transmission Protocol
Media
Gateway

Softswitch or
Media Gateway
Controller

Supports the good aspects of TCP and fixes the bad aspects of TCP
Technical Tutorial Stream Control Transmission Protocol

Page 9

Stream Control Transmission Protocol


SCTP provides the backhauling of signalling messages between a
Signalling Gateway and a Media Gateway Controller, over an IP
network
Signalling Gateway

PBX

SCTP

Media
Gateway

Technical Tutorial Stream Control Transmission Protocol

Softswitch or
Media Gateway
Controller

Page 10

Stream Control Transmission Protocol

PBX

PBX

PBX

Supports multiple signalling streams over a


single SCTP connection (association)

PBX

Signalling Gateway

Media
Gateway

Softswitch or
Media Gateway
Controller

PBX

PBX

PBX

PBX

PBX

PBX

SCTP

Technical Tutorial Stream Control Transmission Protocol

Page 11

Stream Control Transmission Protocol

PBX

PBX

PBX

User Adaptation Layer

PBX

Signalling Gateway

Media
Gateway

Softswitch or
Media Gateway
Controller

PBX

PBX

PBX

PBX

PBX

PBX

xUA / SCTP

Technical Tutorial Stream Control Transmission Protocol

Page 12

User Adaptation Layers for SCTP


IUA/SCTP
The transport of ISDN Q.921 user messages over IP

DUA/SCTP
The transport of DASS/DPNSS messages over IP

V5UA/SCTP
The transport of V5.2 messages over IP

MTP2/SCTP
The transport of Signalling System 7 Message Transfer Part 2 (SS7 MTP2) user
signalling messages over IP

MTP3/SCTP
The transport of any SS7 MTP3 - User signalling (e.g., ISUP and SCCP messages)
over IP

SUA/SCTP
The transport of any Signalling Connection Control Part - User signalling over IP
Technical Tutorial Stream Control Transmission Protocol

Page 13

Why Use SCTP?


SCTP is a reliable transport protocol
Specifically designed for transport of message oriented applications
Acknowledged error free transfer of messages
Detection of data corruption, loss of data and duplication of data
Selective retransmission to correct lost or corrupted data
Heartbeat actively monitors connectivity of session
Resistance to Denial of Service attacks
Supports several streams within a connection (or association)

Technical Tutorial Stream Control Transmission Protocol

Page 14

SCTP Stream
SCTP Node A

SCTP Node B

SCTP User
Application

Same layer as TCP


and UDP applications

SCTP User
Application

SCTP
Transport
Service

Same layer as
TCP and UDP

SCTP
Transport
Service

IP Network
Service

IP Network Transport

Technical Tutorial Stream Control Transmission Protocol

IP Network
Service

Page 15

SCTP Packets
An SCTP packet forms the payload of an IP packet

Type

Value

Length

Flags

Type

Checksum

Verification
Tag

Destination
Port
Source
Port

Flags

SCTP Header

Length

Chunk 1

Value

Chunk N

An SCTP packet consists of a 12 byte common header


and one or more Chunks
Technical Tutorial Stream Control Transmission Protocol

Page 16

SCTP Header
Source Port & Destination Port
- Uses same port concept as TCP and UDP

Verification
Tag

- Exchanged between endpoints at startup


- 2 per Association
- To Validate the sender

Checksum

Verification Tag

Checksum
- Protected by 32 bit checksum (CRC32
algorithm)

Technical Tutorial Stream Control Transmission Protocol

Destination
Port
Source
Port

SCTP Header

Page 17

Chunks

Type

Value

Length

Flags

Type

Checksum

Verification
Tag

Technical Tutorial Stream Control Transmission Protocol

Destination
Port
Source
Port

Flags

SCTP Header

Length

Chunk 1

Value

Chunk N

Page 18

Chunks
Type
- Used to distinguish data chunks and different
types of control chunks
Chunk

Type

Flags

Length

Value

Flags

- Usage depends on Chunk type

Length
- Required because chunks have a variable
length

Value
- Payload field

Technical Tutorial Stream Control Transmission Protocol

Page 19

Type

Flags

Length

Value

0
Payload Data
Chunk Types
1
Initiation
2
Initiation Acknowledgement
3
Selective Acknowledgement
4
Heartbeat Request
5
Heartbeat Acknowledgement
6
Abort
7
Shutdown
8
Shutdown Acknowledgement
Chunk
9
Operation Error
10
State Cookie
11
Cookie Acknowledgement
12
Reserved for Explicit Congestion Notification Echo
13
Reserved for Congestion Window Reduced
14
Shutdown Complete
15-62 Reserved by IETF
N
2
1 1
63
IETF-defined Chunk Extensions
64-126 Reserved by IETF
127
IETF-defined Chunk Extensions
128-190 Reserved by IETF
191
IETF-defined Chunk Extensions
192-254 Reserved by IETF
255
IETF-defined
Chunk Extensions
Technical Tutorial Stream Control
Transmission
Protocol
Page 20

Establishing the Association


SCTP
Endpoint A
CLOSED STATE

INIT chunk

SCTP
Endpoint B
CLOSED STATE

COOKIE-WAIT
INIT-ACK chunk (contains COOKIE)

COOKIE-ECHO chunk
COOKIE-ECHOED
ESTABLISHED

COOKIE-ACK chunk

ESTABLISHED

DATA chunk(s)

Technical Tutorial Stream Control Transmission Protocol

Page 21

Establishing the Association


SCTP
Endpoint A
CLOSED STATE

INIT chunk

SCTP
Endpoint B
CLOSED STATE

COOKIE-WAIT

Endpoint
EndpointAAsends
sendsan
anInitiation
Initiationchunk
chunkand
andenters
entersthe
theCOOKIE
COOKIE
WAIT
WAITstate
state

Technical Tutorial Stream Control Transmission Protocol

Page 22

Initiation (INIT) Chunk


Type = 1

Chunk Flags

Chunk Length

Initiate Tag
Advertised Receiver Window Credit (a_rwnd)
Number of Outbound Streams

Number of Inbound Streams

Initial Transmission Sequence Number (TSN)


Optional/Variable-Length Parameters

IPv4 Address Parameter (Optional Parameter)


Type = 5

Length = 8
IPv4 Address

Technical Tutorial Stream Control Transmission Protocol

Page 23

Establishing the Association


SCTP
Endpoint A
CLOSED STATE

INIT chunk

SCTP
Endpoint B
CLOSED STATE

COOKIE-WAIT
INIT-ACK chunk

Endpoint
EndpointBBreceives
receivesthe
theINIT
INITChunk
Chunkand
andanalyses
analysesthe
thedata
data
From
Fromthe
thedata
dataititgenerates
generatesaasecure
securehash
hashusing
usingaasecret
secretkey
key
The
Thevalues
valuesare
arethen
thenput
putinto
intoaaCOOKIE,
COOKIE,along
alongwith
withthe
thederived
derived
message
messageauthentication
authenticationcode
code(MAC)
(MAC)
The
TheCOOKIE
COOKIEisissent
sentto
tothe
thesender
senderof
ofthe
theINIT
INITChunk
Chunkin
inan
anINIT
INIT
ACK
ACKChunk
Chunk
Endpoint
EndpointBBremains
remainsin
inthe
theCLOSED
CLOSEDSTATE
STATE
Technical Tutorial Stream Control Transmission Protocol

Page 24

Initiation Acknowledgement (INIT ACK) Chunk


Type = 2

Chunk Flags

Chunk Length

Initiate Tag
Advertised Receiver Window Credit (a_rwnd)
Number of Outbound Streams

Number of Inbound Streams

Initial Transmission Sequence Number (TSN)


Optional/Variable-Length Parameters

State Cookie Parameter (Mandatory Parameter)


Type = 7

Parameter Length
Parameter Value

Technical Tutorial Stream Control Transmission Protocol

Page 25

Establishing the Association


SCTP
Endpoint A
CLOSED STATE

INIT chunk

SCTP
Endpoint B
CLOSED STATE

COOKIE-WAIT
INIT-ACK chunk (contains COOKIE)

COOKIE-ECHO chunk
COOKIE-ECHOED

Endpoint
EndpointAAtakes
takesthe
theCOOKIE
COOKIEfrom
fromthe
theINIT-ACK
INIT-ACKchunk,
chunk,places
placesititininaa
COOKIE
COOKIEECHO
ECHOchunk
chunkand
andreturns
returnsititto
toEndpoint
EndpointBB
Endpoint
EndpointAAenters
entersthe
theCOOKIE-ECHOED
COOKIE-ECHOEDSTATE
STATE

Technical Tutorial Stream Control Transmission Protocol

Page 26

Cookie Echo (COOKIE ECHO) Chunk

Type = 10

Chunk Flags

Length

Cookie

Technical Tutorial Stream Control Transmission Protocol

Page 27

Establishing the Association


SCTP
Endpoint A
CLOSED STATE

INIT chunk

SCTP
Endpoint B
CLOSED STATE

COOKIE-WAIT
INIT-ACK chunk (contains COOKIE)

COOKIE-ECHO chunk
COOKIE-ECHOED

Endpoint
EndpointBBunpacks
unpacksthe
thedata
datacontained
containedininthe
theCOOKIE
COOKIEand
anduses
usesthe
the
Message
MessageAuthentication
AuthenticationCode
Code(MAC)
(MAC)to
toverify
verifywhether
whetherititwas
wasthe
theoriginator
originatorof
of
this
thisCOOKIE
COOKIE
IfIfthe
theMAC
MACcomputes
computesOK,
OK,the
thedata
datavalues
valuescontained
containedininthe
theCOOKIE
COOKIEare
are
used
usedto
toinitialise
initialisethe
theSCTP
SCTPinstance
instance
Technical Tutorial Stream Control Transmission Protocol

Page 28

Establishing the Association


SCTP
Endpoint A
CLOSED STATE

INIT chunk

SCTP
Endpoint B
CLOSED STATE

COOKIE-WAIT
INIT-ACK chunk (contains COOKIE)

COOKIE-ECHO chunk
COOKIE-ECHOED
ESTABLISHED

COOKIE-ACK chunk

Technical Tutorial Stream Control Transmission Protocol

ESTABLISHED

Page 29

Cookie Acknowledgement (COOKIE ACK) Chunk

Type = 11

Chunk Flags

Technical Tutorial Stream Control Transmission Protocol

Length = 4

Page 30

Data Transmission
SCTP
Endpoint A
ESTABLISHED
STATE

SCTP
Endpoint B
DATA chunk(s)

Technical Tutorial Stream Control Transmission Protocol

ESTABLISHED
STATE

Page 31

Payload Data Chunk


Type = 0

Reserv. U B E

Length

Transmission Sequence Number (TSN)


Stream Identifier S

Stream Sequence Number N

Payload Protocol Identifier


User Data (seq. n of Stream S)

Technical Tutorial Stream Control Transmission Protocol

Page 32

Data Transmission
SCTP
Endpoint A
ESTABLISHED
STATE

SCTP
Endpoint B
DATA chunk
SACK chunk

ESTABLISHED
STATE

The
TheSelective
SelectiveAcknowledgement
AcknowledgementChunk
Chunkisisused
usedto
to
acknowledge
acknowledgereceived
receivedData
DataChunks,
Chunks,and
andto
toinform
inform
of
ofgaps
gapsin
inthe
thesequence
sequenceof
ofData
DataChunks
Chunks

Technical Tutorial Stream Control Transmission Protocol

Page 33

Selective Acknowledgement (SACK) Chunk


Type = 3

Chunk Flags

Chunk Length

Cumulative Transmission Sequence Number (TSN) Ack


Advertised Receiver Window Credit (a_rwnd)
Number of Gap Ack Blocks = N

Number of Duplicate TSNs = X

Gap Ack Block #1 Start

Gap Ack Block #1 End

Gap Ack Block #N Start

Gap Ack Block #N End

Duplicate Transmission Sequence Number (TSN) 1

Duplicate Transmission Sequence Number (TSN) N

Technical Tutorial Stream Control Transmission Protocol

Page 34

Acknowledging DATA Chunks


SCTP
Endpoint A

SCTP
Endpoint B
DATA chunk TSN=100
DATA chunk TSN=101
DATA chunk TSN=102
DATA chunk TSN=103
DATA chunk TSN=104
DATA chunk TSN=105
DATA chunk TSN=106
DATA chunk TSN=107
DATA chunk TSN=108
SACK chunk Cumulative TSN=108

Technical Tutorial Stream Control Transmission Protocol

Page 35

Acknowledging DATA Chunks


DATA chunk TSN=109
DATA chunk TSN=110
DATA chunk TSN=111
DATA chunk TSN=112
DATA chunk TSN=113
DATA chunk TSN=114
DATA chunk TSN=115 X
X
DATA chunk TSN=116
DATA chunk TSN=117
DATA chunk TSN=118
DATA chunk TSN=119
DATA chunk TSN=120
DATA chunk TSN=121
DATA chunk TSN=122
DATA chunk TSN=123
X
DATA chunk TSN=124
DATA chunk TSN=125
DATA chunk TSN=126
SACK chunk Cumulative TSN=113
Gap Ack Block #1 Start = +3 End = +9
Gap Ack Block #2 Start = +11 End = +13
Technical Tutorial Stream Control Transmission Protocol

Page 36

Terminating the Association


Graceful Termination of an Association
All outstanding data will be acknowledged before shutdown
Aborting the Association
Shutdown immediately on receiving the ABORT chunk
Special Cases
Restart of an Endpoint where it uses a new tag value
Both endpoint send an INIT chunk at about the same time
Excessive delay of Cookie chunks

Technical Tutorial Stream Control Transmission Protocol

Page 37

Graceful Termination of the Association


SCTP
Endpoint A
ESTABLISHED
STATE
SHUTDOWN
PENDING STATE

DATA chunk(s)

SCTP
Endpoint B
ESTABLISHED
STATE

SACK chunk

The
Theinitiator
initiatorof
ofthe
theshutdown
shutdownenters
entersSHUTDOWN
SHUTDOWN
PENDING
PENDINGstate
stateand
andwaits
waitsfor
forall
alloutstanding
outstandingdata
datato
to
be
beacknowledged
acknowledged
ItItwill
willnot
notaccept
acceptany
anynew
newdata
datafrom
fromits
itsupper
upper
layers
layersbut
butwill
willretransmit
retransmitdata
datato
toEndpoint
EndpointBBifif
necessary
necessary

Technical Tutorial Stream Control Transmission Protocol

Page 38

Graceful Termination of the Association


SCTP
Endpoint A
ESTABLISHED
STATE
SHUTDOWN
PENDING STATE

Payload Data chunk(s)

SCTP
Endpoint B
ESTABLISHED
STATE

SACK chunk
SHUTDOWN chunk

SHUTDOWN
SENT STATE

SHUTDOWN
RECEIVED STATE

Endpoint
EndpointAAsends
sendsaaSHUTDOWN
SHUTDOWNchunk
chunkto
to
Endpoint
EndpointBBand
andenters
entersthe
theSHUTDOWN
SHUTDOWNSENT
SENTstate
state
On
Onreceipt
receiptof
ofthe
theSHUTDOWN
SHUTDOWNchunk,
chunk,Endpoint
EndpointBB
enters
entersthe
theSHUTDOWN
SHUTDOWNRECEIVED
RECEIVEDstate
state
Technical Tutorial Stream Control Transmission Protocol

Page 39

Shutdown Association (SHUTDOWN) Chunk

Type = 7

Chunk Flags

Length = 8

Cumulative Transmission Sequence Number (TSN) Ack

Technical Tutorial Stream Control Transmission Protocol

Page 40

Graceful Termination of the Association


SCTP
Endpoint A
ESTABLISHED
STATE
SHUTDOWN
PENDING STATE

Payload Data chunk(s)

ESTABLISHED
STATE

SACK chunk
SHUTDOWN chunk

SHUTDOWN
SENT STATE

SCTP
Endpoint B

SHUTDOWN
RECEIVED STATE

SACK chunk

Endpoint
EndpointBBwaits
waitsfor
forall
alloutstanding
outstandingdata
datato
tobe
be
acknowledged
acknowledged
ItItwill
willnot
notaccept
acceptany
anynew
newdata
datafrom
fromits
itsupper
upper
layers
layersbut
butwill
willretransmit
retransmitdata
datato
toEndpoint
EndpointAAifif
necessary
necessary
Technical Tutorial Stream Control Transmission Protocol

Page 41

Graceful Termination of the Association


SCTP
Endpoint A
ESTABLISHED
STATE
SHUTDOWN
PENDING STATE

Payload Data chunk(s)

ESTABLISHED
STATE

SACK chunk
SHUTDOWN chunk

SHUTDOWN
SENT STATE

SCTP
Endpoint B

SHUTDOWN
RECEIVED STATE

SACK chunk
SHUTDOWN ACK chunk

SHUTDOWN ACK
SENT STATE

Endpoint
EndpointBBsends
sendsaaSHUTDOWN
SHUTDOWNACK
ACKchunk
chunkto
to
Endpoint
EndpointAAand
andenters
entersthe
theSHUTDOWN
SHUTDOWNACK
ACKSENT
SENT
state
state
Technical Tutorial Stream Control Transmission Protocol

Page 42

Shutdown Acknowledgement (SHUTDOWN ACK) Chunk

Type = 8

Chunk Flags

Technical Tutorial Stream Control Transmission Protocol

Length = 4

Page 43

Graceful Termination of the Association


SCTP
Endpoint A
ESTABLISHED
STATE
SHUTDOWN
PENDING STATE

Payload Data chunk(s)

SCTP
Endpoint B

SACK chunk
SHUTDOWN chunk

SHUTDOWN
SENT STATE

SHUTDOWN
RECEIVED STATE

SACK chunk
SHUTDOWN ACK chunk

CLOSED STATE

ESTABLISHED
STATE

SHUTDOWN COMPLETE chunk

Technical Tutorial Stream Control Transmission Protocol

SHUTDOWN ACK
SENT STATE
CLOSED STATE

Page 44

Shutdown Complete (SHUTDOWN COMPLETE) Chunk

Type = 14

Reserved

Technical Tutorial Stream Control Transmission Protocol

Length = 4

Page 45

Abort Association (ABORT) Chunk


Type = 6

Reserved

Length

Zero or more Error Causes

Operation Error (ERROR) Chunk


Type = 9

Length

Chunk Flags
One or more Error Causes

Error Cause
Cause Code

Cause Length

Cause Specific Information

Technical Tutorial Stream Control Transmission Protocol

Page 46

Error Causes
1. Invalid Stream Identifier
2. Missing Mandatory Parameter
3. Stale Cookie Error
4. Out of Resource
5. Unresolvable Address
6. Unrecognised Chunk Type
7. Invalid Mandatory Parameter
8. Unrecognised Parameters
9. No User Data
10. Cookie Received While Shutting Down

Technical Tutorial Stream Control Transmission Protocol

Page 47

Multihoming Operation
Both
Boththe
theINIT
INITand
andINIT
INITACK
ACK
chunks
chunkscontain
containlists
listsof
ofIP
IP
addresses,
addresses,which
whichare
areexchanged
exchanged
during
duringINITIATION
INITIATIONof
ofassociation
association
IP address A1

INIT ACK
SCTP
Endpoint A
IP address A2

The
TheSource
SourceIP
IPAddress
Addressin
inthe
the
INIT
INITchunk
chunkisisused
usedas
asthe
the
destination
destinationaddress
addressfor
forthe
the
INIT
INITACK
ACKresponse
response
INIT

IP address B1

SCTP
Endpoint B

Technical Tutorial Stream Control Transmission Protocol

IP address B2

Page 48

Multihoming Operation
Endpoints will monitor data timeouts and the number of
retransmissions to determine the suitability of the path

IP address A1

SACK
SCTP
Endpoint A
IP address A2

DATA

IP address B1

DA

SCTP
Endpoint B

Technical Tutorial Stream Control Transmission Protocol

IP address B2

Page 49

Multihoming Operation
Retransmitted Data chunks will be sent over both paths if the
status of one path is suspect

IP address A1

SCTP
Endpoint A
IP address A2

DATA

IP address B1

SCTP
Endpoint B
DATA

IP address B2

SACK

Technical Tutorial Stream Control Transmission Protocol

Page 50

Multihoming Operation
All faulty paths will be marked as Out of Service

Out of Service
IP address A1

SCTP
Endpoint A
IP address A2

IP address B1

SCTP
Endpoint B
DATA

IP address B2

DA

SACK

Technical Tutorial Stream Control Transmission Protocol

Page 51

Multihoming Operation
Heartbeat chunks are sent periodically to all inactive IP addresses
Non responding IP addresses will be marked as Out of Service

IP address A1

Heartbeat Ack
SCTP
Endpoint A
IP address A2

Heartbeat
IP address B1

SCTP
Endpoint B
Heartbeat
IP address B2

Heartbeat Ack

Technical Tutorial Stream Control Transmission Protocol

Page 52

Heartbeat Request (HEARTBEAT) Chunk


Type = 4

Chunk Flags

Heartbeat Length

Heartbeat Information TLV (Variable Length)

Heartbeat Acknowledgement (HEARTBEAT ACK) Chunk


Type = 5

Chunk Flags

Heartbeat Ack Length

Heartbeat Information TLV (Variable Length)

Technical Tutorial Stream Control Transmission Protocol

Page 53

Congestion Control
Basically congestion is controlled by observing the number of
packets lost and modifying the transmission rate accordingly
Congestion Control Window
Represents the senders view of network conditions
Dynamically changed to suit network conditions

Receiver Window Size


Represents the senders view of the receivers incoming buffer space
Updated by the receiver in SACK chunks (Advertised Receiver Window Credit)

Technical Tutorial Stream Control Transmission Protocol

Page 54

Congestion Control

Congestion Control Window


Slow Start
Threshold

The
TheCongestion
CongestionControl
ControlWindow
Window
dictates
dictateshow
howmany
manyData
DataChunks
Chunks
can
canbe
betransmitted
transmittedbefore
beforeyou
youmust
must
wait
waitfor
foran
anAcknowledgement
Acknowledgement

SCTP
Endpoint A

Technical Tutorial Stream Control Transmission Protocol

DATA
SCTP
Endpoint B

Page 55

Congestion Control

Congestion Control Window


Slow Start
Threshold

IfIfpackets
packetsare
arebeing
beingsuccessfully
successfullydelivered
delivered
and
andacknowledged.
acknowledged. The
TheCongestion
Congestion
Control
ControlWindow
Windowwill
willbe
beincreased.
increased.

SCTP
Endpoint A

Technical Tutorial Stream Control Transmission Protocol

DATA DATA
SCTP
Endpoint B

Page 56

Congestion Control

Congestion Control Window


Slow Start
Threshold
Slow Start
Threshold

IfIflost
lostpackets
packetsare
arebeing
beingexperienced,
experienced,
the
theCongestion
CongestionControl
ControlWindow
Windowwill
will
be
bereset,
reset,and
andthe
theSlow
SlowStart
Start
Threshold
Thresholdmay
maybe
belowered.
lowered.

SCTP
Endpoint
A
SACK
SACK

Technical Tutorial Stream Control Transmission Protocol

DATA
SCTP
Endpoint B

Page 57

Congestion Control Window

Congestion Control
Receiver Buffer Window

Slow Start
Threshold

SCTP
Endpoint
A
SACK
SACK

Technical Tutorial Stream Control Transmission Protocol

DATA DATA
SCTP
Endpoint B

Page 58

Security Considerations
Verification Tag and Cookie Mechanisms to stop Denial of Service
Attacks
SCTP specifies the use of IPSec if strong security is required
RFC 3436 describes the usage of the Transport Layer Security (TLS)
protocol, as defined in RFC 2246, over the Stream Control
Transmission Protocol (SCTP)

Technical Tutorial Stream Control Transmission Protocol

Page 59

You might also like