Communicating over SCTP in Java

SCTP - Stream Control Transmission Protocol is a relatively new (standardize in year 200 by IETF) transport layer protocol to design to operate over IP. It is an alternative for TCP and UDP and combines many good features of those protocols. Main intention of developing SCTP was to cater the growing demand of IP telephony market. 

Since SCTP is relatively new protocol programming language support for this is also not as commonly available as TCP or UDP, especially you are Java developer. But is you are a C/C++ developer then you have no problem, there is a very good guide on UNIX - Network Programing Vol1-3rd Edition (chapter 9, 10 and 23).

If you are Java developer then you'd have to use OpenJDK instead of Sun java JDK, since at present only OpenJDK has the support for SCTP. So first thing you have do is to download and install OpenJDK-7.  Currently it only has versions for Linux and Solaris, again if you are using Windows then you'll have to do some more research. I've tried this only on Linux(Fedora), may be later I'll try with Windows as well. If your Linux kernel do not support SCTP, then you'll have install LKSCTP as well. Here is the small getting started guide at OpenJDK site. You can use the small test program given that guide to test whether your SCTP stack if working properly. I'll post small client-server program in SCTP in a later post.

PS: I found this SCTP library for Windows http://www.sctp.be/sctplib/, but couldn't check whether there is a support from OpenJDK-SCTP side for windows. If you find something please let me know as well.

Technorati Tags: ,,,,
 

Reader Comments

After installting lksctp on linux you can check that using following

sctp_test -H 127.0.0.1 -P 2222 -l
sctp_test -H 127.0.0.1 -P 2223 -h 127.0.0.1 -p 2222 -s

Note- In RHEL5 installation of lksctp rpms are enough.
But RHEL4 you need to add sctp module to kernel as well.

As far as I know work on sctplib has stopped.

I've been working on the SctpDrv project which is a port of the BSD SCTP stack to Windows. It's still fairly easy to crash it, but I'm hoping that in a few months it'll be in a better state. See http://www.bluestop.org/SctpDrv for more information.

Which library will support Java SCTP on windows?