[ Top page ]

« インターネットにおける QoS 保証の必要性 | メイン | RSVP にかわるプロトコルの開発 »

QoS 保証

QoS 制御のための基本概念

[Cho 98] [Cho 99] から引用しながら,IP ネットワークにおける QoS 制御のための基本概念としてアドミッション制御,クラシファイア,シェイピングとポリシング,各種のパケット・スケジューリング,各種のバッファ管理,遅延保証,Over-provisioning (過剰投資) をとりあげて説明する. これらのなかで最後の 2 つ以外は QoS 制御のためのトラフィック制御機構 (traffic conditioner) である.

アドミッション制御 (admission control)
これから通信をおこなう 2 者間で,その通信のために指定された帯域が確保できるかどうかを判断することをアドミッション制御という. より一般化された表現をすれば,資源の動的な配分方法を判断することをいう. 「電話網で言えば,発呼時に発信元から着信先までのネットワークパスを確保することに相当します. 動的にアドミッション制御を行う場合には,セットアッププロトコルでパス上の資源を確保します.」
クラシファイア (classifier)
到着したパケットをグループに分類する機構をクラシファイアという.「通常の IP パケットでは,ソースアドレス,ソースポート,ディステネーションアドレス,デステネーションポート,プロトコルの 5 つの値を使って,パケットのクラス分けを行っていました (ファイアウォールのパケットフィルタと同様). このような方法でクラス分けを行うと,検索コストが高くついてしまいますので,DiffServ では IP ヘッダの中の DS フィールドを定義して利用することが行われています.」
シェイピング (shaping) / ポリシング (policing)
バーストを一定のレートにならすことをシェイピング (シェーピング) といい,規定以上の入力がないかを監視することをポリシングという. 「シェーピングは,バーストをならしてジッタを減少させ,トラフィックが一定量になるように働きます. シェーピングでは,規定以上の入力を監視して,それを超えるものを破棄する働きをします. 通常,ポリシングを行っているネットワークには,シェーピングを行ってならしたトラフィックを流し込むために,これらの技術を同時に使用します.」 (「リーキー・バケットとトークン・バケットのあいだの混乱」 参照)
パケット・スケジューリング (packet scheduling)
パケットを,それが属するグループに応じたレートで送出することをパケット・スケジューリングという. 「パケットをキューイングする機構と,バッファ管理を行う機構に分けて考えることができるでしょう.」 スケジューリングは適切に制御することによって QoS を保証するのにやくだつが,不適切なスケジューリングは QoS を劣化させる. すなわち,「QoS を実現するための要素がいくつかありますが,中でもキューイングによる遅延が最も大きな影響を及ぼします. ネットワーク・インタフェースの出口,特に LAN から WAN への接続点や,複数の流入口から特定の出口に向かう点では,キューの中でパケットが長時間を過ごすことになります. パケットがキューの中で過ごす時間をコントロールすることができれば,有効な QoS 制御ができることになります.」  代表的なスケジューリングの方法として Priority Queueing (PQ), Weighted Fair Queueing (WFQ), Class-Based Queueing (CBQ) がある.([ ] 内は報告者による補足)
  • PQ (Priority Queuing,優先キューイング) は 「最も基本的な方法で,優先度に基づくクラス毎にキューを持ち,優先度の高いものから出力していく方法です. 単純な機構で,(優先度の高いクラスの) リアルタイム制を保証できますが,優先度の低いクラスがスターブ (枯渇) してしまう可能性があります. クラシファイアによってクラス分けされたパケットは,優先度別にキューに入れられます. スケジューラは,優先度が高いキューから順にパケットを取り出して出力していきます.」
  • WFQ (Weighted Fair Queuing) は 「フロー (たとえば [特定のユーザから他の特定のユーザへの] TCP セッション) 毎にキューをわりあてて,フロー毎に公平なキューイングを行う方法です. 他のフローの影響を一定以下に抑えることができますが,フローの数だけキューが必要となります. クラシファイアは,フロー毎のキューにパケットを納めます.スケジューラは,ラウンドロビン方式で,それぞれのキューから公平にパケットを出力します. これにより,それぞれのフローは,少なくとも 1 周に 1 回は出力のチャンスを得ます.」
  • CBQ (Class-Based Queuing) はフローを階層的に制御するために,クラス毎に規定した使用量に応じたトラフィック制御を行うための方法です. スケジューラの出力は,クラス毎にエスティメータによって測定され,クラスに設定された上限値を超えた場合には,キューに対するペナルティとなります. スケジューラは,そのペナルティを考慮したラウンドロビン方法によって出力を行います. これにより,クラス毎に 「出力の ○○% まで」といった,定量的な利用量を定義できるようになります.」
バッファ管理 (buffer management)
キューがあふれたときに,パケットを選択して破棄する方法をバッファ管理 (法) という. 「代表的なバッファ管理法として,Drop-Tail,Drop-Head,Drop-Random,RED がある.([ ] 内は報告者による補足)
Drop-Tail [末尾廃棄] とは,いわゆる FIFO バッファで,溢れているキューの末尾,すなわち最後のものを破棄する方法です. Drop-Head [先頭廃棄] とは,逆に先頭のものを破棄する方法で,TCP の再送メカニズムからは,パケット溢れが早期に検出できるというメリットがあります. また,キューにあるパケットをランダムに破棄する,Drop-Random [ランダム廃棄] という方法も考えられます.」 さらに,「ウィンドウによって流量をコントロールしている TCP では,いくつものフローにおいて同時にパケットの破棄が起きた場合に,それぞれのフローが同時に送出の停止と再開を行って,効率的な送信ができなくなってしまうという同期現象が起こり得ます. RED [(Random Early Detection) [Flo 93]] は,これを回避して,バッファが溢れる前に流量をコントロールし,キューの長さをできるだけ短く保つために,キューの長さの平均値に応じた確率でパケットの破棄を行う方法です. 平均キューサイズの上限値と下限値を決めておき,図 1 のような確率でパケットを破棄します. これにより,バッファの占有率に応じた公平な破棄となりますし,瞬間的な短いバーストを許容することもできます. ただし,パケットの破棄が起きても流量を絞らないフロー (たとえば UDP のストリーム等) には無防備です.」
これらのほかに,RIO [Cla 98] [Tat 01] という,RED を改良して契約帯域内のパケットとそうでないパケットの廃棄率に差をつけた方法も有力である.

RED.jpg
図 1 Random Early Detection におけるパケット廃棄確率

遅延保証
「80 年代の半ばに,Parekh が,パケット交換において遅延保証ができることを解析的に証明しました. QoS は,この理論を基に発展を始めたと言っても良いでしょう. Parekh は,アドミッション制御と,送出量の制限 (シェーピング),パケットスケジューリングを組み合わせれば,遅延時間を一定以内に抑えられることを示しました. Parekh のモデルでは,トークンバケット (シェーピングの一種) と WFQ を組み合わせて使用しました. トークンバケットによって,一定レート以下にシェーピングされたトラフィックは,WFQ によるキューイングシステムを何段か経由しても,WFQ によって最大遅延時間が保証されますので,エンド-エンドでも遅延時間が保証できることになるというものです.」
Over-provisioning (過剰投資)
トラフィックに対して必要量をこえる帯域幅などの資源をあたえることによって,予測をこえるトラフィックがながれても QoS を確保できるようにすることを over-provisioning という. 「小規模なネットワークでは,この方法もある程度有効なのですが,トラフィックの集中は予測できませんし,トラフィックは自己相似的ですから,広域なネットワークではコスト的に割があいません. QoS と over-provisioning は,二者択一の方法ではなく,コストと運用を考慮したバランスを取ることが重要でしょう. 効果的な QoS を実現するには,ある程度の余裕,すなわち over-provisioning が必要です.」

関連項目

参考文献

  • [Cho 98] 長 健二朗, “QoS 技術 ~ IntServ と DiffServ”, Internet Week 98, (社) 日本ネットワークインフォメーションセンター, http://www.nic.ad.jp/ja/materials/iw/1998/notes/C12.pdf, 1998.
  • [Cho 99] 長 健二朗, “インターネットにおける QoS 制御技術 ~ DiffServ”, Internet Week 99, (社) 日本ネットワークインフォメーションセンター, http://www.nic.ad.jp/ja/materials/iw/1999/notes/C8.PDF, 1999.
  • [Cla 98] Clark, D. D. and Fang, W., “Explicit Allocation of Best-Effort Packet Delivery Service”, IEEE/ACM Transactions on Networking, Vol. 6, No. 4, pp. 362–373, August 1998.
  • [Flo 93] Floyd, S. and Jacobson, V., “Random Early Detection gateways for Congestion Avoidance”, IEEE/ACM Transactions on Networking, Vol. 1 No. 4, p. 397–413, August 1993.
  • [Tat 01] Tat Chee Wan and Swee Keong Joo, “Random Early Drop with In & Out (RIO) for Asymmetrical Geostationary Satellite Links”, Joint Int'l Conference IEEE MICC 2001, LiSLO 2001, and ISCE 2001, Kuala Lumpur, Malaysia, October 2001.
Keywords: アドミッション制御, クラシファイア, 分類器, シェイピング, シェーピング, パケットスケジューリング, パケットキューイング, バッファ管理, 優先キューイング, WFQ, CBQ, 末尾廃棄, 先頭廃棄, ランダム廃棄, RED, RIO

コメント (2)

金城:

細かいことですが,アドミッション制御の“contorol”の箇所“control”じゃないですか?

金城さん,どうもありがとうございました.
最近コメントをみていなかったので,おそくなりましたが,なおしました.

コメントを投稿

Powered by
Movable Type 3.36