Home > Articles > Programming

  • Print
  • + Share This
Like this article? We recommend

Layer 3—OSPF Network Redundancy— Rapid Convergence

Open shortest path first (OSPF) is an intradomain, link-state routing protocol. The main idea of OSPF is that each OSPF router is able to determine the state of the link to all neighbor routers and the associated costs. One property of this routing protocol is that each OSPF router has a view of the entire network, which allows it to find the best path to all participating routers.

All OSPF routers in the domain flood each other with link state packets (LSP), which contain the unique ID of the sending router; a list of directly connected neighbor routers and associated costs; a sequence number and a time to live, authentication, hierarchy, load balancing; and checksum information. From this information, each node can reliably determine if this LSP is the most recent by comparing seq number and computing the shortest path to every node, then collecting all LSPs from all nodes and comparing costs, using Dijstras' shortest path algorithm. To prevent continuous flooding, the sender never receives the same LSP packet that he sent out.

To better understand OSPF for suitability from an availability perspective, the following lab network was set up, consisting of Extreme Network switches and Sun servers. FIGURE 8 describes the actual setup used to demonstrate availability characteristics of the interior routing protocol OSPF.

Figure 8FIGURE 8 Design Pattern—OSPF Network


To confirm correct configuration traceroutes were performed from client to server. In the following output, the highlighted lines show the path through sw2:

client># traceroute server
traceroute: Warning: Multiple interfaces found; using 16.0.0.51 @ hme0
traceroute to server (11.0.0.51), 30 hops max, 40 byte packets
 1 16.0.0.1 (16.0.0.1) 1.168 ms 0.661 ms 0.523 ms
 2 15.0.0.1 (15.0.0.1) 1.619 ms 1.104 ms 1.041 ms
 3 17.0.0.1 (17.0.0.1) 1.527 ms 1.197 ms 1.043 ms
 4 18.0.0.1 (18.0.0.1) 1.444 ms 1.208 ms 1.106 ms
 5 12.0.0.1 (12.0.0.1) 1.237 ms 1.274 ms 1.083 ms
 6 server (11.0.0.51) 0.390 ms 0.349 ms 0.340 ms

The following tables show the initial routing tables of the core routers. The first two highlighted lines in CODE EXAMPLE 1 show the route to the client through sw2. The second two highlighted lines show the sw2 path.

CODE EXAMPLE 1 Router sw1 Routing Table

OR Destination    Gateway     Mtr  Flags   Use M-Use VLAN
Acct-1
*s 10.100.0.0/24   12.0.0.1     1 UG---S-um  63   0 net12  0
*oa 11.0.0.0/8     12.0.0.1     5 UG-----um  98   0 net12  0
*d 12.0.0.0/8     12.0.0.2     1 U------u- 1057   0 net12  0
*d 13.0.0.0/8     13.0.0.1     1 U------u-  40   0 net13  0
*oa 14.0.0.0/8     13.0.0.2     8 UG-----um   4   0 net13  0
*oa 15.0.0.0/8     18.0.0.2     12 UG-----um   0   0 net18  0
*oa 15.0.0.0/8     13.0.0.2     12 UG-----um   0   0 net13  0
*oa 16.0.0.0/8     18.0.0.2     13 UG-----um   0   0 net18  0   
*oa 16.0.0.0/8     13.0.0.2     13 UG-----um   0   0 net13  0   
*oa 17.0.0.0/8     18.0.0.2     8 UG-----um   0   0 net18  0   
*d 18.0.0.0/8     18.0.0.1     1 U------u-  495   0 net18  0   
*d 127.0.0.1/8    127.0.0.1     0 U-H----um   0   0 Default 0

Origin(OR): b - BlackHole, bg - BGP, be - EBGP, bi - IBGP, bo - BOOTP, ct -
CBT
      d - Direct, df - DownIF, dv - DVMRP, h - Hardcoded, i - ICMP
      mo - MOSPF, o - OSPF, oa - OSPFIntra, or - OSPFInter, oe -

OSPFAsExt
      o1 - OSPFExt1, o2 - OSPFExt2, pd - PIM-DM, ps - PIM-SM, r - RIP
      ra - RtAdvrt, s - Static, sv - SLB_VIP, un - UnKnown.

Flags: U - Up, G - Gateway, H - Host Route, D - Dynamic, R - Modified,
    S - Static, B - BlackHole, u - Unicast, m - Multicast.

Total number of routes = 12.

Mask distribution:
  11 routes at length 8      1 routes at length 24

CODE EXAMPLE 2 Router sw2 Routing Table

sw2:8 # sh ipr

OR Destination    Gateway     Mtr  Flags   Use M-Use VLAN
 Acct-1

*s 10.100.0.0/24   18.0.0.1     1 UG---S-um  27   0 net18  0
*oa 11.0.0.0/8     18.0.0.1     9 UG-----um  98   0 net18  0
*oa 12.0.0.0/8     18.0.0.1     8 UG-----um   0   0 net18  0
*oa 13.0.0.0/8     18.0.0.1     8 UG-----um   0   0 net18  0
*oa 14.0.0.0/8     17.0.0.2     8 UG-----um   0   0 net17  0
*oa 15.0.0.0/8     17.0.0.2     8 UG-----um   9   0 net17  0
*oa 16.0.0.0/8     17.0.0.2     9 UG-----um   0   0 net17  0
*d 17.0.0.0/8     17.0.0.1     1 U------u-  10   0 net17  0
*d 18.0.0.0/8     18.0.0.2     1 U------u-  403   0 net18  0
*d 127.0.0.1/8    127.0.0.1     0 U-H----um   0   0 Default 0
#
 #

CODE EXAMPLE 3 Router sw3 Routing Table

sw3:5 # sh ipr

 OR Destination    Gateway     Mtr  Flags   Use M-Use VLAN   Acct-1

*s 10.100.0.0/24   13.0.0.1     1 UG---S-um  26   0 net13  0
*oa 11.0.0.0/8     13.0.0.1     9 UG-----um   0   0 net13  0
*oa 12.0.0.0/8     13.0.0.1     8 UG-----um  121   0 net13  0
*d 13.0.0.0/8     13.0.0.2     1 U------u-  28   0 net13  0
*d 14.0.0.0/8     14.0.0.1     1 U------u-  20   0 net14  0
*oa 15.0.0.0/8     14.0.0.2     8 UG-----um   0   0 net14  0
*oa 16.0.0.0/8     14.0.0.2     9 UG-----um   0   0 net14  0
*oa 17.0.0.0/8     14.0.0.2     8 UG-----um   0   0 net14  0
*oa 18.0.0.0/8     13.0.0.1     8 UG-----um   0   0 net13  0
 *d 127.0.0.1/8    127.0.0.1     0 U-H----um   0   0 Default 0

The first two highlighted lines in CODE EXAMPLE 4 show the route back to the server through sw4, using the first in the table. The second two highlighted lines show the sw2 path.

CODE EXAMPLE 4 Switch sw4 Routing Table

sw4:8 # sh ipr

OR Destination    Gateway     Mtr  Flags   Use M-Use VLAN
Acct-1
*s 10.100.0.0/24   14.0.0.1     1 UG---S-um  29   0 net14  0
*oa 11.0.0.0/8     17.0.0.1     13 UG-----um   0   0 net17  0   
*oa 11.0.0.0/8     14.0.0.1     13 UG-----um   0   0 net14  0   
*oa 12.0.0.0/8     17.0.0.1     12 UG-----um   0   0 net17  0
*oa 12.0.0.0/8     14.0.0.1     12 UG-----um   0   0 net14  0
*oa 13.0.0.0/8     14.0.0.1     8 UG-----um   0   0 net14  0
*d 14.0.0.0/8     14.0.0.2     1 U------u-  12   0 net14  0
*d 15.0.0.0/8     15.0.0.1     1 U------u-  204   0 net15  0
*oa 16.0.0.0/8     15.0.0.2     5 UG-----um   0   0 net15  0   
*d 17.0.0.0/8     17.0.0.2     1 U------u-  11   0 net17  0   
*oa 18.0.0.0/8     17.0.0.1     8 UG-----um   0   0 net17  0
 *d 127.0.0.1/8    127.0.0.1     0 U-H----um   0   0 Default 0

To check failover capabilities on the OSPF, the interface on the switch sw2 was damaged to create a failure and a constant ping was run from the client to the server.

The interface on the switch sw2 was removed, and the measurement of failover was performed as shown in the following output. The first highlighted line shows when the interface sw2 fails. The second highlighted line shows the new switch interface sw3 route is established in two seconds.

client reading:

64 bytes from server (11.0.0.51): icmp_seq=11. time=2. ms
64 bytes from server (11.0.0.51): icmp_seq=12. time=2. ms
ICMP Net Unreachable from gateway 17.0.0.1
 for icmp from client (16.0.0.51) to server (11.0.0.51)
ICMP Net Unreachable from gateway 17.0.0.1
 for icmp from client (16.0.0.51) to server (11.0.0.51)
64 bytes from server (11.0.0.51): icmp_seq=15. time=2. ms
 64 bytes from server (11.

OSPF took approximately two seconds to detect and recover from the failed node.

The highlighted lines in following output from the traceroute server command shows the new path from the client to the server through the switch interface sw3.

client># traceroute server
traceroute: Warning: Multiple interfaces found; using 16.0.0.51 @ hme0
traceroute to server (11.0.0.51), 30 hops max, 40 byte packets
 1 16.0.0.1 (16.0.0.1) 0.699 ms 0.535 ms 0.581 ms
 2 15.0.0.1 (15.0.0.1) 1.481 ms 0.990 ms 0.986 ms
 3 14.0.0.1 (14.0.0.1) 1.214 ms 1.021 ms 1.002 ms
 4 13.0.0.1 (13.0.0.1) 1.322 ms 1.088 ms 1.100 ms
 5 12.0.0.1 (12.0.0.1) 1.245 ms 1.131 ms 1.220 ms
  6 server (11.0.0.51) 1.631 ms 1.200 ms 1.314 ms

The following code examples show the routing tables after the node failure. The first highlighted line in CODE EXAMPLE 5 shows the new route to the server through the switch sw3. The second highlighted line shows that the swithch sw2 link is down.

CODE EXAMPLE 5 Switch sw1 Routing Table After Node Failure

sw1:27 # sh ipr

 OR Destination    Gateway     Mtr  Flags   Use M-Use VLAN
 Acct-1
*s 10.100.0.0/24   12.0.0.1     1 UG---S-um  63   0 net12  0
*oa 11.0.0.0/8     12.0.0.1     5 UG-----um  168   0 net12  0
*d 12.0.0.0/8     12.0.0.2     1 U------u- 1083   0 net12  0
*d 13.0.0.0/8     13.0.0.1     1 U------u-  41   0 net13  0
*oa 14.0.0.0/8     13.0.0.2     8 UG-----um   4   0 net13  0
*oa 15.0.0.0/8     13.0.0.2     12 UG-----um   0   0 net13  0
*oa 16.0.0.0/8     13.0.0.2     13 UG-----um  22   0 net13  0   
*oa 17.0.0.0/8     13.0.0.2     12 UG-----um   0   0 net13  0
 d 18.0.0.0/8     18.0.0.1     1 ---------  515   0 -------- 0   
 *d 127.0.0.1/8    127.0.0.1     0 U-H----um   0   0 Default 0

CODE EXAMPLE 6 Switch sw2 Routing Table After Node Failure

sw1:4 # sh ipr

OR Destination    Gateway     Mtr  Flags   Use M-Use VLAN
 Acct-1
*s 10.100.0.0/24   12.0.0.1     1 UG---S-um  63   0 net12  0
*oa 11.0.0.0/8     12.0.0.1     5 UG-----um  168   0 net12  0
*d 12.0.0.0/8     12.0.0.2     1 U------u- 1102   0 net12  0
*d 13.0.0.0/8     13.0.0.1     1 U------u-  41   0 net13  0
*oa 14.0.0.0/8     13.0.0.2     8 UG-----um   4   0 net13  0
*oa 15.0.0.0/8     13.0.0.2     12 UG-----um   0   0 net13  0
*oa 16.0.0.0/8     13.0.0.2     13 UG-----um  22   0 net13  0
*oa 17.0.0.0/8     13.0.0.2     12 UG-----um   0   0 net13  0
 d 18.0.0.0/8     18.0.0.1     1 ---------  515   0 -------- 0
 *d 127.0.0.1/8    127.0.0.1     0 U-H----um   0   0 Default 0

CODE EXAMPLE 7 Switch sw3 Routing Table After Node Failure

sw3:6 # sh ipr

 OR Destination    Gateway     Mtr  Flags   Use M-Use VLAN
 Acct-1
*s 10.100.0.0/24   13.0.0.1     1 UG---S-um  26   0 net13  0
*oa 11.0.0.0/8     13.0.0.1     9 UG-----um  24   0 net13  0
*oa 12.0.0.0/8     13.0.0.1     8 UG-----um  134   0 net13  0
*d 13.0.0.0/8     13.0.0.2     1 U------u-  29   0 net13  0
*d 14.0.0.0/8     14.0.0.1     1 U------u-  20   0 net14  0
*oa 15.0.0.0/8     14.0.0.2     8 UG-----um   0   0 net14  0
*oa 16.0.0.0/8     14.0.0.2     9 UG-----um  25   0 net14  0
*oa 17.0.0.0/8     14.0.0.2     8 UG-----um   0   0 net14  0
 *d 127.0.0.1/8    127.0.0.1     0 U-H----um   0   0 Default 0

The highlighted line in CODE EXAMPLE 8 shows the new route back to the client through sw3.

CODE EXAMPLE 8 Switch sw4 Routing Table After Node Failure

sw4:9 # sh ipr

 OR Destination    Gateway     Mtr  Flags   Use M-Use VLAN
 Acct-1
*s 10.100.0.0/24   14.0.0.1     1 UG---S-um  29   0 net14  0
*oa 11.0.0.0/8     14.0.0.1     13 UG-----um  21   0 net14  0   
*oa 12.0.0.0/8     14.0.0.1     12 UG-----um   0   0 net14  0
*oa 13.0.0.0/8     14.0.0.1     8 UG-----um   0   0 net14  0
*d 14.0.0.0/8     14.0.0.2     1 U------u-  12   0 net14  0
*d 15.0.0.0/8     15.0.0.1     1 U------u-  216   0 net15  0
*oa 16.0.0.0/8     15.0.0.2     5 UG-----um  70   0 net15  0
*d 17.0.0.0/8     17.0.0.2     1 U------u-  12   0 net17  0
 *d 127.0.0.1/8    127.0.0.1     0 U-H----um   0   0 Default 0

OSPF is a good routing protocol with enterprise networks. It has fast failure detection and recovery. However, there are security concerns that should be investigated prior to deployment.

  • + Share This
  • 🔖 Save To Your Account