DynagenでCCIEを目指す
20100420 OSPF DR, BDRの観察
最終更新:
it_certification
-
view
目的
- OSPFにおけるDR, BDRがどのように選出されるかを観察します。
- lab対策というより、主に筆記試験対策の検証です。
構成
- 設定概要
- OSPFによってルーティングします。
- 構成図

- netファイル
ghostios = True sparsemem = True model = 3620 [localhost] [[3620]] image = C:\Program Files\Dynamips\images\c3620-j1s3-mz.123-18.bin ram = 256 [[ROUTER R1]] e0/0 = LAN 1 e0/1 = R2 e0/1 [[ROUTER R2]] e0/0 = LAN 1 [[ROUTER R3]] e0/0 = LAN 1 [[ROUTER R4]] e0/0 = LAN 1
- 初期設定 R1
! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname R1 ! boot-start-marker boot-end-marker ! ! no aaa new-model ip subnet-zero ! ! ! ip cef ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Loopback0 ip address 1.1.1.1 255.255.255.255 ! interface Ethernet0/0 ip address 192.168.0.1 255.255.255.0 full-duplex ! interface Ethernet0/1 ip address 192.168.1.1 255.255.255.0 full-duplex ! interface Ethernet0/2 no ip address shutdown half-duplex ! interface Ethernet0/3 no ip address shutdown half-duplex ! router ospf 1 log-adjacency-changes redistribute connected subnets network 192.168.0.0 0.0.0.255 area 0 network 192.168.1.0 0.0.0.255 area 0 ! ip http server ip classless ! ! ! ! ! ! ! ! line con 0 line aux 0 line vty 0 4 ! ! end
- 初期設定 R2
! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname R2 ! boot-start-marker boot-end-marker ! ! no aaa new-model ip subnet-zero ! ! ! ip cef ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Loopback0 ip address 2.2.2.2 255.255.255.255 ! interface Ethernet0/0 ip address 192.168.0.2 255.255.255.0 full-duplex ! interface Ethernet0/1 ip address 192.168.1.2 255.255.255.0 full-duplex ! interface Ethernet0/2 no ip address shutdown half-duplex ! interface Ethernet0/3 no ip address shutdown half-duplex ! router ospf 1 log-adjacency-changes redistribute connected subnets network 192.168.0.0 0.0.0.255 area 0 network 192.168.1.0 0.0.0.255 area 0 ! ip http server ip classless ! ! ! ! ! ! ! ! line con 0 line aux 0 line vty 0 4 ! ! end
- 初期設定 R3
! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname R3 ! boot-start-marker boot-end-marker ! ! no aaa new-model ip subnet-zero ! ! ! ip cef ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Loopback0 ip address 3.3.3.3 255.255.255.255 ! interface Ethernet0/0 ip address 192.168.0.3 255.255.255.0 full-duplex ! interface Ethernet0/1 no ip address shutdown half-duplex ! interface Ethernet0/2 no ip address shutdown half-duplex ! interface Ethernet0/3 no ip address shutdown half-duplex ! router ospf 1 log-adjacency-changes redistribute connected subnets network 192.168.0.0 0.0.0.255 area 0 ! ip http server ip classless ! ! ! ! ! ! ! ! line con 0 line aux 0 line vty 0 4 ! ! end
- 初期設定 R4
! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname R4 ! boot-start-marker boot-end-marker ! ! no aaa new-model ip subnet-zero ! ! ! ip cef ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Loopback0 ip address 4.4.4.4 255.255.255.255 ! interface Ethernet0/0 ip address 192.168.0.4 255.255.255.0 full-duplex ! interface Ethernet0/1 no ip address shutdown half-duplex ! interface Ethernet0/2 no ip address shutdown half-duplex ! interface Ethernet0/3 no ip address shutdown half-duplex ! router ospf 1 log-adjacency-changes network 192.168.0.0 0.0.0.255 area 0 ! ip http server ip classless ! ! ! ! ! ! ! ! line con 0 line aux 0 line vty 0 4 ! ! end
検証1 初期状態の確認
- neighborの確認
show ip ospf neighborコマンドでどのルータがDR, BDRになっているかを確認します。なお、この場合は、あくまで一例です。ルータの起動順序によって、DR, BDRは変わります。以下の例の場合、192.168.0.0/24のネットワークのDR, BDRは以下の通りです。
BDR : R2 DR : R3
R1のneighborを確認します。
192.168.0.0/24に関しては、R2がBDR, R3がDRである事が確認できます。また、R1とR4の関係については、お互いがDROTHER同士であるため、Link State DataBse(以下LSDB)を同期させる必要がありません。従って、FULLではなく2WAYと表示されます。
192.168.1.0/24のネットワークに関しては、R2がDRである事が分かります。
192.168.0.0/24に関しては、R2がBDR, R3がDRである事が確認できます。また、R1とR4の関係については、お互いがDROTHER同士であるため、Link State DataBse(以下LSDB)を同期させる必要がありません。従って、FULLではなく2WAYと表示されます。
192.168.1.0/24のネットワークに関しては、R2がDRである事が分かります。
R1>show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 2.2.2.2 1 FULL/DR 00:00:36 192.168.1.2 Ethernet0/1 2.2.2.2 1 FULL/BDR 00:00:36 192.168.0.2 Ethernet0/0 3.3.3.3 1 FULL/DR 00:00:36 192.168.0.3 Ethernet0/0 4.4.4.4 1 2WAY/DROTHER 00:00:38 192.168.0.4 Ethernet0/0
R2のneigborを確認します。
192.168.0.0/24のネットワークに関しては、R3がDRである事が確認できます。R1とR2, R4とR2の関係については、FULL/DROTHERと表示されます。R1では、2WAY/DROTHERと表示されましたが、R2は自信がBDRであるため、FULL/DROTHERと表記されます(BDRとDROTHERはLSDBを同期する必要があります)
192.168.1.0/24のネットワークに関してはR1がBDRである事が分かります。
192.168.0.0/24のネットワークに関しては、R3がDRである事が確認できます。R1とR2, R4とR2の関係については、FULL/DROTHERと表示されます。R1では、2WAY/DROTHERと表示されましたが、R2は自信がBDRであるため、FULL/DROTHERと表記されます(BDRとDROTHERはLSDBを同期する必要があります)
192.168.1.0/24のネットワークに関してはR1がBDRである事が分かります。
R2>show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 1.1.1.1 1 FULL/BDR 00:00:39 192.168.1.1 Ethernet0/1 1.1.1.1 1 FULL/DROTHER 00:00:39 192.168.0.1 Ethernet0/0 3.3.3.3 1 FULL/DR 00:00:30 192.168.0.3 Ethernet0/0 4.4.4.4 1 FULL/DROTHER 00:00:36 192.168.0.4 Ethernet0/0
R3のneighorを確認します。R3はDRである事が分かります。なぜなら、FULL/DROTHERの表示からDROTHERと同期する必要があるという事が分かります。DROTHERと同期しなければならないのは、DRかBDRです。さらに、FULL/BDRの表記からR2がBDRである(自身R3はBDRではない)という事から、自身R3はDRである事が分かります。
R3>show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 1.1.1.1 1 FULL/DROTHER 00:00:33 192.168.0.1 Ethernet0/0 2.2.2.2 1 FULL/BDR 00:00:33 192.168.0.2 Ethernet0/0 4.4.4.4 1 FULL/DROTHER 00:00:36 192.168.0.4 Ethernet0/0
R4のneighborについて確認します。自身R4がDROTHERである事が分かります。
R4>show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 1.1.1.1 1 2WAY/DROTHER 00:00:35 192.168.0.1 Ethernet0/0 2.2.2.2 1 FULL/BDR 00:00:35 192.168.0.2 Ethernet0/0 3.3.3.3 1 FULL/DR 00:00:36 192.168.0.3 Ethernet0/0
検証2 パケットの観察
- I/Fのshutdown
R2 e0/1をshutdownさせます。R1とR2の間のneighborが切れるまで待って下さい。
R2(config)#interface Ethernet 0/1 R2(config-if)#shutdown
- パケットキャプチャの準備
R2 e0/1のパケットキャプチャを有効にします。
=> capture R2 e0/1 cap_R2_01.cap
- I/Fのno shutdown
R2 e0/1をno shutします。
R2(config)#interface Ethernet 0/1 R2(config-if)#no shutdown
- パケットの観察
R2 e0/1のno shutによって、どのようなOSPFのパケットが流れるのかを観察します。
DR, BDRの選出が完了したら、Database Description(DDと略される事もある)を交換します。
DR, BDRの選出が完了したら、Database Description(DDと略される事もある)を交換します。

DDの交換が完了し、DR, DBRのLSDBが構築されたら、全OSPF宛て(224.0.0.5)に経路情報を通知します。すなわち、LinkState Updateを全OSPFルータに送信します。

検証3
- I/Fのshutdown
R3 e0/0をshutdownさせます。現在、R3はDRです。
R3(config)#interface Ethernet 0/0 R3(config-if)#shutdown
- neighborの確認
R2でshow ip ospf neighborコマンドを発行します。R3(3.3.3.3)のDead Timeが次第に小さくなっていくのが読み取れます。Dead Timeが0になると、R2はR3がダウンしたと判断し、DR, DBRを選出します。
R2#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 1.1.1.1 1 FULL/DR 00:00:39 192.168.1.1 Ethernet0/1 1.1.1.1 1 FULL/DROTHER 00:00:39 192.168.0.1 Ethernet0/0 3.3.3.3 1 FULL/DR 00:00:00 192.168.0.3 Ethernet0/0 4.4.4.4 1 FULL/DROTHER 00:00:28 192.168.0.4 Ethernet0/0 R2# *Mar 1 00:17:11.475: %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on Ethernet0/0 from FULL to DOWN, Neighbor Down: Dead timer expired R2#
以前BDRであったR2がDRになり、DROTHERの中で最もrouter-idが大きいR4がBDRになった事が読み取れます。
R2#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 1.1.1.1 1 FULL/DR 00:00:39 192.168.1.1 Ethernet0/1 1.1.1.1 1 FULL/DROTHER 00:00:39 192.168.0.1 Ethernet0/0 4.4.4.4 1 FULL/BDR 00:00:14 192.168.0.4 Ethernet0/0
補足 DR, BDR選出方法まとめ
- DRがダウン
BDRがDRになり、DROTHERの中からBDRが選ばます。
- BDRがダウン
DRはDRのままで、DROTHERの中からBDRが選ばれます。
- DROTHERがダウン
DR, BDRの選出は行われません。