# Adaptive Thresholding for Proactive Network Problem Detection
> [!abstract] 概要
> ネットワーク障害シナリオの検知は、管理情報ベース(MIB)変数に含まれる統計情報を利用することで達成されてきた。ノードの機能を適切に記述するために、MIB 変数の適切なサブセットが選択された。これらの変数から得られた時系列データは、逐次一般化尤度比(GLR)検定を用いて分析された。GLR 検定は、変数の挙動における変化点を検知するために用いられた。二値仮説検定を用いて、正常状態と比較した検知された変化の大きさに基いて変数レベルのアラームが生成された。これらのアラームはデュレーションフィルタを用いて結合され、一連のノードレベルのアラームをもたらした。このノードレベルのアラームは、実験的に観測されたネットワーク障害および性能問題と相関していた。本アルゴリズムは実際のネットワークデータ上で検証された。異種ノードに対する本アルゴリズムの適用可能性は、第 2 のノードからの MIB データを用いることで確認された。興味深いことに、調査された障害のほとんどにおいて、検知は障害に先立って(少なくとも 5 分前に)発生し、アルゴリズムは潜在的なオンライン実装に十分耐えうるほど単純である。これにより、将来的な予測と復旧の可能性が開かれる。
## 概要
本論文は、SNMP の管理情報ベース(MIB: Management Information Base)変数の時系列データから、ネットワークの潜在的な障害や性能低下を事前に検知する適応的閾値判定(Adaptive Thresholding)アルゴリズムを提案している。ネットワークトラフィックの長期的非定常性を扱うため、時系列を2.5分間(10ラグ)の局所定常な小区間に分割して 1 次の自己回帰(AR: Auto-Regressive)モデルを当てはめ、連続的一般化尤度比検定(GLR: Generalized Likelihood Ratio test)によって統計的変化点を検出する。さらに、Case 図に基づいて選定された MIB 変数間のトラフィック伝播関係を考慮したデュレーションフィルタ(duration filter)により、変数レベルのアラームを時間相関づけてノードレベルのアラームに集約する。レンセラー工科大学(RPI)の計算機科学科 LAN の実トラフィックデータによる評価では、NFS サーバ無応答などの実障害9件中7件を検知し、検知成功例の大部分で障害発生の数分から1時間前のプロアクティブ(先行)検知に成功した。
## 問題設定と背景
通信ネットワークの規模と多様性が増大する中、障害管理(Fault Management)はネットワークの信頼性と QoS 保証を提供する上で不可欠な要素である。従来の商用ネットワーク管理ソフトウェアはリンク切断や帯域枯渇などの壊滅的障害しか検知できず、ファイルサーバ障害等に先行する微妙なトラフィック変化を捉えられない。また、ルールベース手法は過去の障害シナリオの知識や運用者の専門性に強く依存し、時間とともにトポロジやトラフィックが変化する環境に適応できない。さらに、従来研究の多くは生成されたアラートの相関付け(alarm correlation)による局所化に終始しており、アラーム自体が正確であると仮定され、時間相関性や事前検知の視点が欠落していた。本研究は、事前知識や静的ルールに依存せず、MIB 変数の統計的性質の変化から実用的なオンライン計算量で時間相関アラームをプロアクティブに生成することを目指す。
## システムモデルと変数選定
提案システムは、データ処理ユニット(Data Processing Unit)、変化検知器(Change Detector)、結合器(Combiner)の 3 つのステージで構成される。
**Figure 1: システムモデルの全体構成**
![[_attachments/Adaptive-Thresholding-for-Proactive-Network-Problem-Detection/fig01-system-model.png]]
(Figure 1. 提案するノードレベル障害アラーム生成システムの3ステージ構成。MIB変数からデータ処理、変化検知、変数レベルアラーム生成を経て、結合器によりノードレベルアラームを出力する。)
### MIB 変数の選定基準と Case 図
RFC 1213 (MIB-II) は 171 変数を定義しているが、障害検知において多くの変数は冗長である。本研究では Case 図(Case and Partridge, 1989)を用いてプロトコルスタック内のトラフィックの流れを可視化し、各層の境界でトラフィック量を計測するフィルタカウンタ(filter counter)から非冗長な 6 つの変数を厳選した。
**Figure 2: if 層および ip 層変数の Case 図**
![[_attachments/Adaptive-Thresholding-for-Proactive-Network-Problem-Detection/fig02-case-diagram-if-ip.png]]
(Figure 2. ネットワーク下層から上層へのトラフィックフローを示す Case 図。太線で示された変数がプロトコルスタックの入出力断面を代表する非冗長な変数。)
選定された 6 変数は以下の通りである:
1. **ifIO (ifInOctets)**: ルータの対象インターフェースに入力された総バイト数
2. **ifOO (ifOutOctets)**: インターフェースから出力された総バイト数
3. **ipIR (ipInReceives)**: 全インターフェースから受信した総 IP データグラム数
4. **ipIDe (ipInDelivers)**: ルータ自身を最終宛先として上位層に配送されたデータグラム数
5. **ipFD (ipForwDatagrams)**: 他ノードへ転送されたデータグラム数
6. **ipOR (ipOutRequests)**: ルータ自身の上位層から生成され送信されたデータグラム数
## 提案手法: 局所定常 AR モデルと GLR 検定
MIB カウンタの差分(増分)は 15 秒間隔で収集される。時系列データは強い長期依存性と非定常性を示す。
**Figure 3: if および ip 変数の代表的な時系列トレース**
![[_attachments/Adaptive-Thresholding-for-Proactive-Network-Problem-Detection/fig03-representative-trace-if-ip.png]]
(Figure 3. 2時間にわたる ifIO(上)および ipIR(下)の増分推移。顕著な非定常性と突発的なバースト性を示す。)
### 区分的定常 AR(1) モデル
時系列を 2.5 分間(10 ラグ, $N=10$)の局所定常な窓に分割し、局所平均 $\mu$ を差し引いた系列 $\tilde{r}_i(t)$ に対して 1 次の自己回帰過程 AR(1) を適用する:
$
\epsilon_i(t) = \sum_{k=0}^p a_k \tilde{r}_i(t-k)
$
残差 $\epsilon_i(t)$ は平均 0、分散 $\sigma^2$ の白色ガウスノイズと仮定する。
**Figure 4: 区分的定常セグメントの窓構成**
![[_attachments/Adaptive-Thresholding-for-Proactive-Network-Problem-Detection/fig04-piecewise-stationary-segments.png]]
(Figure 4. 隣接する2つの非重複時間窓 $R(t)$ と $S(t)$。各窓の長さ $N_R = N_S = 10$。)
### 一般化尤度比(GLR)検定による変化点検出
隣接する非重複窓 $R(t)$ と $S(t)$ における残差の同時尤度比から、対数尤度比検定統計量 $-\ln \Lambda$ を導出する:
$
-\ln \Lambda = N'_R (\ln \hat{\sigma}_P - \ln \hat{\sigma}_R) + N'_S (\ln \hat{\sigma}_P - \ln \hat{\sigma}_S)
$
ここで $\hat{\sigma}_R^2, \hat{\sigma}_S^2$ は各窓の残差分散推定値、$\hat{\sigma}_P^2$ はプールされた分散推定値である。$-\ln \Lambda > h$ の場合に統計的変化点(仮説 $H_1$)と判定する。
### 変数レベルのアラーム判定
変化点が検知された場合、第 2 の仮説検定を実施する。プールされたセグメントの平均 $\mu_P$ と分散 $\sigma_P^2$ を、24 時間の正常データから算出した基準平均 $\mu_0$ および分散 $\sigma_0^2$ と尤度比で比較し、閾値 $\delta$ を超えた場合に変数レベルのアラームを発行する。
### デュレーションフィルタによるノードレベル結合
プロトコルスタック内の依存関係に基づき、下位層から上位層へのトラフィック伝播(5 つの遷移パス)を監視するデュレーションフィルタを適用する。
**Figure 5: MIB 変数間の遷移関係**
![[_attachments/Adaptive-Thresholding-for-Proactive-Network-Problem-Detection/fig05-transitions-between-mib-variables.png]]
(Figure 5. ifIO から ipIR、さらに ipIDe / ipFD へ、また ipOR から ifOO へのトラフィック伝播を示す状態遷移図。)
ifIO で変化が観測された場合、それが後続の一定時間内に ipIR や上位変数に伝播しているかを確認することで、単一変数の孤立したスパイクによる誤警報を排除し、ノードレベルの確定アラームとする。
## 残差統計の検証とパラメータ設定
### 残差の無相関性と正規性の検証
自己相関関数(Figure 6)により、残差は 10 ラグ(2.5 分)以降で有意な相関が消失することが確認され、窓長 $N=10$ の非重複窓による分析の妥当性が裏付けられた。
**Figure 6: 残差の自己相関関数**
![[_attachments/Adaptive-Thresholding-for-Proactive-Network-Problem-Detection/fig06-autocorrelation-of-residuals.png]]
(Figure 6. ipIR 残差のコレログラム。10ラグ以降で自己相関がほぼ0に減衰している。)
また、残差の分位数-分位数(Q-Q)プロット(Figure 7, Figure 8)により、標準正規分布に対して長い裾野(heavy tail)を持つものの、1 次・2 次モーメントの推定にはガウス近似が実用上十分であることが示された。特に多数のインターフェースの集約である ip 変数は中心極限定理により if 変数よりも正規分布によく適合する。
| Figure 7: ifIO 残差の Q-Q プロット | Figure 8: ipIR 残差の Q-Q プロット |
|:---:|:---:|
| ![[_attachments/Adaptive-Thresholding-for-Proactive-Network-Problem-Detection/fig07-qq-plot-ifio-residuals.png]] | ![[_attachments/Adaptive-Thresholding-for-Proactive-Network-Problem-Detection/fig08-qq-plot-ipir-residuals.png]] |
| (Figure 7. ifIO 残差の Q-Q プロット。S字状の裾野の広がりを示す。) | (Figure 8. ipIR 残差の Q-Q プロット。ifIO に比べ線形性が高く正規分布に近い。) |
### パラメータ選定
赤池の最終予測誤差(FPE: Final Prediction Error)基準および特異性制約 $0 \le p \le 0.1 N$ と変化継続長制約 $N \le 0.7 Q$ (障害継続長 $Q=15$ ラグに対し $N=10$ ラグ)から、最適な AR 次数として $p=1$ が決定された。閾値 $h$ および $\delta$ はデータセット 3 と 6 で最適化され、解像度の異なる変数間(データグラム単位の ip 変数とオクテット単位の if 変数)で適切にスケーリングされた。
## 実験ネットワーク構成と評価結果
### 実験環境
レンセラー工科大学計算機科学科の LAN(7 つのサブネット、2 台のルータ、133 ホスト、2 台の NFS ファイルサーバ)において、15 秒間隔で SNMP ポーリングを実施した。
**Figure 9: 監視対象ネットワークのトポロジ**
![[_attachments/Adaptive-Thresholding-for-Proactive-Network-Problem-Detection/fig09-monitored-network-configuration.png]]
(Figure 9. RPI 計算機科学科 LAN のトポロジ。内部ルーティングを担う Node 1 と、キャンパスバックボーンへのゲートウェイとなる Node 2 の配置を示す。)
### 変数レベルの結果
UNIX の syslog に記録された「NFS server not responding」障害との照合結果を表 III に示す。ipOR は全 9 件の障害を捉え、ip レベル変数は総じて高い検知能力を示した。
| MIB 変数 | 平均アラーム数/時 | 検知障害数 |
|---|---|---|
| ifIO | 0.91 | 4/9 |
| ifOO | 1.14 | 5/9 |
| ipIR | 3.97 | 7/9 |
| ipFD | 3.98 | 7/9 |
| ipIDe | 2.08 | 7/9 |
| ipOR | 1.19 | 9/9 |
(Table III. Node 1 における変数レベルのアラーム生成結果要約)
**Figure 10: Node 1 における変数レベルのアラーム出力例**
![[_attachments/Adaptive-Thresholding-for-Proactive-Network-Problem-Detection/fig10-alarms-at-variable-level.png]]
(Figure 10. Node 1 の ifIO(上)および ipIR(下)における変数レベルアラーム(*)と障害ダウンタイム期間(x)。障害発生に先行してアラームが密集している様子が確認できる。)
### ノードレベルの結果とプロアクティブ検知性能
デュレーションフィルタによる統合後、アラーム率は平均 1.4 件/時まで大幅に低減された。検知率 $P_D$ と誤警報率 $P_F$ の結果を表 IV(Node 1)および表 V(Node 2)に示す。
| データセット | $P_D$ | 直近先行アラーム(分) | $P_F$ | 平均アラーム数/時 |
|---|---|---|---|---|
| 1 | 1 | 40.0 | 0.0037 | 0.89 |
| 2 | 1 | 8.7 (障害後*) | 0.0038 | 0.91 |
| 3 | 1 | 31.4 / 59.8 / 59.4 | 0.0071 | 1.74 |
| 4 | 1 | 18.4 | 0.0060 | 1.45 |
| 5 | 0 | - | 0.0065 | 1.55 |
| 6 | 0.5 | 31.0 | 0.0076 | 1.83 |
(Table IV. Node 1 におけるノードレベル障害検知要約。*印のデータセット 2 を除き、全検知例で 18〜60 分前に事前アラームが発行された。)
| データセット | $P_D$ | 直近先行アラーム(分) | $P_F$ | 平均アラーム数/時 |
|---|---|---|---|---|
| 1 | 1 | 43.8 | 0.0093 | 2.23 |
| 3 | 1 | 38.2 / 22.3 / 11.2 | 0.0075 | 1.86 |
| 4 | 1 | 8.2 | 0.0106 | 2.57 |
| 6 | 0.5 | 21.6 | 0.0040 | 0.96 |
(Table V. Node 2 (ゲートウェイルータ)におけるノードレベル障害検知要約。異種ノードへの良好な一般化能力を示す。)
**Figure 11: Node 1 におけるノードレベルのアラーム出力**
![[_attachments/Adaptive-Thresholding-for-Proactive-Network-Problem-Detection/fig11-output-at-node-level.png]]
(Figure 11. 1996年3月5日(上)および1995年10月2日(下)のノードレベル出力。破線で示された障害発生時刻に先立ってアラームが点灯している。)
### 閾値最適化とトレードオフ
閾値を変化させた際の $P_D$ と $P_F$ のトレードオフを表 VI に示す。
| 閾値設定 | $P_D$ | $P_F$ |
|---|---|---|
| Lower (低め) | 1.0 | 0.0134 |
| Optimal (最適) | 0.75 | 0.0058 |
| Higher (高め) | 0.305 | 0.0017 |
(Table VI. 閾値の変化に伴う検知確率 $P_D$ と誤警報確率 $P_F$ の最適化結果)
## 考察と意義
1. **事前検知(Proactive Detection)の実証**: 静的障害モデルやルールを用いずとも、局所定常 AR(1) と GLR 検定の組み合わせにより、NFS サーバ障害に先行する微妙なパケット再送・遅延の連鎖を 10〜60 分前に捉えられることを実ネットワークで実証した。
2. **プロトコル構造の活用**: 統計的検知単体では誤警報に悩まされるが、Case 図に裏付けられたトラフィック伝播(デュレーションフィルタ)を組み合わせることで、ドメイン知識を軽量なフィルタとして機能させ、誤警報率を実用レベルまで圧縮した。
3. **ノード非依存性と軽量性**: 内部ルータ(Node 1)で調整されたパラメータが、ゲートウェイルータ(Node 2)においても再調整なしで同等に機能し、各ノードのローカル処理として分散配置が容易である。
## 関連
- [[wiki/entities/Marina Thottan|Marina Thottan]]
- [[wiki/entities/C. Ji|C. Ji]]
- [[wiki/concepts/異常検知|異常検知]]
- [[wiki/concepts/変化点検知|変化点検知]]
## 出典
- [[.raw/papers/Adaptive-Thresholding-for-Proactive-Network-Problem-Detection.pdf]]
- DOI: [10.1109/IWSM.1998.668144](https://doi.org/10.1109/IWSM.1998.668144)