<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>iljitsch.com - ipv6 (en)</title>
<link>http://ipv6.iljitsch.com/en/</link>
<language>en</language>
<description>Iljitsch van Beijnum's ipv6 posts (en)</description>

<item>
  <title>Can't ping your Mac? Make this change</title>
  <description>Having trouble pinging or tracerouting your Mac?
&lt;p&gt;

That&apos;s because Apple&apos;s default is now to have the firewall &quot;stealth mode&quot; activated. That means your Mac doesn&apos;t respond to stuff like pings. If that&apos;s not what you want, simply uncheck that box in the firewall pane of the System Settings:
&lt;/div&gt;
&lt;div class=fulldiv&gt;
&lt;img class=fullimg src=&quot;https://www.iljitsch.com/2022/macos-ping.png&quot; width=780 height=685&gt;
&lt;/div&gt;
&lt;div&gt;
Letting your Mac respond to pings and traceroutes &lt;em&gt;should not&lt;/em&gt; cause any trouble. But if in doubt, just keep the box checked.</description>
  <link>http://www.iljitsch.com/2022/12-27-cant-ping-your-mac-make-this-change.html</link>
  <guid isPermaLink="true">http://www.iljitsch.com/2022/12-27-cant-ping-your-mac-make-this-change.html</guid>
  <pubDate>Tue, 27 Dec 2022 16:06:39 GMT</pubDate>
</item>

<item>
  <title>Free Range Routing vs Quagga/Cisco</title>
  <description>Back in the 1990s, I used Cisco routers. Mostly rather underpowered ones such as the Cisco 2500 series. I later started using the &lt;a href=&quot;https://web.archive.org/web/20031229123815/http://www.zebra.org/&quot;&gt;Zebra&lt;/a&gt; and then &lt;a href=&quot;https://en.wikipedia.org/wiki/Quagga_(software)&quot;&gt;Quagga&lt;/a&gt; routing software for the lab part of my training courses.
&lt;p&gt;

However, like Zebra before it, Quagga also ran out of steam but was &lt;a href=&quot;https://en.wikipedia.org/wiki/Fork_(software_development)&quot;&gt;forked&lt;/a&gt; by people (and companies) who saw value in the software. The Quagga fork is &lt;a href=&quot;https://frrouting.org/&quot;&gt;Free Range Routing&lt;/a&gt; a.k.a. FRRouting a.k.a. FRR.
&lt;p&gt;

As I was writing my &lt;a href=&quot;//www.inet6consult.com/bgpbook/&quot;&gt;new BGP book&lt;/a&gt;, I made configuration examples using Quagga. But about two thirds in, I decided to switch to FRRouting. This had the huge advantage that I could include RPKI examples. But on the other hand, I now had to revisit all my earlier configuration examples to see if they still worked under FRR. And too often, the answer was &quot;no&quot;.
&lt;p&gt;

So let me list some differences between Quagga or even old school Cisco routers and FRRouting.
&lt;p&gt;

A really annoying change is that in FRR, it&apos;s no longer &quot;ip as-path ...&quot; but &quot;&lt;b&gt;bgp&lt;/b&gt; as-path ...&quot; to define AS path access lists. Yes, it makes more sense. But this change immediately makes it impossible to have a configuration file that works on both Cisco/Quagga and FRR. Same thing for &quot;ip community ...&quot; vs &quot;&lt;b&gt;bgp&lt;/b&gt; community ...&quot;.
&lt;p&gt;

I think the solution here would have been to accept the &quot;ip ...&quot; syntax and translate that into &quot;bgp ...&quot; syntax. That way, an FRR BGP daemon could still read Quagga BGP daemon configurations and work as expected.
&lt;p&gt;

Another change is that with FRR, there&apos;s no way to get around &quot;address-family ipv4&quot;.
&lt;p&gt;

Way, way, way back in the day, we didn&apos;t have IPv6. Actually, it took quite a while for 1990s routers like the 2500 series to gain IPv6 capability. So there was no reason to differentiate between BGP configuration commands that both apply to IPv4 and IPv6 and configuration commands that only apply to either IPv4 or IPv6.
&lt;p&gt;

With Cisco routers, you could always just pretend like IPv6 didn&apos;t exist and enter configurations like:
&lt;p&gt;

&lt;pre&gt;
!
router bgp 65086
 no synchronization
 network 10.86.0.0 mask 255.255.0.0
 neighbor 203.0.113.83 remote-as 65083
 no auto-summary
!
&lt;/pre&gt;
&lt;p&gt;

On FRR, you can still paste that configuration snippet. But if you then issue &quot;show running-config&quot;, this is what you get back:
&lt;p&gt;

&lt;pre&gt;
!
router bgp 65086
 neighbor 203.0.113.83 remote-as 65083
 !
 address-family ipv4 unicast
  network 10.86.0.0/16
 exit-address-family
exit
!
&lt;/pre&gt;
&lt;p&gt;

Yes, it boils down to the same thing, but it looks rather different. Especially as the configuration gets longer and the non address family part and the IPv4 address family part don&apos;t fit on the screen at the same time.
&lt;p&gt;

Bottom line: FRR is moving away from the traditional Cisco configuration language relatively quickly, white Quagga, for BGP at least, stayed pretty close to that. So moving from Quagga to FRR is a bigger step than you might think.
&lt;p&gt;

Also, as much as we may be unhappy with Cisco for some of their high profile software bugs, more minor software bugs happen much more frequently in these software implementations such as Quagga and FRR. For instance, I find myself not being able to use ^(64496_)+$ to match one or more instances of AS 64496 in an AS path but nothing else. However, ^(_64496)+$ does work as expected.</description>
  <link>http://www.iljitsch.com/2022/11-02-free-range-routing-vs-quaggacisco.html</link>
  <guid isPermaLink="true">http://www.iljitsch.com/2022/11-02-free-range-routing-vs-quaggacisco.html</guid>
  <pubDate>Wed, 02 Nov 2022 17:56:41 GMT</pubDate>
</item>

<item>
  <title>Will the IPv6 BGP table overtake the IPv4 table before the decade is out?</title>
  <description>For my training courses, I always check the current size of the IPv4 and IPv6 BGP tables over at the &lt;a href=&quot;https://www.cidr-report.org/as2.0/&quot;&gt;CIDR Report&lt;/a&gt; so I can tell the participants what table size capacity to look for when shopping for routers.
&lt;p&gt;

Currently, the IPv4 table is at 925k, readying itself for scaling the 1M summit late next year. The IPv6 table is 160k prefixes.
&lt;p&gt;

The IPv4 table grew at about 10% per year in the 2010s and 6% last year. At this rate, it&apos;ll be at 1.43 million at the beginning of 2030.
&lt;p&gt;

The IPv6 table, on the other hand, had been growing at some 31% per year between 2015 and 2020, but last year it grew 37%. At that rate, the IPv6 table will reach 1.7 million prefixes by 2030! Even at a somewhat slower growth rate of 34% the IPv6 table will overtake the IPv4 table before the decade is out.
&lt;p&gt;

Of course it&apos;s hard to predict 7.5 years into the future, but stranger things have happened.
&lt;p&gt;

Also, at this rate, you&apos;ll need a router that can handle more than 2 million prefixes five years from now. Which pretty much means that if you are buying a router &lt;em&gt;today&lt;/em&gt; that has to be able to hold the full global IPv4 and IPv6 tables, it should already be able to handle more than 2M prefixes in order to have a five year economic lifespan.</description>
  <link>http://www.iljitsch.com/article.php?article=1016</link>
  <guid isPermaLink="false">1016</guid>
  <pubDate>Thu, 30 Jun 2022 12:34:51 GMT</pubDate>
</item>

<item>
  <title>6-6-2012: World IPv6 Launch — the future is forever</title>
  <description>Ten years ago, on 6 June 2012, the Internet Society organized World IPv6 Launch. A year earlier, we&apos;d had World IPv6 Day, where many (large) organizations added IPv6 addresses for their websites to the DNS for 24 hours, in order to see if that would create problems. That &lt;a href=&quot;https://arstechnica.com/web/news/2011/06/world-ipv6-day-went-mostly-smoothly-with-a-few-surprises.ars&quot;&gt;went mostly smoothly, with a few surprises&lt;/a&gt;, so a year later it was time to turn on IPv6 for real. Time for a blog post looking back on &lt;a href=&quot;https://www.worldipv6launch.org/up-and-to-the-right-2/&quot;&gt;worldipv6launch.org&lt;/a&gt;.
&lt;p&gt;

&lt;center&gt;&lt;img src=&quot;https://www.iljitsch.com/2022/World_IPv6_launch_badge_bg_512.png&quot; width=256 height=256&gt;&lt;/center&gt;
&lt;p&gt;

I thought this would be a good excuse to do what I&apos;ve done with some regularity over the years: see how well things work when I turn off IPv4 on my home network.
&lt;p&gt;

The IETF tried this at is meeting in March of 2008 for an hour on its meeting network, &lt;a href=&quot;https://arstechnica.com/features/2008/03/ietf-ipv6-switchoff/&quot;&gt;with interesting results&lt;/a&gt;. Back then, Windows XP was still the most widely used operating system, and although Windows XP does support IPv6, it &lt;em&gt;doesn&apos;t&lt;/em&gt; support DNS lookups over IPv6. So the Windows XP users were left out in the cold or had to apply complex workarounds.
&lt;p&gt;

By the early 2010s, all operating systems had mature IPv6 implementations, but very few websites and other online services were IPv6-enabled. So with IPv4 turned off, you couldn&apos;t do much. Since then, that&apos;s gotten a lot better. And it took a while, but many (most?) ISPs now routinely provide IPv6 connectivity along with IPv4.
&lt;p&gt;

I initially tried to turn off IPv4 on my home router, but no dice: you can turn off IPv6, but not IPv4. So I replaced the home router that came with my FTTH service with a Mikrotik, which has no such limitations.
&lt;p&gt;

The good news is that my main networked devices all had no issue using IPv6: my Macs, iPhone, iPad, AppleTV 4K and LG TV. Not sure about my Onkyo receiver, but I never use any networked services on that anyway. My Sony UHD blu-ray player wouldn&apos;t run its Netflix app or software update check over IPv6, but the IPv6 version of the built-in network connectivity checker was happy with the connectivity. In the settings it said IPv4 had priority over IPv6, but no way to change that. Strange.
&lt;p&gt;

On the LG TV and the AppleTV most of the video streaming apps work fine over IPv6. Not Amazon Prime or the Dutch public broadcasting apps, though. Podcasts are pretty bad. I found four IPv6-related podcasts, and only two of them would load over IPv6. And of all the others I tried, just one.
&lt;p&gt;

Websites are hit and miss. It seems especially the big ones served up by content delivery networks work over IPv6, while web based applications often don&apos;t work over IPv6. Annoying examples are Twitter and Fastmail. Third party iPhone and iPad apps are also somewhat underperforming. Podcast player Pocket Casts will sync over IPv6, but as noted, most podcasts won&apos;t load over IPv6. Overcast doesn&apos;t sync over IPv6. Dutch public transport planning apps also didn&apos;t work.
&lt;p&gt;

Although most of Apple&apos;s stuff has supported IPv6 for years, controlling smart home devices through Homekit remotely (over the internet) doesn&apos;t work with just IPv6. And Siri doesn&apos;t work over IPv6.
&lt;p&gt;

Right now, if you&apos;re an IPv4-only user (or content provider) that doesn&apos;t cause any problems. It&apos;s up to the IPv6-only users to figure out a way to reach the IPv4 world. It will be interesting to see how long it takes before we reach the tipping point where this flips and important services are only available over IPv6, so IPv4 users have to find a way to talk to the IPv6 world. I&apos;m guessing not very soon.
&lt;p&gt;

Ok, time to turn IPv4 back on so I can listen to some podcasts.</description>
  <link>http://www.iljitsch.com/2022/06-06-2012-world-ipv6-launch-the-future-is-forever.html</link>
  <guid isPermaLink="true">http://www.iljitsch.com/2022/06-06-2012-world-ipv6-launch-the-future-is-forever.html</guid>
  <pubDate>Tue, 07 Jun 2022 16:58:09 GMT</pubDate>
</item>

<item>
  <title>OSPF: time to get rid of the totally not so stubby legacy</title>
  <description>Recently, I was looking through some networking certification material. A very large part of it was about OSPF. That&apos;s fair, OSPF is probably the most widely used routing protocol in IP networks. But the poor students were submitted to a relentless sequence of increasingly baroquely named features: &lt;em&gt;stub areas&lt;/em&gt;, &lt;em&gt;not-so-stubby-areas&lt;/em&gt;, &lt;em&gt;totally stubby areas&lt;/em&gt;, culminating in &lt;em&gt;totally not-so-stubby areas&lt;/em&gt;.
&lt;p&gt;

Can we please get rid of some of that legacy? And if not from the standard documents or the router implementations, then at least from the certification requirements and training materials?
&lt;p&gt;

&lt;h2&gt;Shortest path first, but not so fast&lt;/h2&gt;
&lt;p&gt;

The Open Shortest Path First routing protocol (OSPF, &lt;a href=&quot;https://www.rfc-editor.org/standards&quot;&gt;Internet Standard&lt;/a&gt; 54) was first defined in &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc1131&quot;&gt;RFC 1131&lt;/a&gt; in 1989. So in internet time, OSPF is truly ancient. The base OSPFv2 specification is over 200 pages, with additional extensions in separate documents spanning the early 1990s to the late 2010s.
&lt;p&gt;

OSPF is powered by Edsgar Dijkstra&apos;s &lt;a href=&quot;https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm&quot;&gt;shortest path first&lt;/a&gt; algorithm. SPF is a relatively efficient algorithm for finding the shortest path between two places, in the real world or in a network. Still, in a large network there&apos;s a lot of paths to check until you can be sure you&apos;ve found the shortest one. The problem here is that for a network that&apos;s 10 times larger, SPF needs 60 times as long to run. So if a router in a network with, say, 100 routers, needs a second to do its SPF calculations after an update, in a network with 1000 routers that takes a minute, and in a network with 10,000 routers an hour.
&lt;p&gt;

So in order to make OSPF useful in large networks, you can split your network into different &lt;em&gt;areas&lt;/em&gt;. The SPF calculations are then contained to the routers within each area. So rather than calculate SPF over a 10,000-router network, you could have 100 areas with 100 routers each. Then routers that connect two areas would have to calculate SPF over 100 routers for two areas, so 2 seconds rather than an hour worth of SPF calculations.
&lt;p&gt;

But if each of those 10,000 routers still injects two, three or four address blocks into OSPF, that means the OSPF database will have something like 30,000 entries. So now updating and remembering all those address blocks becomes a bottleneck. Solution: &lt;em&gt;summarize&lt;/em&gt; link advertisements. So if routers in area 35 advertise address blocks 10.35.1.x, 10.35.2.x, … 10.35.95.x, rather than push out all that information to all 10,000 routers throughout the network, the &lt;em&gt;area border routers&lt;/em&gt; for area 35 simply say “10.35.x.x” to the rest of the network.
&lt;p&gt;

Even better: if an area only connects to the “backbone” area (area 0) and doesn&apos;t learn any routing information from other areas or from outside OSPF, it&apos;s a &lt;em&gt;stub area&lt;/em&gt; that really doesn&apos;t even need to know anything that&apos;s happening in the rest of the network, so let&apos;s give it a &lt;em&gt;default route&lt;/em&gt; to reach the rest of the world.
&lt;p&gt;

&lt;h2&gt;Variations on a stubby theme&lt;/h2&gt;
&lt;p&gt;

Stub areas still have &lt;em&gt;some&lt;/em&gt; OSPF routing information from other areas. We can get rid of that too, and then we have a &lt;em&gt;totally stubby&lt;/em&gt; area.
&lt;p&gt;

On the other hand, maybe we want to import external routing information into OSPF even in our stub area, and then propagate that external information to other areas. This makes for a &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc1587&quot;&gt;not-so-stubby&lt;/a&gt; area.
&lt;p&gt;

And who said you can&apos;t have your cake and eat it: let&apos;s make our totally stubby area not-so-stubby, and we&apos;ll have a &lt;em&gt;totally not-so-stubby&lt;/em&gt; area, guaranteeing certification income for years to come. (See Wikipedia&apos;s &lt;a href=&quot;https://en.wikipedia.org/wiki/Open_Shortest_Path_First#Totally_stubby_area&quot;&gt;page on OSPF&lt;/a&gt; for more details.)
&lt;p&gt;

&lt;h2&gt;Spring cleaning&lt;/h2&gt;
&lt;p&gt;

As protocol designers, we&apos;re really good at adding more capabilities, more options. As network architects and engineers, we&apos;re really good at adding complexity to make our networks do something they won&apos;t do out of the box. But we can&apos;t just keep adding options and complexity without ever taking any of it away. At least not if we want to have a fighting chance at teaching our craft to the next generation so we can retire at some point.
&lt;p&gt;

Our routers/computers are now 1000 times as fast and have 1000 times the memory as the &lt;a  href=&quot;http://www.iljitsch.com/2020/11-22-the-one-perfect-sorting-algorithm.html&quot;&gt;68030-based routers/computers&lt;/a&gt; back in 1990. OSPF implementations support &lt;a href=&quot;https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_ospf/configuration/15-sy/iro-15-sy-book/iro-incre-spf.pdf&quot;&gt;incremental SPF&lt;/a&gt;.
&lt;p&gt;

10,000 routers in one area will melt the network operations center long before the SPF calculations melt the router CPUs. I&apos;ve personally worked on a network with 600 routers in area 0 &lt;em&gt;back in 1999&lt;/em&gt;. SPF performance was the least of our concerns.
&lt;p&gt;

So I&apos;m calling it: OSPF areas and summarization are now legacy. New and current OSPF networks should just use a flat area 0 rather than try to micromanage the information flow between areas. Students should no longer have to learn how areas work, and only be informed about the various flavors of stubbiness as an example of humorous naming that doesn&apos;t age well.
</description>
  <link>http://www.iljitsch.com/2022/05-12-ospf-time-to-get-rid-of-the-totally-not-so-stubby-legacy.html</link>
  <guid isPermaLink="true">http://www.iljitsch.com/2022/05-12-ospf-time-to-get-rid-of-the-totally-not-so-stubby-legacy.html</guid>
  <pubDate>Thu, 12 May 2022 10:50:45 GMT</pubDate>
</item>

</channel>
</rss>
