Saturday, February 28, 2015

Computer Networking 101 Part 2: "You Got Mail" - reaching the destination.

I am sure everyone knows what this icon is.  How many Email you have to read each day.  Are you able to keep your mail box at zero (0) unread mail?

Have you every wonder how Email reaches your mail box?

This post is not to explain how Email works.  With Email in mind I wanted touch another computer networking basic - reaching the destination.

Sending information from one host to another is just like sending a letter - it needs an address.  There are different kinds of addresses as I have mentioned in part 1, namely:
  • MAC address
  • IP address
  • TCP or UDP port
There are other address with different communication protocol but in general are IP based.

In a computer network there are 3 kinds of traffic
  1. Broadcast
  2. Multicast
  3. Unicast
These 3 kinds of traffic can be applied to layer-2 switching or layer-3 routing.  Layer-3 routing is much more complicated than layer-2 switching but the principle is the same and in this article I am going to treat layer-2 switching and layer-3 routing the same in the context of traffic type.

Broadcast traffic
These are the traffic that all devices on the same domain will received a copy.  In layer 2, it can be with destination MAC address ff:ff:ff:ff:ff:ff or destination unknown in which the switch has to flood the incoming packet to all port on the same domain.  In layer 3, the original packet will not be flooded but the router is going to send a layer-3 broadcast ARP packet to see if anyone knows where the destination is.  Layer-3 broadcast packet has the destination IP address as 255.255.255.255 or each IP subnet has a broadcast address.

image source: http://upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Broadcast.svg/2000px-Broadcast.svg.png

All members on the same domain receives the broadcast traffic.

Multicast traffic
In layer 2 multicast is treated as the broadcast.  MAC address has a multicast bit and if it is set, the layer-2 frame is a multicast frame and layer-2 switch will not learn this address.
I work as a software developer for networking equipment company.  Often time we have to construct our Layer-2 frames.  I will always use 00:11:22:33;44:55 and I will not use 11:22:33:44:55:66 because the second MAC address the multicast bit is turned on and it will be treated as a multicast frame.  

image source: http://upload.wikimedia.org/wikipedia/commons/b/be/Multicast-multicast.png

The above diagram explains the concepts of multicast very well.  All circles are devices on the same domain but only the green circles registered to a multicast group and thus only the green circles will receive the multicast traffic.

In layer-3, there is the concept of multicast group and device will have to register to the multicast group to receive a copy of the layer-3 packet.  VXLAN relies heavily on this.  Multicast limits the flooding of the layer-3 packet to members of the multicast group.

Unicast traffic
This is the traffic type where networking equipment know exactly where the destination is and is the most efficient way of sending network traffic because it does not need to replicate the original traffic and to use unnecessary bandwidth.

image source: http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Unicast.svg/640px-Unicast.svg.png

Only one member receives the traffic.

Reaching the destination
Networking equipment makes forwarding decisions on these 3 kinds of traffic and send the traffic to the indent destination based on the unique MAC or IP address as well as the TCP/UDP ports. Traffic type has huge impact on the network resources and networking equipment vendors always wanted to find ways to streamline the traffic forwarding process as well as to maximize all the networking resources such as CPU cycles, buffers and/or memory usage.  In the case of VXLAN, since the early days of VXLAN, vendors or open source community tried to find ways to avoid IP multicast for “flooding” the IP packet to all VTEP in the same multicast group.

Networking is a huge subject and is not easy to cover it in one or two blog post.  I am hoping to lay down some important concept so that as I journey to the cloud and pick up new things in the networking area, I am able to refer to these "networking basic" posts.  I will come back to update and clarify these posts as I move on.  So stay tune.

5 comments:

  1. OpenStack Cloud Computing OpenStack Cloud Computing Training "
    Open Stack Cloud Computing Online Training
    Send ur Enquiry to contact@21cssindia.com
    Introduction
    Virtualization Overview
    Software as a service
    platform as a service
    Infrastructure as a Servi" more… Online Training- Corporate Training- IT Support U Can Reach Us On +917386622889 - +919000444287 http://www.21cssindia.com/courses/open-stack-online-training-224.html

    ReplyDelete
  2. Thank you for sharing. Your blog has given me that thing which I never expect to get from all over the websites. Nice post guys!


    Melbourne SEO Services

    ReplyDelete
  3. Your blog is very useful for me.I really like you post.Thanks for sharing.
    goldenslot

    ReplyDelete
  4. The above mentioned matter is easy to not only understand but also explain. Even I can elaborate subject of this article now very easily because I it is easy to understand for me. Really a creative expert skill possessed by author.Cisco SG250

    ReplyDelete
  5. It is worthwhile reading this blog. I was searching such kind of blog for a long time but now I think I got a blog of my interest. I am thankful for these all suggestions mentioned under this blog.ATEN OVER IP

    ReplyDelete