Professional Documents
Culture Documents
Features of SCTP
g
g
g
g
g
g
g
Protocol Stack
Application
UDP TCP SCTP
IP
DL/MAC/Physical
g
g
SSP
S. Venkatesan Department of Computer Science 2008
Legend
or
SCP (Signaling
Control Point)
SSP (Signaling
Switch Point)
Reliability:
Multiple parallel links; nodes in mated pairs
Packet sequencing (between two switches) needed
only within each call; not across all calls between
two switches
In VoIP, need to do signaling in IP networks. (Both
voice and signaling messages on IP networks)
Sample Fig
SSP 2
IP Network
SSP 1
APIs
APIs
SCTP Association
SCTP Transport
Service
IP Network
>=1 IP
Addresses
SCTP User
Application
SCTP Transport
Service
IP Network
>=1 IP
Addresses
An Example
Host 1
Host 2
Process 1
Process 2
Port 100
Port 100
IP X1
IP X2
IP Y1
IP Y2
Network X
Network Y
S. Venkatesan Department of Computer Science 2008
SCTP Components
1.
2.
3.
4.
5.
6.
7.
Association Initiation
Host 1
Host 2
INIT chunk
Recreate TCB
Cookie-ACK
Connection
Established
Data Transmission
Host 2
Host 1
Data
SACK
Shut Down
Host 2
Host 1
SHUT-Down
SHUT-DOWN Ack
Heart Beat
Host 2
Host 1
Heart Beat
Expand
...
Chunk n
Source Port #
Destination Port #
Verification Tag
Alder-32 Checksum
32 bits
SCTP Chunk
Chunk Type
(8 bits)
Chunk Flags
(8 bits)
Chunk Length
(16 bits)
Chunk Data
Type:
0 = Payload data
1=INIT
2=INIT-ACK
3=SACK
4=Heart Beat Request
5=Heart Beat ACK
6=Abort
7=Shut Down
8= Shut Down Ack
32 bits
g
g
Parameter Type
Parameter Length
Parameter Value
32 bits
INIT Chunk
Type = 1
Flags = 0
Length (variable)
* Initiate tag *
*Advertised Receiver Window Credit*
*# of outbound streams*
*# of inbound streams*
* Required
Fields
Type = 6
Type = 11
Length
Host name (instead of IP address)
INIT-Ack
Type = 2
Flags
* Initiate tag *
*Advertised Receiver Window Credit*
*# of outbound streams*
* Required
Fields
*# of inbound streams*
INIT-Ack must contain COOKIE parameter. COOKIE encrypts all state information
needed to construct association, COOKIE creation time, and COOKIE life span
INIT-Ack Continued
g
COOKIE Echo
(S->R)
Type = 10
Chunk Flags
COOKIE
Data Chunk
Type=0
Flags=UBE Length0
Length1
TSN
Stream
Payloadid0
User
TSN
Number
Payloadid1
Data
TSN
Seq#
Payloadid3
length
TSN
Str
Payloadid2
variable
Packet Loss
g
Gaps
g
SACK
Type = 3
Flags = 0
Length
Cumulative TSN
*Advertised Receiver Window Credit*
n=# of Gap acks
# of Dup TSNs =m
...
...
Dup TSN 1
...
Dup TSN m
Example
g
g
g
g
g
1.
10 = first chunk
01 = last chunk
Unfragmented messages have the BE flags set to 11.
The TSN is useful in guaranteeing correct delivery.
2.
3.
g
g
g
g
Closed
Create TCB and
S: INIT; Start INIT timer
Cookie Wait
R: INIT ACK
S: COOKIE ECHO
Stop INIT timer; start COOKIE timer
Cookie Echo
R: COOKIE-ACK
Stop COOKIE timer
Established
SD Pending
SD-Received
No more outstanding
Chunks; S: SD; Start timer
R: SD Ack
Delete TCB
Stop timer
S: SD Complete
SD Sent
Closed
SD_ACK Sent
R: SD Complete; Stop timer; Delete TCB
Or
R: SD ACK; stop timer; Delete TCB;
S: SD Complete
X :: R: SD;
S: SD Ack; start timer
Retransmission Timer
g
g
RTO
Compute and manage RTO of each
end point
Like TCP
Security
g
Congestion Control
Slow start and congestion avoidance per association
Uses:
1. Receiver advertised window size
2. Congestion control window- adjusted by sender based on
observed network conditions
3. Slow start threshold
Need these for each IP address (multi-homed)
g
g