Multicast over L3VPN – Part 3 of X – Junos and IOS interop

Welcome to part three of many. In this post we’ll go over a Junos-IOS draft rosen interop. This entire time we have been doing draft rosen 6, otherwise known as ASM draft rosen. We could also do draft rosen 7, which is SSM. For now we’ll stick with draft rosen 6.

Same topology as last time. I’ve now added a Junos PE and CE router into the mix.

Junos PE core multicast config

I’m not going to show the basic IGP and MPLS config as that’s already been covered before.

[email protected]> show configuration protocols pim
rp {
    static {
        address 3.3.3.3;
    }
}
interface ge-0/0/1.0;
interface lo0.0;

Junos VRF PIM config

[email protected]> show configuration routing-instances
A {
    instance-type vrf;
    interface ge-0/0/2.0;
    interface lo0.1;
    route-distinguisher 100:1;
    vrf-target target:100:1;
    protocols {
        ospf {
            export EXPORT;
            area 0.0.0.0 {
                interface ge-0/0/2.0;
                interface lo0.1;
            }
        }
        pim {
            vpn-group-address 239.10.10.10;
            interface ge-0/0/2.0;
            interface lo0.1;
        }
    }
}

I’ve configured the default MDT group within the VRF config much like IOS. In order that Junos and IOS be compatible, I have to have a loopback with the same address as the local BGP peering loopback and that needs to be in the VRF. I’ve added lo0.1 to the above config, and this is the address configured:

[email protected]> show configuration interfaces lo0
unit 0 {
    family inet {
        address 77.77.77.77/32;
    }
}
unit 1 {
    family inet {
        address 77.77.77.77/32;
    }
}

I need to add the MDT group to my MP-BGP config:

[email protected]> show configuration protocols bgp
group L3MVPN {
    local-address 77.77.77.77;
    family inet-vpn {
        unicast;
        multicast;
    }
    family inet-mdt {
        signaling;
    }
    peer-as 100;
    neighbor 2.2.2.2;
    neighbor 4.4.4.4;
    neighbor 5.5.5.5;
}

The CE router is configured as normal enterprise multicast. R9 is still advertising itself as a BSR and RP candidate.

Verification

JR1 should see the three other PE routers plus the locally attached CE router. Note that Junos will use an mt interface (multicast tunnel)

[email protected]> show pim neighbors instance A
B = Bidirectional Capable, G = Generation Identifier
H = Hello Option Holdtime, L = Hello Option LAN Prune Delay,
P = Hello Option DR Priority, T = Tracking Bit

Instance: PIM.A
Interface           IP V Mode        Option       Uptime Neighbor addr
ge-0/0/2.0           4 2             HPLGT      00:30:30 10.0.78.8
mt-0/0/0.32768       4 2             HPG        00:15:40 2.2.2.2
mt-0/0/0.32768       4 2             HPG        00:00:27 4.4.4.4
mt-0/0/0.32768       4 2             HPG        00:15:40 5.5.5.5

JR2, our new CE, should see R9 as the RP:

[email protected]> show pim rps
Instance: PIM.master

Address family INET
RP address      Type        Mode   Holdtime Timeout Groups Group prefixes
9.9.9.9         bootstrap   sparse       25      19      3 224.0.0.0/4

Final confirmation

Let’s join the gorup 225.5.5.5 on JR2:

[email protected]> show configuration protocols igmp
interface ge-0/0/2.0 {
    static {
        group 225.5.5.5;
    }
}

NOTE: Junos will not respond to a ping sent to a multicast group. In order for your router to respond, you can add protocols sap (group_IP)

R9#ping 225.5.5.5 repeat 1

Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 225.5.5.5, timeout is 2 seconds:

Reply to request 0 from 10.0.78.8, 28 ms
Reply to request 0 from 10.0.128.12, 56 ms
Reply to request 0 from 10.0.128.12, 52 ms
Reply to request 0 from 10.0.78.8, 40 ms

Both JR2 and R12 are responding as expected.

End of draft rosen

Draft rosen certainly works. However as noted in part 1, multicast is required in the ISP core and this is not a very scalable technology, even when using the data MDT. One of the biggest issues you have is that for every multicast customer, your PE routers will maintain tunnels and PIM adjacencies with each other. If you have 10 PE routers with 4 multicast customers, that’s an awful lot of state running in your core. In parts four and onwards I’ll cover some of the newer ways that we can do MPLS L3 VPN Multicast.

© 2009-2018 Darren O'Connor All Rights Reserved -- Copyright notice by Blog Copyright