QoSってどんなことを指しているんだろう?

このごろよく

「QoSをちゃんと考えなきゃいけない」

ってことを言いますよね?ぼくもよく言います。
でも、ホントにQoSってどういうことを意味しているのかを理解している人はそんなに多くないなぁっていう感じがします。
ぼくも昔は、言葉だけは「QoS、QoS」って言っていましたが、具体的なことはわからずに使っていた覚えがあります。ちょっとわかってきたつもりだったときは、パケットの転送する順番の優先度をつけることだと考えていました。でも、そんな理解は、根本的なものではなく、表面だけをなぞっていただけだったなぁといまでは思います。

QoSの本質的なことは何一つわかっていませんでした。

QoSのサービスって何?

QoS(Quality of Service)は、日本語に直訳するとサービス品質です。雑誌などの用語解説でも一言で「サービス品質」って書いていますよね?でも、

「サービス品質という言葉だけでQoSって何をするのかがわかります?」

ぼくは、よくわかりませんでした。よくわからずに使っていました。

まず、このサービス品質の「サービス」とは何を意味するのかを考えましょう。

ネットワークを利用する大きな目的は、ネットワーク上で動作するいろんなアプリケーションを利用して、コミュニケーションしたり、ビジネスをすすめて行くことです。ネットワーク上を流れていくパケットは、Webブラウザやメールなどのさまざまなアプリケーションのものがあるわけです。
各アプリケーションが提供する機能をサービスと考えてください。つまり、WebブラウザならWebサイトを閲覧する機能がWebブラウザのサービスです。メールソフトならメールを送受信する機能がメールソフトのサービスです。最近流行のIP電話なら音声通話を行う機能がIP電話のサービスです。

アプリケーションごとに、目的とするサービス(機能)が違うわけですから、当然のことながら、ネットワーク上に各アプリケーションのパケットをどのように転送するかも異なります。
たとえば、IP電話で音声を転送するVoIPのパケットは1セッション辺り常に一定の帯域幅を確保し、遅延も片方向で150ms以内に抑えることが求められます。さらに、VoIPパケットは送信先に一定の間隔で到着しなければいけません。一定の間隔でパケットが到着せずに到着間隔のゆらぎのことをジッタといいます。ジッタがあると、聞き取りにくい音声になってしまいます。でも、VoIPのパケットがネットワーク上でなくなってしまったとしても、連続してパケットがなくならなければ若干音声が途切れるだけです。
一方、WebブラウザのHTTPのパケットは常に一定の帯域幅を確保しなくてもいいし、遅延やジッタについてもそれほど敏感になる必要はありません。しかし、HTTPのパケットがなくなるとすると再送しなければいけません。

以上のように、アプリケーションごとにそのパケットをどのように転送するかが違ってくるのです。アプリケーションのパケットを転送する際に、帯域幅を確保したり、遅延を少なくしたり、ジッタやパケットロスを制御したりして、アプリケーションが提供するサービス(IP電話の通話、Webの閲覧など)の品質を維持することがQoSです。

QoSで制御する要素

もう少し、技術的な観点からQoSを考えます。
QoSとは、ネットワーク管理者がアプリケーショントラフィックに対しての次の要素を制御することと考えられます。

・帯域幅
・遅延
・ジッタ
・パケットロス

これらの要素のことを「ネットワーク要件」と言ったりすることがあります。

QoSを実装するときの手順

実際にネットワークにQoSを実装するときには、まずネットワーク上にどのようなアプリケーションのトラフィックが流れているのかを明確にする必要があります。

そして、次に各アプリケーショントラフィックに対して、どのような要件が求められるかを検討します。要件としては上に挙げているとおり、帯域幅、遅延、ジッタ、パケットロスについて考えましょう。
たくさんのアプリケーションが存在する場合、すべてのアプリケーションの要件を満足することが難しいことがあります。そんなときには、どのアプリケーションを優先するかを決定しなければいけません。また、よく似たネットワーク要件のアプリケーションは、まとめてグループ化することもあります。
こうして検討した、どのアプリケーションを優先するのか、各アプリケーションに対して帯域幅、遅延、ジッタ、パケットロスをどの程度にするかということを決めたものを、QoSポリシーと呼びます。
最後に、QoSのポリシーにしたがって、ルータやスイッチなどのネットワークデバイスに設定を行うという手順になります。

冒頭に書いた「パケットの転送する順番の優先度をつける」というQoSの意味は、一番最後のネットワークデバイスの設定のことを指しているだけです。もちろん、きちんとネットワークデバイスの設定をしなければ、QoSは機能しませんが、QoSの大事な考え方は、どうやってQoSポリシーを決めていくのかということです。