# CDN計測システム
## 定義
CDN計測システム(CDN Measurement System)は、コンテンツ配信ネットワーク(CDN)の性能・可用性・トラフィック状態を継続的に計測するためのプラットフォームである。CDNがユーザーに最適なフロントエンドを選択し、障害を迅速に検知し、トラフィックエンジニアリングを実施するために不可欠な基盤を提供する。代表的な実装として [[Matt Calder]] らが設計した Microsoft の Odin がある([[@2018__NSDI__Odin - Microsoft's Scalable Fault-Tolerant CDN Measurement System]])。
CDN計測の主要ユースケース:
- **トラフィック制御**: ユーザーを最低レイテンシのフロントエンドに誘導するDNSリダイレクションマップの生成
- **性能デバッグ**: インターネット経路の問題・エニキャストルーティングの劣化検知
- **展開モデリング**: 新規PoP展開のシミュレーション
CDN計測の主要アプローチとその特徴:
| アプローチ | 代表手法 | 課題 |
|---|---|---|
| サードパーティ計測基盤 | RIPE Atlas, PlanetLab, Catchpoint | ユーザーカバレッジ不足(45%以下) |
| CDNインフラ発レイヤー3 | traceroute/ping from front-ends | 74%のプレフィックスで応答なし、アプリ性能非反映 |
| エンドユーザー発レイヤー3 | BISmark, Fathom, Netalyzr | エンタープライズネットワークでブロック |
| サーバー側(受動) | TCP/HTTP統計 | 到達不能クライアントの可用性計測不可 |
| **クライアント側アプリ層(能動)** | **Odin** | **代表性・感度・耐障害性を同時充足** |
Odinの設計原則:
1. **ファーストパーティアドバンテージ**: 自社アプリへの計測クライアント埋め込みで代表的ユーザーカバレッジを達成
2. **アプリケーション層計測**: HTTP/HTTPSでエンタープライズネットワーク制約を回避し実際のユーザー体験を反映
3. **フォールトトレランス**: サードパーティCDNをフォールバックパスとし、障害時にも計測データを収集
4. **柔軟なオーケストレーション**: 実験単位でのエンドポイント・集計・レポート先の動的設定
## 横断的知見
- **ファーストパーティCDNの計測優位性**: Odinは自社アプリへの埋め込みにより、サードパーティ計測基盤が到達できないユーザー層(エンタープライズ・特定AS)を網羅する。98% AS・85% /24のカバレッジは既存手法の最良(45%)を大きく超える(Source: [[@2018__NSDI__Odin - Microsoft's Scalable Fault-Tolerant CDN Measurement System]])
- **DNSリダイレクション最適化の入力**: LDNSのIPアドレスごとに各Azureリージョンへの中央値レイテンシを計算し、DNSマップを生成する。ユーザー接続の計測データが主要入力として十分であり、多種のインフラ計測を組み合わせる複雑なパイプラインは不要(Source: [[@2018__NSDI__Odin - Microsoft's Scalable Fault-Tolerant CDN Measurement System]])
- **計測不感度の定量化**: 基準障害率が0.1%の場合、変化(0.1%→0.2%)を検知するには700計測が必要。0.01%→0.02%の検知には7000計測が必要(モンテカルロシミュレーション)(Source: [[@2018__NSDI__Odin - Microsoft's Scalable Fault-Tolerant CDN Measurement System]])
- **深夜帯のフォールバック増加**: バックアップパス利用は深夜帯にピークを迎える。昼間は高品質な企業ブロードバンドが主体、深夜は低品質の家庭用ブロードバンドが増えるためで、先行研究(Chen et al. 2013)の検索性能劣化パターンと一致(Source: [[@2018__NSDI__Odin - Microsoft's Scalable Fault-Tolerant CDN Measurement System]])
## 未解決の問い
- PoP障害に対する完全なフォールトトレランス(地理的に分散したプロキシを本番スケールで運用する方法)はどう実現するか?
- CDN計測システムのデータをリアルタイム障害箇所特定([[Fault Localization]])に活用する最適なアーキテクチャは何か?
- ユーザー計測データのプライバシー保護と分析精度のトレードオフをどう最適化するか(ECSが採用されない理由の一端)?
- ベンチマーク: Odinの計測カバレッジとGoogleのWhyHigh/LatLong・AmazonのCloudFrontの計測設計を比較評価した研究はあるか?
## 関連
- [[エニキャストルーティング]]: Odinが継続的に計測・最適化するCDNルーティング機構
- [[ネットワーク監視]]: データセンター向けネットワーク監視の概念(Odinはインターネット向けで補完的)
- [[オブザーバビリティ]]: 計測・アラート・診断の統合概念
- [[Fault Localization]]: Odinのデータが障害箇所特定に活用される
## 出典
- [[@2018__NSDI__Odin - Microsoft's Scalable Fault-Tolerant CDN Measurement System]]: Odinの設計・実装・評価の一次資料