OSPF- What you need to know

advertisement
What you need to know about OSPF
As I mentioned in the "What you need to know about EIGRP" article, EIGRP and Open Shortest Path First
(OSPF) are the two most popular routing protocols for today's midsize and large companies—both offer
a huge breadth of features that can cover just about any routing scenario such companies would need.
That article answered some common questions about EIGRP, but what about OSPF?
Review the OSPF basics
OSPF is an internal routing protocol. (While primarily used inside a single company, it can span multiple
sites.) Based on RFC 2328, it's an open standard. Because of this, OSPF is available on Microsoft's
Windows Server 2003 OS, Linux, and many other network devices - unlike Cisco's EIGRP routing
protocol. Like other dynamic routing protocols, OSPF enables routers to disclose their available routes to
other routers.
OSPF is a link-state routing protocol that runs Dijkstra's algorithm to calculate the shortest path to other
networks. Taking the bandwidth of the network links into account, it uses cost as its metric. OSPF works
by developing adjacencies with its neighbors, periodically sending hello packets to neighbors, flooding
changes to neighbors when a link's status changes, and sending "paranoia updates" to neighbors of all
recent link state changes every 30 minutes.
While OSPF is an excellent routing protocol for networks of all sizes, one of its weaknesses is that it can
be quite complex to configure. On the other hand, it offers more features than simpler protocols such as
RIP.
Here are some of OSPF's strengths:
* It converges quickly, compared to a distance-vector protocol.
* Routing update packets are small, as it doesn't send the entire routing table.
* It's not prone to routing loops.
* It scales very well for large networks.
* It recognizes the bandwidth of a link and takes this into account in link selection.
* It supports variable-length subnet masks (VLSM) or Classless Inter-Domain Routing (CIDR).
* It supports a long list of optional features that many others don't.
Configure OSPF
Some may find OSPF configuration intimidating, so let's look at how to make it easy. Let's start with a
basic network: Our network example has two routers - one in San Diego (192.168.1.0 /24) and one in
Dallas (192.168.2.0 /24). Between these two routers, there's a point-to-point T1 circuit with IP network
address 1.1.1.0/30. The San Diego router's WAN interface is 1.1.1.1, and the Dallas router's WAN
interface is 1.1.1.2.
We'll begin by configuring the router in San Diego. The first step to configuring OSPF is to use the router
ospf command when in Global Configuration Mode. Here's an example:
Router(config)# router ospf {process number}
Router(config-router)#
While it doesn't matter which process number you use, I recommend keeping it the same on all OSPF
routers on your network. I usually use 100 to keep everything simple. However, if you use different
process numbers, OSPF will still work and exchange all routes - unlike EIGRP.
After entering OSPF Configuration Mode, the most common next step is to specify which networks OSPF
will advertise, which you can do using the network command. Here's an example:
Router(config-router)# network 192.168.1.0 0.0.0.255 area 0
Router(config-router)# network 1.1.1.0 0.0.0.3 area 0
The first parameter is the network ID, and the second parameter is the inverse mask. The inverse mask or wildcard mask - is the inverse of the subnet mask. It tells OSPF what range of interfaces the IP
addresses given will apply to. Therefore, you can have one network statement that covers multiple
interfaces.
You also need to specify the area, which is how OSPF organizes networks. All traffic must flow through
area 0. In a small network, it's logical to put all networks in area 0, as we did in the example.
After you've configured each side of the network, the routers will exchange routes and form
adjacencies. You should see a statement in the log file or console that looks something like the
following:
*Mar 1 02:53:33.370: %OSPF-5-ADJCHG: Process 100, Nbr 1.1.1.1
on Ethernet0/0 from LOADING to FULL, Loading Done
To make sure you see these types of messages, use the log-adjacency-changes command in your OSPF
router configuration. This command causes OSPF to enter information into the router's log file
whenever it loses or regains connectivity with its neighbors. Here's an example:
Router(config-router)# log-adjacency-changes
Check the status of OSPF
After you've configured OSPF, you need to know how to check its status. Here are some common OSPF
commands, along with links to their Cisco documentation and sample output from our example:
* show ip ospf
* show ip ospf neighbor
* show ip ospf interface
* show ip route ospf
For more information on OSPF, see Cisco's OSPF Design Guide and Cisco's OSPF Documentation
Download