cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1581
Views
15
Helpful
10
Replies

Understanding Multicast

mahmoodmkl
Level 7
Level 7

        Hi

I am struggling to understand the concept of multicast,each time i read about it i m left with questions which i didnt find answers.

Hence please can someone explian me how multicast actually works with a clear example.

I know that there are lot of protocols involved in this.

I dont understand the below sentence.

Multicast traffic is sent to a group of hosts which are listening to a class D address..?

For multicast the source is always a unicast address.

In addition how class D IP to MAC mapping is done.

How the multicast routing protocols work and why we need them.

i will come back with more questions once i get the answers for the above so please bare with me.

Thanks

10 Replies 10

Here are two ressources you should read. They will give you more insight into the technology:

Internet Protocol IP Multicast Technology:

http://www.cisco.com/en/US/partner/tech/tk828/tech_brief09186a00800a4415.html

Enterprise IP Multicast:

http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6552/ps6592/prod_presentation0900aecd80310d52.zip

-- 
Don't stop after you've improved your network! Improve the world by lending money to the working poor:
http://www.kiva.org/invitedby/karsteni

Aninda Chatterjee
Cisco Employee
Cisco Employee

Hello,

I had written a small blog as an introduction to Multicast. I had a lot of difficulty starting out with Multicast too. Hope this helps:

https://supportforums.cisco.com/community/netpro/network-infrastructure/switching/blog/2012/10/18/multicast-for-the-heart-part-i-igmp

Regards,

Aninda

Aninda Chatterjee
Cisco Employee
Cisco Employee

One of the best books to understand the basics and complexities of Multicast is TCP/IP Volume II by Jeff Doyle. See if you can pick that up and give it a read.

As far as the IP to MAC conversion goes, I'll try to explain that here.

As you probably know, multicast addresses use the Class D IP address range which is 224.0.0.0 to 239.255.255.255. The base multicast mac address is taken as 01.00.5E.00.00.00. You then map the lower 23 bits of the multicast IP address to the lower 23 bits of the base multicast mac address.

I'll take the example that the aforementioned book uses to explain this. Let's say you want to derive the mac address for 239.147.18.23. In binary, this gives us 11101011 10010011 00010010 00010111. The lower 23 bits would be 0010011 00010010 00010111. Map this directly onto the base multicast mac address. This gives us:

00000001 0000000000 01011110 00010011 00010010 00010111 which is 01.00.5E.13.12.17.

Joseph W. Doherty
Hall of Fame
Hall of Fame

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

Multicast traffic is sent to a group of hosts which are listening to a class D address..?

Well, this statement is true, but not precisely.

Multicast traffic is transmitted by the multicast source, on the source's local network, usually without regard to whether any other hosts want to receive the multicast traffic. 

Hosts interested in multicast only need to "watch" for the  multicast IP(s) of interest, very much like how they "watch" for their  unicast IP or the subnet's broadcast IP.

The distinction I'm trying to show, a multicast source just sends to a multicast address, not to hosts.  Multicast hosts "watch" for specific packets with specific multicast IP address(es).  Neither depends on the other but, of course, without both it's rather pointless.

For multicast the source is always a unicast address.

Always?  Not 100% certain it's actually required, but it's certainly normally the case.

How the multicast routing protocols work and why we need them.

Why we need them?  Simply, multicast routing does for multicast what unicast routing does for unicast, forwards packets when source and receivers are not on the same local network.

How they work?  That varies depending on the multicast routing protocol.  For example, just as there's unicast routing protocols RIP and OSPF, there's multicast routing protocol DVRMP and MOSPF.  There's also PIM multicast which "rides" upon a unicast routing protocol.

Both unicast and multicast routing work to transfer packets from a sender to a receiver but there are some major differences.  Unicast routing keeps track of unicast network destinations, and attempts delivery to one host, but a multicast IP is a logical group which may require delivery to multiple network destinations and/or multiple hosts.  As multicast may require delivery to multiple network destinations, the protocol may need to replicate packets (as the source doesn't).  Because of possible replication, multicast routing is also designed to not replicate packets needlessly.

Multicast routing seems "backward" from unicast routing, because instead of working to find a destination IP the protocol works from receiver to the sender.

Hi

Thanks Joseph for your reply.

But still i m having doubts.

Multicast traffic is transmitted by the multicast source, on the  source's local network, usually without regard to whether any other  hosts want to receive the multicast traffic. 

Here the multicast source refers to the system which is running the multicast application and i assume that the multicast application is confgiured to use a particular multicast IP address...m i correct in this..?

Hosts interested in multicast only need to "watch" for the  multicast  IP(s) of interest, very much like how they "watch" for their  unicast IP  or the subnet's broadcast IP.

I assume that the application on the hosts is configured to listen for the multicast address...m i correct in this..?

i didnt understand your sentence

Hosts interested in multicast only need to "watch" for the  multicast   IP(s) of interest, very much like how they "watch" for their  unicast IP   or the subnet's broadcast IP.

U mean to say that the traffic is sent to multicast address as the destination and which ever host has this multicast address will recieve it.please correct me if i m wrong.

Multicast routing seems "backward" from unicast routing, because instead  of working to find a destination IP the protocol works from receiver to  the sender.

Can you explain the above as well as it didnt make more sense to me.

Sorry for my silly doubts...

Thanks

Disclaimer

The  Author of this posting offers the information contained within this  posting without consideration and with the reader's understanding that  there's no implied or expressed suitability or fitness for any purpose.  Information provided is for informational purposes only and should not  be construed as rendering professional advice of any kind. Usage of this  posting's information is solely at reader's own risk.

Liability Disclaimer

In  no event shall Author be liable for any damages whatsoever (including,  without limitation, damages for loss of use, data or profit) arising out  of the use or inability to use the posting's information even if Author  has been advised of the possibility of such damage.

Posting

Here the multicast source refers to the system which is running the multicast application and i assume that the multicast application is confgiured to use a particular multicast IP address...m i correct in this..?

Correct; similar to any other application generates packets with a IP address.

I assume that the application on the hosts is configured to listen for the multicast address...m i correct in this..?

Correct, similar to any other application listening or watching for packets with specific a IP address.  Actually perhaps a bit closer to a unicast application listening for UDP or TCP packets with specific port numbers.

U mean to say that the traffic is sent to multicast address as the destination and which ever host has this multicast address will recieve it.please correct me if i m wrong.

Correct, that's what's trying to be accomplished.

Multicast routing seems "backward" from unicast routing, because instead  of working to find a destination IP the protocol works from receiver to  the sender.

Can you explain the above as well as it didnt make more sense to me.

Not easily. 

Conceptually, multicast is similar to broadcast.  On the same local network, multicast packets are "seen" by all hosts (disregarding IGMP snooping, etc.) similar to broadcast packets.  Unlike broadcast packets, which the host needs to actually open and "read" to see if the packet is of interest, the host can ignore multicast packets with multicast addresses it's not interested in (similar to ignoring unicast packets with an IP address the host isn't interested in).

For non-local network segments, multicast (logically) is replicated to every other network.  Broadcast packets, generally are not passed outside of the local network segment.  Unicast packets are sent to a specific network segment.

As networks often have multiple paths, multicast wants to avoid replication, via different paths, to the same network segment more than once.  Multicast manages this by building a distribution tree.  Conceptually, this distribution tree is very similar to STP from the root bridge or OSPF topology from each individual router node.  Often the multicast source is the logical root of the multicast distribution tree.

What's "backwards" about multicast vs. unicast, instead of the routing protocol concerning itself with delivering packet to the destination, multicast concerns itself with (logically) flooding all possible networks from the source host.

Also keep in mind with multicast, hosts that want to "see" particular multicast packets can be scattered all around the connected networks.  This is why multicast routing concerns itself with distribution from the source.  If the source's multicast packets can be delivered to any possible network segment, any possible host may "see" the packet.

Further, there might be more than one source for the same multicast IP.  If there is, multicast concerns itself with each source's distribution.  Again, conceptually, much like per VLAN STP or OSPF SPF from each node.

What I'm describing is conceptual as actual multicast routing comes in different "flavors" but some actual multicast routing is close to the simple conceptual model.  For example, DVRMP and PIM-DM both flood a multicast source's packets to all other networks but then "prune" traffic (stop replication) to network segments where no hosts have an interest in that particular multicast traffic.  Also again, multicast routing doesn't concern itself, so much, with delivery to specific hosts but with distribution of the sender's multicast packets.  (Also again, this is a simplification.)

Hi Joseph,

Thanks for the reply it clears lots of doubts.Please can u clarify below.

Correct; similar to any other application generates packets with a IP address.

When the packet is generated is  the source address in the IP header  is of the source and the destination is the multicast address...?.

If the above is correct then i assume that the rest of the function is like unicast routing i mean once the routers exchange the multicast routes and have them in their routing tables,any host willing  to join the multicast group will report it to the router on the local subnet and the packets are deliverd through normal ARP process.

Thanks

Disclaimer

The   Author of this posting offers the information contained within this   posting without consideration and with the reader's understanding that   there's no implied or expressed suitability or fitness for any purpose.   Information provided is for informational purposes only and should not   be construed as rendering professional advice of any kind. Usage of  this  posting's information is solely at reader's own risk.

Liability Disclaimer

In   no event shall Author be liable for any damages whatsoever (including,   without limitation, damages for loss of use, data or profit) arising  out  of the use or inability to use the posting's information even if  Author  has been advised of the possibility of such damage.

Posting

When the packet is generated is  the source address in the IP header  is of the source and the destination is the multicast address...?.

Correct.

If the above is correct then i assume that the rest of the function is like unicast routing i mean once the routers exchange the multicast routes and have them in their routing tables,any host willing  to join the multicast group will report it to the router on the local subnet and the packets are deliverd through normal ARP process.

Again although multicast routing does deliver multicast packets from sender(s) to receiver(s), it uses its routing tables backwards compared to unicast routing.  Instead of routing to a destination address, multicast routing builds paths from receiver(s)' network to the source network.

Multicast doesn't ARP to the local network segment.  Multicast packets are logically flooded to the destination network segments.  It's up to the receivers to "watch" for the multicast packets they want to receive.

Multicast receivers will inform the multicast router they want particular multicast traffic, but the router doesn't concern itself (excluding IGMP snooping) with individual multicast receivers.

Hi Joseph thanks for u r reply.

Can you please clarify the below.

Again although multicast routing does deliver multicast packets from  sender(s) to receiver(s), it uses its routing tables backwards compared  to unicast routing.  Instead of routing to a destination address,  multicast routing builds paths from receiver(s)' network to the source  network.

Why this done in reverse order any specific reason.

Multicast doesn't ARP to the local network segment.  Multicast packets  are logically flooded to the destination network segments.  It's up to  the receivers to "watch" for the multicast packets they want to receive.

U mean multicast packets just arrive on routers without any request from the network..?

I mean whether they are intersted or not.

Multicast receivers will inform the multicast router they want  particular multicast traffic, but the router doesn't concern itself  (excluding IGMP snooping) with individual multicast receivers.

I didnt understand the above,can you please provide a example.

I want to know what happens when a router recieves a request from a host for joining a multicast group.

Thanks for your patience.

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

By your questions, I think, perhaps, I'm rehashing some of the same information which also implies I'm not effectively answering your questions.

Have you had a chance to study any of the references provided by the other posters?  Here's another Cisco reference: http://www.cisco.com/en/US/docs/ios/solutions_docs/ip_multicast/White_papers/mcst_ovr.html that might help too.

If you have a particular further question, after reading some of these references, please post it as another question referencing, if possible, the information you've read.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Review Cisco Networking products for a $25 gift card