How to convert from broadcast to multicast and vice versa using Cisco router.

Scenario: ABC corporation and XYZ company has merged into one huge organization known as EFG. Your employer company – MTA has been engaged to come out a solution to merge the IT departments of both companies without changing the existing corporate IP addresses and existing softwares. Two departments reside on different network, so in order for data to traverse across each other layer 3 devices are required, EFG only accepts Cisco routers or Cisco MLS to be the layer3 devices. The above diagram is the rough logical diagram that described part of the  network.

A problem arises, softwares reside in 192.168.100.0/24 are legacy softwares which could only do unicast and broadcast, by default broadcast will not be forwarded to another subnet by a router, you are tasked by your employer – MTA to come out a feasible solution to this problem, a proof of concept is required to demonstrate the feasibility.

R1’s configuration:

R1(config)#ip multicast-routing

R1(config)#int fa0/0

R1(config-if)#description Broadcast source interface

R1(config-if)#ip address 192.168.100.1 255.255.255.0

R1(config-if)#no shut

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

R1(config-if)#ip directed-broadcast

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

R1(config-if)#exit

R1(config)#ip forward-protocol udp 65000

R1(config)#ip access-list extended mcxlate

R1(config-ext-nacl)#permit udp 192.168.100.0 0.0.0.255 any eq 65000

R1(config-ext-nacl)#exit

R1(config)#ip dhcp pool bcs-pool

R1(dhcp-config)#network 192.168.100.0 /24

R1(dhcp-config)#default-router 192.168.100.1

R1(dhcp-config)#lease 0 5 0

R1(dhcp-config)#exit

R1(config)#ip dhcp excluded-address 192.168.100.1

R1(config)#ip route 172.16.0.0 255.255.255.0 172.30.100.2

R1(config)#int fa0/1

R1(config-if)#ip address 172.30.100.1 255.255.255.0

R1(config-if)#no shut

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

R2’s Configuration:

R2(config)#ip multicast-routing

R2(config)#ip forward-protocol udp 65000

R2(config)#ip access-list extended bcxlate

R2(config-ext-nacl)#permit udp 192.168.100.0 0.0.0.255 any eq 65000

R2(config-ext-nacl)#exit

R2(config)#int fa0/1

R2(config-if)#ip address 172.30.100.2 255.255.255.0

R2(config-if)#no shut

R2(config-if)#ip pim dense-mode

R2(config-if)#ip multicast helper-map 239.5.5.5 172.16.0.255 bcxlate

R2(config-if)#description Last hop router’s arrival interface

R2(config-if)#exit

R2(config)#int fa0/0

R2(config-if)#ip directed-broadcast

R2(config-if)#ip address 172.16.0.1 255.255.255.0

R2(config-if)#no shut

R2(config-if)#description Broadcast destination interface

R2(config-if)#exit

R2(config)#ip route 192.168.100.0 255.255.255.0 172.30.100.1

R2(config)#ip dhcp pool bcd-pool

R2(dhcp-config)#network 172.16.0.0 /24

R2(dhcp-config)#default-router 172.16.0.1

R2(dhcp-config)#lease 0 5 0

R2(dhcp-config)#exit

R2(config)#ip dhcp excluded-address 172.16.0.1

Credits: From learningnetwork.cisco.com – Brian and Jared.

From supportforums.cisco.com Peter Paluch

Reference (the best source): http://www.cisco.com/en/US/docs/ios/ipmulti/configuration/guide/imc_inter_mc_helper_ps6350_TSD_Products_Configuration_Guide_Chapter.html#wp1056647

ip directed-broadcast command is necessary for the router to process the incoming broadcast packet, if this command is not included then the router will drop the incoming broadcast and hence broadcast will not be translated into multicast.

ip forward-protocol udp command is necessary for the router to process packet that is destined for udp <port number>

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