Flawed configuration: Broadcast to Multicast and Multicast to broadcast translation

WARNING: THE BELOW CONFIGURATION HAS FLAWS. IP PIM SPARSE-MODE NEEDS A RENDEZVOUS POINT WHICH IS NOT DEFINED HENCE MULTICAST ROUTING IS NOT POSSIBLE. I WILL READ UP MORE ABOUT PIM TO UNDERSTAND BETTER. THIS POST IS RESERVED FOR ARCHIVE.

I just found out that Multicast is a hated subject by many people, in my opinion to provide a solution for the real world I have to get used to working with protocol which I do not like. It is the job for a network engineer to provide a solution to meet the network requirements.

I have read from sources including cisco’s documentation on how to implement broadcast to multicast translation and vice versa.

I could not test this concept because IP SLA does not allow broadcast as a destination ip address, it allows however a directed broadcast as the destination ip address.

So here’s the set up:



Segment between fa0/1 of R1 and R2 is 172.30.1.0/24

fa0/0 of R1 is 10.0.0.0/24, broadcast source is 10.0.0.5. Broadcast sender will send a broadcast with destination port 12345.

fa0/0 of R2 is 10.0.1.0/24, broadcast receiver is 10.0.1.2.

I cannot test the concept, as I found out that IP SLA disallows broadcast to be the destination ip address. I used extended traceroute with destination port as 12345, but extended traceroute is ip and I do not think it is a udp packet. The result from the debug ip mpacket shows nothing, the result from debug ip packet detail however only shows broadcast, but no translation was done.

Here are the configurations based on these references:

http://www.cisco.com/en/US/docs/ios/12_0/np1/configuration/guide/1cmulti.html#wp6877 (IP Multicast helper example)

http://adminkernel.com/cisco-systems/broadcast-multicast-conversion

http://blog.ine.com/2008/05/06/understanding-the-ip-multicast-helper-map-command/

IP multicasting is disabled by default on routers including MLS.

R1(config)#ip multicast-routing

R1(config)#ip forward-protocol udp 12345

Conversion cannot be done through fast switching, I assumed, to be CEF. ip forward-protocol is necessary for normal conversion without fast switching. In here the destination port is 12345 udp.

R1(config)#int fa0/0
R1(config-if)#ip directed-broadcast

Interface fa0/0 is the interface connecting to the source, ip directed-broadcast is disabled by default.  The directed broadcast address for fa0/0 will be 10.0.0.255, this will not be treated as a broadcast address until it hits the router. Directed broadcast will change to local broadcast 255.255.255.255 once it hits the router. Router by default will not forward broadcast to another subnet hence local broadcast will still be processed but will be dropped within the local network. The command ip directed-broadcast enables a broadcast to be traversed to another subnet. The broadcast packet is encapsulated in an ip header packet with the destination subnet address, once it reaches the destination the ip header is stripped off and flood the subnet with the local broadcast.

R1(config-if)#ip pim sparse-mode

PIM has 3 modes, sparse, dense and sparse-dense.

Dense mode assumes that the nodes in the multicast group are densely populated hence the action is to send multicast periodically.

Sparse mode assumes that the nodes in the multicast group are sparsely (scattered) populated, hence multicast will be sent through “on-demand” basis, in other words the node has to ask for it to get multicast.

R1(config-if)#ip multicast helper-map broadcast 224.1.2.3 mcxlate

This command do the magic of translating broadcast into multicast and multicast back to broadcast. mcxlate is the name of my access-list.

R1(config)#ip access-list extended mcxlate
R1(config-ext-nacl)#10 permit udp any any eq 12345

R1(config)#ip route 10.0.1.0 255.255.255.0 172.30.1.2

Static route to the destination.

Based on the diagram in cisco doc I should configure fa0/1 at the last hop router (R2), now this is quite confusing, I hope reader can give your comment about this.

R2(config)#int fa0/1

R2(config-if)#ip directed-broadcast

R2(config-if)#ip multicast helper-map 224.1.2.3 10.0.1.255 mcxlate

This is to convert the multicast address to directed broadcast address that should be for broadcast receiver’s subnet.

R2(config)#do sh ip access
Extended IP access list mcxlate
10 permit udp any any eq 12345
20 deny udp any any (2 matches)

R2(config)#ip route 10.0.0.0 255.255.255.0 172.30.1.1

Note:There is no need to use ip igmp join command if you enabled ip multicast helper-map command. IOS will automatically join the related hosts to the multicast group.

Advertisements
This entry was posted in IP Multicast, Route and tagged , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s