In order to transfer the data between 2 SCTP hosts, the both should negotiate and create an association.The SCTP user at an endpoint should use the ASSOCIATE primitive to initialize an SCTP association to another SCTP endpoint. Lets see this flow of information from two hosts (A and B).
Flow of information for SCTP Association
- A sends INIT chunk to B – The INIT chunk contains the following information
- Source Address
- Destination Address
- Verification Tag ( A random number marked as TAG_A ranging from 1 to 4294967295).
- After sending the INIT chunk , A starts a timer T1-INIT and enters a COOKIE-WAIT state
- B responds with an INIT-ACK chunk
- Source Address
- Destination Address
- Verification Tag (Contains TAG_A and a generated TAG_B)
- STATE_COOKIE (at this stage B does not accept or respond to any other requests)
- When INIT-ACK is received at A, it stops the T1-INIT timer and leaves the COOKIE-WAIT state and then A sends the STATE-COOKIE to the B in the COOKIE-ECHO chunk. A starts the T1-COOKIE timer and enters the COOKIE-ECHOED state
- After receiving the COOKIE-ECHO chunk , B replies with the COOKIE-ACK chunk and moves to the ESTABLISHED state
- Upon receiving the COOKIE-ACK , A stops the T1-COOKIE timer and will move from COOKIE-ECHOED state to ESTABLISHED state