Intro
Stream Control Transmission Protocol, or SCTP, this is very well explained in Video explaining, by Russell DeLong.
Basically, is a protocol sending streams of data between two points, with a connection previously done, and is also called TCPing.
One of the usages of SCTP, is VoIP particularly to support the telephone system’s Signaling System 7 – SS7, together with voice . SCTP also is intended to make it easier to manage connections over a wireless network and to manage the transmission of multimedia data.
SCTP is a standard protocol (RFC 2960) developed by the Internet Engineering Task Force (IETF).
Similarities with TCP:
1. SCTP manages “reliable transport” (ensuring the complete arrival of data units that are sent over the network) over the Internet’s basically connectionless Internet Protocol (IP), the protocol responsible for moving the data but not for managing whether all the data arrives.
Differences with TCP
2. SCTP ensures the complete concurrent transmission of several streams of data (in units called messages) between connected end points. SCTP also supports multihoming, which means that a connected end point can have alternate IP addresses associated with it in order to route around network failure or changing conditions.
In Java
In Java we have the `com.sun.nio.sctp` that implements SCTP.
import java.net.*;
import java.util.*;
import java.nio.*;
import com.sun.nio.sctp.*; <---- sctp
public class SctpExample
{
public static void main(String[] args) throws Exception {
//Server Channel:
com.sun.nio.sctp.SctpServerChannel sc = com.sun.nio.sctp.SctpServerChannel.open(); // Open the channel
com.sun.nio.sctp.SctpChannel rc = null;
InetSocketAddress localAddr = new InetSocketAddress (InetAddress.getByName (args[0]), Integer.parseInt (args[1]));
// Server Channel Open
sc.open(); //Open
sc.bind(localAddr); //Bind the local address
sc.close(); //Close
}
}