The Uncertainty of Everything and Anything
The triumph of engineering is the successful functioning of anything, in the face of inevitable uncertainty. Sometimes this occurs because assumptions are made that are mostly true. Other times because the reduction of uncertainty is deliberately engineered. This article looks at uncertainty in information functions / networks.
The Inevitability of Uncertainty
Information reduces uncertainty (Information Theory)
We cannot know everything (Information Axioms)
Therefore, there is uncertainty about everything
When we measure anything, it changes (Heisenberg Uncertainty)
As a result, there is uncertainty about anything
Therefore, there is uncertainty about everything and anything
If information is always uncertain, then what are the consequences? The most significant consequence is that:
All information processes are knowingly or unknowingly making decisions based on the probability of certainty.
Mitigating and Adjusting for Uncertainty
We use checksums and CRCs to increase the certainty of information integrity, for example. Of course, when we strip them off and reapply them in the middle of a path, we once again add uncertainty. Recall the switches that used to do that without using ECC memory. Oops.
The maximum certainty is determined by the lowest certainty anywhere in the path.
We add certainty in many ways. A packet arrives at a switch/router. Which port should the packet exit on? We add a destination address to the packet so at least we know where it is supposed to go. Now all we must do is work out which port moves the packet closer to the destination. We do that by adding information to each router about topology / paths. Alternatively, the packet source can work out the best path and include path information in the packet, in which case the source needs some way of understanding the paths through the network – more information.
The information required to effectively make use of an information function includes the information required to improve the certainty of the information function.
As we add more functionality to networks, and/or packet sources, where will the information come from to reduce the uncertainty of those functions, and how will the information be delivered to those that need it?
Resource Requirements of New Functionality
If each new function requires some additional information to reduce the uncertainty of the function, then we can state what is already obvious to most engineers:
The amount of new functionality an information processor can support is limited by the resources of the information processor.
Hence, we arrive at modern times where long-ago deployed routers may have exhausted their capability to support new functionality, and we argue about whether compute/storage/bandwidth resource limitations are now a solved problem with new equipment.
Can we free up resources in old routers by removing functionality? Yes, Segment Routing could be considered an example of this, because it has less functionality than IP/MPLS, specifically in the area of fine-grained traffic engineering.
However, do we ever want to give up functionality once we have already experienced it? That’s an interesting question that goes to the heart of disruption theories where it is argued not all consumers in a market experience all the functionality of a good/service.
Many Sources of Information
If either old or new routers have resource constraints, where will information exist to add new functionality?
An incredible amount of data lives outside of the control plane already: metrics, alarms, flow data, log data, resource utilization data, and more. How will this information be used to add new functionality and reduce the uncertainty of new functionality in networks? With growing interest in network automation, we are entering a period of discovery with respect to this question.
The total information in a network is the sum of information in all planes to execute and improve the certainty of the information functions.
Conclusion
Life is a sea of uncertainty for everyone, everything, and anything, but most existentially for engineers who are attempting to reliably execute information functions. To improve certainty, information can be added, which accelerates the exhaustion of resources at different rates across old and new routers / information processing nodes. The flexibility to increase the resources or reduce the resource load across all planes of the network is the period of discovery that information networks are now in.