Why Is SCTP Protocol Important?
Why SCTP is important to data and security
Stream Control Transmission Protocol (SCTP) is one of the newer transport layer protocols on the OSI model. OSI is the concept that runs the entire internet, which oversimplified, is just billions of different devices exchanging data with each other.
The transport layer protocols, SCTP included, determine how that data is transferred from one device to another and where it goes.
What are the attributes of SCTP
- Two SCTP terminals
- Active DATA chunk group
- Error-checking data transfer
- Sequenced and non-duplicated message delivery
- Optional single packet bundling
- Multihoming support at association endpoints
- Maximum transmission unit (MTU) path size for data fragmentation
- SCTP always transports control chunk packets before DATA chunks
In a public network such as the internet, there are billions of potential destinations, and by permutation/combination, there are trillions of potential routes from one device to another.
What makes a public network different from a private network? To begin with, in a private network, the administrator assigns one machine or device a unique IP address. Though it uses the same protocols as the public network, the combinations and routes are limited.
In the public network, even if the transport layer protocols are the same, the number of potential routes and destinations are exponentially greater. SCTP as a transport layer protocol serves as the transfer instructions using this process:
- It assigns two SCTP terminals: It creates an endpoint-to-endpoint relationship between the sender and receiver.
- It divides the data into different groups and assigns them a Stream Identifier (SI). Each Stream Identifier is assigned the port and destination to travel through the public network.
- The data is assigned a Transmission Sequence Number (TSN) which tells the end-point SCTP Terminal which part of the entire data stream the chunk belongs to.
- The data is further assigned a Stream Sequence Number (SSN). It tells the end-point SCTP terminal how this data chunk fits in the entire data stream.
- Once the data is divided into fragments and assigned an SSI and TSN for reassembly, these fragments are then sent as multiple streams throughout the network and then reassembled in the SCTP receiver end-point terminal; the terminal then checks if all data has been received and passes it on to the next OSI layer.
What is an example of SCTP data transfer?
Let’s use this analogy for the SCTP data transfer. We want to send the letters of the English alphabet from one machine to another, and one character represents one byte. The Transport Layer determines how those letters are transferred from one point to another.
SCTP does it this way.
- It breaks down the letters of the alphabet to groups of five, as such, ABCDE, FGHIJ, KLMNO, PQRST, UVWXY, Z
- They are then assigned a destination; ABCDE: Send to Machine 111.111.111.111
- They are then assigned SI, SSN, and TSN, for simplicity sake, we will consider them as one, but they are independent of each other. ABCDE: Send to Machine 111.111.111.111 : TSN=1 and FGHIJ: Send to Machine 111.111.111.111 : TSN=2 and so on and so forth…
- SCTP then assigns them their port routes ABCDE: Send to Machine 111.111.111.111 : TSN=1 : Port 80 and FGHIJ: Send to Machine 111.111.111.111 : TSN=2 : Port 81 and so on and so forth…
- The Data chunk is then sent to the network until it arrives at SCTP Terminal in machine 111.111.111.111.
- Now, here is where the difference lies between TCP and SCTP.
In TCP, if the Data Chunk containing KLMNO arrives first at the destination, all data processing stops. TCP would wait for the Data Chunk containing ABCDE, process it, then waits for the DATA Chunk containing FGHIJ, process it, before it continues processing the KLMNO Data Chunk.
IN SCTP, even if the Data Chunk containing KLMNO arrives first, SCTP would still process it, wait for the first two Data Chunks, process them both then re-orders them before assembly.
This way, SCTP relieves the server the overhead of reordering the data chunks before processing the message.The completed and reassembled data ABCDEFGHIJKLMNOPQRSTUVWXYZ is passed to the next layer.
Without the Transfer Layer Protocol such as SCTP, sending data to any other device has no logical instruction to follow. It is like dropping a letter of correspondence in the mailbox with no address and stamp. It will never get to where it’s going.
SCTP, due to its fragmented nature and locked sender/receiver terminals, is easier to secure than other protocols. It is also easier to encrypt; and even if the data is intercepted, it is only part of it. It also prevents network congestion by using alternate routes in multiple streams, as opposed to one route in one long data stream used by Transmission Control Protocol.