47 SCTP - ストリーム制御伝送プロトコル #
ストリーム制御伝送プロトコル(SCTP)は、インターネットプロトコルスイートのトランスポート層におけるコンピュータネットワーク通信プロトコルです。 もともとは電気通信における信号システム7(SS7)のメッセージ転送を目的としていましたが、このプロトコルは、伝送制御プロトコル(TCP)のような輻輳制御を備えた信頼性の高い順序通りのメッセージ転送を保証しつつ、ユーザーデータグラムプロトコル(UDP)のメッセージ指向機能を提供します。 UDPやTCPとは異なり、このプロトコルはマルチホーミングと冗長パスをサポートしており、回復力と信頼性を向上させます。
SCTPは、インターネット技術標準化委員会(IETF)によってRFC 9260で標準化されています。SCTPの参照実装はFreeBSDバージョン7の一部としてリリースされ、それ以来、他のプラットフォームにも広く移植されています。
3GPP 4G(LTE)仕様において、SCTP(ストリーム制御伝送プロトコル)は、無線アクセスネットワーク(RAN)ドメインとの信号接続を含む、Evolved Packet Core(EPC)全体での制御プレーン信号メッセージの基盤となるレイヤー4トランスポートとして機能します。3GPP 5G仕様では、Diameter-over-SCTPベースのすべての信号インターフェースをHTTP/2に置き換えるサービスベースアーキテクチャ(SBA)の導入により、コアネットワーク内でのSCTPの必要性が排除されました。しかし、5G RANドメイン内では依然として必要とされています:
「分離された」gNodeBインスタンスを構成するネットワーク要素間の信号インターフェース(DUとCU-CP間のF1-Cインターフェース、およびCU-CPとCU-UP間のE1インターフェース)において。
信号目的でgNodeBインスタンスを接続するXn-Cインターフェースにおいて。
信号目的でgNodeBインスタンス(RANドメイン)とAMFインスタンス(コアネットワークドメイン)を接続するために使用されるN2(別名NG-C)参照ポイントにおいて。
次に、それを利用するSCTP対応のTelcoワークロードをホストするダウンストリームクラスターノードで、sctp Linux カーネルモジュール(lksctp)を有効にする必要があります。
Linuxノードで`sctp`カーネルモジュールを手動でロードするには、次の手順を実行します。
$ sudo modprobe sctpノードの起動時に毎回`sctp`カーネルモジュールを自動的にロードするには、`/etc/modules-load.d/`ディレクトリに`sctp.conf`というファイル名のファイルを作成し、その中に単に`sctp`という文字列( systemd-modules-load.serviceユニットが起動時にロードすべきカーネルモジュールの名前)を記述します。
$ echo "sctp" > /etc/modules-load.d/sctp.conf
$ rebootノードの起動時に毎回`sctp`カーネルモジュールを確実にロードするための最も簡単で最適な方法は、ダウンストリームノードのプロビジョニングに使用されるEdge Image Builder (EIB) で構築された raw イメージにその`/etc/modules-load.d/sctp.conf`ファイルを追加することです。その方法の詳細については、EIB documentation (5.3.5項 「オペレーティングシステムファイルの追加」)を参照してください。