Friday, May 28, 2010

OSPF Virtual Link Configuration, Verification and troubleshooting



Configuration:

R1:

interface Loopback0
 ip address 10.0.0.1 255.224.0.0
 !
!
interface Loopback32
 ip address 10.32.0.1 255.224.0.0
 !
!
interface Loopback64
 ip address 10.64.0.1 255.224.0.0
 !
!
interface Loopback96
 ip address 10.96.0.1 255.224.0.0
 !
interface Serial1/0
 bandwidth 128
 ip address 192.168.1.1 255.255.255.252
 serial restart-delay 0
 clock rate 64000

router ospf 1
 router-id 1.1.1.1
 log-adjacency-changes
 network 10.0.0.0 0.31.255.255 area 0
 network 10.32.0.0 0.31.255.255 area 0
 network 10.64.0.0 0.31.255.255 area 0
 network 10.96.0.0 0.31.255.255 area 0
 network 192.168.1.0 0.0.0.3 area 0

__________________________________________________________________________________

R2:
interface FastEthernet0/0
 ip address 5.5.5.1 255.255.255.0
 ip ospf priority 10
 duplex half
 !
!
interface Serial1/0
 bandwidth 128
 ip address 192.168.1.2 255.255.255.224
 serial restart-delay 0
 !
router ospf 1
 router-id 2.2.2.1
 log-adjacency-changes
 network 5.5.5.0 0.0.0.255 area 1
 network 192.168.1.0 0.0.0.3 area 0

___________________________________________________________________________________

R3:
interface Loopback45
 ip address 45.45.45.1 255.255.255.0
 !
!
interface Loopback46
 ip address 45.45.46.1 255.255.255.0
 !
!
interface Loopback47
 ip address 45.45.47.1 255.255.255.0
 !
!
interface FastEthernet0/0
 ip address 5.5.5.2 255.255.255.0
 ip ospf priority 0
 duplex half
 !
!
!
router ospf 1
 router-id 3.3.3.1
 log-adjacency-changes
 network 5.5.5.0 0.0.0.255 area 1
 network 45.45.45.0 0.0.0.0 area 1
 network 45.45.46.0 0.0.0.0 area 1
 network 45.45.47.0 0.0.0.0 area 1

!
__________________________________________________________________________________

R4:
interface Loopback28
 ip address 28.28.28.1 255.255.255.0
 !
!
interface Loopback29
 ip address 28.28.29.1 255.255.255.0
 !
!
interface Loopback30
 ip address 28.28.30.1 255.255.255.0
 !
!
interface FastEthernet0/0
 ip address 5.5.5.3 255.255.255.0
 ip ospf priority 0
 duplex half
 !
!
interface Serial1/0
 bandwidth 64
 ip address 7.7.7.1 255.255.255.252
 serial restart-delay 0
 clock rate 64000
 !
router ospf 1
 router-id 4.4.4.1
 log-adjacency-changes
 network 5.5.5.0 0.0.0.255 area 1
 network 7.7.7.0 0.0.0.3 area 51

___________________________________________________________________________________
R5:

interface Loopback31
 ip address 31.31.31.1 255.255.255.0
 !
!
interface Loopback32
 ip address 31.31.32.1 255.255.255.0
 !

interface Serial1/0
 ip address 7.7.7.2 255.255.255.252
 serial restart-delay 0
 !

router ospf 1
 router-id 5.5.5.1
 log-adjacency-changes
 network 7.7.7.0 0.0.0.3 area 51
 network 31.31.31.0 0.0.0.255 area 51
 network 31.31.32.0 0.0.0.255 area 51

___________________________________________________________________________________



Negiborship Verification

R1#sh ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.1           0   FULL/  -        00:00:37    192.168.1.2     Serial1/0
___________________________________________________________________________________

Neighbor ID     Pri   State           Dead Time   Address         Interface
1.1.1.1           0   FULL/  -        00:00:39    192.168.1.1     Serial1/0
3.3.3.1           0   FULL/DROTHER    00:00:36    5.5.5.2         FastEthernet0/0
4.4.4.1           0   FULL/DROTHER    00:00:33    5.5.5.3         FastEthernet0/0
___________________________________________________________________________________

R3#sh ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.1          10   FULL/DR         00:00:31    5.5.5.1         FastEthernet0/0
4.4.4.1           0   2WAY/DROTHER    00:00:36    5.5.5.3         FastEthernet0/0
___________________________________________________________________________________
R4#sh ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.1          10   FULL/DR         00:00:31    5.5.5.1         FastEthernet0/0
3.3.3.1           0   2WAY/DROTHER    00:00:37    5.5.5.2         FastEthernet0/0
5.5.5.1           0   FULL/  -        00:00:37    7.7.7.2         Serial1/0
___________________________________________________________________________________

R5#sh ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
4.4.4.1           0   FULL/  -        00:00:38    7.7.7.1         Serial1/0
____________________________________________________________________________________

Note: Lets take a look at what routers see as they become neighbors: The following output happens between R4 and R5.

R4#
*May 28 10:56:50.735: OSPF: Serial1/0: Route adjust notification: UP/UP
*May 28 10:56:50.735: OSPF: Interface Serial1/0 going Up
*May 28 10:56:50.739: OSPF: Serial1/0: Interface state change to UP, new ospf state P2P
*May 28 10:56:51.235: OSPF: Build router LSA for area 51, router ID 4.4.4.1, seq 0x80000008, process 1
R4#
*May 28 10:57:03.419: OSPF: Rcv DBD from 5.5.5.1 on Serial1/0 seq 0x1653 opt 0x52 flag 0x7 len 32  mtu 1500 state INIT
*May 28 10:57:03.419: OSPF: 2 Way Communication to 5.5.5.1 on Serial1/0, state 2WAY
*May 28 10:57:03.423: OSPF: Serial1/0 Nbr 5.5.5.1: Prepare dbase exchange
*May 28 10:57:03.423: OSPF: Send DBD to 5.5.5.1 on Serial1/0 seq 0x151D opt 0x52 flag 0x7 len 32
*May 28 10:57:03.423: OSPF: NBR Negotiation Done. We are the SLAVE
*May 28 10:57:03.423: OSPF: Serial1/0 Nbr 5.5.5.1: Summary list built, size 2
*May 28 10:57:03.427: OSPF: Send DBD to 5.5.5.1 on Serial1/0 seq 0x1653 opt 0x52 flag 0x2 len 72
*May 28 10:57:03.499: OSPF: Rcv DBD from 5.5.5.1 on Serial1/0 seq 0x1654 opt 0x52 flag 0x1 len 72  mtu 1500 state EXCHANGE
*May 28 10:57:03.503: OSPF: Exchange Done with 5.5.5.1 on Serial1/0
*May 28 10:57:03.503: OSPF: Send LS REQ to 5.5.5.1 length 12 LSA count 1
*May 28 10:57:03.503: OSPF: Send DBD to 5.5.5.1 on Serial1/0 seq 0x1654 opt 0x52 flag 0x0 len 32
*May 28 1
R4#0:57:03.595: OSPF: Rcv LS UPD from 5.5.5.1 on Serial1/0 length 76 LSA count 1
*May 28 10:57:03.595: OSPF: Synchronized with 5.5.5.1 on Serial1/0, state FULL
*May 28 10:57:03.599: %OSPF-5-ADJCHG: Process 1, Nbr 5.5.5.1 on Serial1/0 from LOADING to FULL, Loading Done
*May 28 10:57:03.651: OSPF: Rcv LS REQ from 5.5.5.1 on Serial1/0 length 36 LSA count 1
*May 28 10:57:04.099: OSPF: Build router LSA for area 51, router ID 4.4.4.1, seq 0x80000009, process 1
R4#U ALL
All possible debugging has been turned off
____________________________________________________________________________________

R5#

*May 28 10:58:58.183: OSPF: Serial1/0: Route adjust notification: UP/UP
*May 28 10:58:58.183: OSPF: Interface Serial1/0 going Up
*May 28 10:58:58.187: OSPF: Serial1/0: Interface state change to UP, new ospf state P2P
*May 28 10:58:58.215: OSPF: 2 Way Communication to 4.4.4.1 on Serial1/0, state 2WAY
*May 28 10:58:58.215: OSPF: Serial1/0 Nbr 4.4.4.1: Prepare dbase exchange
*May 28 10:58:58.215: OSPF: Send DBD to 4.4.4.1 on Serial1/0 seq 0x1653 opt 0x52 flag 0x7 len 32
*May 28 10:58:58.491: OSPF: Rcv DBD from 4.4.4.1 on Serial1/0 seq 0x151D opt 0x52 flag 0x7 len 32  mtu 1500 state EXSTART
*May 28 10:58:58.491: OSPF: First DBD and we are not SLAVE
*May 28 10:58:58.495: OSPF: Rcv DBD from 4.4.4.1 on Serial1/0 seq 0x1653 opt 0x52 flag 0x2 len 72  mtu 1500 state EXSTART
*May 28 10:58:58.495: OSPF: NBR Negotiation Done. We are the MASTER
*May 28 10:58:58.495: OSPF: Serial1/0 Nbr
R5#4.4.4.1: Summary list built, size 2
*May 28 10:58:58.495: OSPF: Send DBD to 4.4.4.1 on Serial1/0 seq 0x1654 opt 0x52 flag 0x1 len 72
*May 28 10:58:58.603: OSPF: Rcv LS REQ from 4.4.4.1 on Serial1/0 length 36 LSA count 1
*May 28 10:58:58.607: OSPF: Send UPD to 7.7.7.1 on Serial1/0 length 52 LSA count 1
*May 28 10:58:58.615: OSPF: Rcv DBD from 4.4.4.1 on Serial1/0 seq 0x1654 opt 0x52 flag 0x0 len 32  mtu 1500 state EXCHANGE
*May 28 10:58:58.615: OSPF: Exchange Done with 4.4.4.1 on Serial1/0
*May 28 10:58:58.619: OSPF: Send LS REQ to 4.4.4.1 length 12 LSA count 1
*May 28 10:58:58.683: OSPF: Build router LSA for area 51, router ID 5.5.5.1, seq 0x80000009, process 1
*May 28 10:58:58.747: OSPF: Rcv LS UPD from 4.4.4.1 on Serial1/0 length 64 LSA count 1
*May 28 10:58:58.751: OSPF: Synchronized with 4.4.4.1 on Serial1/0, state FULL
*May 28 10:58:58.751: %OSPF-5-ADJCHG: Process 1, Nbr 4.4.4.1 on Serial1/0 from LOADING to FULL, Loading Done
*May 28 10:58:58.751: OSPF: Serial1/0 Nbr 4
R5#.4.4.1: Clean-up dbase exchange
R5#
*May 28 10:59:03.683: OSPF: Build router LSA for area 51, router ID 5.5.5.1, seq 0x8000000A, process 1
R5#SH IP OSpf NEighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
4.4.4.1           0   FULL/  -        00:00:38    7.7.7.1         Serial1/0
R5#U ALL
All possible debugging has been turned off
____________________________________________________________________________________

Let's take a look at the Link State Database of R2 and R5:

R2#SH IP OSpf Database

            OSPF Router with ID (2.2.2.1) (Process ID 1)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         994         0x80000009 0x005099 6
2.2.2.1         2.2.2.1         641         0x80000003 0x0090A7 2

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
5.5.5.0         2.2.2.1         641         0x80000002 0x00A67E

                Router Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum Link count
2.2.2.1         2.2.2.1         396         0x80000003 0x00A75A 1
3.3.3.1         3.3.3.1         371         0x80000003 0x007685 1
4.4.4.1         4.4.4.1         91          0x80000003 0x0048AC 1

                Net Link States (Area 1)


Link ID         ADV Router      Age         Seq#       Checksum
5.5.5.1         2.2.2.1         138         0x80000003 0x0036C8

                Summary Net Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum
10.0.0.1        2.2.2.1         644         0x80000002 0x006CAC
10.32.0.1       2.2.2.1         645         0x80000002 0x00EA0E
10.64.0.1       2.2.2.1         645         0x80000002 0x00696F
10.96.0.1       2.2.2.1         646         0x80000002 0x00E7D0
192.168.1.0     2.2.2.1         646         0x80000002 0x007762
192.168.1.3     2.2.2.1         646         0x80000002 0x009F0B
__________________________________________________________________________________


R5#sh ip ospf database

            OSPF Router with ID (5.5.5.1) (Process ID 1)

                Router Link States (Area 51)

Link ID         ADV Router      Age         Seq#       Checksum Link count
4.4.4.1         4.4.4.1         581         0x80000009 0x000882 2
5.5.5.1
____________________________________________________________________________________

Now for the Virtual Link configuration: Before I configure the virtual link let's take a look at the routing table of R1 and R4. Because the network is discontiguous R1 and R4 will not be able to communicate with each other.

R1#SH IP ROUTe ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

      5.0.0.0/24 is subnetted, 1 subnets
O IA     5.5.5.0 [110/782] via 192.168.1.2, 00:51:17, Serial1/0
      192.168.1.0/24 is variably subnetted, 3 subnets, 3 masks
O        192.168.1.0/27 [110/1562] via 192.168.1.2, 00:57:56, Serial1/0
R1#ping 31.31.31.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 31.31.31.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
___________________________________________________________________________________R5#sh R5#sh ip route ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set
R5#ping 10.0.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
R5#

Note: As we can see there is no end to end network connectivity. The routing tables of R1 and R5 give proof to this.

Note: Virtual Links are a last resort to a disjointed network, this is only a temporary fix
__________________________________________________________________________________

Virtual Link config

If you take a look at the network diagram you will notice that R2 and R4 are ABR's. Virtual links cannot be configured in area 0. One of the routers in the Virtual Link must be a part of area 0. In the diagram R2 is in area 0. The Virtual Link will be configured on R2 and R4.

R2(config)#router ospf 1
R2(config-router)#area 1 virtual-link 4.4.4.1

*May 28 11:23:10.019: %OSPF-5-ADJCHG: Process 1, Nbr 4.4.4.1 on OSPF_VL1 from LOADING to FULL, Loading Done

__________________________________________________________________________________




R4(config-router)#area 1 virtual-link 2.2.2.1
R4(config-router)#
*May 28 11:23:10.019: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.1 on OSPF_VL1 from LOADING to FULL, Loading Done

___________________________________________________________________________________

Note: Let us quickly verify the status of the virtual link on R2 and R4, then I will revisit the routing table of R1 and R5.

R2#SH IP OSpf VIrtual-links
Virtual Link OSPF_VL0 to router 4.4.4.1 is up

  Run as demand circuit
  DoNotAge LSA allowed.
  Transit area 1, via interface FastEthernet0/0
 Topology-MTID    Cost    Disabled     Shutdown      Topology Name
        0           1         no          no            Base
  Transmit Delay is 1 sec, State POINT_TO_POINT,
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 00:00:02
    Adjacency State FULL (Hello suppressed)
    Index 2/4, retransmission queue length 0, number of retransmission 0
    First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0)
    Last retransmission scan length is 0, maximum is 0
    Last retransmission scan time is 0 msec, maximum is 0 msec
_________________________________________________________________________________

R4#SH IP OSpf VIrtual-links
Virtual Link OSPF_VL1 to router 2.2.2.1 is up
  Run as demand circuit
  DoNotAge LSA allowed.
  Transit area 1, via interface FastEthernet0/0
 Topology-MTID    Cost    Disabled     Shutdown      Topology Name
        0           1         no          no            Base
  Transmit Delay is 1 sec, State POINT_TO_POINT,
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 00:00:02
    Adjacency State FULL (Hello suppressed)
    Index 1/3, retransmission queue length 0, number of retransmission 0
    First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0)
    Last retransmission scan length is 0, maximum is 0
    Last retransmission scan time is 0 msec, maximum is 0 msec

R1 and R2 routing table verification:

R1#sh ip route  ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

      5.0.0.0/24 is subnetted, 1 subnets
O IA     5.5.5.0 [110/782] via 192.168.1.2, 01:06:15, Serial1/0
      7.0.0.0/30 is subnetted, 1 subnets
O IA     7.7.7.0 [110/2344] via 192.168.1.2, 00:06:32, Serial1/0
      31.0.0.0/32 is subnetted, 2 subnets
O IA     31.31.31.1 [110/2345] via 192.168.1.2, 00:06:32, Serial1/0
O IA     31.31.32.1 [110/2345] via 192.168.1.2, 00:06:32, Serial1/0
      192.168.1.0/24 is variably subnetted, 3 subnets, 3 masks
O        192.168.1.0/27 [110/1562] via 192.168.1.2, 01:12:54, Serial1/0
R1#ping 31.31.31.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 31.31.31.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 108/135/192 ms
___________________________________________________________________________________

R5#sh ip route ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

      5.0.0.0/24 is subnetted, 1 subnets
O IA     5.5.5.0 [110/65] via 7.7.7.1, 00:08:19, Serial1/0
      10.0.0.0/32 is subnetted, 4 subnets
O IA     10.0.0.1 [110/847] via 7.7.7.1, 00:08:15, Serial1/0
O IA     10.32.0.1 [110/847] via 7.7.7.1, 00:08:15, Serial1/0
O IA     10.64.0.1 [110/847] via 7.7.7.1, 00:08:15, Serial1/0
O IA     10.96.0.1 [110/847] via 7.7.7.1, 00:08:15, Serial1/0
      192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
O IA     192.168.1.0/27 [110/846] via 7.7.7.1, 00:08:15, Serial1/0
O IA     192.168.1.0/30 [110/1627] via 7.7.7.1, 00:08:15, Serial1/0

R5#ping 10.0.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 112/151/188 ms
R5#ping 10.32.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.32.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 112/148/188 ms
R5#ping 10.64.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.64.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 108/143/176 ms
R5#ping 10.96.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.96.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 120/142/188 ms
We now have full network reachability