{"id":309,"date":"2015-06-13T00:17:12","date_gmt":"2015-06-13T00:17:12","guid":{"rendered":"http:\/\/www.mtin.net\/blog\/?p=309"},"modified":"2015-06-13T00:17:12","modified_gmt":"2015-06-13T00:17:12","slug":"osfp-and-areas","status":"publish","type":"post","link":"https:\/\/www.mtin.net\/blog\/osfp-and-areas\/","title":{"rendered":"OSFP and areas"},"content":{"rendered":"<p>OSPF areas are one of the more common topics I am asked about as networks grow. \u00a0 Before we dig into this, we need to understand the reasons why OSPF areas were created in the first place. \u00a0Next, we will go into how to apply areas to modern network designs.<\/p>\n<p><strong>Why did areas come into being?<\/strong><br \/>\nLet&#8217;s rewind to a time where RAM in routers was very expensive. \u00a0Processors were expensive. \u00a0One of the biggest reasons OSPF areas came into play was ram limitations. Every route in your routing table takes up ram. \u00a0The more routes you have the more ram that is taken up in each router to hold that table. \u00a0Also, in order to calculate these routes processor power is used up.<\/p>\n<p><strong>So what do areas do for me?<\/strong><br \/>\nOSPF areas have many advantages. \u00a0However, in most WISP and ISP networks they serve two purposes.<\/p>\n<p>The first purpose is they group similar devices into logical groups. \u00a0These groups can have filtering policies applied to them.<\/p>\n<p>The second purpose is more important. \u00a0Implementing areas reduces the size of the routing table. \u00a0By doing this your routers spend less time calculating routes, and less time updating the database during a topology change. By reducing the routing table you also speed up what is called convergence time. \u00a0This is the time the entire network needs to agree on the current routing topology. \u00a0 If a major backbone link is flapping your routers could be spending a fair amount of their resources calculating routing tables.<\/p>\n<p>An important thing to note with implementing areas is you must have a good IP network design. \u00a0 This means your sites\/pops\/towers should have a logical design which allows for easy route summarization and consolidation. \u00a0If you are looking into areas make sure you can summarize your routes in that area easily. \u00a0The following examples illustrate why this is important.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2015\/06\/ospf1.jpg\"><img data-attachment-id=\"310\" data-permalink=\"https:\/\/www.mtin.net\/blog\/osfp-and-areas\/ospf1\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2015\/06\/ospf1.jpg?fit=819%2C447&amp;ssl=1\" data-orig-size=\"819,447\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"ospf1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2015\/06\/ospf1.jpg?fit=300%2C164&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2015\/06\/ospf1.jpg?fit=580%2C317&amp;ssl=1\" decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-310\" src=\"https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2015\/06\/ospf1.jpg?resize=326%2C181\" alt=\"ospf1\" width=\"326\" height=\"181\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>In the above example we have created &#8220;Area1&#8221;. \u00a0Since we have a good IP network design we can summarize our routing table in and out of area1 into a few different ways. \u00a0If we want to reserve the whole 10.5.0.0\/16 for future expansion then we can. \u00a0Or if we want to break this down into 10.5.0.0\/20 or even smaller we can. \u00a0Part of this depends on growth plans. \u00a0With areas you have to keep in mind every area needs to touch the backbone (area 0.0.0.0) directly. \u00a0Now, you can use Virtual Links to have one non-backbone area traverse another non-backbone area. \u00a0However, even though is a standard, is a workaround at best. \u00a0There are many disadvantages to virtual links.<\/p>\n<p>Now, back to our example. \u00a0If we create an area the 10.6.1.0\/24 and 10.6.2.0\/24 routers are the &#8220;in roads&#8221; to Area1. \u00a0These are known as area border routers (ABR).The main function of ABRs is to summarize sub networks found throughout the OSPF<span style=\"color: #0000ff;\">\u00a0network<\/span>. It stores many copies of its link-state database in memory when one of the stored copies shows an area where the actual router is connected. The ABR holds a minimum of two copies of the routing tables. \u00a0One from the backbone area, and one from each area it is connected to.<\/p>\n<p>But, I thought areas were supposed to cut down on ram and CPU usage? Well, everything has a tradeoff. \u00a0This is where the philosophy side of things come into play, and probably the reason you have read this far.<\/p>\n<p><strong>When, how, and should I implement areas?<\/strong><br \/>\nIn today&#8217;s modern world with fast ram, fast links, and fast processors OSPF areas are needed less and less. \u00a0Routers today have more ram than even 5 years ago. \u00a0This means they can hold larger routing tables and do more calculations.<\/p>\n<p>If you are thinking about implementing areas the first thing to look at is your IP design. \u00a0In order to take the best advantage of areas you should have a logical, and congruent design. \u00a0What I mean by this is your towers should be able to summarized as much as possible. \u00a0If you can fit 20 towers into a single route statement that is one good place an area would make sense. \u00a0If those 20 towers are not able to be summarized then adding an area is not going to be much of a benefit to you.<\/p>\n<p>Network size does not necessarily dictate the need for OSPF areas. \u00a0If you have a neatly summarized IP network the need for areas is lessened.<\/p>\n<p><strong>What about if you are trying to join two different networks?<\/strong><br \/>\nSay you purchased a neighboring ISP and want to join the new network with your own. \u00a0 If you have overlapping IP space then things might not mesh together well, even with areas. \u00a0 Most times you are better off running BGP with the two separate networks. \u00a0This allows each network to have it&#8217;s own space, own routing policies, but still be able to share bandwidth and other resources. \u00a0You simply don&#8217;t announce any overlapping space to each network until things are re-numbered.<\/p>\n<p>One question I get in this scenario is my router can&#8217;t handle BGP. \u00a0BGP is a fairly lightweight protocol. \u00a0The issues arise when you start pulling in full or partial internet routing tables. \u00a0This is the same concept as mentioned above with the OSPF routes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OSPF areas are one of the more common topics I am asked about as networks grow. \u00a0 Before we dig into this, we need to understand the reasons why OSPF areas were created in the first place. \u00a0Next, we will go into how to apply areas to modern network designs. Why did areas come into [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1],"tags":[179,13,178,15],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6VLMf-4Z","jetpack-related-posts":[{"id":2267,"url":"https:\/\/www.mtin.net\/blog\/what-is-a-bgp-confederation\/","url_meta":{"origin":309,"position":0},"title":"What is a BGP Confederation?","author":"j2sw","date":"May 15, 2018","format":false,"excerpt":"In\u00a0network routing,\u00a0BGP confederation\u00a0is a method to use\u00a0Border Gateway Protocol\u00a0(BGP) to subdivide a single\u00a0autonomous system\u00a0(AS) into multiple internal sub-AS's, yet still advertise as a single AS to\u00a0external peers. This is done to reduce the number of entries in the iBGP routing table.\u00a0 If you are familiar with breaking OSPF domains up\u2026","rel":"","context":"In \"BGP\"","block_context":{"text":"BGP","link":"https:\/\/www.mtin.net\/blog\/tag\/bgp\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2018\/05\/atasco.jpg?fit=1122%2C711&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2018\/05\/atasco.jpg?fit=1122%2C711&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2018\/05\/atasco.jpg?fit=1122%2C711&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2018\/05\/atasco.jpg?fit=1122%2C711&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1626,"url":"https:\/\/www.mtin.net\/blog\/quick-reference-ospf-network-types\/","url_meta":{"origin":309,"position":1},"title":"Quick Reference: OSPF Network Types","author":"j2sw","date":"July 6, 2017","format":false,"excerpt":"Point-to-multipoint is treated as a collection of point-to-point links and thus no DR\/BDR is required. Point-to-Point is a single link and no election is needed. Broadcast: OSPF routers on broadcast networks will elect a DR and a BDR (since it is multiaccess) - OSPF packets are multicast. NBMA: Routers will\u2026","rel":"","context":"In \"ospf\"","block_context":{"text":"ospf","link":"https:\/\/www.mtin.net\/blog\/tag\/ospf\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1493,"url":"https:\/\/www.mtin.net\/blog\/12-days-of-netmas\/","url_meta":{"origin":309,"position":2},"title":"12 days of netmas","author":"j2sw","date":"December 20, 2016","format":false,"excerpt":"On the first day of netmas my true love sent to me: A spanning tree instance On the second day of netmas my true love sent to me: 2 ethernet ends and a spanning tree instance On the third day of netmas my true love sent to me: 3 sfps\u2026","rel":"","context":"In \"christmas\"","block_context":{"text":"christmas","link":"https:\/\/www.mtin.net\/blog\/tag\/christmas\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":322,"url":"https:\/\/www.mtin.net\/blog\/helpful-ospf-times\/","url_meta":{"origin":309,"position":3},"title":"Helpful OSPF times","author":"j2sw","date":"August 25, 2015","format":false,"excerpt":"OSPF can be a mystery to some. \u00a0Understanding the default timeouts can be helpful in troubleshooting. \u00a0Some vendors change these times so it is very important to realize this stuff if you start mixing vendors in your OSPF domains. 10 Seconds Default OSPF hello timer on broadcast and point-to-point links\u2026","rel":"","context":"In \"ospf\"","block_context":{"text":"ospf","link":"https:\/\/www.mtin.net\/blog\/tag\/ospf\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2143,"url":"https:\/\/www.mtin.net\/blog\/lab-network\/","url_meta":{"origin":309,"position":4},"title":"Lab Network","author":"j2sw","date":"March 11, 2018","format":false,"excerpt":"I am starting an ongoing series involving a semi-static set of devices.\u00a0 These will involve different tutorials on things such as OSPF, cambium configuration, vlans, and other topics.\u00a0 Below is the general topology I will use for this lab network.\u00a0 As things progress I will be able to swap different\u00a0manufacturers\u2026","rel":"","context":"In &quot;BGP&quot;","block_context":{"text":"BGP","link":"https:\/\/www.mtin.net\/blog\/category\/networking\/bgp\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2018\/03\/lab-network.jpg?fit=842%2C683&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2018\/03\/lab-network.jpg?fit=842%2C683&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2018\/03\/lab-network.jpg?fit=842%2C683&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":2264,"url":"https:\/\/www.mtin.net\/blog\/ubnt-edgemax-1-10-3-update-route-flushing\/","url_meta":{"origin":309,"position":5},"title":"UBNT EDGEMAX 1.10.3 update route flushing","author":"j2sw","date":"May 10, 2018","format":false,"excerpt":"From UBNT: New features: Offloading\u00a0- Add\u00a0CLI\u00a0commands to\u00a0disable flow-table flushing in offloading engine when routing table changes:\u00a0 set system offload ipv4 disable-flow-flushing-upon-fib-changes set system offload ipv6 disable-flow-flushing-upon-fib-changes Discussed\u00a0here Prior to\u00a01.10.3\u00a0firmware flow-table in offloading engine was always flushed when route was\u00a0updated\u00a0in\u00a0linux\u00a0routing table. Flow flushing ensured that offloading\u00a0engine\u00a0got routing updates instantly but it\u2026","rel":"","context":"In &quot;UBNT&quot;","block_context":{"text":"UBNT","link":"https:\/\/www.mtin.net\/blog\/category\/ubnt\/"},"img":{"alt_text":"EdgeSwitch 16XG SFP","src":"https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2016\/08\/IMG_3920.jpg?fit=1200%2C900&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2016\/08\/IMG_3920.jpg?fit=1200%2C900&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2016\/08\/IMG_3920.jpg?fit=1200%2C900&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.mtin.net\/blog\/wp-content\/uploads\/2016\/08\/IMG_3920.jpg?fit=1200%2C900&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.mtin.net\/blog\/wp-json\/wp\/v2\/posts\/309"}],"collection":[{"href":"https:\/\/www.mtin.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mtin.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mtin.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mtin.net\/blog\/wp-json\/wp\/v2\/comments?post=309"}],"version-history":[{"count":4,"href":"https:\/\/www.mtin.net\/blog\/wp-json\/wp\/v2\/posts\/309\/revisions"}],"predecessor-version":[{"id":314,"href":"https:\/\/www.mtin.net\/blog\/wp-json\/wp\/v2\/posts\/309\/revisions\/314"}],"wp:attachment":[{"href":"https:\/\/www.mtin.net\/blog\/wp-json\/wp\/v2\/media?parent=309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mtin.net\/blog\/wp-json\/wp\/v2\/categories?post=309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mtin.net\/blog\/wp-json\/wp\/v2\/tags?post=309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}