Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 
Community Member

SCTP versus TCP

Looking for overhead related to using SCTP ?

What are advantages of using SCTP versus TCP ?

thank you

Community Member

Re: SCTP versus TCP

SCTP where you can get it is always a good idea. Basically, SCTP offers the best of UDP and TCP and then improves it.

SCTP is message aware which means that the lower layer protocol is aware of the data: it knows where the message it is carrying begins and ends. TCP does not have this "message awareness." That is why if TCP loses a packet it has to start over from the last ACK'ed packet. Depending on the Window size this could be a significant amount of traffic. SCTP also hold on to the entire message until it has the FULL Message then it releases it to the Application. Basically, it is a lot smarter.

Not to mention, SCTP does not allocate resources until there is a handshake. This means that DOS attacks on SCTP are much less likely, especially from spoofed addresses.

Another great thing, is that SCTP can have multiple streams being sent at the same time and any dropped packet results in just that one message part of that one specific stream being resent all the while all the other "streams" continue to transfer (this is where "Selective Ack" is used). For a particular stream it can "Ack 100-115 117-135" in this example 116 is missing. Remember there could hundreds of simulatneous streams being multiplexed across the SCTP connection!

The protocol is defintely built to be the more robust Transport mechanism when compared to UDP or TCP. I like to think if TCP as a DOT MATRIX Printer and SCTP as a color Laser printer that can paint the whole page at once and TCP needs to go linear and reprint the same spot to make darker colors.

The bad thing about SCTP (overhead), network errors will keep messages from being delivered to the Application layer. Potential memory issue exist if the messages it stores are highly fragmented, long messages, and a lot of messages like this; because SCTP holds on to the message until it has the WHOLE message. THese are not normal occurences and signify other big issues on the network.

Best regards,

Ray Aragon

Community Member

Re: SCTP versus TCP

Thank you Ray. Are there any issues of running SCTP in high latency environment, across satellite link?

Community Member

Re: SCTP versus TCP

Helllo Krishnan,

Hmmm good question. It would defintely be better than TCP since there is the ability to limit retransmits and to multiplex many messages over one SCTP connection. However, if the Satelite is the "other endpoint" i.e the endpoint for SCTP then he may have memory issues if this wasn't planned for. However, I don't think that you were asking about setting up an SCTP session to a Sattelite, rather you mus have meant "through" a Satellite. That would definetly be OK. SCTP is very good under LEAN connections (slow and even errored). It is a great protocol and I think more and more vendors will start to use it for everything.



CreatePlease to create content