Monday, December 8, 2014

Multicast - helper-address

Overview

The ip multicast helper-address command can be useful when you have a need to send broadcast traffic between two layer 2 or more layer 2 domains. For instance a legacy application that pushes lots of information to clients such as a stock ticker program.. The steps are outlined below.


  1. Configure PIM multicast along path between source and target broadcast LAN(s)
  2. Configure ip forward-protocol   on ingress router
  3. Configure ip muticast helper-address on ingress router interface facing the destination L2 network
  4. Configure ip forward-protocol   on egress router
  5. Configure ip muticast helper-address  on egress router's interface(s) facing the source.
  6. Configure ip directed-broadcast  on ingress router's interface facing the destination L2 network
  7. Configure ip broadcast-address  on ingress router interface facing the destination L2 network


    Concepts tested
    • Configuring PIM SM mode
    • Forwarding broadcast traffic via multicast
    • Verification of configuration
    Topology







    Lab Tasks

    • Configure PIM SM across the paths between nodes R1, R2, R4, and R5. R3 should not be a multicast path.
    • R2 should be the BSR and RP
    • Configure R4 so that udp traffic from R5 on port 49000 is broadcast on to the 120.0.0.0/24 subnet
    • Use group 239.1.1.1 and DNS broadcast to test
    GNS3 configuration file, requires IOS v15 for the 7200 router: Link


    Solution

    R1(config)#ip multicast-routing
    R1(config)#int g0/0
    R1(config-if)#ip pim sparse-mode
    R1(config-if)#exit
    R1(config)#int loopback 0
    R1(config-if)#ip pim sparse-mode
    R1(config-if)#exit


    R2(config)#ip multicast-routing
    R2(config)#int g0/0
    R2(config-if)#ip pim sparse-mode
    R2(config-if)#exit
    R2(config)#int g1/0
    R2(config-if)#ip pim sparse-mode
    R2(config-if)#exit
    R2(config)#ip pim rp-candidate loopback 0
    R2(config)#ip pim bsr-candidate loopback 0

    R2(config)#ip access-list extended ALLOWED_IPS
    R2(config-ext-nacl)#permit udp any any eq 49000
    R2(config-ext-nacl)#permit udp any any eq 53

    R2(config)#ip forward-protocol udp 49000
    R2(config)#int g1/0
    R2(config-if)#ip multicast helper-map 239.1.1.1 120.0.0.255 ALLOWED_IPS
    R2(config)#int g0/0
    R2(config-if)#ip directed-broadcast
    R2(config-if)#ip broadcast-address 120.0.0.255



    R3(config)#ip multicast-routing
    R3(config)#int g0/0
    R3(config-if)#ip pim sparse-mode
    R3(config-if)#exit
    R3(config)#int g1/0
    R3(config-if)#ip pim sparse-mode
    R3(config-if)#exit

    R4(config)#ip multicast-routing
    R4(config)#int g0/0
    R4(config-if)#ip pim sparse-mode
    R4(config-if)#exit
    R4(config)#int g1/0
    R4(config-if)#ip pim sparse-mode
    R4(config-if)#exit
    R4(config)#int g2/0
    R4(config-if)#ip pim sparse-mode
    R4(config-if)#exit



    R4(config)#ip access-list extended ALLOWED_IPS
    R4(config-ext-nacl)#permit udp any any eq 49000
    R4(config-ext-nacl)#permit udp any any eq 53

    R4(config)#ip forward-protocol udp 49000
    R4(config-if)#ip multicast helper-map broadcast 239.1.1.1 ALLOWED_IPS


    R5(config)#ip multicast-routing
    R5(config)#
    R5(config)#int g0/0
    R5(config-if)#ip pim sparse-mode
    R5(config-if)#exit

    Verification

    R5(config)#ip domain lookup

    R4(config)#int g0/0
    R4(config-if)#no ip mfib cef input
    R4(config-if)#no ip mfib cef output
    R4(config-if)#int g2/0
    R4(config-if)#no ip mfib cef input
    R4(config-if)#no ip mfib cef output

    R4(config)#access-list 100 permit udp any any eq 53

    R4#debug ip mfib pak 239.1.1.1
    R4#deb ip pack detail 100


    R2(config)#int g0/0
    R2(config-if)#no ip mfib cef input
    R2(config-if)#no ip mfib cef output
    R2(config-if)#int g1/0
    R2(config-if)#no ip mfib cef input
    R2(config-if)#no ip mfib cef output

    R2(config)#access-list 100 permit udp any any eq 53

    R4:
    R4#debug ip packet detail 100
    R4#debug ip mfib pak 239.1.1.1
    *Dec  8 08:57:12.407: IP: s=120.0.45.5 (GigabitEthernet2/0), d=255.255.255.255, len 60, rcvd 2
    *Dec  8 08:57:12.407:     UDP src=50743, dst=53
    *Dec  8 09:43:26.099: MFIBv4(0x0): Pkt (120.0.45.5,239.1.1.1) from GigabitEthernet2/0 (PS) accepted for forwarding
    *Dec  8 09:43:26.103: MFIBv4(0x0): Pkt (120.0.45.5,239.1.1.1) from GigabitEthernet2/0 (PS) sent on GigabitEthernet0/0

    R2:

    R2#debug ip mfib pak 239.1.1.1
    *Dec  8 09:44:54.859: MFIBv4(0x0): Pkt (120.0.45.5,239.1.1.1) from GigabitEthernet1/0 (PS) accepted for forwarding
    *Dec  8 09:44:54.863: MFIBv4(0x0): Pkt (120.0.45.5,239.1.1.1) from GigabitEthernet1/0 (PS) sent on GigabitEthernet0/0


    R2#sh ip mroute 239.1.1.1

    (*, 239.1.1.1), 00:41:35/00:02:32, RP 2.2.2.2, flags: SJCL
      Incoming interface: Null, RPF nbr 0.0.0.0
      Outgoing interface list:
        GigabitEthernet0/0, Forward/Sparse, 00:16:41/00:02:33
        GigabitEthernet1/0, Forward/Sparse, 00:36:26/00:02:32

    (120.0.45.5, 239.1.1.1), 00:02:47/00:00:12, flags: LJT
      Incoming interface: GigabitEthernet1/0, RPF nbr 120.0.24.4
      Outgoing interface list:
        GigabitEthernet0/0, Forward/Sparse, 00:02:47/00:02:33











    No comments:

    Post a Comment