Image couldn't load - you don't seem to have IPv6 connectivity

Twitter · Flickr · LinkedIn · publications · @ Ars Technica · BGP (O'Reilly, 2002) · BGPexpert.com · presentations · iljitsch@muada.com

Hi, I'm Iljitsch van Beijnum. I'm a freelance network architect, specializing in internet routing (BGP) and interconnection between networks (peering and more).

On this site I post both work related and somewhat less work related articles, for purely work-related information, see BGPexpert.com. Some of the blog posts here are in Dutch, others are in English.

Europe runs out of IPv4 addresses even further, what now?

Less than three months ago I wrote about how the uptake of the remaining IPv4 addresses at RIPE was accelerating, with the RIPE NCC likely to run out of the addresses set aside in the "last /8" before the end of the year. And so they did, two days ago. So as of this week, it's no longer possible to request address space in the RIPE service region (Europe, former Soviet Union, Middle East) and get them within a somewhat predictable period.

In September, a million IPv4 addresses were given out every six weeks, and that rate seems to have continued. That's about a thousand /22s (blocks of 1024 IPv4 addresses), where each LIR ("RIPE member") can only get one of those. Thus, most of these blocks must have gone to new LIRs, at a rate of nearly a thousand every 30 business days, so the RIPE NCC must have been processing a new LIR, or at least a /22, every 15 minutes or so!

So what if you're in the RIPE region and you need IPv4 addresses in order to talk to the part of the internet that hasn't adopted IPv6 yet?

The RIPE NCC is not completely out of the game, so one option is to go on the waiting list.

LIRs "that have never received an IPv4 allocation from the RIPE NCC can make a request via the waiting list". So: sign up to be an LIR, put in a request, and wait for address space to become available. At that point you'll get a /24. Note that the NCC does in fact get back IPv4 address space at some rate, and there's currently nearly half a million addresses (about 2000 /24s) in quarantine, which lasts for six months if I'm informed correctly. So presumably, on average 75 /24s should become available every week over the next six months.

So it seems the game where a single organization would just sign up multiple RIPE memberships to qualify for a small block of IPv4 space multiple times can continue. However, you'll only get a quarter of the address space and there will be an unpredictable delay. So I'm thinking that the people who wanted to play that game were trying to take advantage of the /22-per-LIR policy and we're going to see less of this.

ARIN (North America) didn't have a final /8 policy, and has had a waiting list in operation for some years now. Currently, there are 160 requests on the list, and the next in line has been waiting for about six months.

The alternative is to buy IPv4 addresses on the open market. The going rate seems to be around $20 per address right now.

All of this puts a lot of pressure on IPv4 addresses for those organizations that weren't around when it was easy to get IPv4. So those organizations need to deploy address sharing techniques such as "carrier grade NAT" (CGN/CGNAT), "large scale NAT" (LSN) or stateful NAT64.

But what about IPv6? IPv6 addresses are for all intents and purposes free. However, you can't use IPv6 to communicate with a system that only has IPv4. But it makes sense to do as much as possible over IPv6 and only use translators to share IPv4 addresses when necessary. This limits the amount of address space required as well as the equipment that has to do all the NATing.

Permalink - posted 2019-11-27

Airpods Pro

It's insane. I already spent nearly 800 euros on bluetooth headphones this year. And then Apple released the Airpods Pro, costing € 279 here in the Netherlands. And I couldn't help myself and bought a pair. So let's see how they compare.

My current bluetooth headphones / earbuds lineup is as follows:

Master & Dynamic MW60. These are big over-ear headphones that are bluetooth and wired.

Plantronics Backbeat Go 410. These are in-ear earbuds that connect to kind of a plastic horse shoe around your neck. This has the advantage that you can take them out and not lose them. (Which I actually had happen with some Jaybirds once.) They can take a wire, but that's pretty messy. And they have noise cancelation.

Jabra Elite 65t. These are "true wireless earbuds": one for each ear. As is usual for this type, they come in a charging case.

Now obviously these three are all very different in obvious ways. But they're also very alike in how the bluetooth works. You can pair them with a bunch of devices, and they'll stay connected to the last two devices. You can then play audio from either of those devices, and you'll hear it. When you stop playback and then start it on the other device, you'll hear audio from the other device. So you don't have to do anything to switch between those devices. However, using them with more than two devices means you have to go into bluetooth settings to reconnect to the headphones/earbuds, which gets old fast. (Although I think on iOS devices you can use a Shortcuts shortcut to make this easier.)

The MW60 has an actual switch to turn them on and off, which is great because it's fast. The others require a long press on one of the buttons. Speaking of buttons, they all have a play/pause/Siri button and volume up/down buttons. You can skip forward and backwards with a long press on the respective volume button.

With the earbuds there can be audio dropouts when I'm using them outside with the iPhone in my pocket, especially if there are no buildings close by.

The Airpods Pro

(Or Airpod Pros or simply APs.) What's really nice about these is that they're easy to put in and take out. You don't have to push them in as much as the other earbuds, I think they get a lot of support from your outer ear. Then again, if you take them out you pretty much have to put them in the charging case, because you can't turn them off. What?? When you do that, they are charged extremely rapidly, which just can't be good for those tiny little batteries.

When you press the button on the back of the charging case you can use the batteries widget in the today view of your iPhone or iPad to see the charge of the APs and the charge case. (When the charge of the left and right Airpods differs by more than 10% they show up separately.) Strangely, the little battery icon next to the headphones icon in the iOS status bar that you get for other bluetooth headphones/earbuds isn't there with the Airpod Pros.

The charge case hooks up to a lightning cable for charging, or you can use a wireless Qi charging pad. Unfortunately, that means you can't press the button to see how far along the charging is, but there's a motion sensor that lights up the LED on the front in you tap the case, which lights up amber when the charge is below 80%, green when above.

Apple has come up with a very nice way of pairing the APs: you simply open the case close to an iPhone (or iPad, I assume) and the iPhone will take it from there. The pairing is then synced to your other devices, including Macs and Apple TVs, using iCloud. Although Apple says you need the latest software to be compatible, all of this worked without trouble on my Macs that still run last year's Mojave. I guess under Catalina you get to turn on/off noise cancelation and transparency mode. You can also pair with non-Apple devices manually. On my iPhone 6 that runs iOS 12, I did that, and interestingly, the iPhone 6 can actually turn on and off noise cancelation through the bluetooth settings. Noise cancelation

I think especially people who are used to Apple's regular or "amateur" Airpods or similar earbuds that don't create a seal will be blown away by the noise cancelation, as they're used to hearing everything around them. Yes, the active noise cancelation is pretty good, but that only works on lower frequencies. For the high frequencies you need passive noise isolation. And that's something that the half a millimeter of silicone that the tips consist of just don't do very well. Same thing with the Plantronics. So basically all cars turn electric: you don't hear the engine anymore, but the road and wind sounds are still very prominent. Maybe that will get better if/when ComplyFoam comes up with foam tips for the APs.

I compared the passive noise cancelation of the Airpod Pros against that of the Jabra Elite 65t using the noise generator on mynoise.net. The Jabras blocked all the high treble and most of the mid and low treble, with the ComplyFoam tips doing slightly better than the included silicone tips. I then put a Jabra in one ear and an Airpod Pro in the other (with noise cancelation and transparency mode turned off). They both reduce the white noise significantly, but when I turn up the mid or high treble, it sounds like it only comes through on the Airpod side. For anything lower, the sound seems a bit off-center towards the Airpod Pro ear, but not by much.

Then I tried the active noise cancelation with an Airpod Pro in each ear. For the treble it actually seems to get a bit louder when you turn ANC on. The mids get reduced with ANC on and the low mids and anything below that are filtered out by the ANC increasingly effectively.

For now, cycling with a good headwind with cars zooming by is far from ideal: a lot of noise gets through. But the noise cancelation works very well when walking or riding public transit. The transparency mode where you hear outside sound through the microphones is very nice. But it's not new: the Jabras have it, too.

How the Airpods Pro are different form other bluetooth earbuds

The big difference with other current bluetooth headphones/earbuds is that the Airpod Pros won't connect to two devices in the same way. When you take them out of the case, they'll reconnect to the last used device. However, the good thing is that if you want to use them with a different (Apple) device, you simply select them as an audio target. The difference is that you don't have to set up a bluetooth connection first, so this is nice and easy. If you only use your headphones or earbuds with two devices, the behavior of the competition is better, because you don't have to do anything. But if you want to use them with three or more devices, the Apple way is better: yes, you need to tell each device to start using the APs, but that's pretty easy on all of Apple's OSes. The new device will break the bluetooth connection with the previous device if needed. (On old bluetooth headphones you actually had to disconnect from the previous device on that device first...)

On the iPhone I set up a shortcut that selects the APs as the audio target and then starts playing back the current episode in my favorite podcast app. That shortcut then goes in the today view, so it's only a few taps to go back to playing a podcast over the APs after using them with another device.

The APs have no volume buttons. Not a big deal, as I can just use the volume buttons on my iPhone. This also means that skipping forward/backward isn't done with a long press, which makes skipping part of a podcast really slow and thus annoying. Instead, this works the same as with wired earbuds: two clicks to skip forward, three to skip back. Where "click" means giving the stem of either Airpod Pro a quick squeeze. A long squeeze changes the noise cancelation / transparency setting and/or triggers Siri.

My verdict

They are expensive. I worry about the batteries. But they sound very good for earbuds and for wireless. They're comfortable to wear, and integrate well with the Apple ecosystem. It's also really nice that you can use either Airpod by itself while charging the other. They automatically go into transparency mode when you take one out, a really nice touch. With the Jabras, you can use the right one by itself, but not the left one.

In my experience, bluetooth headsets and earbuds are basically consumables: they last two, maybe three years. Of course not everyone listens to audio (mostly podcasts) as much as I do. But if you want wireless convenience, true wireless earbuds are really nice. And to me, an open design makes no sense: you'll be playing audio way too loud to get over all the background noise. Apple's Airpods Pro are a good choice, but if you don't want to spend that kind of money, the competition is certainly not half bad, either.

Permalink - posted 2019-11-26

Weblog reorganized

I've reorganized my blog(s) and created subdomains under iljitsch.com for different topics. These are the ones:

blog.iljitsch.com and www.iljitsch.com: all posts
nl.iljitsch.com: all posts in Dutch
en.iljitsch.com: all posts in English
news.iljitsch.com: news and announcements, anything timely
bgp.iljitsch.com: posts about BGP
ipv6.iljitsch.com: posts about IPv6 (or IPv4)
network.iljitsch.com: all posts related to networking, including home networks
home.iljitsch.com: all posts that aren't work-related (but including tech/gadget topics)
photos.iljitsch.com: photos
photography.iljitsch.com: posts about photography
tech.iljitsch.com: posts about tech topics and gadgets
audio.iljitsch.com: posts that relate to audio
ov.iljitsch.com: posts about public transport

Each of these pages has an RSS feed so you can subscribe if you are so inclined.

Posts will go to all the feeds that are relevant, so there will be duplicates if your RSS reader doesn't handle those.

And don't worry, muada.com isn't going anywhere. I just wanted to make a cleaner separation between different areas of interest.

Permalink - posted 2019-11-26 - Nederlandse versie

Weblog gereorganiseerd

Ik heb mijn blog(s) gereorganiseerd, en onder iljitsch.com subdomeinen aangemaakt voor verschillende onderwerpen. Dit zijn ze:

blog.iljitsch.com en www.iljitsch.com: alle posts
nl.iljitsch.com: alle posts in het Nederlands
en.iljitsch.com: alle posts in het Engels
news.iljitsch.com: nieuws en aankondigingen, alles wat tijdgevoelig is
bgp.iljitsch.com: posts over BGP
ipv6.iljitsch.com: posts over IPv6 (of IPv4)
network.iljitsch.com: alle netwerk-gerelateerd posts, inclusief thuisnetwerken
home.iljitsch.com: alle posts that die niet werk-gerelateerd zijn (maar inclusief tech/gadget-onderwerpen)
photos.iljitsch.com: foto's
photography.iljitsch.com: posts over fotografie
tech.iljitsch.com: posts over tech-onderwerpen en gadgets
audio.iljitsch.com: posts gerelateerd aan audio
ov.iljitsch.com: posts over openbaar vervoer

Elk van deze pagina's heeft een RSS-feed zodat je je kan abonneren als je dat zou willen.

Posts gaan naar alle relevante feeds, dus er zullen duplicaten zijn als je RSS-reader die niet uitfiltert.

En maak je geen zorgen, muada.com verdwijnt niet. Ik wilde alleen duidelijker onderscheid maken tussen verschillende interesse-gebieden.

Permalink - posted 2019-11-26 - English version

Storks on lampposts—our city birds here in The Hague

Storks on lampposts—our city birds here in The Hague

Image link - posted 2019-10-29

Routing theory: are link state and distance vector the only games in town?

During his talk about 30 years of BGP, Geoff Huston said something along the lines of "someone should come up with another type of routing protocol besides distance vector and link state". That is of course too delicious a challenge to ignore.

But what would such new routing protocol type look like? It seems really strange that there would be exactly two ways to accomplish this task, and yet, as far as I know, nobody has ever proposed something truly different. And I can't think of anything. My conclusion: distance vector and link state routing protocols, with RIP and OSPF, respectively, as the archetypical examples, are not two completely separate ways to do routing, but rather, variations of basically the same thing.

This is the information that can be relevant for routing decisions that needs to distributed to all routers:

  1. Adjacencies
  2. Policy restrictions
  3. Metrics
  4. Reachability
  5. Unreachability

Link state protocol OSPF doesn't do policies, and it floods updates that convey reachability between two routers (and thus implied adjacency) along with a metric. When the reachability is lost, this information is also flooded. That means that the path the OSPF updates follow can be different from the path towards a destination.

Distance vector protocol RIP doesn't deal with the reachability between pairs of routers, but rather, the reachability towards a destination. So there is no adjacency information, nor any policy information. Rather, if there is policy, it's implemented through a filter that removes reachability information. There's also no explicit unreachability information. Unlike with OSPF, updates aren't flooded throughout the network, but propagated over the links between routers.

Because a link state protocol knows all the adjacencies and reachability of the whole network, it needs to run an algorithm like the shortest path first / Dijkstra algorithm on each router to calculate paths through the network.

A distance vector protocol uses the distributed Bellman-Ford algorithm that propagates only the local notion of the best available path to the next router, so each router only has to choose between paths advertised by its neighbors.

Now let's look at BGP. BGP is definitely in the distance vector camp, but it does add a path for easy loop detection and an explicit unreachability update (withdrawal). Policy in BGP is traditionally applied locally, by simply hiding reachability and thus adjacency information from downstream neighbors.

However, a mechanism such as RPKI can be viewed as a policy distribution system. Here, the policy information isn't distributed by flooding or passing it downstream. Rather, the information is distributed out-of-band from a (more or less) central place. The internet routing registries can be viewed as central sources of adjacency information.

So we have five types of information to distribute, and three ways to distribute it (flooding, downstream, out-of-band) as well as simply not distributing and thus not using that information at all. So that's 5 x 4 = 20 possible way to accomplish routing.

Of course many of these combinations make very little sense. However, there are certainly places where we could change an existing protocol slightly and maybe gain some benefits. For instance, what if we add the idea of flooding unreachability updates to BGP? Currently, if a BGP router loses its BGP session to a neighbor, it executes the Bellman-Ford algorithm by selecting a new path. Of course if the old and the new path have the same now unreachable adjacency in common, that's not very helpful—an update replacing or withdrawing the new path will be on its way shortly. So why not add "X has lost reachability to Y" to an update, so the next router knows to look for a new path that doesn't include the X - Y adjacency?

But I don't think that we'll be able to carve out a workable new type of routing protocol from these 20 options. So link state and distance vector it is.

Permalink - posted 2019-10-15

older posts - newer posts

Search for:
RSS feed (no photos) - RSS feed (photos only)
Archives: 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019