Multicast Lab Tips

  • On each device do a show ip pim interface and show ip pim neighbour , highlight the multicast links and note down the DR and the mode e.g. SD, S or D (Dense). Also enable ip multicast-routing on all participating devices.
  • Use BSR instead of Autorp if you can as BSR allows you to filter multicast with the ip pim bsr-border command easily at the edge routers, it is tricky to so this in autorp. Also no need for ip pim autorp listener on each router when using autorp (alternatively you can put it into sparse-dense mode if the listener command is restricted on the lab – needed for Sparse mode though).
  • Use ip pim nbma-mode to effectively disable split horizon. Alternatively use a GRE tunnel between the spokes if that command is not an option or if it dense mode running across a NBMA network as dense mode can not bypass split horizon rules.
  • Set the ip pim dr-priority to 0 on all spokes and a high value, say 255, on the hub.
  • Anything to do with multicast can typically be found under ip pim, ip multicast and ip igmp. e.g. ip multicast boundary under the interface (alternative to using scope).
  • If mapping agent is required to associate a particular group to an RP, you will need to use rp-announce-filter which references access-lists that contains both the RP address rp-list and the groups group-list. You will also have to use the exact same group-list on the RP itself after the send-rp-announce command so that the RP can volunteer for those groups.
  • Deny statements do not work in a RP group-list / access-list. as it treats a deny as flooding in dense mode
  • To deny a PIM neighbourship form forming, use ip pim neighbor-filter # under the interface.
  • ip pim spt-threshold is to be used if you need to deny changing to shortest path source tree. RP is a shared tree where devices sends registers and join requests too. Once everyone figures out the stream, they will bypass the RP and use shortest path tree (S,G). Set spt-threshold to infinity so that devices always uses the RP and not their own shortest path. Do show ip mroute and look at the flags to verify (J in flags means shortest path).
  • Use ip igmp static-group instead of join-group if an application is unable to use IGMP to respond to a group or it needs to be fast switched. Verify this with show ip igmp membership=
  • Can filter / restrict specific multicast group under the interface using ip igmp access-group 1
  • 224.0.1.40 is the mapping agent and 224.0.1.39 is the auto-rp
Advertisements

IPV6 – Multicast Lab Tips

  • Enable this using ipv6 cef, ipv6 unicast-routing and ipv6 multicast routing.
  • The above latter command will enable PIM Sparse-mode on all ipv6 interfaces! Unlike ipv4 you had to do the ip pim sparse-mode on each interface.
  • To join a multicast group use ipv6 mld join-group which is the same as ip igmp join-group.
  • Auto-rp no longer exists. only static and BSR. Same commands used as in IPV4.
  • Configuring the RP will create a GRE tunnel! in ipv4 the router sends a join request to the RP by encapsulating it in a unicast. in IPV6 a GRE tunnel is created instead.

Multicast Written Notes

These are my ‘crib notes’ that I’ve made to serve as a last minute refresher. Please forgive the grammer / spelling as I did not develop these notes with publishing in mind

Multicasting

***theory***

Switches: they will broadcast multicast – not good

  • Switch <config#> ip igmp snooping – will not treat it as broadcast

Frame relay networks etc not allowing multicast

  • Config-if# ip pim nbma-mode – treats multicast as unicast

Multicast – Is Class D and ranges from 224-239. Local network protocol uses Multicast 224.0.0.1 – 224.0.0.255

  • 224.0.0.0 – 239.255.255.255 is multicast range
    • 224.0.0.0 – 224.0.0.255 reserved for network protocols / local network control block and uses TTL=1
      • 224.0.013 is PIMv2 and 224.0.0.22 is IGMPv3
  • 224.0.1.0 – 238.255.255.255 globally scoped addresses for internet etc
    • 224.0.1.1 Network Time Protocol (NTP)
  • 239.0.0.0 – 239.255.255.255 is private addresses / limited scope addresses / administratively scoped block e.g  CEO ends video stream to internal users
  • PIM – Protocol Independent Multicast. Its the routing protocol of the multicast network.

  • Config# ip multicast-routing enables multicast routing!
  • Config-if# ip imgp join-group emulates a mcast server!
  • Show ip mroute – shows multicast routing table

  • Source trees Creates a multicast tree. Source sits on top of the tree & sends Mcast stream. Recipients on logical branches. If no downstream router have mcast group , then that router does not forward mcast traffic. Each router creates an entry e.g.
    • (192.168.2.1, 239.1.1.1). First IP is the Server and the 2nd is the multicast address
    • Easier to set up
  • Shared Tree – All multicast sources registers with the RP. Each router has an entry like this
    • (*, RP) – So all non –RP points to the RP as their Default Gateway. So the RP will proxy it essentially.
    • More efficient
    • PIM-DENSE (uses Source tree – PUSH the mcast stream) – No RP. Uses prune and flood technique to build tree. Initially floods network, if routers do not need it. It sends Prune to upstream. Ideal if mcast source & recipient are physically close. Few senders, all routers can forward mcast traffic.  Go under all multicast interface mode and enable it with
      • Config-if# ip pim dense-mode and that is it
      • Cons – every router enabled for PIM will get the multicast which is not ideal. They get it and then eventually and slowly prune back, but it the initial flood that’s the concern. Flood and prune every 3 minutes which is not ideal again! Only good for small networks like RIP
      • PIM-SPARSE (uses Shared Tree – PULL the source upon request) – uses RP. Ideal for mcast routers that are not close. Multiple and simultaneous streams. Stream not constant. Adds interface based on join message
        • RP can be statically configured on each router or can elect and find dynamically.
        • PIMV1 – Static or Auto-RP
        • PIMv2 – Static, Auto-RP or bootstrapping
        • Sparse-Dense Mode: If RP = Sparse. If no RP = Dense. Must define RP otherwise it will default to Dense mode
          • Auto RP – Sends RP announce so routers can dynamically learn who the RP is. Only works in sparse-dense mode only
            • Config# ip pim send-rp-announce s0/0.1 scope 15
              • Scope is how many hops to announce this too
    • Config# ip pim send-rp-discovery scope 15
    • Config# ip pim accept-rp auto-rp – need to do this on the non RP routers
  • Config-if# ip pim sparse-dense-mode verify with show ip pin interface to verify


Multicast – Is Class D and ranges from 224-239. Local network protocol uses Multicast 224.0.0.1 – 224.0.0.255

  • 224.0.0.0 – 239.255.255.255 is multicast range
    • 224.0.0.0 – 224.0.0.255 reserved for network protocols / local network control block and uses TTL=1
      • 224.0.013 is PIMv2 and 224.0.0.22 is IGMPv3
  • 224.0.1.0 – 238.255.255.255 globally scoped addresses for internet etc
    • 224.0.1.1 Network Time Protocol (NTP)
  • 239.0.0.0 – 239.255.255.255 is private addresses / limited scope addresses / administratively scoped block e.g  CEO ends video stream to internal users
  • PIM – Protocol Independent Multicast. Its the routing protocol of the multicast network.
    • Source trees Creates a multicast tree. Source sits on top of the tree & sends Mcast stream. Recipients on logical branches. If no downstream router have mcast group , then that router does not forward mcast traffic. Each router creates an entry e.g.
      • (192.168.2.1, 239.1.1.1). First IP is the Server and the 2nd is the multicast address
      • Easier to set up
  • Shared Tree – All multicast sources registers with the RP. Each router has an entry like this
    • (*, RP) – So all non –RP points to the RP as their Default Gateway. So the RP will proxy it essentially.
    • More efficient
    • PIM-DENSE (uses Source tree – PUSH the mcast stream) – No RP. Uses prune and flood technique to build tree. Initially floods network, if routers do not need it. It sends Prune to upstream. Ideal if mcast source & recipient are physically close. Few senders, all routers can forward mcast traffic.  Go under all multicast interface mode and enable it with
      • Config-if# ip pim dense-mode and that is it
      • Cons – every router enabled for PIM will get the multicast which is not ideal. They get it and then eventually and slowly prune back, but it the initial flood that’s the concern. Flood and prune every 3 minutes which is not ideal again! Only good for small networks like RIP
      • PIM-SPARSE (uses Shared Tree – PULL the source upon request) – uses RP. Ideal for mcast routers that are not close. Multiple and simultaneous streams. Stream not constant. Adds interface based on join message
        • RP can be statically configured on each router or can elect and find dynamically.
        • PIMV1 – Static or Auto-RP
        • PIMv2 – Static, Auto-RP or bootstrapping
        • Sparse-Dense Mode: If RP = Sparse. If no RP = Dense. Must define RP otherwise it will default to Dense mode
        • IGMP – Internet Group Management Protocol – Allows a host to join a multicast group
          • Ver 1 – host sends a membership report to it local router. Shows what mcast group the host wants to join. Router then queries, sends general query every 60 seconds to ask other hosts if they want to join that group to. Inefficient, too much traffic / renewing membership every 60 seconds. If host leaves mgroup, router waits 3 minutes until then keeps sending mcast traffic – hence inefficient
          • Ver 2 –Has a leave group message, when host quits. However router sends general query to all host if they want to continue the  group. Host replies with report. Lowest ip address router is the querier. Still sends general queries = inefficient
          • Ver 3 – Source filtering
          • Querier – Router with the lowest IP address
          • DR – Router with the highest IP address. NO DR on a POINT-TO-POINT link
          • RPF – Reverse Path Forwarding unicast routes towards destination. Multicast routes away from it source. Destination is a multicast group. Router needs to know how to route back to the source and what are the downstream paths.
          • RPF Check – inspects incoming multicast packet. If it arrived on the upstream interface, the packet is forwarded otherwise it is dropped#
          • IGMP Snooping – helps layer 2 switches. Listen to host reports, records multicast Mac addresses and port to determine which ports require stream rather than flood all ports. CPU Intensive, only ideal on higher end switches
          • CGMP like IGMP snooping helps layer 2 switches. It not as CPU intensive. Need to enable on both the router and switch
          • MAC Address – multicast MAC starts with 01-00-5e. The rest is the IP address (last 3 octet) of the multicast. E.g.
            • 224.0.1.12 = 11100000  00000000 00000001 00001100
            • Hex                                              00               01             0C
            • 224.0.1.12 = 01-00-5e-00-01-0c
            • 224.128.1.12 = 01-00-5e-00-01-0c

Convert 01-00-5e-04-43-AC in IP

  • X. 4 (04). 67 (43). 172 (AC)
  • 1110xxxx. 00000100             01000011             10101100
  • X                             4                              67                           172
  • 1110xxxx. 10000100             67                           172
  • X                             132                         67                           172

***commands***

Enables router for multicasting

  • R1 (config) # IP Multicasting-routing

RP Address

  • R1 (config) # IP pim rp-address

Enable PIM on interface

  • R1 (config-if) # IP pim sparse

Shows multicast neighbours . IP add, Interface, Version etc

  • R1# Show ip pim neighbour

 

Multicast Crib Notes

These are my ‘crib notes’ that I’ve made to serve as a last minute refresher. Please forgive the grammer / spelling as I did not develop these notes with publishing in mind.

Multicasting

***theory***

  • 224.0.0.0 – 239.255.255.255 is multicast range
    • 224.0.0.0 – 224.0.0.255 reserved for network protocols / local network control block
      • 224.0.013 is PIMv2 and 224.0.0.22 is IGMPv3
  • 224.0.1.0 – 238.255.255.255 globally scoped addresses for internet etc
    • 224.0.1.1 Network Time Protocol (NTP)
  • 239.0.0.0 – 239.255.255.255 is private addresses / limited scope addresses / administratively scoped block
  • PIM – Protocol Independent Multicast. Creates a multicast tree. Source sits on top of the tree & sends Mcast stream. Recipients on logical branches. If no downstream router have mcast group , then that router does not forward mcast traffic
  • PIM-DENSE – No RP. Uses prune and flood technique to build tree. Initially floods network, if routers do not need it. It sends Prune to upstream. Ideal if mcast source & recipient are physically close. Few senders, all routers can forward mcast traffic.
  • PIM-SPARSE – uses RP. Ideal for mcast routers that are not close. Multiple and simultaneous streams. Stream not constant. Adds interface based on join message
    • RP can be statically configured on each router or can elect and find dynamically.
    • PIMV1 – Static or Auto-RP
    • PIMv2 – Static, Auto-RP or bootstrapping
    • Sparse-Dense Mode: If RP = Sparse. If no RP = Dense. Must define RP otherwise it will default to Dense mode
    • IGMP – Internet Group Management Protocol – Allows a host to join a multicast group
      • Ver 1 – host sends a membership report to it local router. Shows what mcast group the host wants to join. Router then queries, sends general query every 60 seconds to ask other hosts if they want to join that group to. Inefficient, too much traffic / renewing membership every 60 seconds. If host leaves mgroup, router waits 3 minutes until then keeps sending mcast traffic – hence inefficient
      • Ver 2 –Has a leave group message, when host quits. However router sends general query to all host if they want to continue the  group. Host replies with report. Lowest ip address router is the querier. Still sends general queries = inefficient
      • Ver 3 – Source filtering
      • Querier – Router with the lowest IP address
      • DR – Router with the highest IP address. NO DR on a POINT-TO-POINT link
      • RPF – Reverse Path Forwarding unicast routes towards destination. Multicast routes away from it source. Destination is a multicast group. Router needs to know how to route back to the source and what are the downstream paths.
      • RPF Check – inspects incoming multicast packet. If it arrived on the upstream interface, the packet is forwarded otherwise it is dropped#
      • IGMP Snooping – helps layer 2 switches. Listen to host reports, records multicast Mac addresses and port to determine which ports require stream rather than flood all ports. CPU Intensive, only ideal on higher end switches
      • CGMP like IGMP snooping helps layer 2 switches. It not as CPU intensive. Need to enable on both the router and switch
      • MAC Address – multicast MAC starts with 01-00-5e. The rest is the IP address (last 3 octet) of the multicast. E.g.
        • 224.0.1.12 = 11100000  00000000 00000001 00001100
        • Hex                                              00               01             0C
        • 224.0.1.12 = 01-00-5e-00-01-0c
        • 224.128.1.12 = 01-00-5e-00-01-0c

Convert 01-00-5e-04-43-AC in IP

  • X. 4 (04). 67 (43). 172 (AC)
  • 1110xxxx. 00000100             01000011             10101100
  • X                             4                              67                           172
  • 1110xxxx. 10000100             67                           172
  • X                             132                         67                           172

***commands***

Enables router for multicasting

  • R1 (config) # IP Multicasting-routing

RP Address

  • R1 (config) # IP pim rp-address

Enable PIM on interface

  • R1 (config-if) # IP pim sparse

Shows multicast neighbours . IP add, Interface, Version etc

  • R1# Show ip pim neighbour