â€œTherefore everyone who hears these words of mine and puts them into practice is like a wise man who built his house on the rock. 25 The rain came down, the streams rose, and the winds blew and beat against that house; yet it did not fall, because it had its foundation on the rock. 26 But everyone who hears these words of mine and does not put them into practice is like a foolish man who built his house on sand. 27 The rain came down, the streams rose, and the winds blew and beat against that house, and it fell with a great crash.â€
- Matthew 7:24-27.
Never thought I would start a talk with a quote from the Bible! But the point cannot be overstated: Connected communities must have strong foundations. Their efforts must focus on being smart strong communities that enhance and encourage the interactions that will create that strength. As Jane Jacobs has pointed out, communities are a creation of their inhabitants, not their buildings. To accomplish that requires strong foundations that do not get in the way. Weak foundations will divert attention from creating these communities, And in fact, will sow discord, dissension and distrust over what should be neutral and for the most part invisible. These communities canâ€™t succeed, if they are continually repairing infrastructure, working around its flaws, trying to bend its inadequacies to new purposes, etc. Worse people will begin to ascribe ulterior motives to its failures undermining the community.
Our work both into the history and the fundamental nature of networking indicates that we have not built upon the rock. This wouldnâ€™t be so bad if it were a case of â€œif we had just known then what we know nowâ€ but it appears that the opposite is the case: For the most part, we did know then what we re-learned now. And what wasnâ€™t known then appears to follow straightforwardly from what was known.
In the early 70s, it was realized that network addressing followed the same pattern found in operating systems. (not really surprising.) Everyone learned from that that a 3-tiered naming structure was necessary, everyone that is except the Internet, which retained the old data comm approach of only naming the interface. By the mid-70s, there was a very good start at completing the paradigm shift started by Europe with CYCLADESâ€™ decentralized stochastic datagram model to a full-fledged Internet architecture. However, that work got tangled with the reactionary forces of the monopolistic PTTsâ€™ desire to retain the old model for highly profitable â€œservices in the networkâ€ (dare I draw a parallel to â€œan oligarchyâ€™s desire to offer highly profitable services of the cloudâ€) and with the isolationist move of the Internet from the international community in the late 70s, conditions were ripe for a Dark Age, where knowledge is forgotten.
The Internet on its own without the benefit of the architectural insights at the time introduced a fundamental flaw around 1981. They lost a layer. Unknowingly to them that also caused them to revert to the old ITU beads-on-a-string paradigm, potentially the first example of a failed paradigm shift in the history of science. Then in the mid-80s, once again caught unaware by congestion collapse and not understanding the fundamentals, another flaw was introduced. Only this one was worse in that it appears to be irreparable. And without a strong architecture any hope of a securable Internet is just not in the cards.
This keynote will delve into how this happened and some of its consequences that today make it the case that if the Internet were an Operating System, it would be DOS. We are confronted with a choice: a Microsoft approach and keep patching the flaws and patching the flaws in the patches as much as we can, realizing that we are building on sand; or choose the Apple approach and start moving to solid ground and over time leave the old one behind. (I know whose stock I am glad I bought!) A rational person would say: Okay, if this network thing is near the end of its run go with the first one, but if you think it is going to be around for a while, you better go with the second! Cut your losses, donâ€™t box yourself in, stop throwing good money after bad. Forever is a long time to live with a weak foundation!
We know what the default choice has been. We see it here, overlays! Overlays! Treat the network as centralized! More and more castles in the air. There is an alternative! Our work has discovered that there arenâ€™t 5 or 7 layers in networking, but one layer that repeats as much as necessary. That layer turns out to be one element of a unifying model that encompasses applications, distributed applications, operating systems, and networks. This approach doesnâ€™t find a fix for the problems, but solves them, does it more simply, scales indefinitely, inherently supports multihoming and mobility with no additional mechanisms, is inherently more secure, enables entirely new capabilities. I will describe what to build on the rock: The Essentials of Recursive Internet Architecture: TE-RINA! (pun intended).