Cisco Systems社認定資格であるCCNP(Cisco Certified Network Professional)出題範囲における技術について、定期的にご紹介します。
CCNP資格は【ROUTE】【SWITCH】【TSHOOT】の3つの試験に合格することで取得することができます。
今回は試験に直接的に出てくるわけではないですが、知っていると学習がスムーズにできるQoSの内容についてご紹介したいと思います。
ネットワーク通信の現状
インターネットが発達した現在において、ネットワークインフラが整備されるとともに、その利用も拡大されつつあります。またネットワークの利用の拡大につれ、転送されるトラフィックの量も増加し、その種類も多様化してきています。様々な用途でネットワークを利用することで利便性は高まってきていますが、その多様性とトラフィックの増加がネットワークに与える影響は大きく、サービスのレスポンスが遅いとか最悪の場合、サービス提供が不可能な状態に陥ったりするほど、ネットワークに圧迫を与えることも起こりつつあります。
そのトラフィックの中にもトラフィック量の多いもの、少ないもの、データサイズの大きいもの、小さいもの等があります。通常、これらのトラフィックが同じ伝送路を流れた場合、全てが平等の通信として扱われます。ネットワークのリソース(帯域や機器のメモリのようにデータ転送の処理に使用するコンポーネントの総称)が十分に足りている場合はいいのですが、それが足りなくなると、データベースのアクセスが遅くなったり、IP Phoneなどの通信で相手との会話がうまく聞き取れなかったり等、業務の遂行に支障をきたすことにもつながってきます。
以下で詳しく見ていきましょう。
トラフィックを平等に扱っている場合 1
ルータやスイッチではデータを受け取ると、そのデータの出力インタフェースを決めます。出力インタフェースが決まると、データは一旦その出力インタフェースのバッファ領域で出力される順番がくるまで待機します。
パケットが自分の転送順番まで待つバッファ領域のことをキュー呼びます。また、パケットがキューに格納されることをキューイングと呼びます。
たとえば、下図にあるように、メール、FTP、音声トラフィック(VoIP)※がすべてスイッチの同じインタフェースから出力される場合、たまたま音声トラフィックのみが通信を行っていると、キューの中に音声トラフィックのみが入り、すぐに出力インタフェースから転送されていきます。また、それに続き2番目のパケットもすぐに出力インタフェースから転送され、スムーズに相手に音声データが届く理想的な状況となります。
※ VoIP(Voice over IP)・・・ TCP/IPネットワークを使って音声データを送受信する技術
トラフィックを平等に扱っている場合 2
しかし、そのような状況になることはあまりなく、実際には様々なトラフィックが一度にデータを送りあっていることの方が多くなります。たとえば、下図のように㈰〜㈮の順番でメール、FTP、音声トラフィックがデータをスイッチが受け取ったとしましょう。
しかし、スイッチの処理速度が早ければいいのですが、追いつかずバッファ領域(キュー)が順番待ちのパケットであふれかえってしまうことがあります。この状況を輻輳といいます。
輻輳が発生すると、キューにパケットがたまっていきますが、キューのサイズには限りがあります。キューがパケットでいっぱいになってしまうと、新しく到着したパケットはキューに入りきらず破棄されます。これをテールドロップ(Tail Drop)といいます。つまり、輻輳状態になると、新しく到着するパケットはテールドロップされ全て破棄されてしまいます。
音声トラフィックに注目してみると、音声トラフィック㈰が出力された後、2番目のパケットは他のメールやFTPトラフィックの後にスイッチに到着したとすると(音声トラフィック㈬)、1番目のパケットが相手に届いてから2番目のパケットが届くまでに間隔があいてしまうことになります。そのことを遅延と言います。この場合、相手には音が間隔があいて聞こえる形になります。
また、輻輳によりキューに入りきらずに破棄されたデータに関しては、TCP制御のものであれば、再送信の機能がありますが、音声トラフィックのようなUDP制御のものは再送信機能がありませんので、一部途切れて音声が相手に伝わることになってしまいます。
そのため、トラフィック毎に優位性を設け、ネットワークの混雑時には、優位性の高いものを優先的に転送できるような仕組みを施し、効率よくデータの処理が行えるようなネットワークを構築する要求が発生するようになりました。
このような要求に応えるサービスがQoS(Quality of Service)で、その名の通り、通信品質、通信にクオリティをもたらすサービスの事を言います。
QoSの機能
ネットワーク機器が使用できるリソース(CPU、メモリ、帯域幅など)は機器毎に決まっています。さらに構築されたネットワークで発生するトラフィックも調べることができます。機器のリソースと発生するトラフィックを考慮して、輻輳時にはどのようなサービスを提供すれば効率の良い業務遂行ができるかを予測することができます。その予測に基づいて予めネットワーク機器に設定を施しておけば、輻輳が発生しても高品質なデータ転送を提供することができます。
QoSでできる機能に以下の3つがあります。
- 優先制御 トラフィックに優先順位を設け、輻輳時には優先度の高いものから転送する
- 帯域制御 輻輳が発生しても一定の帯域幅を確保する
- 輻輳回避 輻輳をできる限り回避させる
これらをうまく組み合わせて効率の良いデータ転送を行えるネットワークを構築します。
以下では優先制御の設定をした例でみていきます。
QoSの設定をした場合
QoSはルータ、スイッチでやることができます。今回はスイッチで優先制御のQoSをやった場合を紹介します。
スイッチで扱う優先度値の事をCoS値と言い、0〜7までの値があります。値が大きいほど高い優先度値となります。このCoS値で優先制御を行うことができます。
例えばFTPにCoS値「0」、メールにCoS値「3」、音声にCoS値「5」を設定したとしましょう。バッファ領域(キュー)内であれば、スイッチがパケットを受け取った順番に関係なく優先度値が高いものを常にキューの先頭に持ってきてくれます。
この場合、キューの中に入ってきた順番が、㈪FTP、㈫メールの時、この時点ではメールの方が優先度値であるCoS値が高いので、FTPよりも前にメールのデータがきます。
しかしその後、さらにCoS値が高い音声トラフィックがキューに入ってくると、メール、FTPよりも先頭に配置され、結果的に連続して音声データがスイッチから出力されることになります。
いかがでしたでしょうか。
ぜひお勉強の際にお役立て下さい。