2011年12月4日日曜日

IPv6 2.IPv6ルーティングプロトコル


IPv6②

・ EUI-64について

EUI-64とは、
MACアドレスを利用して、デバイスに一意に識別するインターフェースIDを自動生成する機能の事。


例> ネットワークアドレス 2000::/64   PCのMACアドレス 00:17:42:09:B9:38 

1.PCのMACアドレスを先頭24ビット(ベンダーID)と後半24ビット(シリアル番号)に分ける。

ベンダーID : 00:17:42
シリアルID : 09:B9:38

2.ベンダーIDの先頭7ビット目をビット変換する。

ベンダーID : 00:17:42 → 02:17:42

3.ベンダーIDとシリアルIDの間に 「 FF:FE 」を追加する。

00:17:42 + FF:FE + 09:B9:38
インターフェースID : 00:17:42:FF:FE:09:B9:38

4.ネットワークアドレスを追加する。

EUI-64のIPv6アドレス体系 : 2000::00:17:42:FF:FE:09:B9:38/64




・ IPv6ルーティングプロトコル

IPv6のルーティングプロトコルは、IPv4のルーティングプロトコルを基に設計されています。
例えば、RIPは、RIPngにOSPFはOSPFv3になります。

・ RIPng(RIP next generation)

RIPngでは、IPv4のRIPv2の機能を基に作られております。

■ 特徴
・ディスタンスベクター型ルーティングプロトコル
・メトリックは、ホップ数。最大値は15。
・スプリットホライズンやポリズンリバースによるループ回避
・30秒ごとにマルチキャストアドレスを使用して、情報(ネクストホップ、リンクローカルアドレスなど)をアドバタイズする。(FF02::9) 


■ 基本設定

①ルーティングプロセスを有効にする。

Router(config)# ipv6 unicast-routing
Router(config)# ipv6 router rip { 識別子 }



②インターフェースでRIPngを有効にする。


Router(config)# interface fastethernet 0/0
Router(config-if)# ipv6 enable
Router(config-if)# ipv6 rip { 識別子 } enable



③IPv6アドレスの設定


Router(config-if)# ipv6 address { IPv6アドレス } 



・ OSPFv3

RIPngでは、IPv4のOSPFv2の機能を基に作られて居るためOSPFv2と特徴がたいだい同じです。

■ 特徴
・OSPFv2の基本的な特徴
・手動でルータIDを設定する。
・ネクストホップアドレスが、リンクローカルドレスになる。


■ 基本設定

①ルーティングプロセスを有効にする。

Router(config)# ipv6 unicast-routing
Router(config)# ipv6 router ospf { プロセス番号 }
Router(config-rtr)# router-id { ルータID(32ビット) }


②インターフェースでOSPFv3を有効にする。

Router(config)# interface fastethernet 0/0
Router(config-if)# ipv6 enable
Router(config-if)# ipv6 ospf { プロセス番号 } area { エリア番号 }


③IPv6アドレスの設定

Router(config-if)# ipv6 address { IPv6アドレス } 



2011年12月2日金曜日

IPv6 1.IPv6のアドレス構成

IPv6①

・IPv6とは、


IPv4アドレスの枯渇を解決する為に開発されたIPプロトコルです。

■ 特徴
①広大なアドレス空間  
IPv6では3.4 x 1038のアドレスが使用できます。それにより,多くのデバイスにグローバルIPアドレスを割り振ることができるようになる。
  柔軟なアドレス集約や,NATなしでのエンド間接続をサポートが可能。

②シンプルなヘッダ
  ルーティングの際の効率が上がる。

③セキュリティやモバイルの対応
  モバイルIPとIpsecを使用する事が可能。

④IPv4からIPv6への変換方法を複数使用する事が可能

など!!


・IPv6アドレスの種類


① ユニキャスト
通常の1 対 1の通信に使われるアドレス。グローバルユニキャスト(グローバル集約)とリンクローカル、ユニークローカルアドレスの3つのアドレスがある。

② エニーキャスト
IPv6からの新しいアドレスタイプで,異なるインタフェースに同一のアドレスを割り振ることができる。エニーキャストあてで送信すると最も近いインタフェースが受信します。負荷分散などで使用することができる。

③ マルチキャスト
異なるインタフェースに同一のアドレスを割り振り,マルチキャストアドレスあてに送信すると,そのすべてのインタフェースが受信します。IPv4のマルチキャストと同等です。



※IPv4で存在したブロードキャストアドレスはなくなっており,マルチキャスト,またはエニーキャストがその代替として使われます。





① ユニキャスト

1.グローバルユニキャストアドレス (::/128)

IPv4のグローバルユニキャストアドレスと同等の,インターネットで一意に管理されるアドレス
IPv6のアドレス空間のうち,2000::/3(先頭3ビットが「001」)からE000::/3(先頭3ビットが「111」)までを使用します。

※FF00::/8(先頭8ビットが「1111 1111」)はマルチキャストアドレスのため除きます。::1/128はループバックアドレス


2.リンクローカルユニキャストアドレス (fe80::/10)

ローカルのリンク(ルータを超えない)に範囲(スコープ)が限定されている。そして,リンクローカルアドレスはFE80::/10を使用してIPv6インタフェースに動的に設定されます。
リンクローカルアドレスは,自動設定,ネイバの発見,ルータの発見,ルーティングプロトコルなどに利用されます。

3.ユニークローカルアドレス  (fc00::/7)

サイトローカルアドレスでは、IPv4のプライベートアドレスで問題点を解決的ない為、廃止されました。その代わりに出来てたのが、ユニークローカルアドレスです。
ユニークローカルアドレスでは、グローバルIDと呼ばれる乱数を使用する事により、IPv4プライベートアドレスおよびリンクローカルアドレスの問題点だったアドレスの重複問題を解説している。(100%一意ではない。)




② エニーキャスト

エニーキャストアドレスは特にIPv6アドレス空間の中で決められた範囲ではなく,グローバルユニキャストアドレスと同じ空間を使用する事が可能。又、ひとつのアドレスを複数のインタフェースで共有する事が可能です。
エニーキャストアドレスを送信先アドレスとして指定すると、送信元から最も近いインタフェースにパケットが送信されることになります。

※「近い」という判断は、ネットワーク上で利用しているルーティングプロトコルのメトリックによって判断されます。

③マルチキャスト (FF00::/8)

マルチキャストはIPv6の機能のいくつかの中心的役割を担い,またブロードキャストの代替として使用される。又、マルチキャストアドレスはFF00::/8のプレフィックスを持ち,2オクテット目はフラグと範囲を決定します。残りの112ビットがグループのIDとなります。

FF02::1/128 … リンク上のすべてのノード
FF02::1:ff00:0/104 … リンク上の要請ノードマルチキャストアドレス
FF02::2/128 … リンク上のすべてのルータ
FF02::9/128 … リンク上のすべてのRIPルータ
FF05::101/128 … サイト上のすべてのNTPサーバ






2011年12月1日木曜日

OSPF マルチエリア 3.主要なOSPF設定一覧


主要なOSPF設定一覧



・OSPFの基本設定


1.OSPFのメトリックは「コスト」なので、帯域幅の設定は不可欠です。

Router(config)# interface serial 0
Router(config-if)# bandwidth { 帯域幅 }


2.各ネットワークをOSPFに参加される。

Router(config)# router ospf { プロセス番号 }
Router(config)# network { ネットワークアドレス } { ワイルドマスク } area { エリア番号 }




・スタブエリアの設定

スタブエリアとは、タイプ4,5を流さないエリア。

Router(config)# router ospf { プロセス番号 }
Router(config-router)# area { エリア番号  } stub 


・トータリースタブエリアの設定

トータリースタブエリアとは、タイプ3,4,5を流さないエリア。

Router(config)# router ospf { プロセス番号 }
Router(config-router)# area { エリア番号  } stub no-summary


・NSSAエリアの設定

NSSAエリアとは、スタブエリア内にASBRが存在する事が出来るエリア。

Router(config)# router ospf { プロセス番号 }
Router(config-router)# area { エリア番号 } nssa 


・トータリーNSSAエリアの設定

トータリーNSSAエリアとは、トータリースタブエリアにASBRが存在する事が出来るエリア。

Router(config)# router ospf { プロセス番号 }
Router(config-router)# area { エリア番号 } nssa no-summary


・集約ルートの設定


Router(config)# router ospf { プロセス番号 }
Router(config-router)# area { 集約ルート先のエリア番号 } range { IPアドレス} {サブネットマスク}


・外部ルートのルート集約


Router(config)# router ospf { プロセス番号 }
Router(config-router)# summary-address { IPアドレス} {サブネットマスク}



・バーチャルリンクの設定


1.ルータIDを設定する。

Router(config)# router ospf { プロセス番号 }
Router(config-router)# router-id { IPアドレス}

2.仮想リンクを確立する。

Router(config)# router ospf { プロセス番号 }
Router(config-router)# area { 透過するエリア番号 } virtual-link { ルータID }


・helloタイマーとdeadタイマーの変更



Router(config)# interface {インターフェース名}
Router (config-if )# ip ospf hello-interval {時間}

Router (config-if )# ip ospf dead-interval {時間}

2011年11月29日火曜日

OSPF マルチエリア 2.LSAタイプとエリア



OSPF マルチエリア  




・マルチエリアの必要性


OSPFネットワークが大きくなると、


①LSAの情報が膨大になる。
②リンクステートデータベースが大きくなる。
③ネットワークの変更時、コンバージェンス(収束)に時間がかかる
④ルーティングテーブルが大きくなる。

ルータの負荷が大きくなる。

そこで、OSPFでは、ネットワークをエリアに分割して他のエリアのLSA情報のアドバタイズに制限をかける。

>>オススメ記事:LSA Type 5とは? 基礎〜LSDBの確認方法を図解解説

■ LSAのタイプ




LSAタイプ1(ルータLSA)

アジャセンシーに送られる詳細情報(ルータIDやコスト情報など)。
全ルータが全OSPFルータがルータLSAを生成する。

>>オススメ記事:LSA Type 1とは? 基礎〜LSDBの確認方法を図解解説


LSAタイプ2(ネットワークLSA)

他の接続情報(DRのアドレスなど)
DRがネットワークLSAを生成する。


LSAタイプ3(ネットワークサマリーLSA)

各エリアの情報(エリア毎の経路情報など)
ABRがネットワークサマリーLSAを生成する。

>>オススメ記事:LSA Type 3とは? 基礎〜LSDBの確認方法を図解解説

LSAタイプ4(ASBRサマリーLSA)

ASBRの情報(ルータIDやコスト情報など)
ABRがASBRサマリーLSAを生成する。

※ネットワークサマリーLSAとASBRサマリーLSAは、各エリア内にはフラッディングされるが、完全スタブエリアや完全NSSAにはフラッディングされない。

>>オススメ記事:LSA Type 4とは? 基礎〜LSDBの確認方法を図解解説

LSAタイプ5(AS外部LSA)

非OSPFドメインの情報(再配布された経路情報、コスト情報など)
ASBRがAS外部LSAを生成し、AS内にフラッディングする。

>>オススメ記事:LSA Type 5とは? 基礎〜LSDBの確認方法を図解解説

LSAタイプ7(NSSA外部LSA)

非OSPFドメインの情報(再配布された経路情報、コスト情報など)
NSSAのASBRがNSSA外部LSAを生成し、NSSA内にフラッディングする。

>>オススメ記事:LSA Type 7とは? 基礎〜LSDBの確認方法を図解解説




■ エリアタイプ


バックボーンエリア[ LSAタイプ 1,2,3,4,5 ]

複数のエリアと相互接続しているエリア。


標準エリア[ LSAタイプ 1,2,3,4,5 ] 

バックボーン以外のOSPFエリア

スタブエリア[ LSAタイプ 1,2,3 ] 

タイプ4,5を流さないエリア。

トータリースタブエリア[ LSAタイプ 1,2 ]

タイプ3,4,5を流さないエリア。


※スタブエリアとトータリースタブエリアでは、ASBRやバーチャルリンクのトランジットエリアにはなれない。


NSSAエリア[ LSAタイプ 1,2,3,7 ]

スタブエリア内にASBRが存在する事が出来るエリア。


トータリーNSSA[ LSAタイプ 1,2,7 ]

トータリースタブエリアにASBRが存在する事が出来るエリア。

※NSSAエリアとトータリーNSSAで発生したLSAタイプ7(NSSA外部エリア)が他のエリアに流れる際は、LSA5(AS外部LSA)をフラッディングする




■ バーチャルリンク


OSPFでは、全てのエリアはバックボーンエリアに属していなければなりません。
しかし、地理的や物理的に難しい時などやむを得ない時にバーチャルリンクという手法がある。
バーチャルリンクとは、ABR間で論理的に仮想リンクを確立させる手法です。
又、ABR間で仮想リンクを確立されているエリアをトランジットエリアをいいます。


2011年11月27日日曜日

OSPF マルチエリア 1.DRとBDR



マルチエリア OSPF


ネットワーク規模が大きくなると、ネットワーク障害などによる最短パスの再計算時にルータに強大な負荷がかかります。
又、OSPFでは、SPFアルゴリズムというルータに高い負荷がかかるルーティングプロトコルを使用しています。

マルチエリアのOSPFでは、ネットワークを複数のエリアに分割して、リンクステート情報(LSA)が届く範囲を分割しております。このようなエリア体系をとる事によって、ネットワーク障害などのネットワークの変更の際にLSAをエリア内にとどめる事が出来、ルータの負荷を最小限にする事が出来ます。

>>オススメ記事:OSPFのエリア分割の必要性! シングルエリアとマルチエリアを解説

・OSPFルータの種類

・内部ルータ・・・・・・・・・・・・・・・・・ルータのインターフェースすべてが他のエリアに属していないOSPFルータ。
・ABR(エリア境界ルータ)・・・・・・・他のエリアに属している異なるエリア間の境界OSPFルータ。
・ASBR(AS境界ルータ)・・・・・・・・OSPF以外のルーティングプロトコルや異なるASに属している境界OSPFルータ。

>>オススメ記事:DR・BDRの選定基準〜設定方法・障害時の動作を解説

●DRとBDR


OSPFでは、ネイバー関係を保つためにアジャセンシー(隣接関係)を確立しています。
しかし、OSPFルータが増える程アジャセンシーを確立する数が増えます。

公式 ルータの数 ×(ルータの数 -1)÷2

例>
ルータが5台の時、
5 × ( 5 -1 ) /2 = 10 -> 10個のアジャセンシーが必要

ルータが10台の時
10 × ( 10 - 1 ) /2 = 45 -> 45個のアジャセンシーが必要


このように、ルータの数が増えるほど隣接関係が増加します。

その為に、
ブロードキャストマルチアクセスや非ブロードキャストマルチアクセス(NBMA)では、DRとBDRという概念があります。

※ポイントツーポイントネットワークでは、お互いに1対1で構成されている為選出されません。



DRとは、(代表ルータ)

同じネットワーク内の全OSPFルータをアジャセンシーを確立します。
他のルータは、自ルータのLSAをDRに送ります。
DRは、ネットワークの代表として、他のネットワークのルータとLSAの交換したりします。
又、DRが障害などによりdownした場合は、BDRが替わりとなってDRを引き継ぎます。



BDRとは、(バックアップDR)

DRと同様に同じネットワーク内の全OSPFルータをアジャセンシーを確立します。
他のルータは、自ルータのLSAをDRに送ります。
DRが障害によってdownした場合、BDRが代わりとなってDRの機能を引き継ぎます。


DROTHERとは


DRとBDR以外のルータ。DROTHERはDRとBDRとアジャセンシーを確率しますが、DROTHERとDROTHER同士はアジャセンシーを確立する必要がありません。






DR、BDRの選出


DRとBDRとは、基本的に以下の順番に数字の大きい値又は、アドレスが優先されます。


①最優先するのは、Priority値による選出(デフォルトでは[1]が設定されている)

Router(config)# interface serial0/0/0
Router(config-if)# ip ospf priority { プロパティー値 }

②ルータIDが大きいルータが選出。

Router(config)# router ospf { プロセス番号 }
Router(config-ospf)# router-id { アドレス }

Router(config)# interface loopback { 番号 }
Router(config-if)# ip ospf priority { アドレス }

※手動で、router-idが設定されていない時は、ループバックのアドレスを使用します。
又、clear ip ospf process を実行しないと反映されません。

Router# clear ip ospf process

③物理インターフェースのIPアドレス




---- 確認コマンド -----

RouterA#show ip ospf neighbor

Neighbor ID   Pri     State        Dead Time   Address    Interface
2.2.2.2       0     FULL/DROTHER  00:00:36    172.16.0.10  intarface 0/0/0
3.3.3.3       2     FULL/BDR     00:00:29    172.16.0.20  intarface 0/0/0
4.4.4.4       1     FULL/DROTHER  00:00:32    172.16.0.30  intarface 0/0/0


State の代表的な種類



down   ・・・・ downしている状態。
attempt ・・・・ アジャセンシーと確立する為に、helloパケットを送信し続けている状態
init    ・・・・ 互いのルータはhelloパケットの受信に成功しているが、アジャセンシーまだ確立されていない状態
2way    ・・・・ お互いのルータがアジャセンシーを確立した状態。
full    ・・・・ お互いのルータがアジャセンシーを確立した状態。[DRとBDR選出も含めた]

>>オススメ記事:OSPFの状態遷移(Down〜Full)とパケットの種類を解説


Router#show ip ospf interface intarface 0/0/0
serial0/0/0 is up, line protocol is up
  Internet Address 172.16.0.1/24, Area 0
  Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 100
  Transmit Delay is 1 sec, State DR, Priority 100



以下省略






2011年11月25日金曜日

QOS 6.QOS設定 LLQ


■MQCによるQoSの設定(LLQ)


④LLQ(Low Latency queue)

PQとCBWFQの2つを組み合わせたキューイング方式。
絶対優先されたいパケット(VoIPなど)をPQ(FIFO)を使用して転送し、その他は、WFQを使用して転送されます。
又、PQの欠点であった優先度の高いキュー(完全優先キュー)が空にならない限り優先度の低いパケットを転送できない部分は、ポリシングを使用する事で回避しております。(完全優先キューで帯域幅の許容値を超えた場合は、ドロップされる。)



1.class-mapを使用して、トラフィッククラスを定義する。


Router(config)# class-map { クラス名 }
Router(config-cmap)# match access-group { アクセスリスト番号 } //上記のポリシーに分類するアクセスリスト


2.policy-mapを使用して、1で定義したトラフィッククラスに対してトラフィックポリシーを定義する。


Router(config)# policy-map { ポリシー名 }
Router(config-pmap)# class { クラス名 }

①完全優先キューを使用する場合はpriorityを使用する。
Router(config-pmap-c)# priority { 帯域幅(kbps) }
Router(config-pmap-c)# priority percent{ 割り当てる帯域幅の割合(%) }

②bandwidthを使用する場合
Router(config-pmap-c)# bandwidth { 帯域幅(kbps) }
Router(config-pmap-c)# bandwidth percent{ 割り当てる帯域幅の割合(%) }


3.service-policyを使用して、トラフィックポリシーを定義するインターフェースを定義する。


Router(config)# interface { インターフェース名 }
Router(config-if)# service-policy { output | input } {ポリシー名}




例>

1.class-mapを使用して、トラフィッククラスを定義する。



Router(config)# class-map rtp
Router(config-cmap)# match access-group 100
Router(config-cmap)# exit
Router(config)# class-map http
Router(config-cmap)# match access-group 110
Router(config-cmap)# exit
Router(config)# class-map com-traffic
Router(config-cmap)# match access-group 120
Router(config-cmap)# exit

※ACLでは各トラフィッククラスに分類するトラフィックを定義する
例>
Router(config)# access-list 110 permit tcp any any eq 80


2.policy-mapを使用して、1で定義したトラフィッククラスに対してトラフィックポリシーを定義する。

Router(config)# policy-map inter_net
Router(config-pmap)# class rtp
Router(config-pmap-c)# priority 100 //100kbpsを保証する
Router(config-pmap-c)#exit
Router(config-pmap)# class http
Router(config-pmap-c)# bandwidth 80
Router(config-pmap-c)#exit
Router(config-pmap)# class com-traffic
Router(config-pmap-c)# bandwidth 70
Router(config-pmap-c)#exit
Router(config-pmap)# class class-default
Router(config-pmap-c)#fair-queue 
Router(config-pmap-c)#exit



3.service-policyを使用して、トラフィックポリシーを定義するインターフェースを定義する。

Router(config)# interface serial0/0/0
Router(config-if)# service-policy input inter_net



・show run で一部内容確認

1.確認
class-map rtp
  match access-group 100
!
class-map http
  match access-group 110
!
class-map com-traffic
  match access-group 120
!

2.確認

policy-map inter_net
  class rtp
   priority 100
  class http
   bandwidth 80
  class com-traffic
   bandwidth 70
  class class-default
   fair-queue
!

3.確認

interface serial 0/0/1
  service-policy input inter_net


>>オススメ記事:CCIEが語る!ネットワークエンジニアにオススメな本・参考書!
>>オススメ記事:ITエンジニア必見!失敗しない転職エージェントの選び方はこれだ!


2011年11月23日水曜日

QOS 5.QOS設定 CBWFQ


■MQCによるQoSの設定(CBWFQ)



CBWFQ(Class-based Weighted Fair queue)

WFQに定義されたクラスというグループ(最大64個)を使用して優先制御する方式。又、CBWFQは各キューに最低保証帯域幅を指定する事が出来、それ以上の帯域幅を利用可能であれば、利用することも可能。
問題点 : WFQと同様に帯域などの保証がない。(上限に達した場合、VoIPなどの優先度が高いアプリケーションをテールドロップする可能性がある。)



1.class-mapを使用して、トラフィッククラスを定義する。


Router(config)# class-map { クラス名 }
Router(config-cmap)# match access-group { アクセスリスト番号 } //上記のポリシーに分類するアクセスリスト


2.policy-mapを使用して、1で定義したトラフィッククラスに対してトラフィックポリシーを定義する。


Router(config)# policy-map { ポリシー名 }
Router(config-pmap)# class { クラス名 }
Router(config-pmap-c)# bandwidth { 帯域幅(kbps) }
又は、
Router(config-pmap-c)# bandwidth percent{ 割り当てる帯域幅の割合(%) }
Router(config-pmap-c)# queue-limit { キューの上限 }
Router(config-pmap-c)#fair-queue [ ダイナミックキュー]


3.service-policyを使用して、トラフィックポリシーを定義するインターフェースを定義する。


Router(config)# interface { インターフェース名 }
Router(config-if)# service-policy { output | input } {ポリシー名}




例>

1.class-mapを使用して、トラフィッククラスを定義する。



Router(config)# class-map rtp
Router(config-cmap)# match access-group 100
Router(config-cmap)# exit
Router(config)# class-map http
Router(config-cmap)# match access-group 110
Router(config-cmap)# exit
Router(config)# class-map com-traffic
Router(config-cmap)# match access-group 120
Router(config-cmap)# exit




2.policy-mapを使用して、1で定義したトラフィッククラスに対してトラフィックポリシーを定義する。

Router(config)# policy-map inter_net
Router(config-pmap)# class rtp
Router(config-pmap-c)# bandwidth 40
Router(config-pmap-c)# queue-limit 40
Router(config-pmap-c)#exit
Router(config-pmap)# class http
Router(config-pmap-c)# bandwidth 30
Router(config-pmap-c)# queue-limit 50
Router(config-pmap-c)#exit
Router(config-pmap)# class com-traffic
Router(config-pmap-c)# bandwidth 20
Router(config-pmap-c)#exit
Router(config-pmap)# class class-default
Router(config-pmap-c)#fair-queue 
Router(config-pmap-c)#exit



3.service-policyを使用して、トラフィックポリシーを定義するインターフェースを定義する。

Router(config)# interface serial0/0/0
Router(config-if)# service-policy input inter_net



・show run で一部内容確認

1.確認
class-map rtp
  match access-group 100
!
class-map http
  match access-group 110
!
class-map com-traffic
  match access-group 120
!

2.確認

policy-map inter_net
  class rtp
   bandwidth  40
 queue-limit 40
  class http
   bandwidth  30
 queue-limit 50
  class com-traffic
   bandwidth  20
  class class-default
   fair-queue
!

3.確認

interface serial 0/0/1
  service-policy input inter_net


■確認コマンド
・show policy-map interface コマンド