OSPF - Network Type -



 OSPF - 3つのトポロジ & 5つのNBMAモード -

 OSPFの場合は残念なことに、EIGRPのようにLayer2でのシームレスな接続を完全に実現できておりません。
 つまり、Layer2に合わせた「OSPFの設定」というのが少し必要になってきます。OSPFで意識する必要のある
 トポロジーは、LAN ( ブロードキャストマルチアクセス )、PtP( ポイントツーポイント) 、NBMAの3つがあります。
 また、NBMAのトポロジーには5つのモードがあり、そのモードによりOSPFの特性が大きく変わってしまいます。

3つのトポロジー ネイバー検出 DR/BDR の選出 Hello
ブロードキャストマルチアクセス 自動 10
ポイントツーポイント 自動 10
NBMA ( 5つのモードがある ) モードによる モードによる モードによる

5つのNBMAモード ネイバー検出 DR/BDR選出 適切なトポロジー ip ospf network - Hello
NBMA 手動 フルメッシュ non-broadcast  30
ブロードキャスト 自動 フルメッシュ broadcast 10
ポイントツーポイント 自動 スター
( サブInterface使用 )
point-to-point 10
ポイントツーマルチポイント 自動 スター point-to-multipoint 30
ポイントツーマルチポイント
(Non Broadcast )
手動 スター point-to-multipoint
nonbroadcast
30

 ブロードキャストの有無が隣接自動検出の有無に影響しており、マルチアクセスネットワークの有無がDR/BDRの有無に影響している。
 ポイントツーポイントは1対1の関係なのでネイバーを自動検出する。また、フレームリレー上のインターフェース (encap frame-relay) では
 デフォルトの状態で ip ospf network non-broadcast コマンドがコンフィグ上に反映されることになるが、デフォルト値なので表示されない。
 ip ospf network コマンドのうち、non-broadcast, broadcast, point-to-pointは他のコマンドに付随して自動入力されるが、それ以外の2つ
 ip ospf network point-to-multipoint と point-to-multipoint nonbroadcastなどは、意図的に手動で入力しないと発生しないモードである。
 ※ loopbackインターフェースでのOSPFモードに [ loopback ] というものがあり、このモードでは必ず [ 32 ] ビットのルートでLSAが流れる。


 
OSPFネットワークを確立するために、一番着目すべきは項目は「ネイバー検出方法」です。OSPFネットワーク
 において全ての始まりはネイバーの確立なのですが、ネイバー検出方法に「手動」とある場合は、管理者により
 意図的にneighborコマンドでネイバーを定義しないといけないからです。レイヤー2におけるシームレス接続が
 出来ていないということです。ネイバーを確立するという意味で対向ルータと 「Hello Interval」 が異なる場合は、
 ip ospf hello-interval か ip ospf network コマンドにて Hello Interval を対向ルータと同じにする必要があります。
 [ Dead ] は、常に 「Hello Interval」 の4倍の値であり、「Hello」 を変更すれば 「Dead」 も自動的に変更されます。


 Cisco(config)# interface FastEthernet0/1
 Cisco(config-if )# ip ospf hello-interval 30
 Cisco(config-if )# ip ospf dead-interval 120



 OSPF - Neighborコマンド -

 NBMAモード、ポイントツーポイント ( Non-Broadcast ) モードでは、手動でネイバーを定義する必要があります。
 ハブ&スポークトポロジーの構成である場合、ハブルータで定義する必要がありスポーク側で設定を行いません。


 Cisco(config)# router ospf 1
 Cisco(config-router)# neighbor [ ip-address ] [ priority number] [ poll-intervalsec] [ cost number] [ database-filter all ]


neighbor コマンド neighbor コマンドの説明
ip-address ネイバールータのIPアドレス
priority defaultで priority [ 0 ] 。ネイバーのプライオリティ値の想定にしかすぎない。
poll-interval ネイバーがアクティブでない時もhelloを送信する必要がある場合に、
NBMAインターフェースがhelloを送信するまでの待機する時間。
cost ネイバーごとにコスト ( 1〜65535) 値を割り当てることができます。
database-filter all 指定したネイバーに対して、LSAの送信をストップするコマンド。




 OSPF - NBMAモードへの適用 -

 NBMAはノンブロードキャストネットワークである事から、ネイバーを手動で定義する必要のあるネットワークです。
 NBMAはマルチアクセスネットワークである事から、DR/BDRの選出が行われるネットワークでもあります。例えば
 以下のFrame-Relayでは、encap frame-relayによりネットワークタイプが自動で「NON_BROADCAST」になります。


  
 注意点として上図の構成は、ハブ&スポークである事から必ず 「HUB側のルータをDR」 にする必要があります。
 LSUの転送タスクはDRが行うので、例えば「SpokeRouter2」がDRになると、「SpokeRouter2」はOSPFのルート
 情報を受け取れなくなってしまいます。その為の回避策として、フルメッシュでないSpoke側のルータの設定は
 必ず ip ospf priority 0 にする必要があります。そうすることで、HubRouterに再起動がかかった場合においても
 DR、BDRになることは決してありません。また、あわせて必須ではありませんが、DRとなるべきハブルータでは
 ip ospf priority 255と設定しておきます。最後に、NBMAモードのハブ&スポークのトポロジーでは、ハブルータに
 手動でネイバーを定義する必要があります。フルメッシュでない限りスポーク側でneighbor定義は必要ないです。


 HubRouter(config)# interface Serial 0/0
 HubRouter(config-if)# ip address 192.168.0.1 255.255.255.0
 HubRouter(config-if)# encapsulation frame-relay

 HubRouter(config-if)# ip ospf priority 255
 HubRouter(config-if)# frame-relay lmi-type q933a
 HubRouter(config-if)# frame-relay map ip 192.168.0.2 16 broadcast
 HubRouter(config-if)# frame-relay map ip 192.168.0.3 17 broadcast
 HubRouter(config-if)# no frame-relay inverse-arp

 HubRouter(config)# router ospf 1
 HubRouter(config-router)# network 192.168.0.1 0.0.0.0 area 0

 HubRouter(config-router)# network 192.168.7.1 0.0.0.0 area 0
 HubRouter(config-router)# neighbor 192.168.0.2
 HubRouter(config-router)# neighbor 192.168.0.3


 SpokeRouter1(config)# interface Serial 0/0
 SpokeRouter1(config-if)# ip address 192.168.0.2 255.255.255.0
 SpokeRouter1(config-if)# encapsulation frame-relay

 SpokeRouter1(config-if)# ip ospf priority 0
 SpokeRouter1(config-if)# frame-relay lmi-type q933a
 SpokeRouter1(config-if)# frame-relay map ip 192.168.0.1 17 broadcast
 SpokeRouter1(config-if)# frame-relay map ip 192.168.0.3 17 broadcast
 SpokeRouter1(config-if)# no frame-relay inverse-arp

 SpokeRouter1(config)# router ospf 1
 SpokeRouter1(config-router)# network 192.168.0.2 0.0.0.0 area 0
 SpokeRouter1(config-router)# network 192.168.8.1 0.0.0.0 area 0


 SpokeRouter2(config)# interface Serial 0/0
 SpokeRouter2(config-if)# ip address 192.168.0.3 255.255.255.0
 SpokeRouter2(config-if)# encapsulation frame-relay

 SpokeRouter2(config-if)# ip ospf priority 0
 SpokeRouter2(config-if)# frame-relay lmi-type q933a
 SpokeRouter2(config-if)# frame-relay map ip 192.168.0.1 17 broadcast
 SpokeRouter2(config-if)# frame-relay map ip 192.168.0.2 17 broadcast
 SpokeRouter2(config-if)# no frame-relay inverse-arp


 SpokeRouter2(config)# router ospf 1
 SpokeRouter2(config-router)# network 192.168.0.3 0.0.0.0 area 0
 SpokeRouter2(config-router)# network 192.168.9.1 0.0.0.0 area 0


 ※ 上記のコンフィグではLAN側を適当に追加しています。上図の構成のこのコンフィグによりBDRが選出されない結果となります。


 OSPF - NBMAでサブインターフェースの使用 -

 Frame-RelayのようなNBMAでは、1つの物理Serialインターフェースを「サブインターフェース」と呼ばれる複数の
 論理インターフェースに分割することができます。サブインターフェースには、point-to-pointmultipoint
 2種類があります。「point-to-point」サブインターフェースを使用した場合のOSPFモードは、ポイントツーポイント
 トポロジーと同様にip ospf network point-to-pointモードになります。「multipoint」サブインターフェースでは
 NBMAモードと同様にip ospf network non-broadcastモードになります。これは要注意です。なぜなら例えば
 ハブ&スポークトポロジで、ハブ側のサブインターフェースを 「multipoint 」 として使用して、一方で、スポーク側の
 サブインターフェースで「point-to-point」として使用した場合、hello interval が異なり調整する必要が出てきます。
 ※ hello interval, dead interval を調整しなくても、両方のI/Fで [ ip ospf network ] モードを同じにすればネイバーを確立することができる。

 

 Resource : Routing TCP/IP Volume 1 BSCI 試験認定テキスト 第2版 CCO Open Shortest Path Fast インターネットルーティング入門


OSPF - DR & BDR - OSPF - マルチエリア ( LSAタイプ ) → 

ネットワークエンジニアとして

Copyright(C) 2002-2008 Cool. All Rights Reserved