Table of Contents
OSPF Basics
OSPF operates by exchanging link-state information among routers, building a complete topology map of the network. Each router runs the SPF algorithm (Dijkstra’s algorithm) to calculate the shortest path to every destination. This approach makes OSPF ideal for large, complex networks where rapid adaptation to changes is critical.
Key Features:
- Link-State Database: Every router maintains an identical database of the network’s topology, ensuring consistent routing decisions.
- Area-Based Hierarchy: Divides the network into areas (e.g., Area 0 as the backbone), reducing memory and CPU demands on routers.
- Fast Convergence: When a link fails, OSPF recalculates paths quickly by flooding updated link-state information.
- Support for VLSM/CIDR: Enables efficient IP address allocation, crucial for modern network design.
- Multicast Efficiency: Uses multicast addresses 224.0.0.5 (all OSPF routers) and 224.0.0.6 (Designated Routers) instead of broadcasts.
Link-State vs. Distance-Vector Protocols
Unlike distance-vector protocols (e.g., RIP), which share routing tables and use hop counts, OSPF’s link-state approach builds a detailed map, avoiding loops and converging faster. For example, if a link fails, OSPF routers flood updates immediately, while RIP waits for periodic updates (e.g., every 30 seconds), delaying convergence.
OSPF Packet Types
OSPF relies on five packet types, each serving a specific role in neighbor management and database synchronization:
- Hello: Sent every 10 seconds (default on broadcast networks) to discover neighbors and check their status.
- Database Description (DBD): Shares a summary of the link-state database during initial synchronization.
- Link-State Request (LSR): Requests specific missing or updated LSAs identified in the DBD exchange.
- Link-State Update (LSU): Carries full LSA details to update neighbors’ databases.
- Link-State Acknowledgment (LSAck): Ensures reliable delivery by confirming LSU receipt.
Example:When Router A boots, it sends Hellos to find Router B, exchanges DBDs to compare databases, requests missing LSAs with LSRs, and synchronizes via LSUs.
OSPF Router Types
OSPF assigns roles to routers based on their location and function in the network topology:
- Internal Router: All interfaces reside in a single area (e.g., Area 1), managing only that area’s topology.
- Backbone Router: Has at least one interface in Area 0, the central hub for inter-area communication.
- Area Border Router (ABR): Connects multiple areas (e.g., Area 0 and Area 1), summarizing routes and maintaining separate databases for each area.
- Autonomous System Boundary Router (ASBR): Imports external routes (e.g., from BGP or static routing) into OSPF, advertising them as external LSAs.
Example: In a network with Area 0 and Area 1, an ABR connects the two, summarizing Area 1’s subnets into Area 0, while an ASBR in Area 1 redistributes a static route to an external server.
EIGRP Metrics and K-values
Areas segment OSPF networks to optimize resource usage and control routing information flow:
- Normal Area: Accepts all LSA types, including external routes, suitable for fully connected areas.
- Backbone Area (Area 0): The mandatory core area; all other areas connect through it for inter-area routing.
- Stub Area: Blocks Type 5 (external) LSAs, replacing them with a default route from the ABR, reducing database size.
- Totally Stubby Area: Extends stub areas by also blocking Type 3 (inter-area) LSAs, relying solely on a default route.
- Not-So-Stubby Area (NSSA): Allows an ASBR within a stub area, injecting external routes as Type 7 LSAs, which the ABR converts to Type 5.
Example: A stub area near the network edge uses a default route to reach external destinations, while an NSSA in the same position redistributes routes from a local ASBR.
OSPF Neighbor Relationships
OSPF routers form neighbor relationships to share topology data, relying on the Hello protocol and adjacency processes.
Hello packets establish and maintain neighbors, containing:
- Router ID: A unique identifier for each router.
- Area ID: Must match between neighbors for adjacency to form.
- Hello/Dead Intervals: Timing parameters that must match (e.g., 10/40 seconds).
- Authentication Data: Required if authentication is enabled; must match.
- Network Mask and Options: Must be compatible between neighbors.
Adjacency Formation
Neighbors progress through these states to become fully adjacent:
- Down: No Hellos received; starting state.
- Init: Hello received, but bidirectional communication isn’t confirmed.
- 2-Way: Both routers see each other in Hellos, establishing bidirectionality.
- ExStart: Master-slave roles are negotiated for efficient database exchange.
- Exchange: DBDs are swapped to outline each router’s database.
- Loading: Routers request and receive missing LSAs.
- Full: Databases are synchronized, and adjacency is complete.
Example: Router A sends a Hello to Router B, entering Init. Router B replies, listing A’s ID, moving to 2-Way. They then sync databases, reaching Full.
Adjacency Requirements
For adjacency to form, these must align:
- Hello and Dead intervals
- Area ID
- Authentication type and key
- MTU size
- Network type (e.g., broadcast)
OSPF Network Types
OSPF adjusts its behavior based on the underlying network media:
- Broadcast: Common on Ethernet; elects a DR/BDR and uses multicast for neighbor discovery.
- Non-Broadcast (NBMA): Used on Frame Relay; requires manual neighbor configuration (e.g.,
neighbor 192.168.1.2
) and DR/BDR election. - Point-to-Point: For direct links (e.g., T1 lines); no DR/BDR, automatic adjacency.
- Point-to-Multipoint: Treats multi-access networks as point-to-point links; no DR/BDR, simplifies configuration.
DR and BDR Election
In broadcast and NBMA networks, OSPF elects a Designated Router (DR) and Backup DR (BDR) to reduce LSA flooding:
- Priority: Set via
ip ospf priority 10
(default is 1); higher value wins the election. - Router ID: Used as a tiebreaker; highest IP address or manually configured (e.g.,
router-id 1.1.1.1
).
Example: On an Ethernet segment, Router A (priority 10) becomes DR, and Router B (priority 5) becomes BDR.
OSPF LSA Types
Link-State Advertisements (LSAs) are the building blocks of OSPF’s database:
- Type 1 (Router LSA): Generated by every router, listing its links and states.
- Type 2 (Network LSA): Created by the DR, describing all routers on a multi-access network.
- Type 3 (Summary LSA): ABRs advertise inter-area routes (e.g., from Area 1 to Area 0).
- Type 4 (ASBR Summary LSA): ABRs advertise the ASBR’s location to other areas.
- Type 5 (External LSA): ASBRs flood external routes across the OSPF domain.
- Type 7 (NSSA External LSA): Used in NSSAs for external routes, converted to Type 5 by the ABR.
Example: An ASBR in Area 1 redistributes a static route, generating a Type 5 LSA flooded to Area 0 via the ABR’s Type 3 LSA.
OSPF Route Types
OSPF categorizes routes based on their origin:
- Intra-area: Routes within the same area, derived from Type 1 and 2 LSAs.
- Inter-area: Routes from other areas, advertised via Type 3 LSAs.
- External: Routes from outside OSPF:
- E1: Includes internal OSPF cost plus external cost, preferred for path selection.
- E2: Only external cost (default), ignoring internal OSPF paths.
Example: A route from Area 1 to Area 0 is inter-area, while a redistributed BGP route is external (E2 by default).
OSPF Route Filtering and Summarization
Control OSPF routes to optimize performance and security:
Route Summarization
Reduces routing table size by aggregating prefixes:
- ABR Summarization:
area 1 range 192.168.0.0 255.255.0.0
Summarizes Area 1’s subnets into Area 0.
- ASBR Summarization:
summary-address 10.0.0.0 255.255.0.0
Aggregates external routes.
Route Filtering
Blocks unwanted routes:
- Prefix-List:
ip prefix-list BLOCK-10 deny 10.0.0.0/8
ip prefix-list BLOCK-10 permit 0.0.0.0/0 le 32
- Distribute-List:
router ospf 1
distribute-list prefix BLOCK-10 in
Filters incoming routes.
- Area Range:
area 1 range 192.168.1.0 255.255.255.0 not-advertise
Prevents advertisement.
Example: An ABR uses a prefix-list to block 10.0.0.0/8 from entering the routing table.
OSPF Redistribution
Incorporates routes from other protocols or static sources:
Route Filtering
Blocks unwanted routes:
- Basic Redistribution:
router ospf 1
redistribute static subnets
Includes static routes with subnet details.
- With Tagging:
route-map TAG-STATIC permit 10
set tag 200
router ospf 1
redistribute static subnets route-map TAG-STATIC
Labels routes for downstream filtering.
Example: Redistributing a connected subnet (e.g., 172.16.1.0/24) into OSPF tags it for identification.
OSPF Authentication
Secures OSPF updates against unauthorized access:
Route Filtering
Blocks unwanted routes:
- Plain-Tex:
interface GigabitEthernet0/1
ip ospf authentication
ip ospf authentication-key CISCO
Simple but less secure.
- MD5:
interface GigabitEthernet0/1
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 SECRET
Encrypted, more secure.
- Area-Wide:
router ospf 1
area 0 authentication message-digest
Applies to all interfaces in Area 0.
Example: MD5 authentication ensures Router A and Router B only form adjacency with the correct key.
OSPF Troubleshooting
Use these commands to diagnose issues:
- show ip ospf neighbor: Lists neighbor states (e.g., Full, 2-Way).
- show ip ospf interface: Checks timers, network type, and DR/BDR.
- show ip ospf database: Verifies LSAs in the database.
- debug ip ospf adj: Tracks adjacency formation in real-time.
- debug ip ospf packet: Monitors packet details.
Common Problems:
- Mismatched Hello/Dead timers (e.g., 10s vs. 15s).
- Area ID mismatch (e.g., Area 0 vs. Area 1).
- Authentication key errors.
Example: If neighbors are stuck in 2-Way, show ip ospf interface might reveal an MTU mismatch.
OSPF Timers and Metrics
Hello and Dead Timers
Hello: Frequency of neighbor checks (default 10s).
Dead: Time to declare a neighbor down (default 40s).
Customize with:
interface GigabitEthernet0/1
ip ospf hello-interval 5
ip ospf dead-interval 20
Metrics (Cost)
Cost = Reference Bandwidth / Interface Bandwidth (default reference 100 Mbps).
- Adjust reference:
router ospf 1
auto-cost reference-bandwidth 10000
- Set manually:
interface GigabitEthernet0/1
ip ospf cost 5
Example: A 1 Gbps link defaults to cost 1 (100/1000), but setting reference to 10,000 Mbps makes it 10.