Troubleshoot OSPF

My notes for EIGRP felt like I was just regurgitating the Key Points from the book. So with OSPF I read the book and looked at the command output, then decided to copy my notes from the BSCI and edit them down. In this manner I get more detail than the book, it refreshes my mind and I don’t feel like I am bored redoing the commands shown in the book. Please note, these are my notes, you got it off the web from some CCNA who is working toward a CCNP, you get the idea.

Open Shortest Path First (OSPF)
OSPF is a vendor neutral link-state routing protocol designed around the shortest path first or Dijkstra algorithm. OSPF learns all possible routes in the network and never produces routing loops.

  • Classless and allows summarization.
  • Quickly converges
  • Conserves network bandwidth
  • Uses multicast
  • Sends incremental change based updates
  • Metric is cost
  • Generates routing updates only upon change
  • OSPF creates three tables
    1. Neighbor Table or Adjacency Database ñ Contains a list of recognized neighbors
    2. Topology Table or LSDB ñ Contains all routers and their attached links the area or network. All routers in an area have Identical LSDB
    3. Routing Table or Forwarding Database ñ Holds the best paths to destinations

    Basic OSPF Operation
    Exchange Hello messages to build neighbor table.
    Elect DR and BDR.
    Exchange LSA to build topology table.
    Run SPF on topology table to build routing table.

    OSPF Area Structure
    OSPF uses a two-layer hierarchy.
    1. Transit Area ñ Primary function is fast and efficient packet movement. End users are not usually found here. OSPF area 0 by definition is a transit area.
    2. Regular Area ñ Primary function is to connect users and resources. By default a regular area does not allow transit traffic. It has a number of subtypes; standard area, stub area, totally stubby area and not-so-stubby area.

    Neighorship
    OSPF sends multicast hello packets to destination address 224.0.0.5. On a broadcast link hello packets are sent every 10 seconds and every 30 seconds on a nonbroadcast link. After initial hello exchange routers become neighbors as soon as they see themselves listed in the neighborís hello packet, this guarantees two way communication. Neighbor negotiation applies to the primary address only, secondary addresses have to belong to the same area as the primary address.

    Routers must agree on the following to become neighbors:

  • Area-ID ñ If two routers share a segment, their interfaces have to belong to the same area on that segment. Should also belong to the same subnet and share the same mask.
  • Authentication ñ OSPF allows for a password in an area, routers must exchange the same password in an area to become neighbors.
  • Hello Interval — Hellos are a form of keep alive used for acknowledgment on a segment and to elect a designated router on multicast segments. Hello interval specifies the length of time, in seconds, between hello packets on an OSPF interface.
  • Dead Interval ñ Number of seconds that a routerís Hello packets have not been seen before its neighbors declare a router down.
  • Stub area flag ñ Routers must agree on the stub area flag in the hello packet.
  • Adjacency
    Routers form an adjacency after they have synchronized their topology databases. After the hello exchange, routers proceed to the database exchange process. In order to minimize the amount of information exchange on a particular segment OSPF elects one router as the designated router (DR) and another as the backup designated router (BDR) on each multi-access segment. Instead of routers having to exchange information with every other router in the segment, they only have to exchange information with the DR and BDR. The DR and BDR relay information to all the other routers.

    In mathematical terms this cuts communication from O(n*n) to O(n) where n is the number of routers on a segment. Each router tries to establish adjacency with the DR and BDR.

    Building the Adjacency

    Adjacency States:
    The following are the states of an interface in the process of becoming adjacent to another router.

    Down

    No hellos received from any router on segment
    Attempt

    Only valid for manually configured neighbors
    Init

    The router has received a hello packet from its neighbor but the receiving routerís ID was not in that hello packet.
    Two-Way

    Bi-directional communication has been established between the routers. At the end of this stage DR and BDR election is complete and the routers will decide whether to proceed with an adjacency.
    Exstart

    Routers are trying to establish the initial sequence number for packet exchange, the sequence number insures routers maintain recent information.
    Exchange

    Routers send entire link-state database.
    Loading

    Routers are finalizing their information exchange.
    Full

    Adjacency is complete, fully synchronized databases.

    DR Election
    OSPF routers on a LAN segment elects one DR and BDR, all other routers on that segment form full adjacencies with these two routers and pass LSAs only to them. The router with the highest OSPF priority on a segment will become the DR for that segment. Priority can be set from 0 ñ 255 with the default priority being 1 and a priority of 0 prevents the router from being elected.

    OSPF Multicast Addresses:
    224.0.0.5 goes to all OSPF routers.
    224.0.0.6 goes to the DR and BDR.

    Link State Advertisement (LSA)
    LSAs are reliable, delivery is acknowledged they also have a sequence number and a set lifetime, so that each router recognizes that it has the most current link state database.

    LSA Type_______

    Name

    Description
    Types 1 and 2 are flooded througout an area and are the basis of SPF path selection.
    Type 1

    Router Link LSA

    Generated by every router and sent to every area to which it is connected. Lists each neighbor, the cost to every neighbor, directly connected link state. Establishes and maintains neighbor relationships.

    Type 2

    Network Link LSA

    DR generated LSA that lists all the routers on the segment, the topological database.
    Types 3 and 4 are called inter-area LSAs because they are passed between areas.
    Type 3

    Network Summary Link LSA

    ABRs generate Type 3 LSAs to send between areas describing routes to the area’s networks. When an ABR receives type 1 LSAs it sends out type 3 LSAs to other areas advertising the networks it learned via type 1 LSAs.
    Type 4

    AS external ASBR summary link LSA

    ASBRs produce this LSA to advertise their presence and describe routes to themselves.
    Type 5

    External Link LSA

    Generated by ASBRs to describe routes external to OSPF, are flooded throughout the the AS except into totally stubby areas and totally stubby NSSAs.
    Type 6

    Multicast LSA

    Used in multicast OSPF applications.
    Type 7

    NSSA External LSA

    Created by an ASBR with one link in a NSSA. Stubby areas do not allow type 5 LSAs, so a type 7 LSA is a type 5 tunneled through the NSSA.

    OSPF Network Types
    The TSHOOT book did a much better job than my notes summarizing the OSPF network types.

    Broadcast

    Nonbroadcast

    Point-to-Point

    Point-to-Multipoint
    Default network type for LAN interfaces

    Default network type for Frame Relay serial interfaces

    Default network type for non-Frame Relay serial interfaces

    Can be configured for any interface
    Neighbors discovered

    Neighbors statically configured

    Routers form adjacency

    Neighbors automatically determined
    All routers on same subnet

    All routers on same subnet

    Each point-to-point link on a separate subnet

    All routers on same subnet
    Has a designated router

    Has a designated router

    Does not have a dedicated router

    Does not have a dedicated router

    TSHOOT p. 176

    sh ip route meanings

    Designator

    Description
    O

    OSPF intra-area router LSA and network LSA. Networks from within the router’s area, advertised by router and network LSAs.
    O IA

    OSPS interarea or summary LSA, networks from outside the router’s area but within the OSPF AS. Advertised by summary LSAs.
    O E1

    Type 1 External Routes, networks from outside the router’s AS, advertised by external LSAs. Calculate the cost of an external route by adding the the external cost to the internal cost of each link the packet crosses. Use this type when multiple ASBRs are advertising an external route to the same AS.

    O E2

    Type 2 External Routes, networks from outside the router’s AS advertised by external LSAs. The calculated cost is the external cost only. Use this type if only one ASBR is advertising an external route the autonomous system.

    Commands to verify OSPF configuration:
    sh ip ospf int [br]
    From the output you can see that this command give a good overview of “who” is on the other end of an interface. When the brief option is on it gives a summation of the interfaces active in OSPF and their neighbors. This is intended to help debug the interface table.

    [code]
    R2#sh ip ospf int
    Serial0/0/0.23 is up, line protocol is up
    Internet Address 10.1.1.5/30, Area 0
    Process ID 1, Router ID 10.1.1.5, Network Type POINT_TO_POINT, Cost: 64
    Transmit Delay is 1 sec, State POINT_TO_POINT
    Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:01
    Supports Link-local Signaling (LLS)
    Index 1/2, flood queue length 0
    Next 0x0(0)/0x0(0)
    Last flood scan length is 2, maximum is 2
    Last flood scan time is 0 msec, maximum is 4 msec
    Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 10.1.1.9
    Suppress hello for 0 neighbor(s)
    [/code]

    [code]
    R2#sh ip ospf int br
    Interface PID Area IP Address/Mask Cost State Nbrs F/C
    Se0/0/0.23 1 0 10.1.1.5/30 64 P2P 1/1
    Se0/0/0.12 1 12 10.1.1.2/30 64 P2P 1/1
    [/code]

    sh ip ospf neighbor
    Intended to help debug the neighbor table of OSPF.

    [code]
    R2#sh ip ospf neigh

    Neighbor ID Pri State Dead Time Address Interface
    10.1.1.9 0 FULL/ – 00:00:39 10.1.1.6 Serial0/0/0.23
    209.65.200.225 0 FULL/ – 00:00:31 10.1.1.1 Serial0/0/0.12
    [/code]

    sh ip ospf database
    Shows the LSA headers contained in the link state database. Router Link States come from Type 1 LSAs and Net Link States come from Type 2 LSAs.

    [code]
    R2#sh ip ospf database

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

    Router Link States (Area 0)

    Link ID ADV Router Age Seq# Checksum Link count
    10.1.1.5 10.1.1.5 429 0x8000066B 0x00805D 2
    10.1.1.9 10.1.1.9 1590 0x80000669 0x002AB0 2

    Summary Net Link States (Area 0)

    Link ID ADV Router Age Seq# Checksum
    10.1.1.0 10.1.1.5 429 0x80000537 0x005D4A
    10.1.1.8 10.1.1.9 1591 0x80000538 0x00F2A7

    Summary ASB Link States (Area 0)

    Link ID ADV Router Age Seq# Checksum
    10.1.4.9 10.1.1.9 1590 0x80000538 0x00CBC6
    209.65.200.225 10.1.1.5 429 0x80000537 0x00D021

    Router Link States (Area 12)

    Link ID ADV Router Age Seq# Checksum Link count
    10.1.1.5 10.1.1.5 429 0x80000667 0x00FC43 2
    209.65.200.225 209.65.200.225 1693 0x8000065E 0x00DAC1 2

    Summary Net Link States (Area 12)

    Link ID ADV Router Age Seq# Checksum
    10.1.1.4 10.1.1.5 436 0x80000539 0x003170
    10.1.1.8 10.1.1.5 436 0x80000539 0x008BD1

    Summary ASB Link States (Area 12)

    Link ID ADV Router Age Seq# Checksum
    10.1.4.9 10.1.1.5 436 0x80000539 0x0064F0

    Type-5 AS External Link States

    Link ID ADV Router Age Seq# Checksum Tag
    10.1.4.4 10.1.4.9 1287 0x800004B2 0x00CEF3 0
    10.1.4.8 10.1.4.9 1287 0x800000FC 0x001E5A 0
    10.2.1.0 10.1.4.9 1287 0x800004B2 0x001EA7 0
    10.2.2.0 10.1.4.9 1287 0x800000FC 0x008AF3 0
    10.2.4.12 10.1.4.9 1287 0x800004B8 0x00664D 0
    209.65.200.224 209.65.200.225 1693 0x80000536 0x004AB7 0
    209.65.200.240 209.65.200.225 1697 0x80000536 0x00F319 65002
    [/code]

    sh ip ospf statistics
    Shows the last time SPF algorithm was run, how often and the reason.

    [code]
    R2#sh ip ospf statistics

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

    Area 0: SPF algorithm executed 34 times

    Area 12: SPF algorithm executed 25 times

    Summary OSPF SPF statistic

    SPF calculation time
    Delta T Intra D-Intra Summ D-Summ Ext D-Ext Total Reason
    4w3d 0 0 0 0 0 0 0 R, SN, X
    4w3d 0 0 0 0 0 0 0 X
    4w3d 0 0 0 0 0 0 0 X
    4w3d 0 0 0 0 0 0 0 R, X
    4w3d 0 0 0 0 0 0 0 R, N, SN, SA, X
    4w3d 0 0 0 0 0 0 0 R,
    4w3d 0 0 0 0 0 0 0 R,
    4w3d 0 0 0 0 0 0 0 R, N, SN, SA, X
    4w3d 0 0 0 0 0 0 0 R,
    4w3d 0 0 0 0 0 0 0 R, X

    RIB manipulation time during SPF (in msec):
    Delta T RIB Update RIB Delete
    4w3d 0 0
    4w3d 0 0
    4w3d 0 0
    4w3d 0 0
    4w3d 0 0
    4w3d 0 0
    4w3d 0 0
    4w3d 0 0
    4w3d 0 0
    4w3d 0 0
    [/code]

    sh ip ospf border-routers
    Who is sending what type of LSA?

    [code]
    R2#sh ip ospf border-routers

    OSPF Process 1 internal Routing Table

    Codes: i – Intra-area route, I – Inter-area route

    i 10.1.1.9 [64] via 10.1.1.6, Serial0/0/0.23, ABR, Area 0, SPF 34
    i 209.65.200.225 [64] via 10.1.1.1, Serial0/0/0.12, ASBR, Area 12, SPF 25
    I 10.1.4.9 [128] via 10.1.1.6, Serial0/0/0.23, ASBR, Area 0, SPF 34
    [/code]

    sh ip route ospf
    Shows what routes are being advertised through OSPF.
    [code]
    R2#sh ip route ospf
    209.65.200.0/24 is variably subnetted, 2 subnets, 2 masks
    O E2 209.65.200.240/29 [110/1] via 10.1.1.1, 4w3d, Serial0/0/0.12
    O E2 209.65.200.224/30 [110/1] via 10.1.1.1, 4w3d, Serial0/0/0.12
    10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks
    O E2 10.2.4.12/30 [110/20] via 10.1.1.6, 4w0d, Serial0/0/0.23
    O IA 10.1.1.8/30 [110/128] via 10.1.1.6, 4w3d, Serial0/0/0.23
    O E2 10.1.4.8/30 [110/20] via 10.1.1.6, 5d20h, Serial0/0/0.23
    O E2 10.2.1.0/24 [110/20] via 10.1.1.6, 3w6d, Serial0/0/0.23
    O E2 10.2.2.0/24 [110/20] via 10.1.1.6, 5d20h, Serial0/0/0.23
    O E2 10.1.4.4/30 [110/20] via 10.1.1.6, 3w6d, Serial0/0/0.23
    [/code]

    Commands to debug OSPF:
    log-adjacency-changes
    debug ip packet
    debug ip ospf events
    Watch the OSPF process in real time.
    [code]
    R2#debug ip ospf events
    OSPF events debugging is on
    R2#
    *Apr 12 19:19:50.000: OSPF: Rcv hello from 10.1.1.9 area 0 from Serial0/0/0.23 10.1.1.6
    *Apr 12 19:19:50.000: OSPF: End of hello processing
    *Apr 12 19:19:50.388: OSPF: Send hello to 224.0.0.5 area 0 on Serial0/0/0.23 from 10.1.1.5
    *Apr 12 19:19:50.528: OSPF: Send hello to 224.0.0.5 area 12 on Serial0/0/0.12 from 10.1.1.2
    [/code]

    This entry was posted in Routing. Bookmark the permalink.

    Leave a Reply