Hello
We can use a multicast helper to ”transport” broadcast traffic onto a different segment.
Everybody is familiar with unicast helper which changed broadcast into directed unicast traffic, for example if a DHCP server is outside the broadcast segment. Here the idea is similar: we would like to change broadcast into multicast.
- R1 sends broadcast traffic to 155.1.12.255 udp 3000
- R2 does 3 things:
a) adds udp 3000 to its list of protocols that it can forward,
ip forward-protocol udp 3000
b) enables multicast helper on the link R1>R2, and maps the broadcast traffic to a multicast address, defining an ACL which defines which traffic should mapped.
ip multicast helper-map broadcast 226.0.0.1 MYTRAFFIC
ip access-list extended MYTRAFFIC
permit udp any any eq 3000
permit udp any any eq 53
c) enables ip pim dense-mode on all links
int eth0/0.12
ip pim dense-mode
int eth0/0.23
ip pim dense-mode
3. R3 also does the same three things (and one extra):
a) adds udp 5000 to its list of protocols that it can forward,
b) enables helper on interface R2>R3 and maps the multicast traffic onto its broadcast segment defining an ACL that says which traffic should be mapped
ip multicast helper-map 226.0.0.1 155.1.33.255 MYTRAFFIC !!!but without the word broadcast this time!!!
permit udp any any eq 3000
permit udp any any eq 53
c) enables dense mode on both links
int eth0/0.23
ip pim dense-mode
int eth0/0.33
ip pim dense-mode
d) additionally, on its broadcast segment it needs two commands:
int eth0/0.33
ip directed-broadcast
ip broadcast-address 155.1.33.255
Test this by enabling ip domain-lookup on R1 but not specifying domain server. The lookups will start anyway, sending traffic to udp port 53.
This is debug from R3.
access-list 100
permit udp any any eq 53
debug ip packet detail 100
Output:
IP: tableid=0, s=155.1.12.1 (Ethernet0/0.23), d=155.1.33.255 (Ethernet0/0.33), routed via RIB
IP: s=155.1.12.1 (Ethernet0/0.23), d=155.1.33.255 (Ethernet0/0.33), len 50, sending full packet
UDP src=53300, dst=53
MFIBv4(0x0): Pkt (155.1.12.1,236.0.0.1) from Ethernet0/0.23 (PS) accepted for forwarding
IP: s=155.1.12.1 (Ethernet0/0.23), d=236.0.0.1 (Ethernet0/0.33), len 50, output feature
R8#
UDP src=53300, dst=53, MFIB Adjacency(86), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
IP: s=155.1.12.1 (Ethernet0/0.23), d=236.0.0.1 (Ethernet0/0.33), len 50, sending full packet