Saturday, November 30, 2013

Networking: How does the Internet work :/

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...

 
DFF Forwarding
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!

3 comments:

  1. Hey Akshay,
    Interesting blog about networking. I enjoyed reading up on different routers and protocols. I think you made some good points in your post, however there is also room for improvement. There were a lot of grammatical and spelling errors, and without those it would be much easier to read and understand your blog. Also I followed your links to see where you got your information and I noticed the first link went straight to Wikipedia. I would not recommend using Wikipedia. It is a good starting point in research to get a very broad idea of your topic, but it is not a very credible source to lead your readers to. Good work though.

    ReplyDelete
    Replies
    1. Thank You for your valued comments.First of all, as you mentioned about the links to Wikipedia..I wanted to put forth the proper definition for it and nothing better than Wikipedia is a more credible source.
      Second of all, there is also some room for improvement I would recommend for you, READ THE BLOG and not SKIM through it, just so as to comment on it(as I never mentioned anything about different routers, which you enjoyed reading about)...that would help you understand the motive for a few things that otherwise would suggest you something else..
      Will definitely work on my grammars and spelling. Thanks again for visiting! :)

      Delete
    2. There are definitely more credible sources for proper definitions. Wikipedia is NEVER the most credible source for anything. I did take the time to read your blog. In my first comment I meant to say routing protocols, not routers and protocols. I might not have understood it the way you wanted me to, but that was probably due to all of the grammar and spelling mistakes. Hopefully next time you will take the time to proofread your writing and not just rush to submit something so that your readers will have an easier time understanding. Thanks! :)

      Delete