Subject: Re: DR & BDR Election

From: wu min <[email-masked]>
Date: Fri, 24 May 2002 14:42:10 +0000

Hi Yasu and Alex,

Yes, it can be more complex than this as Yasu pointed out, however I try
to keep it simple because I only intended to make myself clear of the
fundamental working of the election process. I will figure out the rest
of the complexities and try on my own once I am pretty sure about its basic
working (unless I bump into problem again :).

The assumption made on paragraph 2 and 4 of my previous example is that all
individual Hello packets are transmitted (and also received) around the same
time (this simplifies the example :). Both of you mentioned that the BDR
should be elected as well during the first round so I have augmented the
scenario below. Please verify it for me.

>Lets say we have 4 routers, namely, S, T, U, and V with priority 2,
>3, 4, and 5 respectively. Initially none of the routers had interact
>with one another yet. When all first broadcasted their respective
>Hello packets, they declared themselves individually as DR but let
>BDR = 0.0.0.0.
>
>At this stage, all routers have received this information and they
>start to calculate (since this information is new to them, it triggers
>NeighbourChange event, and thus the calculation) and found out that
>there is no BDR yet and V should be nominated as DR.

[If I followed the rules strictly, then the statements below should be true
and should come after the last paragraph above]
All routers EXCEPT ROUTER V will *repeat* steps (2) and (3) since they
realize that they are no longer *once believed* to be DRs. However after the
execution, their perceptions about DR & BDR stays the same (DR = V; BDR =
0.0.0.0) since no one claims to be BDR (the BDR field in their HelloPacket
was 0.0.0.0) EXCEPT FOR ROUTER U where it now nominates itself as BDR
(however it keeps its DR = V).

>V, the newly elected DR, repeats step (2) and (3), but its perception
>about DR & BDR stays the same (DR = V; BDR = 0.0.0.0).

This statement (the above paragraph) is no more valid.

>The next moment, all broadcast individual Hello packets again, each
>Hello packet, except from U, still contain DR = V and BDR = 0.0.0.0.
>Hello packet from U now contains DR = V and BDR = U. All routers see
>the change and begin calculating again. Now every router realizes
>that BDR = U and DR = V and the election process complete for all
>routers except router U.

[Please verify the additional statements below]
Note that all routers, except router U, trigger NeighbourChange event and
thus start calculating because router U's HelloPacket contents is different
from their views. Whereas, router U triggers NeighbourChange event and thus
start calculating because all other routers' HelloPackets contents are
different from its view. So effectively all routers see the change and start
calculating.

[Modification]
The last statement in the paragraph above should read, "Now every router
realizes that BDR = U and DR = V and the election process are completed for
all routers INCLUDING router U". The reason is stated below.

>U, the newly elected BDR, repeats step (2) and (3), but its
>perception about DR & BDR stays the same (DR = V; BDR= U). Election
>process ends.

The paragraph above is not valid since router U has already assumed the BDR
post since prior to the last broadcast and its view never change till this
current stage. Due to this, note that during this round, no router
*re-execute* steps (2) and (3).

>Subsequent Hello packets from all routers will have DR = V and
>BDR = U.

Thank you in advance.

-Tze Ven.

_________________________________________________________________
MSN Photos is the easiest way to share and print your photos:
http://photos.msn.com/support/worldwide.aspx

---

From: Yasuhiro Ohara <[email-masked]>
Date: Mon, 27 May 2002 18:07:20 +0900

(Citations are some snipped)

> (however it keeps its DR = V).

This is not true. A router will calculate BDR even if no routers have
declared themselves BDR (See RFC2328 9.4 (2)). So if the router have
known all the routers on the segment before DR Election process,
the router can calculate proper DR & BDR.

> This statement (the above paragraph) is no more valid.

Above also applies here.

> different from its view. So effectively all routers see the change and start

An OSPF router never compares his DR/BDR view with the other's. The OSPF
router only cares about the other's *change* of DR/BDR view, by storing
and comparing the other router's previous DR/BDR view. Every time the
change detected, the router generates NeighborChange event(s).

> *re-execute* steps (2) and (3).

An OSPF router repeats steps (2) and (3) every time if his DR/BDR view has
been changed. It is needed because it means previous condition of (2) & (3)
has been changed, so the results of the previous processes (2) & (3) are
recognized as obsolete.

regards.
yasu

---

From: Amit Srivastava <[email-masked]>
Date: Mon, 27 May 2002 04:37:07 -0700

Hi All,
             My Doubt is that if a router which is opaque LSA capable cannot become DR and the DR on the network is not supporting then how will the information be flooded to the other routers in the network which are opaque LSA capable.
regards
amit

---------------------------------
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup