DoKs – Internet: The Big Picture
Internet is an outstanding success, and what makes it so successful is the extraordinary effort in making possible to use any kind of transmission technology, to connect arbitrary end points around the world. This behavior is become so common that is simple to overlook the giant step made when Internet made internetworking a concrete reality. It seems a good idea to go deep in the story of our now common daily friend, and try to capture both the ideas and principles that started the revolution.
In some way the Internet story was in the 70s what the current cloud computing, SaaS an PaaS, actually is during the current days.
Both can show the same strong will to overcome complexity and big ranges, to make something showing an overwhelming reality, possible to obtain.
Probably only some year ago, the idea of rendering a full stack of services and products as huge and complex as, for example, the Oracle full catalog, in SaaS or PaaS, could have produced some sense of “too big to do”, but the ecosystems synergies and the will to win of big actors are producing that cathedrals, just as actual cathedrals were built when no caterpillar was available.
The same can be found is the connectionless packet switching technology, the foundation of internetworking, where apparently the paradigm showed many issues, but the sureness that solving the issues would have produced an efficient system got what we are currently happily using.
So making great things, is mainly a matter of affronting big numbers, and rely on the ability to manage unreliability, so that the final result is reliable.
This was what happened in the 70s at the DoD (US Department of Defence) where the famous ARPANET, became the first working network, using the new idea of internetworking, with the goal of creating a single way to communicate over many different network media, as radio, satellite and wired, all actually needed.
So the layering principle started to produce the protocols that got something up and moved that below, with the ability to put protocol packet in any different kind of medium packet format, at lower layers as payloads, so being able to be delivered over several low level transmission medium and later extracted at the destination from the payload area.
In the connectionless packet delivery paradigm, the comunication happens sending auto identifying packets from the sender to the receiver with a best effort delivery semantics, so there is no warranty that the packet will be delivered and the sender at the hardware level gets no notification of the packet loss.
What make this way so good is the separation between the higher level of communication that use the underlying technology what ever it is, to move their higher level packets, and leaving to higher level receiver the duty to check the data arrived and send acknowledgments back to the the same higher level on the sender.
But if communication must occur between two hosts that do not connect to the same physical network, there is a need to be able to forward the packets to the other network where the destination is attached.
This is the main job of routers, that make forwarding decisions when the destination is not in the same network of the sender.
Routing occurs at the IP level of the protocols, and so routers can be connected to networks using different hardware technologies.
Actually, what distinguishes a router from a switch, is that the router can connect networks using different hardware technology, while switches can connect only hosts using the same network hardware technology.
So, without going now in details, what it relevant is that Internet is designed to resemble a single virtual single network where any host has a unique identifier (its IP address) and that some special device , called IP router, makes possible this abstraction, linking different networks with eventually different hardware technologies, and forwarding packets from one to another.
In an internet any device (PC, portable, tablet,etc) that is not a router is an host.