Imagine for a moment you’re standing in a remote jungle in the tropics. Around you there are thousands of swaying trees, flapping birds and mildly worrying creepy crawlies. You venture forth, carefully noting the shapes and colours of each species you encounter.
Slowly you assemble a taxonomy of their features and their relationship to their surroundings. When you return home, you synthesise this data into a natural science of the jungle ecology. Papers are published, academic awards are given.
It may surprise you to learn that network research is remarkably close to this model. Our brave broadband heroes and heroines venture out into both live and simulated network ‘jungles’. They carefully document the performance patterns around them.
These phenomena are diligently correlated and daring explained. The result is a huge library of knowledge of the nature of networks. There is a profusion of papers and academic accolades.
There’s only one tiny problem. Networks are not natural systems like jungles. We made them.
What has happened is that we have accidentally treated packet networking as a natural science. Researchers have documented the wondrous and weird emergent features of a limited subset of possible broadband networks. The properties of some ‘packet jungles’ have then been taken as being fundamental phenomena of our whole technology universe.
As a result, we have a vast literature on networking that, while deep in knowledge, is often shallow in its understanding. Our science is remarkably short of predictive value. So how did we get into this situation, and how can we make progress past it?
When we design and configure packet networks we have control over many variables, for instance:
- Which paths we send the packets along
- Which packets to send and when (both in terms of ‘priority’ and timing)
- If and how to break up and reassemble the packets into smaller units
- How to encode the data
- What kinds of naming and addressing schemes to use
- Differing protocols for control
- Various approaches for capturing what ‘success’ looks like and executing that plan
This list is far from exhaustive, and doesn’t even begin to consider aspects like security or management. The design space of possible broadband networks is very large. We have only explored a tiny proportion of the potential broadband networks that could ever be built. For example, our choice of ‘work conserving’ queues is likely a poor one. The fractal self-similarity of data traffic is a by-product of that work conservation, and is not innate.
What network architects have done in the past is to guess what kind of environment our distributed applications might thrive in. They then select ecosystem features that might support the kind of networked lifestyle we’d like to have, taking them from a limited library of ‘jungles’ that we’ve previously encountered.
The result is that small perturbations in design or deployment can deliver large differences in outcome. It’s like having an archipelago of small islands, where similar climates can have very different species evolve over time. That a particular set of emergent behaviours happened in one place at one time is no guarantee they will be replicable elsewhere. Consequently, packet networks are riddled with performance and cost issues, because key properties we depend upon are essentially accidental.
To resolve this problem, we need to advance beyond ‘accidental evolution’ to ‘intelligent design’. There is a network God, and it is us! These are fundamentally unnatural systems, where we have total control over the rules (within the constraints of physics).
The starting point for any network design should be ‘What kinds of experience(s) do you want to support?’, and therefore ‘What capabilities do you need to make them predictably happen?’. The process should work backwards from the outcome to the mechanisms to deliver it, via rigorous science. This means removing accidental emergence, and substituting it with designed predictability. This is normal in any other engineering discipline, so why not packet networking?
Working forwards from prior mechanisms, based on precedent and tradition, is not a scientific approach! It risks unpleasant surprises, since no emergent property is truly predictable. Deploying networks to only later discover their operational performance envelope is ultimately foolish. Yet today we live in a broadband engineering culture that is nearly completely dependent on these accidental performance properties.
It doesn’t have to be this way. There are exemplars of performance science that refine a specification into its implementation. None of the metrics, methods or mechanisms need to be invented: they all already exist.
We can escape from the unsafe broadband jungle. A more urbane networked environment awaits us. This digital civilisation requires us to choose unnatural science over natural superstition.
For the latest fresh thinking on telecommunications, please sign up for the free Geddes newsletter.