{"id":169368,"date":"2026-06-21T18:28:05","date_gmt":"2026-06-21T15:28:05","guid":{"rendered":"https:\/\/computingforgeeks.com\/?p=169368"},"modified":"2026-06-21T18:28:05","modified_gmt":"2026-06-21T15:28:05","slug":"ospf-concepts-explained","status":"publish","type":"post","link":"https:\/\/computingforgeeks.com\/ospf-concepts-explained\/","title":{"rendered":"OSPF Concepts Explained for CCNA: DR\/BDR and LSDB"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Every router running OSPF builds an identical map of the network and then works out its own best paths from that map. That single idea is what separates OSPF from older protocols, and it explains almost everything else: why routers form neighbor relationships, why a broadcast segment elects a designated router, and why the link-state database matters more than the routing table when you are troubleshooting. This guide walks the OSPF concepts a CCNA candidate has to understand, each one shown on a live three-router lab. Every command here was run on three Cisco IOS 15.2 routers sharing one Ethernet segment in June 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">OSPF is one of the routing protocols introduced in the <a href=\"https:\/\/computingforgeeks.com\/what-is-ip-routing-and-routing-protocols-in-networking\/\">IP routing and routing protocols<\/a> overview, and the routes it computes land in the table covered in the <a href=\"https:\/\/computingforgeeks.com\/cisco-ip-routing-table-explained\/\">Cisco routing table<\/a> guide. <a href=\"https:\/\/computingforgeeks.com\/cisco-ospf-single-area-configuration\/\">Configuring OSPF<\/a> is a separate topic; this article is about how OSPF actually thinks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How OSPF builds a map of the network<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OSPF is a link-state protocol. Instead of passing its whole routing table to neighbors the way RIP does, each router describes its own links in a link-state advertisement (LSA) and floods that to every other router in the area. Every router collects all the LSAs into a link-state database (LSDB), so they all hold an identical picture of the topology. Each then runs the SPF (Dijkstra) algorithm against that database to calculate the shortest path to every destination. The lab is three routers on one shared segment, all in area 0.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1500\" height=\"640\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-broadcast-dr-bdr-topology.png\" alt=\"Three OSPF routers on a broadcast segment electing a DR and BDR in area 0\" class=\"wp-image-169362\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-broadcast-dr-bdr-topology.png 1500w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-broadcast-dr-bdr-topology-300x128.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-broadcast-dr-bdr-topology-1024x437.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-broadcast-dr-bdr-topology-768x328.png 768w\" sizes=\"auto, (max-width: 1500px) 100vw, 1500px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Neighbors and adjacencies<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before any of that flooding happens, routers have to become neighbors. OSPF uses the Hello protocol: it sends Hello packets out OSPF-enabled interfaces, and two routers become neighbors when the values in those Hellos agree. The area ID, the hello and dead timers, the subnet and mask, and authentication all have to match, or the adjacency never forms. Once it does, <code>show ip ospf neighbor<\/code> lists each neighbor, the state, and that neighbor&#8217;s role:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2200\" height=\"320\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-neighbor-dr-bdr.png\" alt=\"show ip ospf neighbor output with FULL\/DR and FULL\/BDR adjacencies from a DROTHER\" class=\"wp-image-169364\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-neighbor-dr-bdr.png 2200w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-neighbor-dr-bdr-300x44.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-neighbor-dr-bdr-1024x149.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-neighbor-dr-bdr-768x112.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-neighbor-dr-bdr-1536x223.png 1536w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-neighbor-dr-bdr-2048x298.png 2048w\" sizes=\"auto, (max-width: 2200px) 100vw, 2200px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The state column reads as two parts. <code>FULL<\/code> means the databases are fully synchronized, and the part after the slash is the neighbor&#8217;s role on this segment. So R1 sees <code>3.3.3.3<\/code> as <code>FULL\/DR<\/code> and <code>2.2.2.2<\/code> as <code>FULL\/BDR<\/code>. Adjacencies climb through a sequence of states to get there: Down, Init, 2-Way, ExStart, Exchange, Loading, and finally Full. Reaching 2-Way means the routers see each other; reaching Full means their databases match. The whole lab runs on a clean GNS3 canvas, three c7200 routers hanging off one IOSvL2 switch:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1120\" height=\"560\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-concepts-gns3.png\" alt=\"GNS3 canvas with three c7200 routers on an IOSvL2 switch for the OSPF concepts lab\" class=\"wp-image-169363\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-concepts-gns3.png 1120w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-concepts-gns3-300x150.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-concepts-gns3-1024x512.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-concepts-gns3-768x384.png 768w\" sizes=\"auto, (max-width: 1120px) 100vw, 1120px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">DR and BDR on a broadcast network<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If every router on a shared segment formed a full adjacency with every other router, the number of adjacencies would explode as the segment grew. OSPF avoids that by electing a designated router (DR) and a backup designated router (BDR). Every other router, a DROTHER, forms a full adjacency only with the DR and BDR, and stays at 2-Way with the other DROTHERs. Point-to-point links elect no DR or BDR because there are only two routers. The election and the timers show up in <code>show ip ospf interface<\/code>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2200\" height=\"782\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-interface.png\" alt=\"show ip ospf interface output showing BROADCAST network type, cost, DR, BDR, and Hello\/Dead timers\" class=\"wp-image-169365\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-interface.png 2200w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-interface-300x107.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-interface-1024x364.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-interface-768x273.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-interface-1536x546.png 1536w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-show-ip-ospf-interface-2048x728.png 2048w\" sizes=\"auto, (max-width: 2200px) 100vw, 2200px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The network type is <code>BROADCAST<\/code>, which is why a DR is elected at all, and this router is in state <code>DROTHER<\/code> with the DR and BDR named explicitly. The DR is decided by the highest OSPF interface priority; when priorities tie at the default of 1, the highest router ID wins, which is why R3 (<code>3.3.3.3<\/code>) became DR and R2 (<code>2.2.2.2<\/code>) the BDR. A priority of 0 takes a router out of the running entirely, and the election is non-preemptive, so a new higher-priority router will not displace a sitting DR. From R3&#8217;s side the same command confirms the mirror image, with R1 shown as a DROTHER:<\/p>\n\n\n\n<pre class=\"wp-block-code code\"><code>Neighbor ID     Pri   State           Dead Time   Address         Interface\n1.1.1.1           1   FULL\/DROTHER    00:00:36    10.0.0.1        GigabitEthernet0\/0\n2.2.2.2           1   FULL\/BDR        00:00:37    10.0.0.2        GigabitEthernet0\/0<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">The link-state database<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The LSDB is where OSPF keeps its map, and <code>show ip ospf database<\/code> prints it. For CCNA, two LSA types matter on a single-area broadcast network. Every router originates a router LSA (Type 1) describing its own links, and the DR originates a network LSA (Type 2) representing the shared segment:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2200\" height=\"828\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-link-state-database.png\" alt=\"show ip ospf database showing three router LSAs and a network LSA originated by the DR\" class=\"wp-image-169366\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-link-state-database.png 2200w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-link-state-database-300x113.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-link-state-database-1024x385.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-link-state-database-768x289.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-link-state-database-1536x578.png 1536w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/cisco-ospf-link-state-database-2048x771.png 2048w\" sizes=\"auto, (max-width: 2200px) 100vw, 2200px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Under Router Link States there is one entry per router (<code>1.1.1.1<\/code>, <code>2.2.2.2<\/code>, <code>3.3.3.3<\/code>). Under Net Link States there is a single network LSA whose advertising router is <code>3.3.3.3<\/code>, the DR, with the DR&#8217;s interface address <code>10.0.0.3<\/code> as the Link ID. That is the proof that the DR represents the segment in the database. Every router in the area holds this same LSDB; the routing table each one builds from it can differ, but the database does not.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cost: how OSPF picks the best path<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OSPF&#8217;s metric is cost, calculated as a reference bandwidth divided by the interface bandwidth, with a default reference of 100 Mbps and a minimum cost of 1. Because of that default, Fast Ethernet and everything faster all come out as cost 1, which is why production networks raise the reference bandwidth to tell a 1 Gbps link apart from a 10 Gbps one. The routes OSPF computes appear in the table with an <code>O<\/code> code and the <code>[110\/cost]<\/code> bracket:<\/p>\n\n\n\n<pre class=\"wp-block-code code\"><code>show ip route ospf<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">R1 learns the loopbacks of the other two routers, each at cost 2 (cost 1 to leave R1&#8217;s Gigabit Ethernet interface, plus cost 1 for the loopback at the far end) and OSPF&#8217;s administrative distance of 110:<\/p>\n\n\n\n<pre class=\"wp-block-code code\"><code>      2.0.0.0\/32 is subnetted, 1 subnets\nO        2.2.2.2 [110\/2] via 10.0.0.2, 00:00:29, GigabitEthernet0\/0\n      3.0.0.0\/32 is subnetted, 1 subnets\nO        3.3.3.3 [110\/2] via 10.0.0.3, 00:00:39, GigabitEthernet0\/0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The 110 is OSPF&#8217;s administrative distance, so an OSPF route loses to a <a href=\"https:\/\/computingforgeeks.com\/cisco-ipv4-static-routes-configuration\/\">static route<\/a> (distance 1) for the same prefix but beats RIP. Once the route is installed, the router forwards along it exactly as the <a href=\"https:\/\/computingforgeeks.com\/cisco-router-packet-forwarding-explained\/\">packet forwarding<\/a> process describes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Router ID, areas, and timers<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A few smaller pieces tie the rest together. The router ID is a 32-bit identifier chosen once at startup: an explicit <code>router-id<\/code> if configured, otherwise the highest IP on an up loopback, otherwise the highest IP on an up physical interface. Loopbacks are preferred because they never go down. Areas limit how far LSAs flood; single-area OSPF puts every router in area 0, the backbone, which is the focus for CCNA. The hello and dead timers, 10 and 40 seconds on a broadcast segment, are the heartbeat: miss four hellos and the neighbor is declared dead. All of these are visible in the <code>show ip ospf<\/code> and <code>show ip ospf interface<\/code> output above.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Practice on your own lab<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Paste-ready configurations for all three routers are in the <a href=\"https:\/\/github.com\/c4geeks\/ccna-labs\/tree\/main\/ospf-concepts\" target=\"_blank\" rel=\"noreferrer noopener\">ccna-labs repository<\/a>. Build the three routers on one switch, let the adjacencies form, then run <code>show ip ospf neighbor<\/code>, <code>show ip ospf interface<\/code>, and <code>show ip ospf database<\/code> and watch the DR election and the LSDB for yourself. The <a href=\"https:\/\/computingforgeeks.com\/quickly-prepare-for-ccna-200-301-exam\/\">CCNA 200-301 study roadmap<\/a> shows where OSPF sits in Domain 3, which is the heaviest scoring block on the exam.<\/p>\n\n\n<div class=\"cfg-quiz\" data-quiz=\"{\n  &quot;id&quot;: &quot;ospf-concepts&quot;,\n  &quot;title&quot;: &quot;OSPF concepts quiz&quot;,\n  &quot;objective&quot;: &quot;3.4 Describe OSPFv2 concepts (neighbors, DR\/BDR, LSDB, cost)&quot;,\n  &quot;intro&quot;: &quot;Ten questions on how single-area OSPF works: link-state operation, neighbor adjacencies, DR and BDR election on broadcast networks, the link-state database, and cost. Every answer is doc-checked or verified on a three-router broadcast lab.&quot;,\n  &quot;questions&quot;: [\n    {&quot;q&quot;: &quot;What does it mean that OSPF is a link-state protocol?&quot;, &quot;options&quot;: [&quot;Each router shares its whole routing table with neighbors at intervals&quot;, &quot;Every router builds an identical map of the topology and independently runs the SPF (Dijkstra) algorithm to find best paths&quot;, &quot;Routers only know about directly connected networks&quot;, &quot;It floods packets to every interface&quot;], &quot;answer&quot;: 1, &quot;explanation&quot;: &quot;Link-state routers flood link-state advertisements so every router in an area builds the same link-state database, then each runs SPF independently to compute its own shortest paths. Distance-vector protocols like RIP instead pass their whole routing table around.&quot;, &quot;validated&quot;: &quot;doc&quot;},\n    {&quot;q&quot;: &quot;Which OSPF mechanism discovers neighbors and keeps adjacencies alive?&quot;, &quot;options&quot;: [&quot;ARP&quot;, &quot;The Hello protocol&quot;, &quot;CDP&quot;, &quot;DHCP&quot;], &quot;answer&quot;: 1, &quot;explanation&quot;: &quot;OSPF sends Hello packets to discover neighbors and maintain adjacencies. For two routers to become neighbors, parameters in the Hello (area ID, hello and dead timers, subnet\/mask, authentication) must match.&quot;, &quot;validated&quot;: &quot;lab&quot;},\n    {&quot;q&quot;: &quot;On a broadcast (multi-access) network, what does OSPF elect to reduce adjacencies?&quot;, &quot;options&quot;: [&quot;A root bridge&quot;, &quot;A designated router (DR) and a backup designated router (BDR)&quot;, &quot;An active and standby gateway&quot;, &quot;A root port&quot;], &quot;answer&quot;: 1, &quot;explanation&quot;: &quot;On a broadcast segment OSPF elects a DR and a BDR. Every other router (a DROTHER) forms a full adjacency only with the DR and BDR, which avoids a full mesh of adjacencies. Point-to-point links elect no DR\/BDR.&quot;, &quot;validated&quot;: &quot;lab&quot;},\n    {&quot;q&quot;: &quot;How is the OSPF DR chosen on a segment?&quot;, &quot;options&quot;: [&quot;Lowest IP address wins&quot;, &quot;Highest interface priority wins; a tie is broken by the highest router ID; priority 0 means never DR&quot;, &quot;The first router to boot wins permanently&quot;, &quot;Lowest router ID wins&quot;], &quot;answer&quot;: 1, &quot;explanation&quot;: &quot;The router with the highest OSPF interface priority becomes DR; if priorities tie (default is 1), the highest router ID wins. A priority of 0 makes a router ineligible. The election is also non-preemptive: a new higher-priority router does not take over an existing DR.&quot;, &quot;validated&quot;: &quot;lab&quot;},\n    {&quot;type&quot;: &quot;match&quot;, &quot;q&quot;: &quot;Match each OSPF role or value to what it does.&quot;, &quot;pairs&quot;: [{&quot;left&quot;: &quot;DR&quot;, &quot;right&quot;: &quot;Originates the network (Type 2) LSA for the segment&quot;}, {&quot;left&quot;: &quot;BDR&quot;, &quot;right&quot;: &quot;Takes over if the DR fails&quot;}, {&quot;left&quot;: &quot;DROTHER&quot;, &quot;right&quot;: &quot;Forms a full adjacency only with the DR and BDR&quot;}, {&quot;left&quot;: &quot;Priority 0&quot;, &quot;right&quot;: &quot;Router never becomes DR or BDR&quot;}], &quot;explanation&quot;: &quot;The DR represents the segment and originates its network LSA; the BDR is the standby; DROTHERs stay full only with the DR and BDR (and 2-way with each other); priority 0 removes a router from the election.&quot;, &quot;validated&quot;: &quot;lab&quot;},\n    {&quot;type&quot;: &quot;numeric&quot;, &quot;q&quot;: &quot;What is the default OSPF Hello interval on a broadcast network? Type the number of seconds.&quot;, &quot;answer&quot;: &quot;10&quot;, &quot;hint&quot;: &quot;The dead interval is four times this.&quot;, &quot;placeholder&quot;: &quot;e.g. 30&quot;, &quot;explanation&quot;: &quot;On broadcast and point-to-point links the default Hello is 10 seconds and the dead interval is 40 seconds (4x Hello). Both must match between neighbors or the adjacency never forms.&quot;, &quot;validated&quot;: &quot;lab&quot;},\n    {&quot;q&quot;: &quot;How does a router choose its OSPF router ID?&quot;, &quot;options&quot;: [&quot;Always the lowest interface IP&quot;, &quot;A manually configured router-id, else the highest loopback IP, else the highest active physical interface IP&quot;, &quot;The MAC address of the first interface&quot;, &quot;It is assigned by the DR&quot;], &quot;answer&quot;: 1, &quot;explanation&quot;: &quot;OSPF picks the router ID in this order: an explicit router-id command, then the highest IP on an up loopback, then the highest IP on an up physical interface. A loopback is preferred because it never goes down.&quot;, &quot;validated&quot;: &quot;doc&quot;},\n    {&quot;q&quot;: &quot;How is OSPF cost calculated by default?&quot;, &quot;options&quot;: [&quot;Hop count&quot;, &quot;Reference bandwidth divided by interface bandwidth (default reference 100 Mbps), minimum 1&quot;, &quot;Delay plus bandwidth&quot;, &quot;Always 1 for every link&quot;], &quot;answer&quot;: 1, &quot;explanation&quot;: &quot;OSPF cost = reference bandwidth \/ interface bandwidth, with a default reference of 100 Mbps and a minimum cost of 1. So 100M and faster links all come out as cost 1 unless you raise the reference bandwidth.&quot;, &quot;validated&quot;: &quot;lab&quot;},\n    {&quot;q&quot;: &quot;On a broadcast segment, which router originates the network (Type 2) LSA?&quot;, &quot;options&quot;: [&quot;Every router&quot;, &quot;The DR&quot;, &quot;The BDR&quot;, &quot;The DROTHER with the lowest IP&quot;], &quot;answer&quot;: 1, &quot;explanation&quot;: &quot;The DR originates the network LSA that represents the multi-access segment. In show ip ospf database the Net Link State&#039;s ADV Router is the DR&#039;s router ID, and its Link ID is the DR&#039;s interface address.&quot;, &quot;validated&quot;: &quot;lab&quot;},\n    {&quot;type&quot;: &quot;numeric&quot;, &quot;q&quot;: &quot;What is the default administrative distance of OSPF? Type the number.&quot;, &quot;answer&quot;: &quot;110&quot;, &quot;hint&quot;: &quot;RIP is 120.&quot;, &quot;placeholder&quot;: &quot;e.g. 90&quot;, &quot;explanation&quot;: &quot;OSPF has a default administrative distance of 110, so it is preferred over RIP (120) but loses to EIGRP (90), a static route (1), and a connected route (0) for the same prefix.&quot;, &quot;validated&quot;: &quot;doc&quot;}\n  ]\n}\n\" data-quiz-count=\"10\"><div class=\"cfg-quiz-loading\">Loading quiz...<\/div><\/div>\n\n\n<div class=\"cfg-fc\" data-fc=\"{\n  &quot;id&quot;: &quot;ospf-concepts&quot;,\n  &quot;title&quot;: &quot;OSPF Concepts Flashcards&quot;,\n  &quot;objective&quot;: &quot;3.4 Describe OSPFv2 concepts (neighbors, DR\/BDR, LSDB, cost)&quot;,\n  &quot;intro&quot;: &quot;The single-area OSPF concepts worth knowing cold: link-state operation, neighbor adjacencies and states, DR\/BDR election, the link-state database and LSA types, cost, router ID, and the timers that must match. Tap a card to flip it, then mark whether you knew it.&quot;,\n  &quot;cards&quot;: [\n    {&quot;front&quot;: &quot;Link-state vs distance-vector&quot;, &quot;back&quot;: &quot;Link-state (OSPF): every router floods LSAs, builds an identical link-state database, and runs SPF (Dijkstra) to compute its own best paths. Distance-vector (RIP): routers pass their whole routing table to neighbors and trust it.&quot;},\n    {&quot;front&quot;: &quot;How OSPF forms neighbors&quot;, &quot;back&quot;: &quot;The Hello protocol. Routers send Hellos to discover each other; for an adjacency, the area ID, hello and dead timers, subnet\/mask, authentication, and MTU must match.&quot;},\n    {&quot;front&quot;: &quot;OSPF neighbor states&quot;, &quot;back&quot;: &quot;Down -&gt; Init -&gt; 2-Way -&gt; ExStart -&gt; Exchange -&gt; Loading -&gt; Full. 2-Way means they see each other; Full means databases are synchronized. On broadcast, DROTHERs stay 2-Way with each other and go Full only with the DR and BDR.&quot;},\n    {&quot;front&quot;: &quot;DR and BDR (why)&quot;, &quot;back&quot;: &quot;On a broadcast\/multi-access segment, electing a Designated Router (DR) and Backup DR (BDR) avoids a full mesh of adjacencies. Every DROTHER forms a full adjacency only with the DR and BDR. Point-to-point links elect no DR\/BDR.&quot;},\n    {&quot;front&quot;: &quot;DR\/BDR election rules&quot;, &quot;back&quot;: &quot;Highest OSPF interface priority wins; tie broken by highest router ID. Priority 0 = never DR\/BDR. Election is non-preemptive: a new higher-priority router does not displace an existing DR.&quot;},\n    {&quot;front&quot;: &quot;DROTHER neighbor states (from show ip ospf neighbor)&quot;, &quot;back&quot;: &quot;A DROTHER shows the DR as FULL\/DR, the BDR as FULL\/BDR, and other DROTHERs as 2WAY\/DROTHER. The state before the slash is the adjacency; after the slash is that neighbor&#039;s role.&quot;},\n    {&quot;front&quot;: &quot;OSPF router ID selection order&quot;, &quot;back&quot;: &quot;1) explicit router-id command, 2) highest IP on an up loopback, 3) highest IP on an up physical interface. A loopback is preferred because it never goes down. The router ID is chosen once at process start.&quot;},\n    {&quot;front&quot;: &quot;OSPF cost (metric)&quot;, &quot;back&quot;: &quot;cost = reference bandwidth \/ interface bandwidth, default reference 100 Mbps, minimum 1. So FastEthernet and faster all default to cost 1. Raise the reference bandwidth (auto-cost reference-bandwidth) to differentiate fast links.&quot;},\n    {&quot;front&quot;: &quot;Hello and Dead timers&quot;, &quot;back&quot;: &quot;Broadcast and point-to-point: Hello 10s, Dead 40s (4x Hello). Both must match between neighbors or no adjacency forms. show ip ospf interface displays the configured intervals.&quot;},\n    {&quot;front&quot;: &quot;OSPF network type: BROADCAST&quot;, &quot;back&quot;: &quot;The default on Ethernet. Elects a DR\/BDR, uses multicast 224.0.0.5 (all OSPF routers) and 224.0.0.6 (DR\/BDR). show ip ospf interface reports the network type, which determines whether a DR is elected.&quot;},\n    {&quot;front&quot;: &quot;Router LSA (Type 1)&quot;, &quot;back&quot;: &quot;Every OSPF router originates one, describing its own links and cost within an area. In show ip ospf database they appear under &#039;Router Link States&#039; with each router&#039;s ID as the Link ID and ADV Router.&quot;},\n    {&quot;front&quot;: &quot;Network LSA (Type 2)&quot;, &quot;back&quot;: &quot;Originated by the DR for a multi-access segment, listing the routers attached to it. In show ip ospf database it appears under &#039;Net Link States&#039; with the DR&#039;s interface address as Link ID and the DR&#039;s router ID as ADV Router.&quot;},\n    {&quot;front&quot;: &quot;The link-state database (LSDB)&quot;, &quot;back&quot;: &quot;show ip ospf database. Every router in an area holds an identical LSDB built from the flooded LSAs. SPF runs against the LSDB to produce the routing table; show ip ospf reports how many times SPF has run.&quot;},\n    {&quot;front&quot;: &quot;OSPF areas and the backbone&quot;, &quot;back&quot;: &quot;Single-area OSPF puts every router in area 0, the backbone. Areas limit LSA flooding and SPF scope. For CCNA, single-area (all area 0) is the focus; the backbone must be area 0.&quot;},\n    {&quot;front&quot;: &quot;OSPF administrative distance&quot;, &quot;back&quot;: &quot;110 by default. So for the same prefix OSPF beats RIP (120) but loses to EIGRP (90), static (1), and connected (0). An OSPF route shows as O with [110\/cost] in show ip route.&quot;},\n    {&quot;front&quot;: &quot;First things to check when an OSPF neighbor won&#039;t form&quot;, &quot;back&quot;: &quot;Mismatched hello\/dead timers, different area IDs, interfaces in different subnets\/masks, an interface set to passive, an MTU mismatch (stuck in ExStart\/Exchange), or authentication differences. show ip ospf interface and show ip ospf neighbor reveal most of these.&quot;}\n  ]\n}\n\" data-fc-anki=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2026\/06\/ccna-ospf-concepts-flashcards.apkg\"><div class=\"cfg-fc-loading\">Loading flashcards...<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">What to check first when an OSPF neighbor will not come up<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Most OSPF problems are neighbor problems, and they come from a short list of mismatches. The hello and dead timers must match on both ends. Both interfaces must be in the same area and the same subnet and mask. An interface set to passive sends no hellos at all, so it forms no neighbor. An MTU mismatch lets the routers reach the ExStart or Exchange state and then stick there, which is a classic trap because the neighbor looks half-formed rather than absent. Authentication, if configured, has to agree. Run <code>show ip ospf neighbor<\/code> to see whether an adjacency exists and at what state, then <code>show ip ospf interface<\/code> to compare the area, network type, and timers between the two sides. Nearly every stuck adjacency traces back to one of those, and reading the two outputs side by side is faster than guessing.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Every router running OSPF builds an identical map of the network and then works out its own best paths from that map. That single idea is what separates OSPF from older protocols, and it explains almost everything else: why routers form neighbor relationships, why a broadcast segment elects a designated router, and why the link-state &#8230; <a title=\"OSPF Concepts Explained for CCNA: DR\/BDR and LSDB\" class=\"read-more\" href=\"https:\/\/computingforgeeks.com\/ospf-concepts-explained\/\" aria-label=\"Read more about OSPF Concepts Explained for CCNA: DR\/BDR and LSDB\">Read more<\/a><\/p>\n","protected":false},"author":3,"featured_media":169367,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[299,55],"tags":[524,525],"cfg_series":[39888],"class_list":["post-169368","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to","category-networking","tag-ccna","tag-cisco","cfg_series-ccna-200-301"],"_links":{"self":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/169368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/comments?post=169368"}],"version-history":[{"count":1,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/169368\/revisions"}],"predecessor-version":[{"id":169369,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/169368\/revisions\/169369"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media\/169367"}],"wp:attachment":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media?parent=169368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/categories?post=169368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/tags?post=169368"},{"taxonomy":"cfg_series","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/cfg_series?post=169368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}