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
In a computer network there are 3 kinds of 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.
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.
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.