ALTQ(代替キューイング:ALTernate Queueing)は、BSDUNIXネットワークインタフェースでのキュー制御に関連するパケットスケジューラのためのフレームワークである[1]。ALTQはキューイングによる制御と、リソースの共有とサービスの質の向上を実現するのに必要なQoS関連のコンポーネンツを提供する[2]。ほとんどのBSD系のルーターに実装されている。ALTQは、ベースディストリビューションに含まれているFreeBSDNetBSDDragonFly BSDのベースとするディストリビューションに含まれており、OpenBSDパケットフィルタであるPFにも統合されている。

仕組み

編集

キューイング

編集

通信プロトコルには、HTTPSSHのようなアクセスの遅延に敏感に対処せざるを得ないものとFTPのように多少時間がかかってもQoSにさほど問題にならないものがある[3][4]

例えば、SSHクライアントで鍵がタイプされた場合には、直ちに反応することが期待されるが、ルーターがSSH接続の処理の前にFTP接続からの大量のパケットの塊を処理しようとした場合、SSH接続のパケットはキューに取り残されるので、SSH の接続は遅延し、動きが悪くなったように見えるかも知れない。あるいは、ルーターがすべてのパケットを保持するのに十分大きなキューがない場合には、 このようなパケットは廃棄されてしまうかも知れない。そこで、 使用されているキューイングの戦略を変更することが出来れば、異なるアプリケーション・ユーザ・コンピュータの間でネットワークの帯域幅を適正に共有することができるようになる。

スケジューラ

編集

ALTQのスケジューラは、処理すべきキューとその中の順序を決定する。原則として、処理はFIFO(先入れ先出し)とする。もし、キューが一杯になると、 新しく到着したパケットは廃棄される(テイルドロップ)。

CBQ (Class Based Queueing)
複数のキューやクラスの間で、ネットワーク接続の帯域幅の分割を行うキューイングアルゴリズムである。
CBQ のキューは階層的なツリー構造で配置される。階層の最上位には、利用可能な帯域幅の総量を定義する「ルート (root) キュー」が位置していて、「子キュー」がルートキューの下に生成され、それぞれにルートキューの帯域幅の一部が割り当てられている構造である。
子キューの更に下の階層も設けることが出来る。 親キューが割り当てられた帯域幅以内で、帯域をその子キューに分割することが出来る。
PRIQ (Priority Queueing)
それぞれのキューに固有の優先度が与えられた複数のキューを、ネットワークインタフェースに割り当てることで、より高い優先度を持つキューは、常により低い優先度のキューより先に処理が行われるようにする。
RED (Random Early Detection)
輻輳回避アルゴリズムである。その仕事は、キューが一杯にならないことを確実にすることで、ネットワークの輻輳を 回避することである。
これは、キューの平均的な長さ(サイズ)を連続的に計算し、それを2つの閾(しきい)値、つまり下限の閾値および上限の閾値と比較することによって行われる。
もし、平均的なキューのサイズが下限の閾値を下回っている場合には、パケットが廃棄されるようなことは全くない。
しかし、平均値が上限の 閾値を上回っているような場合には、新しく着信するすべてのパケットが 廃棄されてしまう。
もし、平均値がこれらふたつの閾値の間の値であれば、 平均的なキューのサイズから計算された確率に基づいて、パケットは廃棄されることになる。これは換言すれば、平均的なキューのサイズが上限の閾値に近付けば近付くほどパケットはより多く廃棄されることになるということである。
パケットを廃棄する場合には、REDはパケットを廃棄する接続をランダムに選択する。 これは、より大きな帯域幅の総量を使用している接続ほど、パケットが廃棄される 確率がより高いということになる。

設計されるまでの経緯

編集

BSD系オペレーティングシステム (OS) 上にIPv6を中心としたインターネット技術の標準コードを実装することを目的としたKAMEプロジェクト[5]の一員であった長 健二朗によってQoSを実現するトラフィック管理技術として設計・実装した[6]

関連項目

編集

脚注

編集
  1. ^ ALTQの設定(FreeBSD) - UnixPower on Networking”. UnixPower on Networking. 2014年3月6日閲覧。
  2. ^ ALTQ: Alternate Queueing for BSD UNIX”. csl.sony.co.jp.]. 2014年3月6日閲覧。
  3. ^ QoSの概要 - ネットワークエンジニアとして”. infraexpert.com. 2014年3月6日閲覧。
  4. ^ PF: パケットキューイングと優先順位付け”. OpenBSD. 2014年3月6日閲覧。
  5. ^ ALTQ: Alternate Queueing for BSD UNIX (version 3.1)”. IIJ Innovation Institute Inc.]. 2014年3月6日閲覧。
  6. ^ ALTQトラフィック管理システムの設計と実装に関する研究”. MAUI Project]. 2014年3月6日閲覧。

外部リンク

編集

📚 Artikel Terkait di Wikipedia

トークンバケット

(r*S)/1000} となる。 階層型トークンバケット (hierarchical token bucket、HTB) は、Linux での Class Based Queueing (CBQ) というキューイング規則の代替となる高速化手法である。 HTB は、そのリンク上の帯域幅の利用を制御する補助となる。H

高木英明

編集委員(1984年2月~2015年3月) IEEE Transactions on Communications 編集委員(1986年6月~1993年2月) Queueing Systems: Theory and Applications 編集委員(1988年7月~2009年12月) プロジェクトマネジメント学会

髙橋豊

Yue(Editor), Yutaka Takahashi(Editor), Hideaki Takagi(Editor):“Advances in Queueing Theory and Network Applications”, Springer, Cambridge, MA, (2008) ISBN 0387097023

西野嘉之

shared concentration output queueing switch with shifter and middle buffer」,ICT'97 1997 「The shared concenstration output queueing with middle buffer at input

岳五一

in Queueing Theory and Network Applications", Springer (edited by Wuyi Yue, Yutaka Takahashi, Hideaki Takagi), 2009. ISBN 9780387097022 "Queueing Theory