During the Network Wars between OSI and Internet protocols, one of the most prominent arguments in favor of Internet was its robustness against network failures: Thanks to the dynamic routing principles, a failure of one link would cause the IP packets to flow around the problematic area along other links. Virtual line switching, with all packets following the same route, determined at connection establishment, was scorned at. It turned out that the dynamic IP routing didn't scale, especially with respect to speed. We neither have the time nor the processing power to pick an IP packet out of the net, inspecting and modifying it, before re-inserting it into the network 20+ times along its path. In the old days, I did experience communication failures because the default TTL of 20 reached zero, and I had to raise it to maintain a stable link. That most certainly was a problem. So internet got switches at the physical level, using network level addresses for physical level switching, but what the heck - who cares about clean layer interfaces in the internet? So where is the difference between this and virtual line switching? Virtual line switching was done on a call-by-call basis. The route could be selected based on loads on different links, problems with certain links or whatever. The modern internet switching resembles virtual line switching, except that it is done with a soldering iron. It is fixed, unambiguous, no alternates. If a link fails, there is no automatic re-routing around it. Not even for new connections. Engineers must come out to change the fixed connections to new fixed connections. OK, they do not need a soldering iron to make the reconnections, but it is a manual operation, modifying a large number of routing tables. The result is a new configuration that is just as static and vulnerable as the old one. Yet we insist that no network protocol could ever be as good as IP!
Religious freedom is the freedom to say that two plus two make five.