ネットワークの品質を守るためのQoS完全ガイド:仕組み・指標・実装・運用の実践ポイント

QoS(Quality of Service)とは

QoS(Quality of Service、サービス品質)は、ネットワーク上のトラフィックに対して一定の性能(遅延、ジッタ、パケットロス、帯域など)を保証または優先付けするための考え方と技術群です。単に「帯域を確保する」だけでなく、アプリケーションごとに異なる要件(リアルタイム音声の低遅延、動画の安定したスループットなど)を満たすことを目的とします。クラウド、モバイル、SD-WAN、IoTが混在する現代のネットワークにおいて、エンドツーエンドで期待される性能を達成するにはQoSが重要です。

主要な指標(QoSメトリクス)

  • 遅延(Latency): パケットが送信元から宛先へ到達するまでの時間。往復遅延(RTT)や片道遅延で評価。
  • ジッタ(Jitter): パケット間の遅延のばらつき。VoIPやビデオ会議で音声破綻や映像の乱れの原因に。
  • パケットロス: 送信したパケットのうち届かない割合。再送や品質低下を招く。
  • スループット(Throughput): 単位時間あたりに転送されるデータ量。
  • 可用性/到達性: サービスが所定の時間稼働する割合や接続維持のしやすさ。
  • QoE(Quality of Experience): ユーザ視点の体感品質(MOSなど)で、QoS指標と併用して評価される。

QoSの基本アプローチ:分類とモデル

QoSを設計する際はまずトラフィックの分類(classification)と識別(marking)を行い、ネットワーク内でどのクラスとして扱うかを決めます。主なアプローチは次の2つです。

  • IntServ(Integrated Services): フロー単位でリソースの予約を行う方式。RSVP(Resource Reservation Protocol)などでフローごとに帯域や遅延要件を予約する。精度は高いがスケーラビリティが課題。
  • DiffServ(Differentiated Services): パケットをクラスに分け、各クラスに異なる処理を提供する方式。DSCP(Differentiated Services Code Point)でマークし、ネットワーク機器はクラスに応じた優先度やキューを適用する。スケーラブルで実運用で広く採用。

主要な技術と仕組み

代表的なQoS技術を挙げ、簡潔に説明します。

  • 分類(Classification)・マーキング(Marking): 送信端やエッジでトラフィックを識別し、DSCPや802.1p PCPなどのフィールドでマークします。アプリケーション識別にはポート番号、IPアドレス、Deep Packet Inspection(DPI)などを使います。
  • キューイング(Queuing)とスケジューリング: パケットをキューに入れて送出順序を決める。FIFO、優先キュー(Priority Queuing)、ラウンドロビン、Weighted Fair Queuing(WFQ)、Class-Based WFQ(CBWFQ)、Low Latency Queuing(LLQ)などがあり、音声は低遅延キュー、バルク転送は低優先度キューに振り分けます。
  • ポリシング(Policing)とシェーピング(Shaping): ポリシングは到着トラフィックを即時に制限し超過を破棄またはマークダウンする。シェーピングは送出側でバーストを平滑化して遅延を許容して率を整える(トークンバケットなど)。
  • 輻輳回避(Congestion Avoidance): RED(Random Early Detection)やWREDなど、輻輳前にパケットを早期に破棄して公平性を保つ仕組み。
  • MPLSとトラフィックエンジニアリング: MPLSラベルやTEを使って経路を制御し、帯域予約やトラフィックの分散を行うことでエンドツーエンドのQoSを強化します。
  • エンドツーエンドの調整: ネットワーク境界でのDSCPマッピング、WAN側プロバイダとのSLA設定、アプリケーション側の調整(コーデック、パケット化間隔)も重要です。

実装・運用上のポイント

QoSを現実のネットワークに導入するときの注意点と推奨事項です。

  • エッジでのマーキングが基本: 信頼できる端末・境界(アクセススイッチやエッジルータ)でトラフィックを分類・マーキングし、内部ネットワークはそのマークを基に処理します。
  • ハードウェア性能の確認: QoS処理(パケット分類・キューイング)は機器のCPU/ASICに負荷を与えるため、ハードウェアのスループットやハードウェア/ソフトウェアルートの違いを把握すること。
  • SLAと測定: SLAで定義したメトリクスを継続的に監視する。ツール例:iperf/iperf3、ping、traceroute、mtr、TWAMP(Two-Way Active Measurement Protocol)、SNMP、NetFlow/sFlow、RMON、VoIP専用のMOS測定ツールなど。
  • モニタリングとアラート: 帯域使用率、キューの深さ、ドロップ率、遅延・ジッタを可視化し、閾値超過時に通知を行う。
  • テストと検証: 変更前後で負荷試験を行い、期待通りに優先付けが働くか、パケットロスや遅延増大が発生していないかを確認する。

クラウド・SD-WAN・仮想化環境での課題

仮想化やクラウド、SD-WANの普及により、従来のレイヤ2/3境界で行っていたQoS設計に新たな考慮が必要になっています。

  • クラウドプロバイダ側のサポート差: パブリッククラウドではカスタムDSCPをそのまま通さない場合や、仮想ネットワークでの優先度設定が限定的な場合があります。プロバイダの仕様を確認し、必要ならばアプリケーションレイヤでの対策やエッジでのパケット化改善を行います。
  • 暗号化と分類の困難さ: TLS/QUICなどの暗号化トラフィックが増え、ポートベースの分類が難しくなっています。SNIやアプリケーションインサイト、エンドポイントでのマーキング、またはSD-WANのアプリケーション認識機能を活用します。
  • SD-WAN: アプリケーション認識、経路選択、ローカルブレイクアウト、WAN最適化、クラウドゲートウェイとの連携を用いてアプリケーションごとに最適な経路とQoSを提供できますが、統合ポリシーとエンドツーエンドの整合性が重要です。

具体例:VoIPとビデオ会議の設計ポイント

リアルタイムメディアはQoSの代表例です。実際の設計上の注意点を示します。

  • マーク: 音声トラフィックはEF(Expedited Forwarding、一般にDSCP 46)でマークすることが多い。ビデオは高優先度AFクラス(AF41など)を使用するケースが多い。
  • キューと帯域: 音声用に低遅延キュー(LLQ)を設け、必要な最小帯域を予約します。VoIPコールあたりの帯域(コーデックごとのペイロード+RTP/UDP/IPオーバーヘッド)を計算して合計帯域を確保します。一般にG.711ではペイロード64kbpsに加えパケット化オーバーヘッドを含めておよそ80〜100kbps程度が目安です(パケット化間隔による)。
  • ジッタバッファと再送: 音声は再送に弱いため、ジッタバッファで多少のばらつきを吸収し、遅延トレードオフを調整します。ビデオは適切なバッファとPTP/ARQの組合せで品質を維持。

よくある落とし穴と対策

  • DSCPの信用問題: 端末が自由にDSCPを設定できる環境では、悪意あるまたは誤ったマークが混在する。エッジで再マーキングや信頼しないポリシー(trust boundary)を設定すること。
  • 過度の優先化: 全てを高優先度にすると意味がない。優先度は常に限られたリソースで機能するので、適切な分類と帯域設計が必須。
  • バッファブロートル(Bufferbloat): 過剰なバッファにより遅延が増大する現象。適切なキュー管理(AQM)やシェーピング、遅延を考慮したバッファ設定が必要。
  • 機器のオフロード/ソフトパス差: 一部のQoS機能がハードウェアでのみサポートされ、ソフトウェア経由だと低スループットになることがあるため、構成時に確認する。

設計チェックリスト(実務向け)

  • 要件定義:アプリケーションごとの遅延・ジッタ・パケットロス・帯域要件を整理する。
  • 分類ポリシー:どの地点で分類・マーキングを行うか(端末/エッジ)の決定。
  • キュー設計:優先度別キューと帯域保証の設計(音声/ビデオ/データなど)。
  • 輻輳制御:WANやインターネット境界でのポリシングやシェーピング配置。
  • 監視とSLA:測定ポイント、ツール、アラート、定期レポートを設定。
  • 事前試験:負荷テスト、フォールトシナリオ、パフォーマンス検証。

まとめ

QoSは単一の技術ではなく、トラフィック分類・マーキング、キューイング、シェーピング、輻輳制御、運用監視を組み合わせた総合的な解決策です。設計ではエッジでのマーキング、ネットワーク機器の性能確認、エンドツーエンドの整合性、そしてクラウド/SD-WAN環境特有の制約を考慮することが重要です。運用面では継続的な測定とSLAベースの運用が品質維持の鍵になります。

参考文献