PR

実際にルーターで優先制御や帯域制御を行うには,通過するパケットをルーターが識別して,処理に適した待ちキューに振り分けるしくみが必要になる。Part4では,ルーターがパケットを正確に識別するしくみを説明しよう。

 実際にルーターで優先制御や帯域制御を使うには,通過するパケットを見分けて,処理に適した待ちキューに振り分けるしくみが必要になる。

 例えばIP電話のパケットを最優先で転送する場合。ルーターは受け取ったパケットからIP電話のものを選び出し,最優先の待ちキューに入れて処理しなければならない。ルーターにとってこの作業は意外に難しい。通信の優先度や種類を見分ける方法に標準と呼べるものがなく,場合によって見分け方を変えなければいけないからだ。

自動的には優先してくれない

 インターネットでは優先制御や帯域制御を使わないのが一般的。それぞれのアプリケーションのパケットをルーターでどう扱うかという統一的な基準は決められていない。優先制御や帯域制御を使うにしても,製品によって持っている機能はまちまちだ。使用するアプリケーションや回線の種類,ユーザーの使い方などの条件が変われば,どういうパケットをどう扱えばいいかという答えも変わってくる。

 このためルーターは,パケットの種類を自動的に判別して適切にQoSの処理を行うようにはできていない。ルーターに対して,どのような方法でパケットを区別して,区別したパケットをそれぞれどのように扱うかをユーザーが設定しなければならない。

 ルーターがパケットを識別するのに使う情報は,おもに4種類ある。(1)IPアドレス,(2)TCPとUDPのポート番号,(3)IPヘッダーのTOS(トス)フィールド,(4)VLAN(ブイラン)タグ――である(図1)。

図1●ルーターはQoS制御のためにパケットを1個ずつ識別する<br>適切なキューに送り込むために,あらかじめ設定した内容とヘッダーを見比べてパケットを分別する。
図1●ルーターはQoS制御のためにパケットを1個ずつ識別する
適切なキューに送り込むために,あらかじめ設定した内容とヘッダーを見比べてパケットを分別する。
[画像のクリックで拡大表示]

 このうち,IPアドレスおよびTCPとUDPのポート番号は,通信している端末やアプリケーションを示す。つまり,端末やアプリケーション単位にQoSを設定するのに使うわけだ。

 一方,TOSフィールドやVLANタグには,QoS制御専用の情報を入れるフィールドが用意されている。これらはおもに,ルーターやLANスイッチで判断したパケットの優先度をほかのルーターなどに伝える場面で使われる。

よく使う情報はアドレスとポート番号

 まず,(1)のIPアドレスと(2)のポート番号から見ていく。パケットの識別にはIPアドレスとTCPとUDPのポート番号がよく使われる。ただし,それぞれに一長一短がある。

 IPアドレスは送信元とあて先の端末の両方もしくは片方を指定する。IP電話機やVoIPゲートウエイなど,特定のアプリケーション専用の端末を固定のIPアドレスで使っているなら,IPアドレスを指定することで,対象のパケットを確実に見分けられる。

 ただし,IPアドレスだけでは判断がつかないことも多い。パソコンのように同一の端末で優先度の違う複数のアプリケーションが動いているようなケースがそうである。IPアドレスの情報だけでパケットを識別しようとすると,優先しなくてもいい通信まで優先してしまうことになる。また,DHCP(ディエイチシーピー)でIPアドレスを自動的に割り振る環境だと,IPアドレスを見てもどの端末か判断できない。

 その場合は,TCP/UDPポート番号を使えばいい。多くのアプリケーションは固定したポート番号を使うため,優先度を識別する手がかりになる。

 しかし,この方法も完全ではない。アプリケーションによっては使用するポート番号が毎回変わるものや手作業で設定できるものもある。設定してもきちんと優先されなかったり,逆に優先するべきでないものが優先されてしまったりすることがあるのだ。

 つまり,ルーターで正しくパケットを識別するためには,IPアドレスとTCP/UDPポート番号を同時に見て判断することが必要になる(図2)。

図2●一つの情報だけでは識別できないことがある<br>アプリケーションによっては,優先度が高いものと区別できないものもある。このため普通は,端末を収容するルーターで優先度を確実にチェックする。
図2●一つの情報だけでは識別できないことがある
アプリケーションによっては,優先度が高いものと区別できないものもある。このため普通は,端末を収容するルーターで優先度を確実にチェックする。
[画像のクリックで拡大表示]