OSPF network types

Having worked almost exclusively with Ethernet transport my whole career, it took me a while to really grasp the concept of non-broadcast networks. Dynamic routing protocols, particularly OSPF, demand familiarity with all sorts of layer two topologies, so I knew I had to better educate myself on the matter. Fortunately, working with Dynamips and virtual frame relay networks provided the experience I needed to feel comfortable implementing all the different OSPF network types.

OSPF addresses three classes of network (as listed in section 1.2 of RFC 2328): point-to-point, broadcast, and non-broadcast.

Point-to-Point

point-to-point.jpg

This is by far the simplest network type, and serves as a convenient anchor from which to advance the discussion. A point-to-point network is, as its name aptly describes, a link between exactly two points (or routers). A packet sent from on of the routers will always have exactly one recipient on the local link.

Broadcast

Obviously, point-to-point links don't scale well. A much more efficient manner of connecting a large number of devices is to implement a multiaccess segment; that is, a segment which can be accessed by multiple end points. An Ethernet segment is an example of such a network.

broadcast.jpg

Ethernet networks support broadcasts; a single packet transmitted by a device can be multiplied by the medium (in this case an Ethernet switch) so that every other end point receives a copy. This is advantageous not only in bandwidth savings, but also in facilitating automatic neighbor discovery.

In the example pictured above, R1 can multicast (a broadcast intended only for certain recipients) an OSPF hello message to the link, knowing that all other OSPF routers connected to the link will receive it and reply with their own multicast message. Consequently, neighbors can quickly identify each other and form adjacencies without knowing addresses beforehand. Isn't that convenient?

OSPF routers on a multiaccess segment will elect a designated router (DR) and backup designated router (BDR) with which all non-designated routers will form an adjacency. This is to ensure that the number of adjacencies maintained does not grow too large; a network of five routers would require 20 adjacencies to form a mesh, but only 7 when a DR and BDR are in place.

Non-Broadcast

Unfortunately, not all multiaccess technologies support broadcast transmissions. Frame relay and ATM are probably the most common examples of non-broadcast transport, requiring individual permanent virtual circuits (PVCs) to be configured between end points.

non-broadcast.jpg

Notice in the frame relay topology pictured above, R1 must craft and transmit an individual packet for every destination he wants to reach. Aside from being horribly inefficient with regard to bandwidth, this limitation requires the router to know the addresses of his neighbors before he can communicate to them.

OSPF can operate in one of two modes across a non-broadcast network: non-broadcast multi-access (NBMA) or point-to-multipoint. Each of these topologies tackles the absence of broadcast capability from a different direction.

Non-Broadcast Multi-Access (NBMA)

An NBMA segment emulates the function of a broadcast network. Every router on the segment must be configured with the IP address of each of its neighbors. OSPF hello packets are then individually transmitted as unicast packets to each adjacent neighbor.

As in a true broadcast network, a DR and BDR are elected to limit the number of adjacencies formed.

Point-to-Multipoint

A point-to-multipoint configuration approaches the non-broadcast limitation in a different manner. Rather than trying to emulate broadcast capability, it seeks to organize the PVCs into a collection of point-to-point networks. Hello packets must still be replicated and transmitted individually to each neighbor, but the multipoint approach offers two distinct advantages: no DR/BDR is needed, and the emulated point-to-point links can occupy a common subnet.

All routers attached to a non-broadcast network must be manually configured to recognize it as a point-to-multipoint segment:

Router(config-if)# ip ospf network point-to-multipoint [non-broadcast]

The non-broadcast parameter can be appended to the OSPF network type to force unicasting of packets rather than relying on multicast. This might be necessary when dynamic circuits are in use.

Update: Ready for more? Check out the follow-up article on OSPF area types!

About the Author

Jeremy Stretch is a freelance networking engineer, instructor, and the maintainer of PacketLife.net. He currently lives in Fairfax, Virginia, on the edge of the Washington, DC metro area. Although primarily an R&S guy, he likes to get into everything, and runs a free network training lab out of his basement for fun. You can contact him by email or follow him on Twitter.

Comments

this is really helpful.

thanks mate

Thank you. Which one is the most applicable in IP/MPLS Infrastuctures?

All the Best, Momo.

I was recently plagued by OSPF neighbors on the Hub router were flapping on a Frame-relay+OSPF setup.

These debug messages were appearing:

OSPF: Cannot see ourself in hello from X.X.X.X on Serial1/0, state INIT

After much debugging and frustration i realised that the "broadcast" parameter was missing from the Hub's "frame map ip " statements, which means that the Multicast'd HELLO packets from Hub to Spoke(s) wasn't arriving at the spokes and that the HELLO from the spoke(s) to hub didn't contain the Hub Router-ID in the "seen" list, causing a new adjacency to be formed and the existing one to be torn down.

OSPF basics: When OSPF Neighbours send Hello's, they include a list Router-IDs "seen" on that specific interface, before moving to 2WAY

Thank you very much...really very helpful.. clear all misunderstandings...

Leave a Comment


Register to comment as a member. You'll look cooler.

Optional; will not be displayed publicly or given out.

No commercial links. Only personal (e.g. blog, Twitter, or LinkedIn) and/or on-topic links, please.
FF:FF:FF:FF:FF:FF is a _____ MAC address.