Skip to content

Support Status

taihei edited this page Feb 15, 2026 · 10 revisions

対応状況

本ページでは s1n2-Gateway の各プロトコル・機能・ハードウェア/ソフトウェアの対応状況を一覧する。

凡例: ✅ 対応済み / ⚠️ 未検証 / ❌ 未対応


S1AP/NGAP メッセージ対応状況(eNB ↔ s1n2 ↔ AMF)

方向 S1AP メッセージ NGAP メッセージ 説明 状態
eNB → AMF S1SetupRequest NGSetupRequest 接続確立要求
AMF → eNB S1SetupResponse NGSetupResponse 接続確立応答 ⚠️ (※1)
eNB → AMF InitialUEMessage InitialUEMessage 初期 UE メッセージ
eNB → AMF UplinkNASTransport UplinkNASTransport NAS 転送 (UL)
AMF → eNB DownlinkNASTransport DownlinkNASTransport NAS 転送 (DL)
AMF → eNB InitialContextSetupRequest InitialContextSetupRequest コンテキスト確立要求 ⚠️ (※2)
eNB → AMF InitialContextSetupResponse InitialContextSetupResponse コンテキスト確立応答
eNB → AMF InitialContextSetupFailure InitialContextSetupFailure コンテキスト確立失敗 ⚠️ (※3)
eNB → AMF UEContextReleaseRequest UEContextReleaseRequest UE コンテキスト解放要求
eNB → AMF UEContextReleaseComplete UEContextReleaseComplete UE コンテキスト解放完了 ⚠️ (※4)
AMF → eNB UEContextReleaseCommand UEContextReleaseCommand UE コンテキスト解放指示
eNB → AMF ErrorIndication ErrorIndication エラー通知 (UL)
eNB → AMF NASNonDeliveryIndication NASNonDeliveryIndication NAS 配送失敗通知
AMF → eNB Paging Paging ページング
eNB → AMF Handover Required HandoverRequired ハンドオーバ要求
AMF → eNB Handover Request HandoverRequest ハンドオーバ指示
eNB → AMF Handover Notify HandoverNotify ハンドオーバ完了通知
eNB → AMF PathSwitchRequest PathSwitchRequest パス切替要求
AMF → eNB PathSwitchRequestAcknowledge PathSwitchRequestAcknowledge パス切替応答
AMF → eNB E-RABSetupRequest PDUSessionResourceSetupRequest ベアラ/セッション確立
eNB → AMF E-RABSetupResponse PDUSessionResourceSetupResponse ベアラ/セッション確立応答
AMF → eNB E-RABModifyRequest PDUSessionResourceModifyRequest ベアラ/セッション変更
eNB → AMF E-RABModifyResponse PDUSessionResourceModifyResponse ベアラ/セッション変更応答
AMF → eNB E-RABReleaseCommand PDUSessionResourceReleaseCommand ベアラ/セッション解放
eNB → AMF E-RABReleaseResponse PDUSessionResourceReleaseResponse ベアラ/セッション解放応答
eNB → AMF UEContextModificationResponse UEContextModificationResponse UE コンテキスト変更応答
AMF → eNB UEContextModificationRequest UEContextModificationRequest UE コンテキスト変更要求
eNB → AMF Reset NGReset インタフェースリセット (UL)
AMF → eNB Reset NGReset インタフェースリセット (DL)
eNB → AMF OverloadStart / Stop OverloadStart / Stop 輻輳制御
eNB → AMF UECapabilityInfoIndication UERadioCapabilityInfoIndication UE 能力情報通知
eNB → AMF eNBConfigurationUpdate RANConfigurationUpdate RAN 構成更新
AMF → eNB MMEConfigurationUpdate AMFConfigurationUpdate AMF 構成更新
AMF → eNB WriteReplaceWarningRequest WriteReplaceWarningRequest 緊急警報 (PWS)
AMF → eNB LocationReportingControl LocationReportingControl 位置情報レポート制御
eNB → AMF LocationReport LocationReport 位置情報レポート
AMF → eNB TraceStart / DeactivateTrace TraceStart / DeactivateTrace トレース制御

(※1) NGSetupResponse: NGAP のデコードと eNB への S1SetupResponse 送信は行われるが、S1AP メッセージはハードコードテンプレート(41 バイト固定バイナリ)であり、AMF Name・ServedGUAMIList・RelativeAMFCapacity 等の NGAP IE は S1AP 側に反映されない。

(※2) InitialContextSetupRequest: NGAP フルデコード → S1AP ASN.1 フルビルド → eNB 送信は実装済み。ただし以下のパラメータが NGAP の値を参照せず固定値で構築される: UEAggregateMaximumBitrate (100 Mbps 固定), QCI (9 固定), UE Security Capabilities (0xE000 固定), E-RAB 数 (常に 1 本)。

(※3) InitialContextSetupFailure: S1AP メッセージの受信・デコードとログ出力・内部状態更新(ics_failed=true)は対応済みだが、NGAP InitialContextSetupFailure の構築・AMF への送信は未実装。

(※4) UEContextReleaseComplete: S1AP ディスパッチャで検出・ICS 内部状態のリセットは行われるが、対応する NGAP UEContextReleaseComplete の構築・AMF への転送は未実装。


NAS メッセージ対応状況(UE ↔ s1n2 ↔ AMF)

方向 4G NAS メッセージ 5G NAS メッセージ Message Type 状態
UE → AMF Attach Request Registration Request 4G: 0x41/0x0C, 5G: 0x41 ⚠️ (※5)
UE → AMF Attach Complete Registration Complete 4G: 0x43, 5G: 0x43
UE → AMF Authentication Response Authentication Response 4G: 0x53, 5G: 0x57 ⚠️ (※6)
UE → AMF Authentication Failure Authentication Failure 4G: 0x5C, 5G: 0x59
UE → AMF Security Mode Complete Security Mode Complete 4G: 0x5E, 5G: 0x5E
UE → AMF TAU Request Registration Request (mobility updating) 4G: 0x48, 5G: 0x41 ⚠️ (※7, ※5)
AMF → UE Authentication Request Authentication Request 5G: 0x56, 4G: 0x52
AMF → UE Security Mode Command Security Mode Command 5G: 0x5D, 4G: 0x5D
AMF → UE Registration Accept Attach Accept 5G: 0x42, 4G: 0x42 ⚠️ (※8)
AMF → UE Registration Reject Attach Reject 5G: 0x44, 4G: 0x44
UE → AMF Detach Request Deregistration Request 4G: 0x45, 5G: 0x45
UE → AMF Identity Response Identity Response 4G: 0x56, 5G: 0x5C
UE → AMF Service Request Service Request 4G: 0x4C/0xC0, 5G: 0x4C
UE → AMF Extended Service Request - 4G: 0x4E
UE → AMF ESM Information Response - 4G: 0xDA
UE → AMF Security Mode Reject Security Mode Reject 4G: 0x5F, 5G: 0x5F
UE → AMF EMM Status 5GMM Status 4G: 0x60, 5G: 0x64
UE → AMF GUTI Reallocation Complete - 4G: 0x51
UE → AMF Uplink NAS Transport (SMS) UL NAS Transport 4G: 0x63, 5G: 0x67
AMF → UE Identity Request Identity Request 5G: 0x5C, 4G: 0x55
AMF → UE Deregistration Accept Detach Accept 5G: 0x46, 4G: 0x46
AMF → UE Service Accept / Reject - 5G: 0x4E/0x4F
AMF → UE Configuration Update Command - 5G: 0x54
AMF → UE DL NAS Transport (SMS) Downlink NAS Transport 5G: 0x68, 4G: 0x62
AMF → UE 5GMM Status EMM Status 5G: 0x64, 4G: 0x60
AMF → UE Notification - 5G: 0x65

(※5) UE Security Capability: 固定値(5G-NEA/NIA: 0xF0/0x70、EPS-EEA/EIA: 0xF0/0x70)を使用。4G NAS メッセージからの動的抽出は未実装。

(※6) Authentication Response 鍵導出: PLMN ID(MCC=001, MNC=01)とセキュリティアルゴリズム(EIA2/EEA2)が固定値。4G/5G NAS 鍵の動的導出は TODO(auth_response_4g_to_5g.c L149)。

(※7) TAU / Mobility Registration: TAU Request は 5G-GUTI キャッシュが必須で、未保持の場合は変換失敗。

(※8) Registration Accept: 5G NAS 復号不可のため合成メッセージを構築。QCI=9 固定、PDN address=192.168.100.2 固定、PCO 固定パターン使用。APN のみ環境変数 S1N2_APN で設定可能。


GTP-U (U-Plane) 対応状況

項目 状態
G-PDU (type 0xFF) 転送
Echo Request / Response (type 1, 2)
Error Indication (type 26)
End Marker (type 254)
Extension Header 処理 (PDU Session Container 等)
複数ベアラ / 複数 PDU セッション同時利用 ✅ (※9)
QoS Flow マッピング (複数 QFI) ❌ (※10)

(※9) 複数セッション対応: 最大 1024 TEID マッピングをサポート。各マッピングは個別の PDU Session ID と Bearer ID を追跡。双方向ハッシュテーブルによる O(1) ルックアップ。

(※10) QFI 処理: QFI は NGAP メッセージ (InitialContextSetupRequest) から抽出され UE ごとに保持されるが、GTP-U 拡張ヘッダ (PDU Session Container) からの動的 QFI 抽出は未実装。複数 QoS Flow の同時利用には未対応。


セキュリティ対応状況

アルゴリズム 4G (EPS) 5G (5GS) 状態
完全性保護: AES-CMAC EIA2 NIA2
暗号化: AES-CTR EEA2 NEA2
完全性保護: NULL EIA0 NIA0
暗号化: NULL EEA0 NEA0
完全性保護: SNOW 3G EIA1 NIA1 ❌ (※11)
暗号化: SNOW 3G EEA1 NEA1 ❌ (※11)
完全性保護: ZUC EIA3 NIA3 ❌ (※11)
暗号化: ZUC EEA3 NEA3 ❌ (※11)
SUCI Profile A (ECIES Curve25519) - ❌ (平文 SUPI のみ)
SUCI Profile B (ECIES secp256r1) -

(※11) NIA1 / NEA1 / NIA3 / NEA3: アルゴリズム識別子の定義とマッピングテーブルへの登録は完了しているが、実際の暗号化・完全性保護処理は未実装。これらのアルゴリズムが選択された場合、エラーを返す。


ハードウェア対応状況

カテゴリ 対象 状態
ホストマシン Intel NUC7i7BNH
Mac等の他ハードウェア ⚠️
eNB Baicells Nova430x (sXGP, Band 39)
他の4G基地局 ⚠️
UE Google Pixel 8a
iPhone 全般 ⚠️
Android (Pixel 以外) ⚠️
スマートフォン以外のUE ⚠️
ネットワーク 単一 eNB・単一 UE
複数 eNB 同時接続 ⚠️
マルチ UE 同時接続 (負荷テスト) ⚠️

ソフトウェア対応状況

カテゴリ 対象 状態
OS Ubuntu 22.04 LTS
Ubuntuの他バージョン ⚠️
macOS系 ⚠️
Windows系 ⚠️
コンテナ Docker Engine 24+ / Compose v2
5GC Open5GS
free5GC ⚠️
OAI-CN5G ⚠️
他商用5GC ⚠️
Open5GS 検証時バージョン
v2.7 以降の新規リリース ⚠️

ネットワーク手続き対応状況

シナリオ 説明 状態
Attach / Registration 初期接続 (Attach → Registration)
Authentication 認証 (Auth Request/Response/Failure)
Security Mode セキュリティモード確立 (SMC/SMP)
Initial Context Setup 初期コンテキスト確立 ⚠️ (※12)
TAU / Mobility Registration 位置登録更新 ⚠️ (※13)
PDU Session Establishment デフォルトベアラ確立 ⚠️ (※14)
UE Context Release UE コンテキスト解放 ⚠️ (※15)
Error Indication エラー通知 ⚠️ (※16)
ハンドオーバ eNB 間 / intra-eNB
Detach / Deregistration UE の明示的切断
Service Request Idle → Connected 復帰
Paging ページング
Dedicated Bearer / QoS Flow デフォルト以外のベアラ設定変更
SMS over NAS NAS 経由の SMS 転送
Emergency Attach 緊急接続
CSFB (CS Fallback) 回線交換フォールバック ❌ (設計対象外)
複数 PLMN / ネットワークスライス マルチ PLMN・マルチスライス ❌ (単一のみ)

(※12) Initial Context Setup: NGAP → S1AP の ICS はフルデコード/ビルドされるが、AMBR (100 Mbps 固定)、QCI (9 固定)、UE Security Capabilities (0xE000 固定)、E-RAB 数 (1 本固定) などが固定値。

(※13) TAU / Mobility Registration: TAU Request は 5G-GUTI キャッシュが必須で、未保持の場合は変換失敗。

(※14) PDU Session Establishment: 単一 PDU セッション/単一スライス (SST のみ) 前提で、追加セッションや複数スライスは未対応。

(※15) UE Context Release: S1AP → NGAP の ReleaseRequest は対応済みだが、AMF → eNB の ReleaseCommand は未実装。

(※16) Error Indication: S1AP → NGAP の転送は対応済みだが、NGAP → S1AP の ErrorIndication 受信は未実装。

Clone this wiki locally