7.回線冗長化・QoS・死活監視

回線冗長化技術・QoS・死活監視の技術に関して

7.1. HSRP

7.1.1. ファーストホップルータの冗長化

PCが異なるネットワークの端末と通信を行う場合必ずデフォルトゲートウェイを通過する。 デフォルトゲートウェイは最初に通過するルータであることからファーストホップルータとみなされる。

そのためデフォルトゲートウェイの冗長を行うことで耐障害性が見込める。 デフォルトゲートウェイを冗長化してデフォルトゲートウェイに設定したルータに障害が起きた際に予備のデフォルトゲートウェイにしたルータに変更するのは手間となる。 そのため冗長化のために用意したファーストホップルータを活用するためのプロトコルにCISCO社独自のHSRPGLBP、標準化されたVRRPがある。こうしたDGWを冗長化するプロトコルはFHRPと総称される。

これらを利用するとデフォルトゲートウェイの設定を変更せずとも切り替えができる。

7.1.2. HSRPの概要

CISCO社が開発したプロトコルでルータの冗長化を行うためのもの。 複数存在しているルータを1つに見せかけることができる。

複数のファーストホップルータを含む共通グループはHSRPスタンバイグループと呼ばれる。 このHSRPスタンバイグループは0~255の番号で管理が行われる。

またHSRPスタンバイグループには仮想IPアドレスが割り当てられる。この仮想IPアドレスは仮想ルータのIPアドレスであり、クライアント側でこのIPアドレスをデフォルトゲートウェイとして設定する。 また仮想IPアドレスだけではなく仮想MACアドレスも用意されている。なお仮想MACアドレスの前半5オクテットは0000.0C07.ACと決まっている。

HSRPスタンバイグループの中でプライオリティが最も大きいルータがアクティブルータに選出され転送処理などを行う。 また2番目に大きいルータがスタンバイルータとなりアクティブルータのバックアップとなる。

7.1.3. HSRPの動作

HSRPの動作ステップ

HSRPの動作は以下ステップで行われる。

  1. Helloパケットを224.0.0.2にマルチキャストで送信しHSRP情報の交換をルータ間で行う(Helloパケット送信間隔は3秒)
  2. アクティブルータ/スタンバイルータをプライオリティ値から選出する
  3. ルータの役割決定後はHelloパケットによる生存確認。アクティブルータ/スタンバイルータのみが送信、他ルータはListen状態で受け取り待ち状態となる。なおスタンバイルータは10秒間Helloパケットをアクティブルータから受け取らない場合に自身をアクティブルータにする。

HSRP

HSRPの状態遷移

HSRPが動作してルータの役割が決まるまでいくつかの状態を遷移する。

状態定義
Initial最初の状態(HSRP設定直後)
LearnルータがアクティブルータからHelloパケットを受け取っていない(仮想IPアドレスを認識していない)
Listenルータの役割が決まらなかったルータの状態(Helloパケットを受信している、仮想IPアドレス決定済)
SpeakHelloパケットを送信してルータの役割選出を行っている状態(HSRP状態を通知)
Standbyスタンバイルータの状態(Helloパケットを送信する)
Activeアクティブルータの状態(Helloパケットを送信する)

7.1.4. HSRPの機能

HSRPの基本動作の機能の他にプリエンプトインターフェイストラッキングと呼ばれる機能がある。

7.1.4.1. プリエンプト

プリエンプトはプライオリティが大きいルータを常にアクティブルータにする機能のこと。 これはデフォルトのアクティブルータのほうが性能の良い場合にスタンバイルータがデフォルトゲートウェイとして使われてしまうのを回避するためのものです。

7.1.4.2. インターフェイストラッキング

インターフェイストラッキングはHSRPを動作させているインターフェイス以外を追跡し、そのUP/DOWNの状態によりプライオリティを変更する機能となっている。 これは他のネットワーク側のHSRPを実現したルータ群のポートに障害が発生した際に、LAN側ではHelloパケットの送受信ができてしまうため障害検知せず、異なるネットワーク側に通信が遅れなくなりデフォルトゲートウェイの機能を果たせなくなる問題を回避するためのもの。

7.1.4.3. HSRPの認証機能

HSRPの認証機能にはパスワードを暗号化しないプレーンテキスト認証と暗号化するMD5認証の2種類がある。

7.1.4.4. HSRPのバージョン

HSRPは2つのバージョンがある。

項目HSRP version1HSRP version2
Helloパケットの宛先224.0.0.2224.0.0.102
グループ範囲0~2550~4095
仮想MACアドレス0000.0C07.AC○○*0000.0C9F.F○○○*
IPv6のサポートなしあり

7.1.5. HSRPの負荷分散

HSRPではスタンバイグループに複数ルータを用意してもデータ転送を行うのは1つのアクティブルータのみとなる。 アクティブルータとスタンバイルータの2つが稼働し他のルータは待ち状態となる問題がある。

MHSRPは待ち状態となっているルータ以外も活用できるための仕組みで各ルータを複数のスタンバイグループに参加させ、アクティブになるルータをそれぞれのグループで変えることで負荷の分散を行うというものである。

7.1.6. GLBPとVRRPの特徴

7.1.6.1. GLBP

GLBPはルータを冗長化するためのCISCO社独自定義のプロトコル。 HSRPが負荷分散を行う際に複数のグループが必要なのに対し、1つのグループで負荷分散が可能な特徴がある。

GLBPグループは1023まで作成可能で、GLBPは仮想MACアドレスが最大4つ使用することができる。 仮想MACアドレスは0007.B40X.XXYYで表記でき、X部にGLBPグループを16進数に変換した値が、Y部に01~04までの値が入る。

GLBPではグループ内ルータからAVG(Acitive Virtual Gateway)、最大4つのAVF(Active Virtual Forwarder)を選出する。 またプライオリティに1~255の値を設定でき、AVFは最大4つまで選出される。

7.1.6.2. VRRP

VRRPはルータの冗長化のためのプロトコルでHSRPと異なり様々なベンダー機器で使用することができる。 HSRPと似た動作だが、以下動作に違いがある。

  • アクティブルータの名称がマスタールータ
  • マスタールータではない残りのルータはすべてバックアップルータ(マスタールータの予備)
  • 仮想IPアドレスに実際に割り当てられているIPアドレスを設定可能
  • 仮想MACアドレスが0000.5E00.01

7.1.7. HSRP/GLBP/VRRPの違い

項目HSRPGLBPVRRP
規格Cisco独自規格Cisco独自規格標準化
ルータの役割アクティブルータ、スタンバイルータAVG, AVFマスタールータ, バックアップルータ
グループ番号255まで1024まで255まで
負荷分散サブネット単位で可能ホスト単位で可能サブネット単位で可能
仮想MACアドレス0000.0C07.ACXX0007.B40X.XXYY0000.5E00.01XX
Helloパケットの宛先224.0.0.2224.0.0.102224.0.0.18

7.2. QoS

7.2.1. QoSの概要

QoSは特定のパケットを優先的に処理したり帯域幅の確保を行う技術のこと。 QoSによりパケットの重要度により優先的に転送するといったことが可能。

QoSをネットワークに取り入れることで、IP電話(VoIP)の通話品質の向上などのメリットがある。

7.2.2. QoSのアーキテクチャ

QoSを実現するためのアーキテクチャにはベストエフォートIntServDiffServの3つがある。

7.2.2.1. ベストエフォート

パケット優先順を気にせず先に来たものを先に出すアーキテクチャ。 品質保証はされないQoSのデフォルトの挙動。

7.2.2.2. IntServ

アプリケーションのフローごとにエンドツーエンドのQoSを提供するモデル。 フローが必要とする帯域をあらかじめ予約しておくアーキテクチャとなる。 フローごとに帯域を予約するためにRSVP(Resource reSerVation Protocol:リソース予約プロトコル)というプロトコルが使用されて送信元から宛先までの各機器で帯域を確保する。

各アプリケーションが必要とする帯域幅を経路上のデバイスに予約するのでエンドツーエンドのQoSを提供できる反面、拡張性が低いという特徴を持つ。 現在では規模が大きくなった際のRSVP自体が負荷になる問題や運用しづらいことから普及していない。

7.2.2.3. DiffServ

パケットをクラスに分類・マーキングし、クラスごとに優先度を提供するモデル。 各ルータやスイッチごとにパケットの優先順位に基づいて区別し転送処理を行うアーキテクチャとなる。

一般的にQoSといえばこのモデルのことを指す。 各デバイスが独自に処理を行えるため拡張性が高いという特徴を持つ。

DiffServのQoSの仕組みは以下のように行われる。

  1. マーキング
  2. ポリシング/シェーピング
  3. キューイング/スケジューリング
  4. 輻輳管理

7.2.3. QoS実現のための機能

QoSを実現するための機能はQoSツールと呼ばれ以下のようなものがある。

  • 輻輳管理(分類、マーキング、キューイング/スケジューリング)
  • 輻輳回避(RED、WRED)
  • 帯域制御(シェーピング、ポリシング)

7.2.3.1. 輻輳管理

輻輳管理では以下の内容を行う。

  • 分類:QoS適用対象となるパケットを分類する
  • マーキング:分類されたパケットに優先度識別用の印を付ける
  • キューイング:パケットに付けられたマークを使って、それぞれの優先度に応じたキュー(パケットを溜めるバッファ)に格納する
  • スケジューリング:各キューからデータを取り出して送信する

なお分類とキューイングは信頼境界で行われる。 信頼境界となる機器(アクセススイッチやIP電話など)では受信したパケットにすでに施されているマーキングを無視し、改めてQoSポリシーに従って分類、マーキングを行うことで適切なQoSを実現する。

信頼境界 : QoS対象となるパケットがネットワークに入ってくるエッジのこと

7.2.3.2. 輻輳回避

輻輳回避は輻輳(大量パケット到着により送受信できなくなる状態)が発生する前にキューに待機しているパケットをドロップする機能のこと。

輻輳回避するための機能にはRED(Random Early Detection:ランダム早期検出)やWRED(Weighted RED:重み付けランダム早期検出)などがあります。

方式説明
RED(ランダム早期検出)キューがいっぱいになる前にランダムにパケットを破棄する方式
WRED(重み付けランダム早期検出)パケットの優先順位を考慮したREDの方式

7.2.3.3. 帯域制御

帯域制御はシェーピングポリシングを使って行われる。

主に大規模ネットワークでは、主にWAN境界でQoSを適用する。 これは一般的にLAN側の速度(例:GigabitEthernet)よりもWAN側の回線速度(例:15Mbps)のほうが遅い、あるいはWAN回線の速度と接続するインターフェースの速度が異なる場合、容易に輻輳が発生するためとなっている。 特にサービスプロバイダが指定したCIR(Committed Information Rate:最低保証速度)を超えて送受信したデータは、輻輳時に破棄される可能性が高くなります。

7.2.4. 分類 - 輻輳管理

分類とは指定した条件によってQoSの対象となるパケットを分類することを指す。 分類の方法には以下方法が使用される。

  • 拡張アクセスリストを使用する
  • NBAR(Network Based Application Recognition)を使用する

7.2.4.1. 拡張アクセスリストを使用した方法

拡張アクセスリストを使った場合、パケットのヘッダにある以下の情報を使った分類が可能となる。

  • IPプロトコル番号
  • 送信元/宛先アドレス
  • 送信元/宛先ポート番号

7.2.4.2. NBARを使用した方法

NBAR(アプリケーションを識別する機能)を使った場合はパケットをアプリケーションごとに分類することが可能となる。

例えばWebブラウザから参照するYouTubeのパケットは、拡張アクセスリストではHTTPプロトコルとしか判断できないため適切に分類できないが、NBARでは以下のようにネットワークアプリケーション名でマッチさせることができるようになる。

7.2.5. マーキング - 輻輳管理

マーキングは分類されたパケットに優先度識別用の印を付けることをいう。 具体的にはCoSIPPDSCPをポリシーに従い変更を行う。

またマーキングにはL2マーキングとL3マーキングがある。 それぞれ値を変更する場所が異なり変更箇所は以下のようになる。

  • L2マーキング … IEEE 802.1QヘッダのCoSフィールド
  • L3マーキング … IPヘッダのToSフィールド

7.2.4.1. CoS

CoS(lass of Service)はイーサネットの優先度を表すもの。 IEEE802.1Qで付与されたタグの中にPRIと呼ばれるCoSの値を表せるフィールドがある。 そこをチェックしたり変更することでマーキングを行う。

DiffServのマーキングで使用される。

特徴としては以下の通り。

  • L2マーキング
  • 3ビット(2進数で000-111)でマーキングを行う(8段階のマーキングが可能)

7.2.4.2. DSCP

DSCP(Differentiated Service Code Point)はIPパケットの優先度を表すもの。 IPヘッダのToSというフィールドのうちサービスタイプフィールドの前半6bitを使用して優先度を設定する。

DHSCPの値に応じてルータ/スイッチは転送を行う。これらはホップごとの動作を決めたPHB(Per Hop Behavior)に応じて処理される。 特徴をまとめると以下の通り。

  • L3マーキング
  • 6ビット(2進数で000000-111111)でマーキングを行う(64段階のマーキングが可能)

またPHBには以下のような種類がある。

種類説明
AF(Assured Forwarding)優先度と破棄レベルの組み合わせを12段階で指定できるマーキング
EF(Expedited Forwarding)最優先で処理したいパケット用のマーキング。主にIP電話のような音声パケットに使用する。
CS(Class Selector)DSCPとIPPの互換用のマーキング
DF(Default Forwarding)ベストエフォート用のマーキング。QoSによる優先処理を行わない。

7.2.4.3. IPP

IPP(IP Precedence)はIPヘッダの中のToSフィールドで定義されたIPパケットの優先度を表すもの。 特徴は以下の通り。

  • L3マーキング
  • 3ビット(2進数で000-111)でマーキングを行う(8段階のマーキングが可能)

7.2.6. キューイング/スケジューリング - 輻輳管理

キューイングは送信するパケットをキューと呼ばれる領域に格納していく。 キューの種類にはハードウェアキューとソフトウェアキュがあるが、ソフトウェアキューにキューイングは行われる。

スケジューリングはソフトウェアキューに並んだパケットをどういう割合/順番でハードウェアキューに並べるか決定するもの。

キューイングとスケジューリングには以下のような機能がある。

種類説明
FIFOパケットを到着した順番に送信する方式。デフォルトのキューイング方式
PQ優先度が高いパケットの転送を優先する方式。優先度には「high」「medium」「normal」「low」の4つが使用される
CQキューに設定したバイト数ずつパケットを転送する方式
WFQアプリケーションのフローごとにキューを自動で作成し、どのキューからもパケットを転送されるようにしたキューイング方式
CB-WFQクラスごとにキューを割り当てる方式。ユーザが定義したクラスごとにキューを割り当てて送信比率を帯域幅の設定により変更できる
LLQ優先的に送信するプライオリティキューとクラスキューを使用する方式。

7.2.6.1. CB-WFQ

CB-WFQでは全てのキューを順にチェックし指定された割合(保証帯域)でデータを取り出して転送する。

7.2.6.2. LLQ

LLQではPQに割り振られたパケットを最優先で転送する。

7.2.7. RED/WRED - 輻輳回避

RED/WREDは輻輳回避はの機能で輻輳によるテールドロップが発生する前にキューに待機しているパケットをドロップするもの。

7.2.7.1. RED

RED(Random Early Detection:ランダム早期検出)はキューが一杯になる前にパケットをドロップすることで輻輳レベルを下げテールドロップを防ぐもの。 REDはキューに溜まっているパケットの量に応じて「ノードロップ」「ランダムドロップ」「フルドロップ」という3つのモードで動作する。

  • ノードロップ … パケットの量が最小しきい値以下の状態。パケットをドロップしない
  • ランダムドロップ … パケットの量が最小しきい値を超えた状態。設定した割合に基づきパケットをドロップする
  • フルドロップ … パケットの量が最大しきい値を超えた状態。着信パケットを全てドロップする(テールドロップ)

7.2.7.2. WRED

WREDはREDの破棄率を優先度ごとに設定できる機能のこと。 具体的にはキューが一杯になる前に優先度の低いパケットをドロップする。

7.2.8. ポリシング/シェーピング - 帯域制御

7.2.8.1. ポリシング

ポリシングは設定値や最低限保証されている伝送速度を超過したトラフィックの破棄や優先度を変更できるもの。 これはパケットの到着/発信の際に適用できる。

ポリシングは指定した転送レートを超えて送受信されたパケットを破棄するため、損失発生の要因となりえる。 しかしながらキューイングが行われないため遅延やジッタは発生しない。

7.2.8.2. シェーピング

シェーピングは設定値や最低限保証されている伝送速度を超過したトラフィックをバッファに保存して遅れて送信するもの。 キューにバッファ用のメモリが必要でパケット発信の際に利用できる。

シェーピングは送信側で実装し、指定した送出レートを超えないように送出レートを超えるパケットをキューに保持し、送信可能になった時点で送信する。 リアルタイムに送信されない場合があるため、遅延、ジッタ発生の要因となりえる。

7.2.9. QoSの評価方法

ネットワークにおけるQoSは以下の4つの項目で評価される。

  • 帯域幅(Bandwidth) … 1秒間に送信できるデータ量(Bps)
  • 遅延(Delay) … 送ったデータが相手に届くまでにかかる時間(片方向遅延/往復遅延)のこと。主にミリ秒(ms)で表す
  • ジッタ(Jitter) … 遅延のゆらぎのこと。遅延の時間が一定の場合はジッタが発生していないと言い、パケットごとの遅延が異なる(例:100ms、115ms、98ms、108ms、など)場合は、その遅延の差分(例では、15ms、17ms、10ms)
  • 損失(Loss) … 相手に届かなかったパケットの割合

7.2.10. 音声/ビデオのQoS要件

音声とビデオのQoS要件にはガイドラインがあり、以下表のように定義されている。

パケットの種類帯域幅片方向遅延ジッタ損失
音声20~320 Kbps150ms未満30ms未満1%未満
ビデオ384K~20M bps200~400ms30~50ms0.1~1%

7.3. SNMP

7.3.1. SNMPの概要

SNMPはTCP/IPネットワーク上で動作している危機を管理するためのプロトコル。 このプロトコルの使用によりネットワーク上の機器の状態の監視や情報収集が可能。

7.3.2. SNMPの構成要素

SNMPでネットワーク機器を管理する構成はネットワーク管理ステーションでSNMPマネージャ、ネットワーク要素でSNMPエージェントが動作する。

7.3.2.1. SNMPマネージャ

SNMPエージェントを監視するプログラム。 SNMPエージェントと通信し情報を収集するサーバの役割を負う。

7.3.2.2. SNMPエージェント

SNMPエージェントはクライアントPC, ルータやスイッチといったネットワーク機器、サーバなどで動作するプログラムのこと。 SNMPはUDPを使用して、SNMPマネージャはポート161、SNMPエージェントはポート162を使用する。

7.3.2.3. MIB

各SNMPエージェントで動作している機器の情報は集められ、その情報はMIBと呼ばれるツリー状のデータベースに格納される。 MIBに格納される情報はオブジェクトと呼ばれ、OIDと呼ばれるオブジェクト識別子が付加される。

MIBには標準MIB拡張MIBがある。

MIBの種類説明
標準MIBRFCで規定されているMIB。ホスト名やインターフェース情報など
拡張MIBベンダーが独自規定したMIB。これは両機器が対象MIBの構造を把握しておく必要がある

7.3.2.4. SNMPの通信

SNMPマネージャ-SNMPエージェントの通信方法にはSNMPボーリングSNMPトラップSNMPインフォームがある。

通信方法説明
SNMPボーリングSNMPマネージャから要求を出す方式。SNMPマネージャは定期的にSNMPエージェントに問い合わせMIB内の情報を受け取る
SNMPトラップSNMPエージェントから要求してSNMPマネージャが応答する手順のこと
SNMPトラップとほぼ同じだが、SNMPマネージャから応答が必ず必要という違いがある

7.3.2.5. SNMPのバージョン

SNMPには以下のバージョンがある。

バージョン説明
SNMPv1コミュニティ名を利用して認証が行われる。なお平文のまま送信されるため盗聴される危険性がある。SNMPトラップしか対応していない
SNMPv2cSNMPv1の機能に加え、GetBulkRequestやSNMPインフォームが利用可能
SNMPv3USMを利用した認証機能が追加されている。またデータの暗号化が可能となっている

7.4. デバイスの管理/監視

7.4.1. システムログ管理

7.4.1.1. システムログの概要

ネットワーク機器や端末では大体システムの動作が記録されている。 この記録されたものはシステムログ

システムログの調査は障害発生時刻の動作の確認やその原因の究明に利用できる。

7.4.1.2. システムログの出力先

システムログのメッセージは以下のような場所に出力される。

  • コンソールライン
  • 仮想ターミナルライン
  • ルータやスイッチのRAM
  • Syslogサーバ
出力先説明
コンソールラインコンソールに出力すると言うもの。デフォルトではここに出力されない
仮想ターミナルラインリモートログインした画面にログを出力すると言うもの
ルータやスイッチのRAMRAMにシステムログを保存することができるが、容量が一杯になると新しいログで上書きされる特徴がある
SyslogサーバSySlogサーバを使用するとネットワークを介してログを送信できる。メッセージはSyslogサーバに保存しログを一元管理可能。SyslogサーバはLinuxなどで建てられる

7.4.1.3. システムログのファシリティ

ファシリティはログの種類を表す。 Cisco社製のネットワーク機器の場合のログのファシリティはデフォルトではLocal7となる。

7.4.1.4. システムログのレベル

ログは一般的にレベルが分けられており重要なログの実を選別して調査できるようにしている。

重大度意味説明
0緊急システムが不安定
1警報直ちに処置が必要
2重大クリティカルな状態
3エラーエラー状態
4警告警告状態
5通知正常だが注意を要する状態
6情報単なる情報メッセージ
7デバッグデバッグメッセージ

またメッセージは以下の4つのカテゴリーに定義されている。

  • ソフトウェア/ハードウェアの誤動作のエラー
  • debugコマンドの出力
  • インターフェイスの起動/停止への移行およびシステムの再起動メッセージ
  • リロード要求/下位プロセススタックのメッセージ

7.4.1.5. システムログの形式

Cisco機器ではシステムログの形式は以下のように表示される。

000022: *Oct 17 13:01:17.295: %SYS-5-CONFIG_I: Configured from console by console

表示されている例の場合は左から順に以下の通り。

  1. シーケンス番号 … 00022:
  2. 出力日時 … *Oct 17 13:01:17.295
  3. 参照ファシリティ … SYS
  4. 重大度 … 5
  5. メッセージの内容 … CONFIG_I
  6. メッセージの詳細 … Configured from console by console

7.4.2. NTPによる時刻管理

7.4.2.1. NTPの概要

NTPはUTCという標準時間を把握している時刻サーバと同期をとるように作られたプロトコル。 NTPは123番のポートを使用する。

ルータやスイッチなどのログの管理の際の時刻を厳密に扱うために使用される。

7.4.2.2. NTPの階層構造

NTPはstratumと呼ばれる階層構造を持っており、最上位のNTPサーバは原子時計などから直接正しい時刻を得て、他の危機はNTPサーバから自国の情報を取得して同期を行っている。

NTP

最大stratum15までNTPサーバを構築することができ、このツリー状の構造によって時刻取得の際の負荷分散が実現されている。

7.4.2.3. NTPサーバをLANに構築する

NTPサーバをLANに構築する場合は外部のネットワークのNTPサーバへの負荷軽減、LAN内のネットワークに接続していない機器の時刻同期が可能になると言うメリットがある。

最終更新 2025.01.19: Added ss command (683d062)