|
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-point と multipoint の
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 インターネットルーティング入門
|