Sunday, January 12, 2014

[mini] OSPF Point-to-Multipoint .... Multicast?

I recently took a practice lab and got dinged for points on an OSPF area question. Without quoting the actual practice lab, the question was referencing a frame-relay link and said something akin to "use an OSPF area type that doesn't elect a DR and multicasts updates".

I've gotten in a (bad?) habit of just using point-to-multipoint with frame-relay. If you've studied OSPF at a design/granular level, you are probably aware that point-to-multipoint is relatively inefficient. However, it works in all sorts of crazy environments, so I just like using it in labs because of versatility.

So even though "point-to-point" would've worked in this environment, I used point-to-multipoint anyway.

And the answer guide insisted point-to-point was the only viable option.

I thought about this, and what the heck is the point of "point-to-multipoint non-broadcast" if "point-to-multipoint" doesn't multicast?  Also, I know point-to-multipoint auto-discovers neighbors, so how the heck is it not multicasting?

My lab is R1 -> Frame Relay Switch -> R2
DLCI is R1 102 -> R2 201

R1:
interface Serial0/0
 ip address 192.168.0.1 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint
 no keepalive
 clock rate 2000000
 frame-relay map ip 192.168.0.2 102 broadcast
 no frame-relay inverse-arp

router ospf 1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0

R2:
interface Serial0/0
 ip address 192.168.0.2 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint
 no keepalive
 clock rate 2000000
 frame-relay map ip 192.168.0.1 201 broadcast
 no frame-relay inverse-arp
 shutdown

router ospf 1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0

R2(config-if)#no shut
R2(config-if)#
*Mar  1 00:20:11.075: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.0.1 on Serial0/0 from LOADING to FULL, Loading Done

Clearly, we have automatic neighbor discovery.



Aha!  Multicast!  I knew it!

But wait... here comes an update:



So the truth comes out - Hello packets are multicast, hence the automatic neighbor discovery.  But updates are unicast, so the lab was correct in docking me.  Live and learn!

Jeff

4 comments:

  1. before i comment, don't press the damn preview button to check your comment! you'll lose everything you typed

    back to topic, i was just talking to a friend of mine today about this today. the thing is (regardless of OSPF interface type) , OSPF uses multicast to discover neighbors and to bring neighborship up, but as soon as OSPF master/slave negotiation is settled, OSPF uses unicast packets to exchange updates. i believe OSPF uses unicast packets from the start if you inserted the neighbor command under the OSPF router configuration, since it doesn't need to automatically discover it's neighbor

    ReplyDelete
    Replies
    1. I'd be surprised if that were the case in a broadcast environment - although I could see it being potentially true in point-to-point? Lab it and let us know!

      Delete
    2. i believe the whole point of multicast in a broadcast environment is it's ability to discover neighbors and also choose one centralized router as a DR to exchange updates with instead of ramming the segment with updates in all directions, i also believe that multicast is used in cases when ip unnumbered interface is used on point to point links since it's impossible for the router to figure out which IP address it's peer is using, so it'll send and listen to multicast 224.0.0.5 until this is resolved. and yes, it has to be done in lab'd and sniffed :)

      Delete
  2. This comment has been removed by a blog administrator.

    ReplyDelete