OSPF Packets and Neighbor Discovery

Hello Adhithya

Yes this is correct. This is the way the protocol is designed, and the most likely scenario. However, the OSPF definition gives some leeway concerning how vendors choose to implement these rules. The RFC 2328 states that:

The IP source address of an OSPF protocol packet is one end of a router adjacency, and the IP destination address is either the other end of the adjacency or an IP multicast address.

Also it says:

On broadcast networks, each router advertises itself by periodically multicasting Hello Packets.

So although the general rule is what Rene stated in the lesson, it’s not always implemented strictly. It may take a couple of exchanges of hellos before the OSPF algorithm switches over to unicast. I believe that in the Cloudshark capture, the 2Way state is achieved after packet 2, since R2 sends a hello to R1 that contains its own router ID in the neighbor field.

Actually, the master bit is not involved in the DR/BDR election. The master/slave is a relationship between OSPF routers that become neighbors and determines how they can communicate. The DR/BDR election is determined using the Router Priority and the router IDs. You can only see the DR and BDR within hello packets, so you wouldn’t see this information in packets 7, 9, and 10 which don’t contain this information. The initial DR/BDR election takes place after the 2way state. That doesn’t mean that the DR/BDR election can’t take place again at any time. So initially, we see the DR/BDR election take place, and by packet 3 (after the 2 way state) the DR and BDR are already (initially) determined.

According to the RFC:

Link State Update packets are multicast on those physical networks that support multicast/broadcast. In order to make the flooding procedure reliable, flooded LSAs are acknowledged in Link State Acknowledgment packets. If retransmission of certain LSAs is necessary, the retransmitted LSAs are always sent directly to the neighbor.

So LSUs are always sent as multicast, unless they are responding to a specific LSR. Does that make sense?

I hope this has been helpful!


1 Like