Multicast Confusion

Unanswered Question
Apr 13th, 2008

Hi Guys,

i was going through multicast chapter and i am unable to understand few terms.

1.Multicast address are falt..can anyone explain please.

2.Multicasr Address and multicast group.

3.Multicast router forward traffic away from source.

4.Operation of multicast Routing Protocols i.e why we need them.

Thanks in advance.

Mahmood

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Loading.
Jon Marshall Sun, 04/13/2008 - 03:05

Mahmood

1) Assuming that you meant to say "flat". What this means is that there is no network/host hierarchy within multicast addresses ie.

192.168.5.1 255.255.255.0 tells you the network is 192.168.5 and the host is 1.

Multicast addresses don't work this way - there is no network/host concept, all addresses are flat.

2) Not sure what you are asking here, could you give some context

3) With multicast the source is a host transmitting a multicast stream. The destination is not a specific unicast address it is a group address and the routers forward this stream away from the source. Clients who are interested in this stream register with routers and the routers send the stream to the clients. All the time the traffic is forwarded away from the source.

Edit - As a contrast unicast routing forwards traffic to the destination as opposed to routing away from the source.

4) You need multicast routing protocols for the same reason you need standard routing protocols so that clients on a remote subnet can receive a multicast stream. If you only want to use multicast on the local subnet then you do not need a routing protocol but across subnets you do.

Note that PIM which is the common Cisco protocol for multicast actually uses the underlying IGP to make routing decisions hence the "Independent" bit of Protocol Independent Multicast.

Jon

mahmoodmkl Sun, 04/13/2008 - 03:28

Hi Jon,

Thanks for the reply.

I think jon i m confused becoz i havent deployed multicast in the lab or real time.

So u mean to say that if host wants to recieve multicast traffic destined for specific group it should join that group.

What we have to enable on routers is it like as we do in the IGP's like we advertise a specific network do have to do same for multicast so that the other routers can learn about the networks.

Please a example and config might be very helpful.

Thanks

Mahmood

Jon Marshall Sun, 04/13/2008 - 03:49

Mahmood

Multicast is definitely one of those things that makes more sense when you play with it in a lab.

A host will use IGMP to register it's interest in a multicast group. If the source for the multicast group is on a different subnet then the local router will then need to register it's interest in the group to the upstream router and so on. Note that the way routers register interest differs depending on whether you are using PIM dense mode (PIM-DM) or PIM Sparse Mode (PIM-SM).

No you don't advertise specific networks because the router uses the underlying IGP and you are really concerned with getting to the source or the RP for PIM-SM which should be in the IGP routing table.

This is where it gets a bit complicated in that PIM-DM and PIM-SM behave differently and to cover all the ins and outs would be a very long post :-).

On a router that you want to be able to do multicast routing

1) enable "ip multicast-routing" in config mode.

2) On each interface you want to run multicast routing enable pim - either sparse or dense mode eg

int fa0/0

ip pim sparse-mode/dense-mode

If you run in dense-mode that is all you need to do.

If you run in sparse-mode there is additional configuraton required namely for the RP (Rendevous Point).

I suggest if you want to play with this in a lab you try dense-mode first just to get an idea of how it works.

Very briefly

PIM-DM - when the source begins transmitting the stream all routers flood this stream out of any multicast enabled interfaces. If the stream is not required it is up to the router to "prune" itself from the multicast tree so that it does not keep receiving the stream. It does this by informing the upstream router it does not want to receive the stream. If at a later date a host attached to this router wants to receive the stream the router then "joins" the tree again.

PIM-SM. The stream is not flooded at all. The routers have a RP (Rendevous Point) which is one of the multicast enabled routers. If a router receives a request from a host (with IGMP) then it sends a request to the RP to receive the stream.

Jon

mahmoodmkl Sun, 04/13/2008 - 04:01

Hi Jon

From what i have understand upto know let me put.

Clients register themselves at the local router so naturally they will have the destination address as the class D multicast address i am i right in thinking this..now how do the router determines where that multicast address exists..?

And i didnt get the term the router uses the underlying IGP please explain.

Thanks

Mahmood

mohammedmahmoud Sun, 04/13/2008 - 04:15

Hi Mahmood,

I believe that Jon has given you through answers for all of your questions, i do agree with Jon that Multicast is somethings that needs to be played around a lot in lab to cover all its aspects, anyway let me make the multicast story short from another prospective (i know its not that short :)) :

1. A designated range of Layer 3 addresses that can only be used by multicast applications must exist (Multicast IP address space: Class D 224.0.0.0 - 239.255.255.255 or 224.0.0.0/4). A network administrator needs to install a multicast application on a multicast server using a Layer 3 multicast address from the designated range.

2. A multicast address must be used only as a destination IP address, and specifically not as a source IP address (The source IP address is always a Unicast IP address). Unlike a unicast IP packet, a destination IP address in a multicast packet does not specify a recipient's address, but rather signifies that the packet is carrying multicast traffic for a specific multicast application (The multicast address is assigned to the multicast application not to a network device).

3. The multicast application must be installed on all the hosts in the network that need to receive the multicast traffic for the application. The application must be installed using the same Layer 3 multicast address that was used on the multicast server. This is referred to as launching an application or joining a group. This means that a host joins a multicast group by having a multicast application installed and run using the required multicast address.

4. All hosts that are connected to a LAN must use a standard method to calculate a Layer 2 multicast address from the Layer 3 multicast address and assign it to their network interface cards (NICs). After a host joins a group, the host multicast software calculates the multicast MAC address and its NIC then starts listening to the multicast MAC address, in addition to its BIA (This calculation is illustrated later). For example, if multiple routers are connected to an Ethernet segment and all of them are using the OSPF routing protocol, all the routers on their Ethernet interfaces will also be listening to the Layer 2 multicast address 0x0100.5e00.0005 in addition to their Burned-In Addresses (BIAs). This Layer 2 multicast address 0x0100.5e00.0005 is calculated from the multicast Layer 3 address 224.0.0.5, which is reserved for the OSPF routing protocol.

NOTE The Multicast MAC address shall be unique per each Multicast group as it is derived from the IP Multicast address, but there is a problem that arises when doing the calculations which shall be addressed later (different class D IP addresses produce exactly the same MAC address, due to that 5 bits were mapped to one 0 -> 32 multicast IP having the same MAC address).

NOTE ARP is not required to resolve the multicast IP to MAC, as the router can easily derive it from the destination IP address.

5. There must be a mechanism by which a host can dynamically indicate to the connected router whether it would like to receive the traffic for the installed multicast application (The router should not just flood the multicast traffic to all hosts). The Internet Group Management Protocol (IGMP) provides communication between hosts and a router connected to the same subnet (IGMP is used by IP hosts and adjacent multicast routers to establish multicast group memberships.). The Cisco Group Management Protocol (CGMP) or IGMP snooping further helps even the switches to learn which hosts have requested to receive the traffic for a specific multicast application and to which switch ports these hosts are connected (in order not to flood the multicast traffic out of all switch ports, which is the default switch behavior if no CGMP (Cisco Router talks to the Cisco switch) or IGMP snooping (The switch simply eavesdrop on the IGMP)).

To be continued ...

mohammedmahmoud Sun, 04/13/2008 - 04:15

6. There must be a multicast routing protocol that allows routers to forward multicast traffic from multicast servers to hosts without overtaxing network resources (a routing protocol that does multicast address routing - which differs alot than unicast routing). Some of the multicast routing protocols are Distance Vector Multicast Routing Protocol (DVMRP), Multicast Open Shortest Path First (MOSPF), and Protocol Independent Multicast dense mode (PIM-DM) and sparse mode (PIM-SM).

BR,

Mohammed Mahmoud.

Jon Marshall Sun, 04/13/2008 - 04:21

Mohammed

You are a much faster typer than me, must be all that CCIE training :-)

Jon

mohammedmahmoud Sun, 04/13/2008 - 04:26

Hi Jon,

No :), these are all from my CCIE study notes, i am not Superman :)

BR,

Mohammed Mahmoud.

mahmoodmkl Sun, 04/13/2008 - 21:37

Hi Mahmoud,

Brother thanks for u r replies.Can i have u r personal e-mail address.

So i think i m understanding it.

Unlike a unicast IP packet, a destination IP address in a multicast packet does not specify a recipient's address, but rather signifies that the packet is carrying multicast traffic for a specific multicast application (The multicast address is assigned to the multicast application not to a network device).

As per my understanding to this paragraph it means that we need to install the application on both the ends ie. server and client with same multicast address.

How do routers know about a particualr multicast address.

I understand that when a client starts a multicast application it is going to have a mulitcast address and igmp is used to communicate between a host and local router.

How do the local router know from where to get the traffic from.

Sorry i m confused as i m not able to practice it in a lab.

Thanks

Mahmood

mohammedmahmoud Mon, 04/14/2008 - 00:57

Hi Mahmood,

You are very welcomed, my personal email is [email protected].

Multicast was always a confusing topic for me, but if you take your time, read well and lab it in details you'll like it.

Yes a multicast application is required on both sides, and about the router behavior, i believe that Jon has explained it perfectly, and to recap:

When a PIM-DM router receives a multicast packet from the source (server), it first performs the RPF check. If the RPF check succeeds, the router forwards a copy of the packet to all the PIM neighbors except the one on which it received the packet. On the other hand PIM-SM assumes that no hosts want to receive multicast packets until they specifically ask to receive them (In the case of PIM-SM the RPF check shall be done for the RP IP address) - on the other hand the hosts declares their interest in a specific multicast group to its directly connected router via IGMP. And what is meant by Protocol independent, is that the RPF check is done independent of which ever unicast routing protocol(s) built the routing table (doesn't run its own unicast routing protocol for RPF check). On the contrary DVMRP and MOSPF build there own independent routing tables to be used in RPF check unlike PIM.

BR,

Mohammed Mahmoud.

Jon Marshall Sun, 04/13/2008 - 04:18

Mahmood

Client registers interest in 239.10.10.10

So with PIM-SM. Remember that with PIM-SM once the source for 239.10.10.10 starts transmitting it is flooded to all routers on the network ie.

S1 -> R1 -> R2 -> R3 -> H1

S1 = source for 239.10.10.10

H1 = client who is interested in 239.10.10.10

Lets start with H1 not having registered.

S1 starts transmitting. R1 floods stream to R2, R2 floods to R3. R3 has not downstream routers to flood the traffic to and also has no hosts interested in receiving traffic so it sends a prune message to R2. R2 stops sending the stream to R3. R2 also does not need the stream so it sends a prune message to R1. So R1 stops sending to R2.

Key thing to note here is that even though a prune message has been sent the router still has a record of where that stream can be received from if it needs it ie. R3 knows it can get it from R2 and R2 knows it can get it from R1.

H1 now sends an IGMP join for 239.10.10.10 to R3. R3 now sends a join message to R2 asking to receive the stream. R2 now has to send a join to R1 asking for the stream. R1 forwards stream to R2 and R2 forwards to R3 which sends it to H1.

With PIM-DM that is how the routers know where to get a multicast stream from ie. they receive it by default and even if they prune themselves from the tree to stop receiving it they still have a record of where to go to get it again.

PIM-SM is slightly different. Because the stream is not automatically flooded downstream routers have no idea of where the multicast stream can be received from. So with PIM-SM you have an RP which all PIM-SM routers know about. So in the above example say R2 is the RP. When H1 sends an IGMP join message to R3, R3 then queries R2 as the RP. R2 will then forward the traffic on assuming it is receiving the stream from R1.

Those are simplified explanations of how it works, especially the PIM-SM part, but hopefully it has helped.

Jon

Jon Marshall Sun, 04/13/2008 - 05:00

Mahmood

Apologies the following

"So with PIM-SM. Remember that with PIM-SM once the source for 239.10.10.10 starts transmitting it is flooded to all routers on the network ie"

should read

So with PIM-DM. Remember that with PIM-DM once the source for 239.10.10.10 starts transmitting it is flooded to all routers on the network ie"

Jon

Actions

This Discussion