7. インフラストラクチャサービスの運用/管理
7.1. HSRP
7.1.1. ファーストホップルータの冗長化
PCが異なるネットワークの端末と通信を行う場合必ずデフォルトゲートウェイを通過する。 デフォルトゲートウェイは最初に通過するルータであることからファーストホップルータとみなされる。
そのためデフォルトゲートウェイの冗長を行うことで耐障害性が見込める。 デフォルトゲートウェイを冗長化してデフォルトゲートウェイに設定したルータに障害が起きた際に予備のデフォルトゲートウェイにしたルータに変更するのは手間となる。 そのため冗長化のために用意したファーストホップルータを活用するためのプロトコルにCISCO社独自のHSRP、GLBP、標準化された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の動作は以下ステップで行われる。
- Helloパケットを224.0.0.2にマルチキャストで送信しHSRP情報の交換をルータ間で行う(Helloパケット送信間隔は3秒)
- アクティブルータ/スタンバイルータをプライオリティ値から選出する
- ルータの役割決定後はHelloパケットによる生存確認。アクティブルータ/スタンバイルータのみが送信、他ルータはListen状態で受け取り待ち状態となる。なおスタンバイルータは10秒間Helloパケットをアクティブルータから受け取らない場合に自身をアクティブルータにする。
HSRPの状態遷移
HSRPが動作してルータの役割が決まるまでいくつかの状態を遷移する。
状態 | 定義 |
---|---|
Initial | 最初の状態(HSRP設定直後) |
Learn | ルータがアクティブルータからHelloパケットを受け取っていない(仮想IPアドレスを認識していない) |
Listen | ルータの役割が決まらなかったルータの状態(Helloパケットを受信している、仮想IPアドレス決定済) |
Speak | Helloパケットを送信してルータの役割選出を行っている状態(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 version1 | HSRP version2 |
---|---|---|
Helloパケットの宛先 | 224.0.0.2 | 224.0.0.102 |
グループ範囲 | 0~255 | 0~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の違い
項目 | HSRP | GLBP | VRRP |
---|---|---|---|
規格 | Cisco独自規格 | Cisco独自規格 | 標準化 |
ルータの役割 | アクティブルータ、スタンバイルータ | AVG, AVF | マスタールータ, バックアップルータ |
グループ番号 | 255まで | 1024まで | 255まで |
負荷分散 | サブネット単位で可能 | ホスト単位で可能 | サブネット単位で可能 |
仮想MACアドレス | 0000.0C07.ACXX | 0007.B40X.XXYY | 0000.5E00.01XX |
Helloパケットの宛先 | 224.0.0.2 | 224.0.0.102 | 224.0.0.18 |
7.2. QoS
7.2.1. QoSの概要
QoSは特定のパケットを優先的に処理したり帯域幅の確保を行う技術のこと。 QoSによりパケットの重要度により優先的に転送するといったことが可能。
QoSをネットワークに取り入れることで、IP電話(VoIP)の通話品質の向上などのメリットがある。
7.2.2. QoSのアーキテクチャ
QoSを実現するためのアーキテクチャにはベストエフォート、IntServ、DiffServの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の仕組みは以下のように行われる。
- マーキング
- ポリシング/シェーピング
- キューイング/スケジューリング
- 輻輳管理
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. マーキング - 輻輳管理
マーキングは分類されたパケットに優先度識別用の印を付けることをいう。 具体的にはCoSやIPPやDSCPをポリシーに従い変更を行う。
またマーキングには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 Kbps | 150ms未満 | 30ms未満 | 1%未満 |
ビデオ | 384K~20M bps | 200~400ms | 30~50ms | 0.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の種類 | 説明 |
---|---|
標準MIB | RFCで規定されている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トラップしか対応していない |
SNMPv2c | SNMPv1の機能に加え、GetBulkRequestやSNMPインフォームが利用可能 |
SNMPv3 | USMを利用した認証機能が追加されている。またデータの暗号化が可能となっている |
7.4. デバイスの管理/監視
7.4.1. システムログ管理
7.4.1.1. システムログの概要
ネットワーク機器や端末では大体システムの動作が記録されている。 この記録されたものはシステムログ
システムログの調査は障害発生時刻の動作の確認やその原因の究明に利用できる。
7.4.1.2. システムログの出力先
システムログのメッセージは以下のような場所に出力される。
- コンソールライン
- 仮想ターミナルライン
- ルータやスイッチのRAM
- Syslogサーバ
出力先 | 説明 |
---|---|
コンソールライン | コンソールに出力すると言うもの。デフォルトではここに出力されない |
仮想ターミナルライン | リモートログインした画面にログを出力すると言うもの |
ルータやスイッチのRAM | RAMにシステムログを保存することができるが、容量が一杯になると新しいログで上書きされる特徴がある |
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機器ではシステムログの形式は以下のように表示される。
表示されている例の場合は左から順に以下の通り。
- シーケンス番号 ...
00022:
- 出力日時 ...
*Oct 17 13:01:17.295
- 参照ファシリティ ...
SYS
- 重大度 ...
5
- メッセージの内容 ...
CONFIG_I
- メッセージの詳細 ...
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サーバから自国の情報を取得して同期を行っている。
最大stratum15までNTPサーバを構築することができ、このツリー状の構造によって時刻取得の際の負荷分散が実現されている。
7.4.2.3. NTPサーバをLANに構築する
NTPサーバをLANに構築する場合は外部のネットワークのNTPサーバへの負荷軽減、LAN内のネットワークに接続していない機器の時刻同期が可能になると言うメリットがある。