fbpx

SCTP is another protocol like TCP and UDP with aspects of both.

Your computer may not support SCTP yet and there’s always the chance this protocol will fail to gain enough support. I’m explaining it in this episode mainly so you’ll understand that the world is bigger than just TCP and UDP. All of these are just software protocols that establish standard ways for computers and devices to communicate. That means new protocols can be designed anytime.

SCTP stands for stream control transmission protocol and I’ll focus this episode on two of the main differences and benefits as compared with TCP and UDP.

Listen to the full episode for more details or you can read the full transcript below.

Transcript

Your computer may not support SCTP yet and there’s always the chance this protocol will fail to gain enough support. I’m explaining it in this episode mainly so you’ll understand that the world is bigger than just TCP and UDP. All of these are just software protocols that establish standard ways for computers and devices to communicate. That means new protocols can be designed anytime.

You need to be careful if you think you need a new protocol. It’s always a good idea to search first to see if anything already exists that will meet your needs. Sometimes, you won’t find anything. What’s already available might be close but just lacking that one critical capability that you need.

SCTP started out like this from some telecom companies who were looking for a protocol that would meet the needs that the phone companies have built up over the years. They wanted a protocol that would run on IP. The two main existing options are TCP and UDP. Make sure to listen to episodes 158, 159, and 160 for more information.

Even though SCTP started out as a protocol designed for telephones, it can be used outside of that domain. The problem though is a general lack of support. Let’s say you decide to create a new spoken language. You already now how to speak several but know you can create a whole new language that will be better than any other. You work hard and finally know how to speak the new language. But until other people also know how to speak the language, all you can really do is talk to yourself.

So it is with SCTP. It has some really useful capabilities but until it gets wider support from both computer operating systems and the routers that direct network traffic, you might have trouble with it. You can always install software or write your own to handle SCTP traffic on your computer but it’s a whole different story when it comes to getting hardware devices to understand it.

SCTP stands for stream control transmission protocol and I’ll focus this episode on two of the main differences and benefits as compared with TCP and UDP. This will help you to understand the major highlights and give you enough information to decide if you need to investigate more. Then next week, I’ll follow up with other differences and benefits of SCTP.

The first main problem is called head-of-line blocking. Have you ever stood in line at a bank or anywhere when there’s one a single person available to serve people? I know I have and sometimes wonder if anybody in front of me is going to have a difficult problem. I hope they all have everything ready and can take their turn quickly. But sometimes, there’s a person in line with a whole packet of papers, unorganized, who could take an hour. The whole line comes to a complete stop while this person blocks everything. That’s head-of-line blocking. Relating this back to TCP, if a packet gets lost or damaged, then the other packets can continue to arrive but the processing will stop while that problem packet is retransmitted. If all the packets are related to each other, then there’s nothing you can do. You need that missing packet.

But what if the other packets are not related? When I’m waiting in line, I’m waiting for my own issues and they have nothing to do with the unorganized complicated case holding everything up. In all fairness, though, I’ve probably been that person holding up the line too at times. We all have.

The problem in this case is that TCP guarantees ordered, reliable delivery of information. So why not use UDP? Well, UDP has no guarantee. It’s quicker to setup since there’s no connection involved and it allows unrelated packets to be sent independently. But if UDP loses a packet, then it just gets ignored.

SCTP solves this by guaranteeing delivery like TCP but at the same time allowing separate processing of unrelated messages. It’s like what happens when the bank opens up additional teller windows. Now, when there’s an especially slow case, it’s not as troublesome because there are other windows to keep the overall processing going. That single slow person can no longer block the entire line.

What do I mean by a related message? Let’s say that you want to send a lot of different files. Each file is unrelated to the others. Just because a packet from one file gets lost should not delay the communication of the other files.

The second main problem that SCTP solves is called multihoming. Let’s say you own a company and need to communicate with another company as quick as possible about a complicated issue. Maybe you’re trying to negotiate a new partnership with the other company. Now, one way to do this would be for both companies to establish a single point of contact through representatives. There’s one representative from your company and another one from the other company. And both representatives end up on the phone almost constantly. It gets to the point where you have something new to relate with the other company but your representative already has so many things to discuss that the topic won’t be mentioned until next week. What started out as a good way to organize communication turns into a bottleneck.

A bottleneck in computer programming terms is anything that slows down a bigger process because too much has to squeeze through it. Just like how a bottle gets smaller at the neck and slows down the flow of liquid.

Both TCP and UDP establish communication between single IP addresses. Sure UDP can broadcast information to lots of receivers but that’s not the type of communication we always want. Just like how your company and the other established communication between a single pair of representatives. What we need are more representatives. And the same thing applies with computers and devices. You might have a computer with both a wired ethernet connection and a wireless connection. What if you could use both connections at the same time? That would be like adding extra representatives to your negotiating team.

You can do this with SCTP and get not only better speed but more reliable connections too. If you have multiple connections that you can use and one of them stops working, then SCTP can continue using the remaining connections. TCP would have to establish a whole new connection after waiting for the old connection to timeout.

That’s enough for this week. I’ll explain more in next week’s episode.