採用サイトはこちら>

Sandvine ActiveLogicによる通信品質のニアリアルタイムなモニタリング

はじめに

Sandvine社製ActiveLogicと聞くと、公平制御を伴う帯域制御であったりDPI(Deep Packet Inspection)装置としてのトラフィック可視化を想像される方が多いのではないでしょうか?
今回は「通信品質のモニタリング」という観点でActiveLogicから出力した統計情報の可視化を行ってみたいと思います。

なお、本記事で紹介する構成は2024年1月17日(水)~19日(金)に福岡で開催されるJANOG53の弊社ブースにおいてライブデモとして展示予定です。ご興味のある方は、ぜひブースまで足を運んでいただければと思います。

通信品質のモニタリングとは?

『通信品質の良し悪しを定量的かつ継続的に評価すること』とここでは定義させていただこうかと思います。
大きく分類すると、旧来から存在していたQoS(Quality of Service)と呼ばれるいかに遅延・欠損なく大量のデータを宛先まで到達させるかという指標と、QoE(Quality of Experience)と呼ばれる人間の体感、言ってしまえば主観的で時に定性的な指標の2つがあります。しかし、QoEの具体的な評価方法となるとトラフィックを発するアプリケーションによっても様々ですし、本記事ではあまり言及しないこととします。

QoSの指標としてまず挙げられるのは「トラフィックの量」や「スループット」でしょうか。
昨年、総務省により「電気通信事故等に係る電気通信事業法関係法令の 適用に関するガイドライン」の改定が行われ、ベストエフォートなサービスにおいても平時のトラフィック量と比較して50%以上の減少をもって「品質の低下が発生している状態である」ことが定義されました。
これらはL2/L3スイッチやルーターでも観測できますので、既に可視化に取り組まれている事業者様も多いと思いますが、一方で単純に観測値が高ければ品質が高い、前日比や前週比と差がなければ品質は維持できているとも言い切れない指標でもあると思います。

ActiveLogicにおいては、これに加えてTCPのFlowにおける再送の発生やシーケンス番号の連続性を評価することで、パケットドロップ発生の検知や、RTT、ジッターの測定を行うことが可能です。また、「トラフィックの量」や「スループット」についても250msの分解能で記録でき、スパイク(バースト)トラフィックの評価を行うことも可能です。

通信品質可視化のデモ

今回はサービストラフィックを分析し統計情報を生成するActiveLogicと、ActiveLogicで生成された統計情報を保存するIDS(Insights Data Storage)を中心に、IDSの統計情報を可視化するGrafanaを構成します。また、通信の品質を意図的に落とすためにVyosをNetwork Emulatorとして構成しActiveLogicの上位(Internet側)へ配置、通過するトラフィックを遅延させるなどします。

サービストラフィックはトラフィックジェネレータとして2台のLinux端末を用意。トラフィックジェネレータ間の通信をサービストラフィックに見立てて可視化を行います。

なお、ActiveLogicはサービストラフィックに対してインラインとなる構成としますが、Shapingは一切行っていません(ActiveLogicのShapingによるトラフィック遅延、ドロップは発生せず、あくまでNetwork Emulatorによる遅延、ドロップのみが発生する環境です)。

Grafanaでグラフを描画できる仕組み

IDSは列指向型DBのVerticaを内包しています。VerticaはODBC/JDBCを介してSQLによるクエリ操作が可能なため、Grafana側へData source Pluginを導入するのみでIDSの統計情報を参照できます。

Network Emulatorによる品質劣化のない状態

トラフィックジェネレータ(クライアント)上でWebブラウザ(Firefox)を起動しYoutubeを閲覧、バックグラウンドでiperfによる継続的なトラフィックを発生させます。

※Webブラウザのキャッシュを無効化するため、デベロッパーツールを起動しています
※WebブラウザのQUICサポートも無効化しています

約10分間Youtubeを閲覧した状態が以下の通りです。

左側がRTTのヒートマップ、右側がパケットドロップのヒートマップになっており、色が赤色に近いほど品質の悪い状態であることを示しています。

Network Emulatorによる品質劣化がある状態

Network Emulatorで200msの遅延と5%のパケットドロップを発生させ、同様にトラフィックを流してみます。

全体的に赤味がかかっているのがお判りいただけると思います。

Grafana上ではこのような動きに見えます。(動画が自動再生されます)

QoE測定への応用

QoEの評価方法は「トラフィックを発するアプリケーションによっても様々」と先述した通りですが、簡易的に以下のように4つのカテゴリにサービスを分類し、異なる閾値で品質をモニタリングすることはQoE評価の一助になると考えています。

  1. 低レイテンシかつ広帯域を要求されるアプリケーション
    • 動的なコンテンツを中心としたWebサイト、Web会議アプリケーションなど
  2. 広帯域を要求されるがレイテンシの要件は高くないアプリケーション
    • 静的なコンテンツを中心としたWebサイト、動画配信など
  3. 低レイテンシを要求されるが帯域の要件は高くないアプリケーション
    • VoIPや対戦型のオンラインゲームなど
  4. レイテンシも帯域要件も高くないアプリケーション
    • OSやアプリケーションの配布、アップデートトラフィックなど

その他、JANOG53での展示内容について

ActiveLogicはMPE(Maestro Policy Engine)と連携することで、Session Contextと呼ばれる加入者やセッションの属性情報を取り扱うことが可能です。さらに、Session Contextとしてプロビジョニングされた属性情報はActiveLogicからIDSへ統計情報に紐づける形で記録することが可能です。
ダミーの統計情報を用いて、属性情報を活用した統計情報の可視化についてもデモを用意しておりますので気になる方はブースの説明員までお声がけください。