このHPはQoSの機能についてまとめたものです。
1-1 QoSとは
QoSとは、主にネットワークにおけ
る「サービスの品質」を意味し、ある通信において特定のトラフィッ
クの優先度をあげたり、一定の通信速度を保つ技術。具体的には、ネ
ットワーク上で、通信のための帯域をあらかじめ予約し、特定の通信の通信速度・品質を保証する技術のこと。
ネットワークに次の様な問題が発生することにより、円滑なト ラフィックフローが妨げられる。
◆【遅延】
あるネットワークデバイスから別のネットワークデバイスにパケットを送信すると
き、実際の配信には若干の遅れが伴う。この遅延のことを言う。遅延
の増大には様々な原因が考えられるが、ハードウェアの性能に依存する固定遅延
と、ネットワーク状態に依存する可変遅延に大別される。
◆【ジッタ(ゆらぎ)】
IPネットワークは、IPパケットを1つずつ 処理して転送する。ネットワークの込み具合によって、転送速度や到達時間が一定ではなく、 バラツキが発生することがある。これをジッタ(ゆらぎ)と いう。
HTTPやSMTP等のプロトコルを使うアプリケーションであれば、ジッタは特に問題にはな らないが、VoIPやビデオストリーミングなどのリアルアプリケーションでは、ジッタによって 音声がうまく聞き取りにくくなったり、映像がうまく表示されなかったりすることがある。
◆【パケット損失(パケット・ロス)】
IPネットワークでは、ネットワーク機器の性能に よって、あるいは、トラフィックがネットワーク機器に集中(輻輳)することによって、また、その他様々な要因で、パケットが損失(パ ケット・ロス)してしまうことがある。
TCPのような信頼性の高い、コネクション型のプロトコルであれば、ある程度のパケット損 失は許容され、再伝送によって回復することも出来る。一方、他のプロトコルはそうした耐性を備えていないので、パケット・ロスはデータの損失を意味する。
1-2 QoSの基本的な機能
QoSの基本的な機能には以下の4つがある。
●クラス分類
●マーキング
●キューイング
●スケジューリ
ング
【クラス分類】
受信したパケットを分類する。分類するキーワードは、以下の様なものがある。
★送信元・あて先IPアドレス
★TCP・UDP番号
★受信インターフ
ェイス
★パケット長
★IP
Precedence
★DSCP
★CoS
★MPLSラベル
このように、アプリケーションや宛先アドレスな ど、パケットをある特定の条件で分類することを、「クラス分類」と呼んでいる。
【マーキング】
分類されたパケットをそれぞれグループ化して、優先度を設定するプロセスを、「マーキング」
と呼ぶ。
ネットワークに流れているパケット毎に、特定の条件にマッチしたものをそれぞれの優先度に合わせてグループ化していく。
具体的には、パケットのヘッダにある以下のフィールドに記述していく。
★IP Precedence
★DSCP
★CoS
★MPLSラベル
一度マーキングされた値は、ネッ トワーク全体で一貫して使用されるため、ネットワークエッジ近くで信頼できる(正しい)値にマーキング処理をすることが推奨 される。
規模の大きなネットワークで,パケットを中継する機器ごとに分類,マーキングを行うと 機器に負荷がかかり,遅延の原因になる。これを防ぐため,「Trust」という設定を行い,他の機 器でマーキングされた情報を信頼することができる。
なお、マーキングされた値を信頼する範囲と信頼 しない範囲の境界を「信頼境界」という。また,Cisco IPPhoneは最 初から音声パケットなどをマーキングして出力することができる。
ルータは転送処理を行ったパケットをいったん キューにバッファ(蓄積)した後、一定のルールに従ってバッファから取り出して実際にそのパケットを送出する。また、キューイングには以下のものがある。
★FIFO
★WFQ
★CBWFQ
★LLQ
★WRED
【スケジューリング】
実際にネットワークに送信するために、キューイ ングされたパケットを転送キューに入れていくプロセス。各キューからどの様な順序でどれ くらいスケジューリングして転送キューに入れ、ネットワーク上に送出するかによって、各キューのパケット転送を制御できる。
1-3 QoSのアーキテクチャ
QoSのアーキテクチャには、以下の3つのアーキテクチャがある。
●DiffServ
●IntServ
●ベストエフォート
【DiffServ】
DiffServ
は、パケットを様々な要素で分類し、グループごとに優先度を定義し、その定義に従ってパケット
の転送を実施する機能の事。
一般的に QoS といえば、この DiffServ のことを指す。分類したパケットのグループの優先度を表すために、IPヘッダ内のIP PrecedenceやDSCP、IEEE802.1QタグのCoSなどを使う。
★レイヤ2のQoS分類
レイヤ2フレーム自体には、内容のプライオ リティやメカニズムは無い。しかし、フレームがスイッチからスイッ チに運ばれるときには、分類を行う機会がある。トランクはフレームをカプセル化し、送信元のVLAN番号を示すタグを付加することによっ てこの分類を行う。
カプセル化には、各フレームの『CoS』をマーキ ングできるフィールドも含まれている。これを利用すればスイッチ境界において、ある種のQoS決定を行うこと が出来る。
IEEE802.1p標準で規定されたCoS値を使用したマーキング によって、イーサネットフレームに対する優先制御を 実装することが出来る。IEEE802.1pとIEEE802.1qで使用されるタグは以下のように構成される 。
VLANの識別には、IEEE802.1qで規定されたVLAN IDフィールドが参照されるのに対して、フレーム優先順位(トラフィッククラス)の識別には 、IEEE802.1pで規定されたプライオリティフィールドが参照される。
★レイヤ3のQoS分類
TCP/IPの通信を行う場合、そのフレームには20バ イトのIPヘッダーが付加される。IPヘッダに含まれる『ToS』値を使用したマーキングによって、IPパケットに対する優先制御を実装するこ とが出来る。ToS値は次の様に構成される。
8ビットのToSフィールドのうち、上位3ビットの 値は『IP Precedence(IP優先順位)』と呼ばれ、0〜7の8段階でトラフィックの優先順位を表現することができる。
『DSCP』は、IPヘッダのToSフィールドの内、上位6ビット。IP Precedence(IP優先順位)よりも詳細な64段階の優先順位を認識する。
【IntServ】
IntServとは、
RSVP
というシグナリングプロトコルを使用することによって ネットワーク上に流れるアプリケーションフローを認識し、フローごとにネット
ワークの帯域幅を予約したり遅延を保証したりするQoSアーキテクチャの事。
ただし、現在のネットワーク上には非常に多くのアプリケーションフローが発生し、それ を各ルータが保持するので、ルータに大きな負荷がかかってしまう。従って、中 ・ 大規模ネットワークには適していない
【ベストエフォート】
ベストエフォー
ト型のQoSは、パケットの内容やサイズに関係なく先着順にキューイングして処理する。
到着した順にパケットを転送する方式をFIFOという。
1-4 補助VLAN(音声VLAN)
補助VLAN(音声VLAN)は、IOSでサポートされる機能で、Cisco IP PhoneとPCを、音声トラフィックにタグ付けすることにより、別々のVLANに配置できる機能の事。 補助VLAN(音声VLAN)は、音声トラフィックを転送するためのVLAN。
補助VLAN(音声VLAN)は、Cisco IP Phoneとアクセススイッチの間で使用される。補助VLANを使用することにより、IP Phoneから送信される音声パケットはタグ付けされ、データトラフィックよりも優先的にアクセススイッチに送信されることになる。
一方データトラフィックは、一般にタグ付けの設 定をせずに「ネイティブVLAN」上で伝送される。また、Cisco IP Phoneとアクセススイッチの間の接続には、IEEE802.1pおよびIEEE802.1qプロトコルが使用される。
1-5 QoSの設定
Catalyst 2960,3560,3750でQoSおよび補助VLAN(音声VLAN)を使用する場 合の基本的な設定は以下のとおり。
@【QoSの有効化】
QoSはデフォルトでディセーブルにされてい
る。グローバルコンフィグレーションで「mls
qos」コマンドを使用すると、スイッチでQoS機能が有効になる。
switch(config)# mls qos
A【補助VLAN(音声VLAN)マッピング】
Cisco IP Phoneは補助VLAN(音声VLAN)をサポー トしているので、「switchport voice vlan【VLAN-ID】」コマンドで、ポートに補助VLAN(音声VLAN)を設定することができる。これにより、 音声トラフィックとデータトラフィックがレイヤ2レベルで分離される。
switch(config-if)# switchport voice vlan【VLAN-ID】
B【分類設定】
スイッチのインターフェイスのデフォルトは、他 のデバイスが付けた優先度を信用しない「untrust」状態になっている。
ポートの信頼状態を設定するには、「mls qos trust」コマンドを使用する。このコマンドにより、外部から着 信してくるトラフィックの cos 、 dscp 、 ip-precedence値等を信頼しその値をベースに QoSラベルが生成(CoS値またはDSCP値)されて、分類が行われる。
switch(config-if)# mls qos trust【cos・ip-precedence・dscp・device cisco-phone】