This will likely be my last blog on this platform for 2022. Instead of the usual 2022 wrap blog, I thought I would summarize blogs over the last few years in the structure of “a few things we know about networks” or rather, from my perspective, what I find to be some of the most interesting aspects of networks.
Economics is the most fundamental driver of Networks
When people moved from farms to cities, the latency of business transactions dropped dramatically, and hence the cost. Business activity increased significantly. Networks of all kinds have been fundamental to the human experience for some time, with some of the same basic variables, for example, latency.
Much of the complexity in networks is a manifestation of economic improvement. In some ways, if every person had a direct link to every other person, switching and routing would not be needed. Putting aside the complexity that would create at each end point, we long ago moved away from that approach because it was not economically feasible and in many ways not practical. Voice switches, Ethernet Switches, IP routers are all examples of how we simplify the end points of networks, and improve the overall economics of networks. The extent of the economic improvement is often a function of statistical multiplexing assumptions.
Now consider networks without queues, classes of service, TCP, WRED, and other such mechanisms. How much more routing and link capacity would we need in such a world?
More discussion could be had. However, the takeaway seems reasonably clear. Some significant amount of complexity in networks is a manifestation of an ongoing desire to improve economics; not withstanding the occasional shifts from capital to operating costs, and vice-versa.
Uncertainty is Unavoidable
We may have good reason to believe something is true within a network, however, much of the time all we have is a high or low probability. In fact it is not just quantum mechanics that is asserting the world is probabilistic, it is now also neuroscience as well, and to some extent information theory always has.
Within the context of current networking technology, latency cannot be eliminated. By the time information is received it may be incorrect. The order in which information is received may vary from place to place in a network. No where in the material world does any information function know everything. Information can be delayed, variously ordered, and imperfect. It can also be corrupt.
We may learn to mitigate these basic information challenges, or simply get used to living with them, but given current and foreseeable technology, these information challenges will persist.
Resources are Limited and Unevenly Distributed
There may be locations in the network where there is more compute, storage, and transfer/link capacity than other locations. However, resources are ultimately limited, either for economic, budgetary, scaling, or other challenges.
Many times there will be consequences of limited resources: summarization that reduces information / precision, adding information to one plane instead of another, limited options for hosting a computationally intensive algorithm, and more. The tension points for how resources are allocated and consequences of those decisions are often a game of whack-a-mole between operations, the network, and services.
Move to fixed form factor, cookie cutter switches that are similar, and placed in dense topologies and the result is an explosion of interfaces that need to be managed, a multitude of different paths that have to troubleshot (sp?), and an increase in the difficulty of finding transient errors. Network (equipment) complexity is reduced, and operations complexity is increased. Worse still, budgets and resources are constrained and best case only revisited periodically. This results in periods of adjustment to unintended consequences and occasional chaos. Some consequences are extremely difficult to foresee.
Resource constraints and the unintended shifts of complexity from one plane to another, is an interesting aspect of the complex entanglement created by relationships in a network.
Control Planes Do Not have Enough Information To Realize Autonomous Networks
Control planes know a great deal about IP topology, however not necessarily the physical, optical, and Ethernet topologies. Some vendors feel they have that specific problem licked, however there is more. Control planes do not have visibility of:
How TCP is signaling application problems
When and what configuration changes are occurring
Operational meta-data
Information contained in log messages
Metric time-series data / trends
And more…
It seems probable, today, that autonomous networks will only come about, it they do, through some cooperation between operations systems and control planes. In general, operations systems are not ready to participate in that cooperation, for many reasons, including tool proliferation and data silos. There will be significant automation progress in terms of workflows like configuration changes, software updates, etc. However, these processes do not necessarilty require the synthesis of diverse data types or new analysis approaches.
There are some well known networking problems where mitigations can be automated because it can be observed that humans always respond to these problems in the same successful way. These automations will be important stepping stones to the future. However, truly high-quality autonomous networks are likely years into the future. As an industry we have to organize the information and analytics needed into basic building blocks that enable autonomous networks. Some Network Operations teams have started this journey. However, it is far from pervasive, today.
Networks Present a Fundamentally More Difficult Automation Challenge
If one thing has become abundantly clear over the last decade, it is networks are fundamentally different than compute and storage. This became clear on the path to automation. (see also this OpenAI chatGPT take on the issue).
Networks are all about relationships, and “entanglement” between different nodes in a network. Even that complexity is just scratching the surface. When we want dynamism, or we can no longer discover everything on a network, we create structures like directories, whether it be a low-level directory like DNS, or a higher level content directory. Depending on what layer of the network we are dealing with, these directories are essential aspects of the network. Then there are hierarchies: underlays, overlays, SD-WANs, Service Meshes, and more.
Arguably, networks are the most complex problem space in all of IT.
Conclusion
A small blog cannot communicate everything we know about Networks. This blog was an attempt to articulate some of the more interesting high-level aspects of Networks, from the author’s perspective / interests. Those interesting aspects include: the fundamental economic driver, the unsolvable consequences of latency, the unintended consequences of resource allocation across planes, how we organize information for autonomous networks, and the complexity of network automation compared to compute and storage. These are likely to be as true in 2023 as they were in 2022.
Few Things We Know About Networks
Thank you, these are very interesting concepts and quite generalizable beyond simply technological networks