Have
you ever while surfing on Facebook, thought about how does the Internet
actually work ? how am i able to speak with people from across the world within
seconds ? or how is it that you give it a name and it fetches you the page so
quickly ? We say that the computer understands everything in 0s and 1s..but
then, how does the computer understand where to go when we type
www.google.com
The
answer to all these questions is just 2 words Computer Networking. Networking
is such a huge topic to talk about, it includes protocols, DNS, DHCP,
topologies, different networking standards and so on (I'm sure you must be
knowing about most of them I mentioned in the list). For me, it always was
intriguing to know how the internet actually functions and to take that
interest forward I learnt about different routing protocols and that is
what I'll be talking about in this post.
Routing
protocols are the most vital aspect of networking because, when a packet is
sent out of your machine in the internet, it needs to select a route for that
packet to go, making the correct and the shortest route available is the job of
these routing protocol. Different protocols are available based on the network topologies,
and are used by service providers, like RIP(Routing Information Protocol), OSPF
(Open Shortest Path First), BGP (Border Gateway Protocol). Just remember one
thing the core infrastructure of internet (These are a select few routers in
the World which handle the routes from one county to another across the world, as of 2013 there
are 6 tier 1
provides in the telecommunication industry. Level 3 communication, Century
Link, Vodafone, Sprint, At&T, Verizon) has BGP running as the
networking protocol..Since, it is a bit complex than other routing protocols I will not be getting into it.
Another
mechanism that is worth knowing is MPLS (Multi Protocol Label Switching), this
is the most important forwarding mechanism that is used along with IP..Service
Providers are changing their infrastructure to include MPLS...with MPLS Traffic
Engineering capabilities it makes it much more profitable to use MPLS.
Since
routing capabilities are needed by all devices today given that it is required
by all devices to connect to the internet or some other network for
communication...we have to include routing capabilities in devices that one
cannot even think about from mirrors to poles alongside the road...
One such
protocol I came across recently was DFF (Depth First Forwarding)..This protocol
was proposed to be used on low-power devices where the network topology
changes frequently. You might think, why do we need more protocols if we
are already using the ones mentioned above, for years now..Well, for that you need to understand that when a routing protocol runs on a system it uses a lot
of power and CPU cycles to keep the routes updated. In low powered devices due
to the power constraints we need another protocol based on this specification..
One
such protocol used or this use-case is DFF and the good thing about this
protocol is, in conventional routing protocols if a packet does not reach a
destination it drops the packet and resends it later, however, in this, before
dropping the packet and declaring the neighbor as not reachable, it tries all
the depth-first neighbors. This way it checks all the
possible paths to reach a particular network instead of just one. Look at the
figure below to get a better understanding...
Consider
if a packet is being sent from node 1 to node 4, in this case when node 3 sends
the packet to node 4 but let us assume that the ACK from node 4 is lost then in
that case, node 3 does not drop the packet and re-tries sending it
again..rather it gives the packet back to where it came from and that in turn
will try all its neighbor until it finally decides that the node is not
reachable..The mechanism is not as simple as illustrated there are many other
things to be taken care of such as Duplicate packets, Loops etc.. I will not
get involved into all those in this post..But if you are curious then go ahead
and read RFC 6971. There is a
lot of research going in this field and many other protocols and I feel good to
be a part of them.
If we
need all of it shown in the video below, networking is a very crucial part of
it.
Stay
tuned for more!