- Physical Network Topology and Availability
- Layer 2 Availability: Trunking —802.3ad—Link Aggregation
- Layer 2 Trunking Availability Strategies using SMLT and DMLT
- Layer 2 Availability: Spanning Tree Protocol
- Layer 3—VRRP Router Redundancy
- Layer 3—IPMP—Host Network Interface Redundancy
- Layer 3—Integrated VRRP and IPMP
- Layer 3—OSPF Network Redundancy— Rapid Convergence
- Layer 3—RIP Network Redundancy
- Conclusion
- About the Authors
Layer 3OSPF 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 15 describes the actual setup used to demonstrate availability characteristics of the interior routing protocol OSPF.
FIGURE 15 Design PatternOSPF 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 2 show the route to the client through sw2. The second two highlighted lines show the sw2 path.
CODE EXAMPLE 2 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 3 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 4 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 5 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 5 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 that 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 show 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 6 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 6 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 7 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 8 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 9 shows the new route back to the client through sw3.
CODE EXAMPLE 9 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.