問題ID:7188  OSPF DRの選出

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2021-7-4 20:00 | 最終変更
ゲスト    投稿数: 0
>インターフェースがどのネットワークに属しているかや、インターフェースでOSPFが有効化されているかどうかはルータIDの選出に関係ありません。
>RBには「192.168.1.0/24に属しているFa0/0」と「192.168.3.0/24に属しているS0/0」という2つのインターフェースがあるので、RBのルータIDは「192.168.3.1」になります。
たとえ、S0/0でOSPFが有効化されていなかったとしてもRBのルータIDは「192.168.3.1」になります。

とありますが、RouterAのWAN接続をしているシリアルポートは別のエリアに属するものとなり、RouterAのルータIDは192.168.1.1、DRはRouterCの192.168.1.3となると考えておりました。
RouterAのWAN接続をしているシリアルポートはエリア0とみなされ、RouterAのルータIDは192.168.3.1、DRもRouterAの192.168.3.1となるということでしょうか。

もしRouterA:S0/0:192.168.3.1/24がWAN接続ではなく、Fa0/1で別エリア接続だった場合、エリア0のRouterAのルータIDは192.168.1.1になるかと思います。

エリア0のWAN接続側ポートが、ルートIDとなりえるか、ご教示いただけますと幸いです。

https://www.infraexpert.com/study/ospfz7.htmlの"DRとBDRはセグメントごとに選出されます。OSPFプライオリティ値はインターフェースごとに設定するので
 あるOSPFルータはセグメント1ではDRとなっても、セグメント2ではDROTHERになっている場合もあります。"という解説もありますが、エリア0のWAN接続ポートは別エリアとはみなさないのでしょうか。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-7-5 13:43
arashi1977  長老 居住地: 広島  投稿数: 1715
解説の
引用:
たとえ、S0/0でOSPFが有効化されていなかったとしてもRBのルータIDは「192.168.3.1」になります。
ここと
引用:
RouterAのWAN接続をしているシリアルポートは別のエリアに属するものとなり、RouterAのルータIDは192.168.1.1、DRはRouterCの192.168.1.3となると考えておりました。
ここですれ違いがありますね。
設問の図から見ると、S0/0はOSPFが有効化されているとは判断できないです。各ルータのFastEthernetインターフェースやSwitchはOSPFの円の中にあるのでOSPFが有効な範囲だと読めますが、RBのS0/0はその円に含まれていないので「OSPFが有効ではないインターフェース」と読めます。
(この図の読み取り方はわりと一般的です。ある領域を示す円の中に含まれていなかったら、その円のグループに属さない、という意味)

なので、この先の
引用:
RouterAのWAN接続をしているシリアルポートはエリア0とみなされ
については誤認です。OSPFが有効ではないインターフェースが(OSPFの)エリア0とみなされるという判断はできません。

ただし、この問題はS0/0がOSPF有効かどうかは問題ではなく、解説の
引用:
インターフェースがどのネットワークに属しているかや、インターフェースでOSPFが有効化されているかどうかはルータIDの選出に関係ありません。
が全てです。ルータ内でOSPFを有効化する際に「自分の中で有効なIPアドレス」を基準にルータIDを何にするか判定するので、RBにおいては「S0/0とFa0/0のうちアドレスがより大きい方=192.168.3.1」が選択された、というだけの話です。

よって
引用:
もしRouterA:S0/0:192.168.3.1/24がWAN接続ではなく、Fa0/1で別エリア接続だった場合、エリア0のRouterAのルータIDは192.168.1.1になるかと思います。
この仮定も成立しないです。WAN接続なのか、別エリアなのかは問題ではないです。

ルータIDの選出=自ルータ内で判定
DR/BDR/DROTHERの選出=各OSPFが有効なインターフェースで他のルータからの情報(申告してきたルータID)を元に判定

というところを今一度整理して診てはどうでしょうか?
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021-7-7 21:13 | 最終変更
ゲスト    投稿数: 0
回答いただき、ありがとうございます。
>ルータ内でOSPFを有効化する際に「自分の中で有効なIPアドレス」を基準にルータIDを何にするか判定するので、RBにおいては「S0/0とFa0/0のうちアドレスがより大きい方=192.168.3.1」が選択された、というだけの話です。

>この仮定も成立しないです。WAN接続なのか、別エリアなのかは問題ではないです。

上記の解説について、DRの選出において、別エリアに属しているポートのIPアドレスも、ルータIDの選出に入ってくるということでしょうか。
例えば、ルータXにエリア0に属する192.168.1.1のポートと、エリア1に属する192.168.1.2があった場合、エリア0のDR選出の際に、エリア1に属するポートのIPアドレスが介入し、ルータIDは192.168.1.2となり、エリア0のDRは192.168.1.2となる。
エリア1でも192.168.1.2を超えるルータIDがない場合は、DRとなる、ということですかね?

各参考サイトにおいても、単一エリアでのDR選出解説ばかりで、複数エリアを題材にした解説がありません。
もしそのような解説をご存知であれば、ご教示いただけますと幸いです。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-7-7 22:30
arashi1977  長老 居住地: 広島  投稿数: 1715
あれ、もしかしてここで誤解がありそう?
引用:
上記の解説について、DRの選出において、別エリアに属しているポートのIPアドレスも、ルータIDの選出に入ってくるということでしょうか。
「DRの選出」と「ルータIDの選出」は別の話だとひとつ上の返信でお話しました。
引用:
ルータIDの選出=自ルータ内で判定
DR/BDR/DROTHERの選出=各OSPFが有効なインターフェースで他のルータからの情報(申告してきたルータID)を元に判定

大前提としてですが、「OSPFが動作するためには自身のルータIDが確定している必要がある」というものがあります。なので、DR選出がどうとかいう前にルータIDの選出が行われなければなりません。

実機でやってみるとわかるのですが、以下のようにOSPF未設定、インターフェースアドレスは設定済みだがshutdown状態の場合
Router#show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
GigabitEthernet0/0         192.168.1.1     YES manual administratively down down
GigabitEthernet0/1         192.168.2.1     YES manual administratively down down
GigabitEthernet0/2         unassigned      YES unset  administratively down down
GigabitEthernet0/3         unassigned      YES unset  administratively down down
Router#show ip protocols
*** IP Routing is NSF aware ***

Routing Protocol is "application"
  Sending updates every 0 seconds
  Invalid after 0 seconds, hold down 0, flushed after 0
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Maximum path: 32
  Routing for Networks:
  Routing Information Sources:
    Gateway         Distance      Last Update
  Distance: (default is 4)
OSPFを有効にしようとすると「一意なルータIDを割り当てできないためOSPFが有効にならない」というエラーになります。
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#router ospf 1
Router(config-router)#
*Jul  7 13:14:23.180: %OSPF-4-NORTRID: OSPF process 1 failed to allocate unique router-id and cannot start ←エラーになっている
このとき、OSPFの設定は存在しますがルータIDは未設定の状態になります。この場合OSPFプロセスが正しく動作できません。
Router(config-router)#do show ip protocols
*** IP Routing is NSF aware ***

Routing Protocol is "application"
  Sending updates every 0 seconds
  Invalid after 0 seconds, hold down 0, flushed after 0
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Maximum path: 32
  Routing for Networks:
  Routing Information Sources:
    Gateway         Distance      Last Update
  Distance: (default is 4)

Routing Protocol is "ospf 1"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Router ID 0.0.0.0 ←ここ
  Number of areas in this router is 0. 0 normal 0 stub 0 nssa
  Maximum path: 4
  Routing for Networks:
  Routing Information Sources:
    Gateway         Distance      Last Update
  Distance: (default is 110)
この状態でインターフェースをshutdownしたままで各インターフェースに対してエリアを設定してもルータIDは決まりません。
Router(config-router)#network 192.168.1.0 0.0.0.255 area 0
Router(config-router)#network 192.168.2.0 0.0.0.255 area 1
Router(config-router)#do show ip protocols
*** IP Routing is NSF aware ***

Routing Protocol is "application"
  Sending updates every 0 seconds
  Invalid after 0 seconds, hold down 0, flushed after 0
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Maximum path: 32
  Routing for Networks:
  Routing Information Sources:
    Gateway         Distance      Last Update
  Distance: (default is 4)

Routing Protocol is "ospf 1"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Router ID 0.0.0.0 ←ここ
  Number of areas in this router is 0. 0 normal 0 stub 0 nssa
  Maximum path: 4
  Routing for Networks:
    192.168.1.0 0.0.0.255 area
    192.168.2.0 0.0.0.255 area
  Routing Information Sources:
    Gateway         Distance      Last Update
  Distance: (default is 110)
逆に、インターフェースが属するエリアの情報を削除して各インターフェースをUp/Upにすると、ルータIDが決まるのでOSPFプロセスが動作するようになります。ただしOSPFが有効なインターフェースは存在しないのでDR選出などは動作しません。
Router(config-router)#no network 192.168.1.0 0.0.0.255 area 0
Router(config-router)#no network 192.168.2.0 0.0.0.255 area 1
Router(config-router)#do show ip ospf interface brief
%OSPF: Router process 1 is not running, please configure a router-id ←ルータID未設定なのでOSPFプロセスが動作していない。
Router(config-router)#int g0/0
Router(config-if)#no shut
Router(config-if)#int g0/1
Router(config-if)#no shut
Router(config-if)#
*Jul  7 13:22:09.807: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to up
*Jul  7 13:22:10.807: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up
*Jul  7 13:22:12.041: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to up
*Jul  7 13:22:13.041: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to updo show ip protocols
*** IP Routing is NSF aware ***

Routing Protocol is "application"
  Sending updates every 0 seconds
  Invalid after 0 seconds, hold down 0, flushed after 0
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Maximum path: 32
  Routing for Networks:
  Routing Information Sources:
    Gateway         Distance      Last Update
  Distance: (default is 4)

Routing Protocol is "ospf 1"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Router ID 192.168.1.1 ←先にUpになったG0/0のアドレスがルータIDになった
  Number of areas in this router is 0. 0 normal 0 stub 0 nssa
  Maximum path: 4
  Routing for Networks:
  Routing Information Sources:
    Gateway         Distance      Last Update
  Distance: (default is 110)

Router(config-if)#do show ip ospf interface brief ←OSPFが有効なインターフェースは存在しない
Router(config-if)#
OSPFプロセスが動作するようになってから初めてDR選出などの動作に移ることができるようになります。

ですので
引用:
エリア分けを行っても、各エリアごとのDRが生まれないのではないでしょうか
エリアごとのDRは、エリアごとできちんと選出されます。その際の判断基準は「各ルータのルータID」です。そしてルータIDは「どのエリアに所属しているかいないかに関わらず、ルータIDとして利用可能なアドレス」が採用されます。
エリアに接しているインターフェースのIPアドレスがそのままDR選出に使われるわけではないことに注意してください。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2021-7-7 23:30
ゲスト    投稿数: 0
>「DRの選出」と「ルータIDの選出」は別の話だとひとつ上の返信でお話しました。
>大前提としてですが、「OSPFが動作するためには自身のルータIDが確定している必要がある」というものがあります。なので、DR選出がどうとかいう前にルータIDの選出が行われなければなりません。

どうも、頭の中でDRとルータIDの流れが理解できていないようでした。
DR選出を行うためにルータIDを使用するため、エリアごとのDR云々の前に、(今回でいうと)ルータIDを各ポートの最大IPアドレスで決める必要があったということですね、、、各エリアに属するポートIPアドレスを比べ、エリアでルータIDを出すものだと勘違いしていたようです。失礼いたしました。
ルータIDはあくまで各ルータの以下要件で算出されるものであり、エリアは関係ありませんね、、、
1.route-id コマンドで設定されたID
2.shutdownされていないループバックインターフェイスに設定されている最も大きいIPアドレス
3.shutdownされていない物理または論理インターフェイスに設定された最も大きいIPアドレス


上記の要件ででたルータIDを各エリアのルータ同士で比較し、DRが決まると、、、


実機の解説もあり、動作が非常にわかりやすかったです。
今後とも、何卒よろしくお願いいたします。

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.