Multicasting – A Scalable Approach

I know this is kind of bizarre topic from Virtualization, but this is the base of our Virtualized Networking. Lot of Virtualized component lies in the hand of these three type of traffic flow. So I am starting this topic and soon you would see where I am going and where I would take you all.

So our topic is how a Multicast called as most scalable network traffic flow. So to start this topic I need to talk a little about why do we need Multicasting and what is Multicasting. After that we would be seeing how this is different from the other two, i.e., Unicasting and Broadcasting.

Why Do You Need Multicasting

The most basic definition of IP Multicasting is as follows:

Sending a message from a single source to selected multiple destinations across a Layer 3 network in one data stream.

If you want to send a message from one source to one destination, you could send a unicast message. If you want to send a message from one source to all the destinations on a local network, you could send a broadcast message. However, if you want to send a message from one source to selected multiple destinations spread across a routed network in one data stream, the most efficient method is IP Multicasting.

Demand for Multicasting application is increasing with the advent of such applications as audio and video web content; broadcasting TV programs, radio programs, and concerts over internet. Success to one-to-many multicast applications has created a demand for the second generation of multicast applications that are referred to as many-to-many and many-to-few , in which there are many sources of multicast traffic.

Unicast does not scale to large number of receivers

The unicast method requires that the video application send one copy of each packet to every group member’s unicast address. To support full motion of this video application, it requires approximately 1.5Mbps of bandwidth for each receiver. If only a few receiver exist on this group, this method would be fine. But what would happen if we scale it up? We need N X 1.5Mbps of bandwidth in a total. So do you want to call it up a scalable networking, of course not. Below is a pictorial representation of how a Unicast packet flow look like. So at the end of the day we will landed up spending more when it will come to scale up our Datacenter.

Broadcast wastes bandwidth and take more CPU cycle

Now coming back to the other one, which is the Broadcast communication traffic. It is the fact that the broadcast method requires transmission of data only once, but it has some serious impact on the overall Networking. If the receiver stations are in a different broadcast domain from the sender machine, L3 devices need to forward broadcasts. However, sending a broadcast communication packet might be the worst night mare ever one have seen. All because broadcasting a packet to all hosts in a network can waste the premium bandwidth and increase the processing load on all of your networking devices. Below is the snippet of how a Broadcast packet flows through all of the path. So if one path does not know about the next hop it will just send it to all of the available ones. The one who is not intended to receive this traffic will also get this traffic. So this a vertical wastage of resources.

How Multicasting provide a Scalable solution

If you closely look at the picture below, then you would notice that the multicast traffic is sent over the WAN links and is received by the hosts that only have requested it. Should additional hosts request to receive the same multicast traffic, neither the multicast server nor the network resources would incur any additional burden. So even if you scale up very quickly, if you plan your future bandwidth requirement properly you will not be oversubscribed and at the same time you would provide unified solution to the requesting node.

So where do we stand right now in terms of Virtualized Networking? Well VMware make use of Multicasting Networking too but looking at all the loop holes can we say that we are truly scalable and at the same time we would provide scalability and security for a multi-tenant network? Well to get to this answering look forward to my next article, if you closely follow the growth of the vSS/vDS and Virtualized networking recently, then you would understand where exactly I am taking you to :).

Acknowledgement and Further Reading: CCIE Routing and Switching

About Prasenjit Sarkar

Prasenjit Sarkar is a Product Manager at Oracle for their Public Cloud with primary focus on Cloud Strategy, Oracle Openstack, PaaS, Cloud Native Applications and API Platform. His primary focus is driving Oracle’s Cloud Computing business with commercial and public sector customers; helping to shape and deliver on a strategy to build broad use of Oracle’s Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) offerings such as Compute, Storage, Java as a Service, and Database as a Service. He is also responsible for developing public/private cloud integration strategies, customer’s Cloud Computing architecture vision, future state architectures, and implementable architecture roadmaps in the context of the public, private, and hybrid cloud computing solutions Oracle can offer.

One thought on “Multicasting – A Scalable Approach

  1. Pingback: Improving Network Performance for Multicast Traffic – SplitRx mode is your choice - Stretch Cloud - Technology Undressed