インフラストラクチャサービス
NAT
NAT(Network Address Translation)
NAT
・IPアドレスを変換する技術
・外部ネットワークに接続するためのIPアドレスを節約できる
・NATを使用することでセキュリティが向上する
・NATの方式には「スタティックNAT」「ダイナミックNAT」「PAT」などがある
スタティックNAT
・特定のローカルアドレスと特定のグローバルアドレスを1対1で対応付ける方式
・変換アドレスは常にNATテーブルに載っている
ダイナミックNAT
・ローカルアドレスとアドレスプールを対応付ける方式
・あらかじめ複数のグローバルIPアドレスを登録したアドレスプールを用意しておき、IPアドレス変換の際にアドレスプールの中で使われていないIPアドレスを動的に割り当てる
PAT(Port Address Translation)
・複数のローカルアドレスに対して1つのグローバルアドレスを対応付ける方式
・IPアドレス変換の際に、IPアドレスの他にTCP/UDPポート番号も併せて記憶する
・ポート番号を併せて記憶するので、1つのグローバルアドレスを複数のホストで共有できる
・IPマスカレードやNAPTとも呼ばれる
スタティックNATの設定手順
1.内部ローカルアドレスとグローバルアドレスの対応付け
(config)#ip nat inside source static {内部ローカルアドレス} {内部グローバルアドレス}
内部ローカルアドレス:内部ローカルアドレスを指定
内部グローバルアドレス:内部グローバルアドレスを指定
2.インターフェースへのNATの設定(内部と外部)
(config-if)#ip nat {inside | outside}
inside:インターフェースをNATの内部インターフェースにする
outside:インターフェースをNATの外部インターフェースにする
ダイナミックNATの設定手順(順番はいずれからでも設定可能)
1.標準ACLで内部ローカルアドレスを指定(名前付きACLでも指定可能)
(config)#access-list {番号} permit {内部ローカルアドレス} [ワイルドカードマスク]
番号:「1~99」または「1300~1999」の中から任意の番号を指定
内部ローカルアドレス:変換対象にしたい内部ローカルアドレスを指定
2.アドレスプールの定義(グローバルアドレスの範囲を指定)
(config)#ip nat pool {プール名} {開始アドレス} {終了アドレス} {netmask {サブネットマスク} | prefix-length {プレフィックス長}}
プール名:プール名を定義
開始アドレス:アドレスプールの最初のIPアドレスを指定(グローバルアドレスの最初のIPアドレスを指定)
終了アドレス:アドレスプールの最初のIPアドレスを指定(グローバルアドレスの最後のIPアドレスを指定)プールに割り当てるIPアドレスが1つの場合は、開始アドレスと同じものを指定
netmask {サブネットマスク}:プールしたアドレスのサブネットマスクを指定
prefix-length {プレフィックス長}:プールしたアドレスのサブネットマスクをプレフィックス長で指定
3.内部ローカルアドレスとアドレスプールの対応付け
(config)#ip nat inside source list {ACL番号} pool {プール名} {overload}
ACL番号:NAT用に作成したACL番号を指定
プール名:定義したプール名を指定
overload:PATを行う場合に入力
4.インターフェースへのNAT設定(内部と外部)
(config-if)#ip nat {inside | outside}
inside:インターフェースをNATの内部インターフェースにする
outside:インターフェースをNATの外部インターフェースにする
PAT(オーバーロード)
・IPアドレスとポート番号を利用して、1つのパブリックIPアドレスを複数のホストが使用できる
・IPv4アドレスの枯渇対策となる
Router#debug ip nat
NATによるアドレス変換をリアルタイムで表示
Router#show ip nat translations
・NATによるアドレスの変換状況を表示
・ルータに設定されているNATテーブルを参照する
・NAT変換前の送信元IPアドレスは「Inside local」に記載される
Router#show ip nat statistics
NATによるアドレス変換の統計情報を表示
NATで使用する4つのIPアドレス
・内部ローカルアドレス=内部ネットワークのホストに与えられたアドレスで通常はプライベートIPアドレスが使われる
・内部グローバルアドレス=外部ネットワーク(インターネットなど)で使用可能な内部(自分)のアドレス。通常はパブリックIP(グローバルIP)アドレスが使われる
・外部ローカルアドレス=外部ネットワークに存在するホストを内部ネットワークのホストが識別するためのアドレスである。外部グローバルアドレスと同じであることが多い
・外部グローバルアドレス=外部ネットワークに存在するホストに付けるアドレスで、通常はパブリックIP(グローバルIP)アドレスが使われる
冗長化
HSRP(Hot Standby Router Protocol)
FHRP(First Hop Redundancy Protocol)
・デフォルトゲートウェイを冗長化するためのプロトコルの総称
・導入すると冗長構成のうちの1台が故障しても、PCに設定しているデフォルトゲートウェイの変更をせずにすむ
・代表的なFHRPには「HSRP」「VRRP」「GLBP」がある
・VRRPはRFCで標準化されているプロトコルである
HSRP
・仕様:Cisco独自
・冗長構成:アクティブ/スタンバイ
・負荷分散:サブネット単位で可能
・仮想ルータのIPアドレス:空きIPアドレス(インターフェースと同一サブネット)
・仮想MACアドレス:0000.0c07.ac××
*仮想MACアドレスの××にはグループ番号を示す値が入る
VRRP(Virtual Router Redundancy Protocol)
・仕様:標準
・冗長構成:アクティブ/スタンバイ
・負荷分散:サブネット単位で可能
・仮想ルータのIPアドレス:空きIPアドレス(インターフェースと同一サブネット)
・仮想MACアドレス:0000.5e00.01××
*仮想MACアドレスの××にはグループ番号を示す値が入る
GLBP(Gateway Load Balancing Protocol)
・仕様:Cisco独自
・冗長構成:アクティブ/アクティブ
・負荷分散:ホスト単位で可能
・仮想ルータのIPアドレス:空きIPアドレス(インターフェースと同一サブネット)
・仮想MACアドレス:0007.b400.××××
*仮想MACアドレスの××にはグループ番号を示す値が入る
HSRPの役割
・アクティブルータ
仮想IPアドレスと仮想MACアドレスを保持し、仮想アドレス宛に送られてきたトラフィックを処理するルータ
・スタンバイルータ
アクティブルータがダウンした場合にその役割を引き継ぐルータ
HSRPで使われる仮想アドレス
2台のルータにHSRPを設定してデフォルトゲートウェイを冗長化した場合
・2台で共通の仮想IPアドレスを使用する
・2台で共通の仮想MACアドレスを使用する
・PCはHSRPの仮想IPアドレスをデフォルトゲートウェイとして指定する
・1台のみがアクティブになる
・仮想IPアドレスは、同一ネットワーク内の空きIPアドレスのうち任意の値を設定可能
HSRPの有効化(仮想IPアドレスの設定)
(config-if)#standby [グループ番号] ip {仮想IPアドレス}
グループ番号を省略した場合、グループ番号は「0」となる
プライオリティ値の変更(デフォルトは100)
(config-if)#standby [グループ番号] priority {プライオリティ値}
Preemptの有効化(デフォルトは無効)
(config-if)#standby [グループ番号] preempt [ delay { minimum {秒} | reload {秒} | sync {秒} } ]
delayオプションを使うことで、アクティブルータの切り替わりを指定秒数だけ遅らせる
プリエンプションを有効にすると、HSRPの現在の状態によらず、プライオリティ値の高いルータをアクティブにさせる
タイマーの変更(デフォルトは「Helloタイマー 3秒」「Holdタイマー 10秒」
(config-if)#standby [グループ番号] timers {Hello秒} {Hold秒}
HSRPの動作状況を確認
RA#show standby
HSRPの状態遷移の確認
RA#debug standby events protocol
QOS
QoS(Quality of Service:サービスの品質)
QoS
・特定のパケットを優先的に処理したり、帯域幅の確保を行う技術
・ネットワークに取り入れることで、IP電話(VoIP)の通話品質の向上などのメリットを得られる
QoSツール
・QoSを実現するための機能は「QoSツール」と呼ばれる
・QoSツールには以下のものがある
輻輳管理(分類、マーキング、キューイング、スケジューリング)
輻輳回避(RED、WRED)
帯域制御(シェーピング、ポリシング)
輻輳管理
輻輳管理では、以下を行う
・分類:QoS適用対象となるパケットを分類する
・マーキング:分類されたパケットに優先度識別用の印を付ける
・キューイング:パケットに付けられたマークを使って、それぞれの優先度に応じたキュー(パケットを溜めるバッファ)に格納する
・スケジューリング:各キューからデータを取り出して送信する
輻輳管理の方式
・FIFO(First-In First-Out)
パケットを受信した順番通りに転送する方式(輻輳管理方式が未指定の場合のデフォルト動作)
・PQ(Priority Queuing)
優先度の高いパケットの転送を完全に優先する方式
優先度の低いパケットは、優先度の高いパケットが無くなってから転送する
「high」「medium」「normal」「low」の4つの優先度を使用するキューイング方式
・CQ(Custom Queuing)
各キューに定義したバイト数ずつパケットを転送する方式
キューごとに転送できる最大バイト数を指定できる
・WFQ(Weighted Fair Queuing)
フローごとにキューを自動で管理する方式
優先度の高いパケットを多めに転送し、優先度の低いパケットは少なめに転送する
・CBWFQ(Class-Based WFQ)
プロトコルなどを基に、管理者が「クラス」という単位でキューを設定する方式
クラスごとに最低保証帯域幅(輻輳時も利用できる最低限の帯域)を指定できる
全てのキューを順にチェックし、指定された割合(保証帯域)でデータを取り出して転送する
・LLQ(Low Latencey Queuing)
PQとCBWFQ 2つの特徴を併せ持つ方式
優先度の高いパケットを最優先で転送しながらも、優先度の低いパケットもある程度転送する
PQに割り振られたパケットを最優先で転送する
PQには一般的に音声パケットを割り当てる
基本的な輻輳管理の方針
・非対話のデータ転送(バックアップなど)、非対話の音声やビデオ(監視用途の録音や映像記録など)はCBWFQなどのラウンドロビンのキューを使用する
・業務用のパケットには必要に応じた保証帯域を設定する
・IP電話やテレビ会議など対話型の音声やビデオは優先されるキューを使用する(LLQのPQなど)
・音声とビデオは異なるクラスに割り当て、柔軟な設定変更ができるようにする
・LLQの設定ではPQのサイズを十分に取り、キューの不足によるパケットの破棄を防止する
輻輳回避
・輻輳回避は、輻輳によるテールドロップ(キューが一杯になったときに後から届いたパケットを全て破棄)が発生する前にキューに待機しているパケットをドロップする機能
・輻輳回避にはREDや、WREDなどがある
RED(Random Early Detection:ランダム早期検出)
・キューが一杯になる前にパケットをドロップすることで輻輳レベルを下げテールドロップを防ぐ
・キューに溜まっているパケットの量に応じて「ノードロップ」「ランダムドロップ」「フルドロップ」という3つのモードで動作する
ノードロップ
パケットの量が最小しきい値以下の状態。パケットをドロップしない
ランダムドロップ
パケットの量が最小しきい値を超えた状態。設定した割合に基づきパケットをドロップする
フルドロップ
パケットの量が最大しきい値を超えた状態。着信パケットを全てドロップする(テールドロップと同じ)
WRED(Weighted RED:重み付けランダム早期検出)
・REDの破棄率を優先度ごとに設定できる機能
・キューが一杯になる前に優先度の低いパケットをドロップする
帯域制御
・企業ネットワークでは、主にWAN境界でQoSを適用する
・適用するQoSツールとして「シェーピング」「ポリシング」がある
シェーピング(ネットワークへデータを送信する側で実装)
・指定した送出レートを超えないように、送出レートを超えるパケットをキューに保持し、送信可能になった時点で送信する
・利用可能な最大送出レートをあらかじめ設定しておく
・リアルタイムに送信されない場合があるため、遅延、ジッタ発生の要因となる
・直前の送信データ量が少ない場合、送出レートを超えた送信(バースト)を許可する
・送信側で実装し、キューイングを行う
ポリシング(主にネットワークの入り口で実装)
・指定した転送レートを超えて送受信されたパケットを破棄する
・損失発生の要因となるが、キューイングが行われないため、遅延やジッタは発生しない
・直前の転送データ量が少ない場合、転送レートを超えた送信(バースト)を許可する
・パケットを破棄する
・パケットに再マーキングする
分類の方法(Classification)
・分類とは、指定した条件によってQoSの対象となるパケットを分類することを指す
・分類の方法には「拡張アクセスリスト」を使う方法や「NBAR」(アプリケーションを識別する機能)を使う方法などがある
拡張アクセスリスト
・パケットのヘッダにある以下の情報を使った分類が可能
IPプロトコル番号
送信元/宛先アドレス
送信元/宛先ポート番号
NBAR(Network Based Application Recognition)
パケットをアプリケーションごとに分類することが可能
マーキングの種類
・マーキングとは、分類されたパケットやフレームに優先度を識別する印を付けることを指す
・マーキングの種類には「CoS」「IPP 」「DSCP」などがある
CoS(Class of Service)
・Ethernetフレーム(レイヤ2ヘッダ)の802.1Qヘッダ内のフィールドを使用
・3ビット(2進数で000-111)でマーキングを行う(8段階のマーキングが可能)
IPP(IP Precedence)
・IPヘッダ(レイヤ3ヘッダ)のToS(Type of Service)フィールドを使用
・3ビット(2進数で000-111)でマーキングを行う(8段階のマーキングが可能)
DSCP(Differentiated Service Code Point)
・IPヘッダ(レイヤ3ヘッダ)のToS(Type of Service)フィールドを使用
・6ビット(2進数で000000-111111)でマーキングを行う(64段階のマーキングが可能)
主なマーキングの値
DSCPは細かくマーキングできるが、大きく分けると「EF」「AF」「CS」「DF」がある
EF(Expedited Forwarding)
・10進数で46(2進数では101110)の値
・最優先で処理したいパケット用のマーキング。主にIP電話のような音声パケットに使用する
AF(Assured Forwarding)
・1桁目(1-4)で優先度、2桁目(1-3)で破棄レベルを表す値
・優先度と破棄レベルの組み合わせを12段階で指定できるマーキング
CS(Class Selector)
・先頭3ビットをIPPと同じ値にし、残り3ビットは全て0となる値
・DSCPとIPPの互換用のマーキング
DF(Default Forwarding)
・10進数で0(2進数では000000)の値
・ベストエフォート用のマーキング。QoSによる優先処理を行わない
分類とマーキングの位置
分類とマーキングは信頼境界(Trust Boundary)で行う
信頼境界
・信頼境界とは、QoS対象となるパケットがネットワークに入ってくるエッジ(端)のこと
・信頼境界にするのが望ましい機器にはアクセススイッチやIP Phoneなどがある
QoSの評価
・QoS(Quality of Service)は直訳すると「サービスの品質」
・ネットワークにおける「サービスの品質」は、以下の4つの項目で評価される
帯域幅(Bandwidth)
1秒間に送信できるデータ量、bps(Bit per Second)で表す
遅延(Delay)
・送ったデータが相手に届くまでにかかる時間(片方向遅延)や、相手まで届きその応答が帰ってくるまでにかかる時間(往復遅延)のこと
・主にミリ秒(ms)で表す
ジッタ(Jitter)
・遅延のゆらぎのこと
・遅延の時間が一定の場合はジッタが発生していないと言い、パケットごとの遅延が異なる(例:100ms、115ms、98ms、108ms、など)場合は、その遅延の差分(例では、15ms、17ms、10ms)をジッタと呼ぶ
損失(Loss)
相手に届かなかったパケットの割合
音声のQoS要件
・帯域幅:30-320Kbps
・片方向遅延:150ms未満
・ジッタ:30ms未満
・損失:1%未満
ビデオのQoS要件
・帯域幅:384K-20Mbps
・片方向遅延:200-400ms
・ジッタ:30-50ms
・損失:0.1-1%
エンドツーエンドでVoIPによる音声通信の帯域を予約するQoS方式について、関連する用語
・IntServ
・RSVP