ALTQ(代替キューイング:ALTernate Queueing)は、BSD系UNIXのネットワークインタフェースでのキュー制御に関連するパケットスケジューラのためのフレームワークである[1]。ALTQはキューイングによる制御と、リソースの共有とサービスの質の向上を実現するのに必要なQoS関連のコンポーネンツを提供する[2]。ほとんどのBSD系のルーターに実装されている。ALTQは、ベースディストリビューションに含まれているFreeBSD・NetBSD・DragonFly BSDのベースとするディストリビューションに含まれており、OpenBSDのパケットフィルタであるPFにも統合されている。
通信プロトコルには、HTTPやSSHのようなアクセスの遅延に敏感に対処せざるを得ないものとFTPのように多少時間がかかってもQoSにさほど問題にならないものがある[3][4]。
例えば、SSHクライアントで鍵がタイプされた場合には、直ちに反応することが期待されるが、ルーターがSSH接続の処理の前にFTP接続からの大量のパケットの塊を処理しようとした場合、SSH接続のパケットはキューに取り残されるので、SSH の接続は遅延し、動きが悪くなったように見えるかも知れない。あるいは、ルーターがすべてのパケットを保持するのに十分大きなキューがない場合には、 このようなパケットは廃棄されてしまうかも知れない。そこで、 使用されているキューイングの戦略を変更することが出来れば、異なるアプリケーション・ユーザ・コンピュータの間でネットワークの帯域幅を適正に共有することができるようになる。
ALTQのスケジューラは、処理すべきキューとその中の順序を決定する。原則として、処理はFIFO(先入れ先出し)とする。もし、キューが一杯になると、 新しく到着したパケットは廃棄される(テイルドロップ)。
BSD系オペレーティングシステム (OS) 上にIPv6を中心としたインターネット技術の標準コードを実装することを目的としたKAMEプロジェクト[5]の一員であった長 健二朗によってQoSを実現するトラフィック管理技術として設計・実装した[6]。
未登録
IPFS未登録
📡 0ピア
N=1
CRITICAL
PQS D31