Passengers have “priority lanes”. Packets do not. Got it?

The inappropriate use of carriage metaphors for packet networks has led us to a place of regulatory insanity. We must return to reality, and quickly.

What intrigues me about “net neutrality” is how people who are otherwise intelligent and educated repeatedly fail to understand the basics of packet networking and distributed computing. My hypothesis is that for people who are not computer scientists, they only have one reasoning tool, which is through metaphor.

The (often unconscious) use of metaphor forces its users to draw upon terms and concepts that are taken from the world of physical objects. After all, we are all embodied creatures (well, I think I am, or maybe I feel I am). These mortal metaphors are woefully inadequate for the fast-moving virtual and invisible computing world.

When compared to mathematics, metaphors can turn out to be exceedingly unhelpful. This is especially true when they are anchored to our everyday personal experiences. The more we depend on our innate sensory intuition, the bigger the trouble we can get into in the “game world” of statistical multiplexing.

One such metaphor is the idea of “priority lanes” for packets. The word “priority” is used as if it is “obvious” it has meaning. I am here to inform you, as someone who has been around the network performance block a few times, it definitely does not.

Here is why.

People wrongly imagine packets being “carried”

The mainstream conceptual model is that packets are seen as being like little packages being shipped, and indeed are involved in an act of “carriage”. Now, as it happens, I am typing this on BA285 from London to San Francisco. Staring out of the window from my cheapskate economy nanoseat, I am pretty darn convinced that I am being “carried” over the Atlantic.

Window seat

I sense that there is a strong similarity between some of the events on my journey today, and the ways people use metaphor to (wrongly) reason about packet data and “neutrality”. For instance, packets don’t experience “carriage”, as they don’t ever move, but are repeatedly duplicated at a distance.

Whilst I quite fancy a Californian doppelgänger to save me the journey, it’s still a science fiction fantasy. There’s no passenger or parcel duplicator. Many similar transport allusions result in confused networking nonsense.

Let’s explore some of the silliness.

Leave any time you like, but you can never check-in

I wrote a few months back about “Brand suicide case study: British Airways”. It got a lot of attention by my standards, with over 80,000 views on LinkedIn before I shuttered my LinkedIn account. Now, I am fairly adept at extracting the theoretical maximum value out of airlines for the legal minimum money. So today is an Avios reward flight to visit family and friends, before seeing a client.

As a BA Gold customer, I haughtily sauntered up to the First Class check-in. Oddly, the biggest line in Terminal 5 today was for First Class; a “quality inversion”. This is because they have an “admission control” process not present for other classes, so that putrid plebs are kept well away from the lavish luxury of The First Lounge and its rather ordinary food fare.

First lounge

The arrival rate of impatient passengers considerably exceeded the instantaneous processing capacity for admission control. This was my same “quality inversion” experience I had earlier in the year with “fast track” security being way slower than regular security. Maybe someone at BA’s operations department needs to change roles from slotting planes to scheduling people?

In telecoms, we have re-used the same concept of “admission control” in (some) networks. It’s a normal way of ensuring that, say, a telephone system doesn’t take on more load than it can actually carry. A “busy” tone beeps that a technical limit on the demand load has been broken. It’s ordinary, and isn’t a fault; it’s supposed to do that.

A ticket not to ride

In the human world, being “refused admission” comes with possible social connotations. Is someone drunk and disorderly? Being illegally discriminated against? Too careless to buy the right ticket and come to the right terminal? These all add emotional and ethical dimensions to the experience. Something is always wrong, since an expectation and outcome are misaligned.

Indeed, right in front of me was an exasperated well-dressed gentleman of self-evident sub-Saharan ancestry and likely residence. He was fearlessly grappling with an overbearing BA customer disservice lady. She was insistently attempting to misdirect him away from the First Class area to Terminal 3 via the Heathrow Express. After all, no intercontinental expedition is complete without a misbegotten detour around LHR due to admission malcontrol.

When we draw upon a humanised metaphor like “admission”, it comes with oversized baggage (pun intended). Whether these semantic stowaways are helpful or harmful very much depends on the context. The job of the technophilosopher (like myself) is to detect when “reasoning through metaphor” is being used, and evaluate its appropriateness. In the case of packet network performance, it generally is a sign of sloppy logic.

Let’s do one more example, before getting to the meat of the matter.

Little airline, little airline, let me check in!

There’s a very old (and not very funny) joke about the Royal Mail in the UK. It says that it doesn’t really cost 25 pence for a first class stamp. It’s only 5p for delivery, the rest is for storage. This hints to the potential for extended delivery times, whereby the mailman sits on your precious letter to let it reach full maturity. I guess former nationalised industries are easy targets for bitter customer comedy.

The next step in my sweet and sour BA customer journey today involved some similar unwanted and unvalued buffering. Right after “admission control” was another line, building up the anticipation of giving BA my well-stuffed suitcase. It’s a bit like the emotional design of the wait at Disneyland or Alton Towers. You just know that the end release of pent-up expectation is going to be worth it.

Queue for first lounge

Wait a minute! (That can’t be right?)

In networks, we typically use the word “queue” to describe the act of buffering packets. This conjures up images of tedious waiting, with more holding time being more badness. But the whole point of statistical multiplexing is to introduce delay and loss in order to increase resource sharing.

In the human world, “cutting in line” is by default unfair, as all passengers are equal. Italian-style queues, with a mad free-for-all, are amusing but unacceptable unless on Ryanair. Meeting the Russian junior Olympic queue-jumping team is a hazard to be avoided outside of Moscow; when at home, they get easily outcompeted by old ladies trained in Soviet line-leaping techniques.

Of course, none of these things apply to packets. They don’t get personally upset when the people with hard cash First Class tickets get sent ahead of their soft Avios Gold counterparts. They aren’t like cars on highways, or passengers going to planes. They simply aren’t “equal” in any technically legitimate sense.

Computer programs “manufacture” packets with no raw materials needed. They can create unbounded numbers of copies of each one at effectively zero cost. Applications and operating systems use duelling protocols to attempt to get their information through ahead of everyone else. Nobody is doing this in Heathrow Terminal 5, even if it might feel like it getting through immigration at the lunchtime jumbo rush.

Networks also erase packets as a normal part of operation. Erasing passengers means you’re flying Murderous Mobster Airways. (I think they’ve got a codeshare agreement with United.)

Packets are not passengers, be they priority or otherwise

We’ve done with “carriage”, “admission” and “queue” as metaphors for packet networks. Now let’s get on with “priority”.

Here’s the “traffic management” rules at gate B39 at Heathrow Terminal 5.


Let’s pull this apart a bit, using some computer science terminology (as metaphors lead to madness):

  • The intentional semantics for the airline is to maximise revenue by providing differential service to customers based on their willingness to pay and lifetime value, whilst not offending basic social values or safety requirements that would drive people away.
  • The denotational semantics is a list of classes of service with a clear order of “priority”. This is your local “traffic management” policy, written in blue and white.
  • The operational semantics is that the list is not adhered to, as described below.

Passengers with infirmities or small children go first. Then there’s a bunch of pushy or perplexed passengers who try to get through, and get sent back by the frustrated agent. The all of us First Class, Club World, and Gold/Emerald passengers pile on at once.

Meanwhile various inferior people of impaired social status or wealth, holding lesser tickets with no airline status, mill about anxiously. They just get in the way of their elite travel superiors. Apparently, they are also permitted aboard eventually, so I am reliably informed.

Then the airline staff standby passengers are smuggled aboard via a small hatch in the tail, along a secret crawl passage through the roof space, and down a hidden staircase near the rear toilets. Honest!

Dirty stairs

The fabulous fantasy of net neutrality

Finally, just before the aircraft departs, the lucky “Captain’s Cat” is lobbed through the open cockpit window, as BA285 is notorious for having mice aboard.

Now, it’s OK for me to just make stuff up for amusement of readers. (The mice bit is true.) But fantastical imaginary stories are not so great as a basis for regulation of an industry supplying critical infrastructure.

In the many minds, full of muddled metaphors, there is a fictional world of “neutral” networks. In this world, all you have to do is to look at these easy-to-read local “traffic management” policies. You can right way tell if everyone is being treated “fairly” or not.

The further delusion is that you just gather what is happening at each step of the “packet journey”: the “network” check-in, security, the lounge entrance, the transit train, the gate, remote pier bus, the stairs, the aircraft door, and down the aisle in the cabin. From this, you can determine whether the cumulativeresult meets your expected “application travel” treatment, or is a packetised passenger network “neutrality violation”.

I guess someone has to break it to the world. This is bullshit and bollocks [ref #4]. It’s not how packet networks work. That’s a statement of testable fact, not debate.

Priority boarding

For emergent performance, “priority” is meaningless

With humans, you can look at that “priority boarding” list, and tell who is getting “better” treatment. With packet networks, there’s no boarding priority “list”, and even if there was, you can’t tell which is “better”. Furthermore, you can’t figure out from the local policies what the global policy is!

There is no “list”, because scheduling algorithms are computational mini-universes. They have state machines that control buffer entry and exit. The rules of these universes may or may not have intentional semantics. Typically, they do not. Does this sound like the boarding system at an airline gate? Thought not.

Those algorithms are also getting more complex. For example, the folk at the IETF have cooked up, for better or worse, Active Queue Management. As Turing et al showed, you can’t just inspect a computer program and know if it will stop. The idea you can know how an AQM algorithm is supposed to perform just by looking at the code and configuration parameters is ludicrous.

Even if there was a “priority list”, it tells you nothing about the intent. One way to bork an application is to overdrive its protocols or resources. I might “ultra-prioritise” it… in order to break it. Performance depends on the arrival patterns of populations of packets, not the “priority” of individual packets. What if we “pulse prioritise” them? Packets also only care about the end-to-end transit time; except they don’t “care”, as there are no feelings to be hurt for localised latency.

Packets are not people, folks!

I have written before in the “Labyrinth of luck” about the stochastic nature of the whole statistically multiplexed system. This means you cannot ever recover the intention from the operation where performance is emergent. The service quality result of each network setting was contextual to that single moment in time. There is no possibility of ever repeating that moment in time, so you can never properly reproduce the results to support your “neutrality violation” accusation.

Lovely view

It’s time for reality-based regulation

Academics and analysts have expended reams of paper and rivers of pixels discussing “net neutrality”. What is curious about this subject is how commonly and consistently their mental model of packet networks falls severely short of reality.

Admittedly, there are often passing confessions of how difficult it is to define “neutrality”. Despite this, the possibility it is absolutely meaningless is never given consideration. This is odd, since the term in indeed utterly devoid of technical meaning. No packet network was ever “neutral”, and none ever will be.

There is no doubt those pushing the “neutrality” agenda are typically sincere in their strongly-held opinions. Their desire to hold untrammelled telco power to account is, at least superficially, a laudable one. Yet to the technically informed observer, their naïve computational cosmologies are somewhere between simplistic and absurd.

The time has come to admit the folly of “net neutrality”, and its failed attempt to force packet networks into a false metaphor. We must take the task of detecting “neutrality violations” off the table, since it is both theoretically and practically impossible. The only way forward is to reconnect broadband policy to technical reality.

This means taking a fresh approach, fully grounded in the science and mathematics of distributed computing. Nothing else will fly.


For the latest fresh thinking on telecommunications, please sign up for the free Geddes newsletter.