SCTP を最大限に活用するには、アプリケーション内でより多くの設計が必要です。TCP よりも多くのオプションがあり、ソケットのような API は後で登場し、まだ新しいものです。しかし、それを理解するのに時間がかかる (そして TCP の欠点を知っている) ほとんどの人は、それを高く評価していると思います。これは、TCP と UDP についての約 30 年の知識に基づいて構築された、適切に設計されたプロトコルです。
いくつかの考慮が必要な側面の 1 つは、ストリームの側面です。ストリームは (通常はオフにできると思います) 順序保証を提供しますが (TCP 接続のように)、SCTP 接続ごとに複数のストリームが存在する可能性があります。アプリケーションのデータを複数のストリームで送信できる場合は、受信側が 1 つの誤ったパケットのために不足するヘッドオブライン ブロッキングを回避できます。互いに影響を与えることなく、同じ接続を介して効果的に異なる会話を行うことができます。
もう 1 つの便利な追加機能は、マルチホーミングのサポートです。1 つの接続を両端の複数のインターフェイスにまたがることができ、障害に対処できます。これは TCP でエミュレートできますが、アプリケーション層でエミュレートできます。
非一時的な接続に TCP を使用するアプリケーションが最初に実装する適切なリンク ハートビートは、無料で提供されます。
SCTP の個人的な要約は、十分なアプリケーション サポートを備えた別の方法 (TCP または UDP) で実行できないことは何も実行しないということです。それが提供するのは、そのコードを(ひどく)自分で実装する必要がないことです。
参考までに、SCTP は、Diameter でサポートされるように義務付けられています (RADIUS next gen を参照)。RFC 3588 を参照
Diameter クライアントは TCP または SCTP をサポートする必要がありますが、エージェントと
サーバーは両方をサポートする必要があります。この仕様の将来のバージョンは MAY
クライアントが SCTP をサポートすることを義務付けます。