• IPv4 – RFC 2328 v2
  • IPv6 – RFC 5340 v3
  • Uses Shortest Path First Algorithm.
  • Guarantees a loop free topology by using SPF and Area 0.
  • Standards
    • Can be used by multiple vendors.
  • Convergence
    • Very Fast
    • Tracks Neighbor adjacencies actively.
    • Event driven incremental updates.
  • Efficient updating
    • Non-OSPF updates do not process the updates on link.
    • Uses multicast and unicast for updates.
  • Link metrics are based upon bandwidth of interfaces.
  • Security
    • Supports clear text, MD5, SHA, IPsec for authentication.
  • Extensibility
    • Application support through ‘opaque LSA’

OSPF Operations:

  • Step1:
    • Uses Hello packets to find neighbors on links.
    • Protocol 89
    • Sends information via multicast
      • 224.0.0.5 – all OSPF speaking routers
      • 224.0.0.6 – DR/BDR communication
    • Hello packets have data that both speakers must agree upon to form adjacency
    • agreement and adjacency has formed, OSPF database gets exchanged between both parties.

Adjacency Attributes:

  • Router-ID
    • Chosen via manual configuration, highest active loopback IP, then highest active interface IP.
  • Interface IP addresses
    • OSPFv2 will use the interface primary IP (IPv4)
    • OSPFv3 will use the interface link local IP (IPv6)

Attributes that have to match:

  • Area
  • Hello and dead timers
  • Network address (between two nodes)
  • Interface MTU
  • OSPF network type
  • Authentication

Hellos:

  • Sent out every hello interval (timer)
  • Contains the following data
    • RID
    • Area
    • Subnet mask
    • Interface priority
    • Hello and Dead timers
    • Authentication information
    • DR/BDR addresses
    • RID of other neighbors on the link

Adjacency States

  • Down
    • No hellos have been received.
  • Attempt
    • Hello has been sent to neighbor, nothing received back.
  • Init
    • Received hello, no acknowledgement of hello that’s been sent.
  • 2-Way
    • Have received neighbor hello and acknowledgement of local hello already sent out.
  • ExStart
    • Beginning of adjacency
    • Higher router ID is master and chooses DB sequence number
  • Exchange
    • Link state database sent through DBD packets.
  • Loading
    • Link state requests sent to ask for more info about particular LSA.
  • Full
    • Adjacency has formed, DBs are synchronized.

  • Step2:
    • Beginning of path selection.
    • Each LSA includes a cost attribute for each link.
    • Paths added to RIB are paths with lowest cost end to end.
    • ECMP is allowed.
    • Default cost value is 100Mbps / link bandwidth.
      • For bandwidth 10Gbps and higher, the reference bandwidth command needs to be used.
  • Step3:
    • Neighbor tracking is from here on out completed via hellos and LSAs
      • Hellos for tracking neighbor changes.
        • HelloInterval is what defines how often hellos are sent out for tracking. 10 and 30 seconds depending on network/interface type.
        • DeadInterval
          • Time router declares neighbor dead if it does not receive a hello.
      • LSAs for tracking topology changes.
        • If new LSA is received, the LSDB sequence number, Age, and checksum are compared to make sure everything is up to date.
        • When change occurs, LSAs are flooded out all OSPF speaking interfaces – no split horizon. Self-originated LSAs are just dropped.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s