ネットワーク・プロトコル#108
宇宙ネットワークのQoS — 仮想チャンネルに優先度をつけ、限られた帯域を配分する
仮想チャンネル(VC)は複数のデータストリームを区別するラベルにすぎない。では緊急のヘルスモニタリングデータと大容量の科学データが同じダウンリンクを奪い合うとき、どちらを先に送るべきか。優先度キューイングとM/M/1優先度モデルで、宇宙ネットワークのQoS(Quality of Service)設計を定量的に考える。
前提知識: CCSDS宇宙データリンクプロトコル — SpacePacketをフレームに詰め、仮想チャンネルで多重化する
この回で学ぶこと
CCSDS宇宙データリンクプロトコルの回では、1本の物理ダウンリンクの上に複数のデータストリームを同居させる仕組みとして、仮想チャンネル(Virtual Channel, VC) を学びました。リアルタイムテレメトリ用のVC、記録再生データ用のVC、科学データ用のVCというように、フレームのVC IDフィールドを見るだけで、地上局はストリームを機械的に区別し、それぞれ別のキューに振り分けることができるのでした。
しかし、VCによる区別だけでは、まだ運用上の問題は解決していません。VCは「このフレームはどのストリームに属するか」というラベルを提供するだけで、「限られたダウンリンク帯域を、複数のVCの間でどう配分するか」という問題には何も答えていないからです。探査機の送信機が生成できるビットレートは有限であり、複数のVCがそれぞれ送りたいデータを持っているとき、どのVCのフレームを、どういう順序で、どれだけの割合で送信キューから送り出すかを決めなければなりません。この配分規則の設計が、この回のテーマである QoS(Quality of Service、通信品質) です。
地上のインターネットでもQoSは重要な技術ですが、宇宙リンクには固有の制約があります。片道光速遅延が数分〜数時間に達し、再送のコストが極めて高く、視界内(可視パス)の時間そのものが限られている——こうした条件のもとで、「どのデータを優先して送るか」を誤ると、致命的な事態を見逃す、あるいは高価な観測データを失うという結果に直結します。この回では、優先度キューイングの基本モデルを待ち行列理論の枠組みで定式化し、帯域保証とベストエフォートという2つの設計思想を比較しながら、実際のミッションがVCの優先度をどう設計しているかを見ていきます。
直感的導入: なぜ「早い者勝ち」では足りないのか
具体的な場面を想像してみましょう。ある探査機が地上局と可視パスに入り、限られた時間だけダウンリンクが確立されています。この瞬間、送信バッファには次の2種類のデータが同時に溜まっています。
- VC0(ヘルスモニタリングデータ): 電源系の電圧、推進系の圧力、姿勢制御系のジャイロ出力など、探査機の「今の状態」を伝える小容量だが緊急性の高いテレメトリ。もしこれが遅延すれば、異常の検知が遅れ、対応が手遅れになりかねません。
- VC2(科学データ): 観測機器が撮り貯めた画像や分光データなど、容量は大きいものの、数時間・数日遅れて届いても運用上致命的な問題にはならないデータ。
もし送信キューが単純な先入れ先出し(FIFO)、つまり「フレームがキューに到着した順に送る」という規則で動いていたらどうなるでしょうか。科学データの大きなファイルがちょうど転送中にヘルスモニタリングデータが発生すると、ヘルスモニタリングのフレームは科学データの残りがすべて送り終わるまで、キューの中で待たされ続けます。可視パスが短いミッションでは、この待ち時間だけで「異常を検知できたはずの情報が、次の可視パスまで地上に届かない」という事態が起こり得ます。
これがQoSを必要とする根本的な理由です。単純な到着順では、データの重要度が転送順序に一切反映されない。 そこで必要になるのが、VCに優先度のランクを与え、高優先度のVCのフレームを低優先度のVCのフレームより先に送出する、優先度キューイングの仕組みです。ただし優先度をつけること自体はタダではありません。高優先度データを優遇すればするほど、低優先度データの待ち時間は悪化します。この回ではこのトレードオフを、待ち行列理論を使って定量的に見ていきます。
優先度キューイングの基本モデル
キューイングシステムとしての送信バッファ
探査機の送信バッファを、複数の優先度クラスを持つ待ち行列システムとしてモデル化します。優先度クラスを とし、クラス が最優先(たとえば緊急コマンド応答やヘルスモニタリング)、クラス が最低優先(たとえば大容量科学データ)とします。
各クラス のフレームは、平均到着率 (単位時間あたりの到着フレーム数)でキューに到着し、平均サービス時間 (1フレームを送信するのにかかる時間の平均)で送信されるとします。送信機全体の処理能力(サービス率)を とし、簡単のため全クラスで1フレームあたりの平均サービス時間が共通、つまり であるとすると、各クラスの**トラフィック強度(利用率)**は
で与えられ、システム全体の利用率は です。安定に動作する(キューが無限に発散しない)ためには が必要です。
非割り込み型優先度規則(non-preemptive priority) を仮定します。これは「送信中のフレームを、より高優先度のフレームが到着しても中断しない。送信が終わったところで、次に送るフレームを待ち行列全体の中から最も優先度の高いクラスから選ぶ」という規則です。フレーム送信は一定の物理的な長さを持つため、途中で打ち切ることが難しい宇宙リンクの実装に自然に対応します。
M/M/1優先度キューモデルと平均待ち時間
到着過程をポアソン過程、サービス時間を指数分布と仮定するM/M/1優先度キューモデルでは、クラス のフレームがキューで待たされる平均待ち時間 (サービス開始までの待ち時間、サービス時間そのものは含まない)について、次の古典的な結果が知られています。
ここで は、非割り込み型の特性上どうしても発生する「今まさに送信中の(より低優先度かもしれない)フレームが終わるまでの残余時間」の平均で、
と表されます( はクラス のサービス時間)。指数分布の場合は 、 なので となり、
まで簡略化できます。
この式の構造を読み解くと、QoS設計の本質が見えてきます。分母の は「自分より高優先度のクラスがどれだけ帯域を専有しているか」を表し、 は「自分以上の優先度を持つクラス全体がどれだけ帯域を専有しているか」を表します。最優先クラス()の待ち時間は と、自分自身のトラフィック強度にしか影響されません。 ところが最下位クラス()の待ち時間の分母は となり、自分より上のすべてのクラスの合計利用率に強く依存します。上位クラスのトラフィックが増えて が に近づくと、最下位クラスの待ち時間は際限なく発散していきます。
つまり、優先度キューイングは高優先度クラスの待ち時間をほぼシステム全体の混雑度から切り離す一方、その代償を低優先度クラスに押し付ける仕組みです。これは「タダ飯はない」というQoS設計の基本法則を、数式のかたちで具体的に示しています。宇宙リンクの設計者は、ヘルスモニタリングデータの待ち時間を確実に短く保ちたい一方、科学データの待ち時間がどこまで悪化を許容できるかという上限を、ミッション要求(たとえば「次の可視パスまでに必ず転送を完了させる」)から逆算し、優先度クラスの数とそれぞれのトラフィック量を設計します。
簡単な数値例
2クラス()の場合を具体的に見てみましょう。クラス1(ヘルスモニタリング)の利用率を 、クラス2(科学データ)の利用率を とすると、システム全体の利用率は です。
クラス2の平均待ち時間は、クラス1のおよそ5倍にも達します。もし優先度をつけずにFIFOで運用した場合の平均待ち時間(M/M/1の標準公式 に相当するものをこの2クラス合成トラフィックに適用した値)と比べると、優先度キューイングはクラス1の待ち時間を大幅に短縮する一方で、クラス2の待ち時間をそれ以上に押し上げていることが分かります。この非対称性こそが、優先度設計が「トレードオフの選択」であることを定量的に裏付けています。
帯域保証とベストエフォート: 2つの設計思想
優先度キューイングは「順序」を制御する仕組みでしたが、QoS設計にはもう一つ重要な軸があります。それは「帯域そのものをどう割り当てるか」という設計思想の選択です。代表的な2つのアプローチを対比します。
帯域保証(Guaranteed Bandwidth / Reserved Bandwidth)
特定のVCに対して、リンク全体の帯域のうち一定の割合(あるいは一定のビットレート)を常に確保する方式です。他のVCがどれだけ混雑していても、そのVCには最低限のスループットが保証されます。数式で言えば、あるVC に対して
という制約を送信スケジューラに課し、 を下回らないように帯域を配分します。これは前節の優先度キューイングとは異なる考え方で、「順序で優先するのではなく、容量そのものを区画として切り出す」という設計です。実装としては、フレームスロットを時間分割で固定的に割り当てるTDM(時分割多重)的な配分や、各VCに保証レートに応じた**重み付きラウンドロビン(Weighted Round Robin, WRR)**でサービス機会を与える方式などが使われます。
帯域保証の利点は、低優先度に見えるVCであっても最低限のスループットが数学的に保証される点です。欠点は、保証した帯域が実際には使われない瞬間があっても、他のVCに融通できず帯域の無駄が生じ得ることです。
ベストエフォート(Best-Effort)
帯域の確保を行わず、空いている帯域を早い者勝ち、あるいは優先度規則に従って使う方式です。前節の優先度キューイングはこのベストエフォートの枠組みの中の一手法だと位置づけられます。利点は帯域利用効率が高いこと(誰も使っていない帯域が無駄にならない)、欠点は最悪の場合の待ち時間に理論上の上限がない(前節で見た通り、上位クラスの混雑度次第で発散し得る)ことです。
実際の設計はハイブリッド
現実のミッションでは、この2つを組み合わせたハイブリッド設計が一般的です。たとえば、
- ヘルスモニタリングVCには最低限のビットレートを常に帯域保証し、確実にリアルタイムで届くことを保証する。
- 科学データVCと記録再生VCの間では、残った帯域をベストエフォート・優先度キューイングで分配し、可視パス内で少しでも多くのデータを送りきることを目指す。
という設計です。これは地上のネットワークQoSにおけるDiffServ(Differentiated Services)の考え方——トラフィックをいくつかのクラス(Expedited Forwarding、Assured Forwardingなど)に分類し、クラスごとに異なる転送優先度・帯域保証を与える——と発想が非常に近く、宇宙リンクのVC優先度設計はしばしばこの類推で説明されます。ただし決定的な違いは、地上のインターネットが輻輳時にパケットを破棄して送信元に再送させることを前提にしているのに対し、宇宙リンクは片道遅延が長大で再送のコストが極めて高いため、破棄より先に送信側でのバッファリングと優先度制御によって輻輳そのものを回避する設計が好まれる点です。次回扱う宇宙ネットワークの監視・管理の文脈でも、この「地上より再送に頼れない」という制約が繰り返し顔を出します。
実務での使われ方
VCの優先度設計は、CCSDS準拠ミッションの運用計画において具体的な数値を伴って行われます。
- VC優先度の割り当て慣行: CCSDS宇宙データリンクプロトコルの回で触れた通り、多くのミッションでは低いVCID(VC0など)をリアルタイムのハウスキーピングテレメトリに、高いVCIDを科学データや記録再生データに割り当てる慣習があります。地上局の送信スケジューラ実装では、この番号を優先度クラスとして扱い、VC0のフレームがキューに存在する限り他のVCより先に送出する、という規則が典型的に組み込まれます。
- 緊急コマンド応答の最優先扱い: 探査機の状態が想定外になった際に地上から送るコマンドへの応答(アップリンクのCOP-1によるACK/NACKを含む)や、セーフモード(セーフモード通信の回参照)移行時のテレメトリは、いかなるミッションでも最優先クラスとして扱われます。特にクリティカルフェーズ(打ち上げ、軌道投入、着陸)では、科学データVCそのものを一時的に完全停止し、帯域のすべてをヘルスモニタリング用VCに振り向ける運用が一般的です。
- DSNのリンクスケジューリングとの連携: DSNスケジューリングの回で見たように、可視パスの割り当て自体が有限で競合的な資源です。可視パス中のVC優先度設計は、このパス割り当てレベルの制約とも連動し、短い可視パスしか得られなかった場合は特にヘルスモニタリングVCへの帯域保証比率を引き上げる、といった運用上の調整が行われます。
- 地上のQoS技術との比較: インターネットの音声・映像トラフィックにおけるDiffServやIntServ(Integrated Services、フローごとの明示的な帯域予約)の考え方は、宇宙リンクのVC優先度設計に強く影響を与えています。ただしIntServ的な「フローごとの動的な予約」は、リンクの往復遅延が長い宇宙通信では予約要求のシグナリング自体にコストがかかりすぎるため、実際にはあらかじめミッション計画時に静的にVCごとの優先度・帯域配分を決めておく、DiffServに近い静的な設計が主流です。
- 国際標準としてのQoS勧告: CCSDS内でも、SLE(Space Link Extension、SLEの回参照)のサービス管理層において、複数のミッション・複数の地上局間でのリソース優先度の考え方が規定されており、VCレベルの優先度制御は、より上位のミッション間資源配分とも整合させる形で設計されます。
演習問題
- あるVCの優先度キューイングシステムにおいて、クラス1(緊急コマンド応答)の利用率が 、クラス2(ヘルスモニタリング)が 、クラス3(科学データ)が の3クラス構成を考えます。本文中のM/M/1優先度キューの公式を用いて、 を の倍数として求め、最下位クラスの待ち時間が最上位クラスの何倍になるか計算してください。
- 本文の2クラス数値例(, )において、もし科学データVCのトラフィックが増加して (システム全体の )になった場合、 はどう変化するか計算し、なぜ優先度キューイングでは低優先度クラスの待ち時間が上位クラスの混雑度に「敏感に」反応するのかを、公式の分母の構造から説明してください。
- 帯域保証方式とベストエフォート(優先度キューイング)方式について、それぞれの利点・欠点を1つずつ挙げ、なぜ実際のミッションではこの2つを組み合わせたハイブリッド設計(たとえばヘルスモニタリングVCへの帯域保証+残り帯域でのベストエフォート優先度制御)が好まれるのかを、この回で学んだ内容をもとに説明してください。
- 地上のインターネットQoS(DiffServ)は輻輳時にパケット破棄と送信元での再送を前提とした設計ですが、宇宙リンクのQoS設計はなぜこの前提に頼れないのでしょうか。片道伝搬遅延と可視パスの有限性という2つの観点から、自分の言葉で説明してください。
まとめと次回予告
CCSDS宇宙データリンクプロトコルの回で学んだ仮想チャンネル(VC)は、複数のデータストリームを区別するラベルにすぎませんでした。この回では、そのVC間で限られたダウンリンク帯域をどう配分するかというQoS設計の問題を、優先度キューイングの基本モデル(非割り込み型M/M/1優先度キュー)を使って定量的に扱いました。高優先度クラスの待ち時間はほぼ自分自身のトラフィックにしか依存しない一方、低優先度クラスの待ち時間は上位クラス全体の混雑度に強く依存して発散しうるという非対称性が、優先度設計の本質的なトレードオフでした。さらに、帯域保証とベストエフォートという2つの設計思想が、実際のミッションではハイブリッドに組み合わされていることも見ました。
次回は視点を少し引いて、こうした複数のVC・複数の地上局・複数のミッションが絡み合う宇宙ネットワーク全体の監視・管理という運用上の課題に軽く触れます。QoS設計そのものは静的な計画で決まる部分が大きい一方、実際にリンクがどれだけ混雑し、どのVCがどれだけ遅延しているかをリアルタイムに把握し続ける仕組みが、運用の現場では欠かせません。
参考文献
- L. Kleinrock, Queueing Systems, Volume 2: Computer Applications, Wiley
- CCSDS 132.0-B, TM Space Data Link Protocol
- CCSDS 913.1-B, Space Communication Cross Support Service Management
- J. H. Yuen (ed.), Deep Space Telecommunications Systems Engineering, JPL Publication 82-76
- J. R. Wertz, D. F. Everett, J. J. Puschell (eds.), Space Mission Engineering: The New SMAD
- S. Blake et al., An Architecture for Differentiated Services, RFC 2475, IETF