{"id":692,"date":"2018-10-26T22:26:59","date_gmt":"2018-10-26T22:26:59","guid":{"rendered":"http:\/\/feralpacket.org\/?p=692"},"modified":"2018-10-26T22:26:59","modified_gmt":"2018-10-26T22:26:59","slug":"multicast-notes","status":"publish","type":"post","link":"https:\/\/feralpacket.org\/?p=692","title":{"rendered":"Multicast Notes"},"content":{"rendered":"<p><span style=\"font-weight: bold;\">Multicast<\/span><\/p>\n<p>\n&#8211; One-to-many<\/p>\n<p>\n&#8211; Layer 3 address range<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; Class D<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.0.0<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 239.255.255.255<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; First four bits are always<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; 1110.<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; Last 23 bits are used to create the MAC address<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 5 bits in the middle can change<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 2^5 = 32 IP address for one MAC address<\/p>\n<p>\n&#8211; Reserved management range<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.x.x.x<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.0.x<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; Link-local multicast<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.0.1 &#8211; all nodes on segment<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.0.2 &#8211; all routers on segment<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.0.3 &#8211; Distance Vector Multicast Routing Protocol (DVMRP)<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.0.5 &#8211; OSPF routers<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.0.6 &#8211; OSPF DR routers<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.0.9 &#8211; RIPv2<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.0.10 &#8211; EIGRP<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.0.13 &#8211; PIMv2 (Protocol Independent Multidast)<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.0.18 &#8211; VRRP<\/p>\n<p>\n&#8211; 224.0.1.x<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; global multicast<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.1.39 &#8211; Auto-RP accouncer<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 224.0.1.40 &#8211; Auto-RP Discovery<\/p>\n<p>\n&#8211; 232.x.x.x<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; Source Specific Multicast (SSM)<\/p>\n<p>\n&#8211; 239.x.x.x<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; Administratively scoped addresses<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; Similar to private IP addresses<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; Traffic should not be sent to the Internet\n<\/p>\n<p>\n<span style=\"font-weight: bold;\">Multicast MAC Address<\/span><\/p>\n<p>\n&#8211; xx.xx.xx.xx.xx.xx<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; xx.xx.xx. &#8211; Organizationally Unique Identifier (OUI)<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; OUI of multicast MAC addresses is always<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; 01.00.5E.\n<\/p>\n<p>\nIf destination IP address is 225.1.1.1<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; First 24 bits<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -&gt; 01.00.5E<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 25th bit is always 0<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; Last 23 bits taken from the multicast IP address<\/p>\n<p>\n\u00a0\u00a0\u00a0\u00a0 -&gt; 01.00.5E.01.01.01\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/5e7cd9284a2802016792008d2216923a.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p><span style=\"font-weight: bold;\">Internet Group Management Protcol (IGMP)<\/span><\/p>\n<p>\u00a0&#8211; A communication protocol between multicast receivers and the last hop routers<\/p>\n<p>\u00a0&#8211; Used to request the traffic sent to a specific multicast address<\/p>\n<p>Communication between the first hop router and the last hop router is done with multicast routing protocols<\/p>\n<p>\u00a0&#8211; DVMRP<\/p>\n<p>\u00a0&#8211; Core Based Tree (CBT)<\/p>\n<p>\u00a0&#8211; MOSPF<\/p>\n<p>\u00a0&#8211; PIM<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Dense<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Sparse<\/p>\n<p>IGMP Versions<\/p>\n<p>\u00a0&#8211; Version 1 &#8211; Old<\/p>\n<p>\u00a0&#8211; Version 2 &#8211; Default<\/p>\n<p>\u00a0&#8211; Version 3 &#8211; Used for advanced features such as SSM<\/p>\n<p><span style=\"font-weight: bold;\">Joining the group<\/span><\/p>\n<p>1. The last hop router sends a periodic IGMP general query every 60 seconds to 224.0.0.1 (all nodes)<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/4b3aaa68a733bfeca812f850082cf36b.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p>2. If there are multiple routers on the same segment, there will be a querier election by comparing the segment facing IP addresses of the router<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Lower is better<\/p>\n<p>3. If the querier misses sending 2 consecutive general queries, the other router preempts the querier role<\/p>\n<p>4. Whenever a client is interested in a specific multicast stream, it sends an IGMP Membership Report message destined to the multicast address it wishes to join<\/p>\n<p>5. If multiple receivers are present on the same segment, then every receiver hols it&#8217;s membership report for a randomly generated time<\/p>\n<p>6. Other receivers, upon hearing (receiving) the report will suppress their own report<\/p>\n<p>7. The randomly generated numbs has to be in the range of 1 to the Maximum Response Time (MRT)<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Default MRT is 10 seconds<\/p>\n<p><span style=\"font-weight: bold;\">Leaving the group<\/span><\/p>\n<p>1. Whenever a client wants to leave the group, it sends a &#8220;leave-group&#8221; message to 224.0.0.2 (all routers)<\/p>\n<p>2. Upon receiving the &#8220;leave-group&#8221; message, the router responds by sending a &#8220;group-specific-query&#8221; to the multicast group address<\/p>\n<p>3. The query is sent every second for the next 3 second<\/p>\n<p>\u00a0 \u00a0 \u00a0 -&gt; If nobody replies, the router stops sending multicast traffic out that port<\/p>\n<p>Configuration on the Last Hop Router (LHR)<\/p>\n<p>R8(config)# <span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">int fa0\/0<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip igmp query-interval &lt;sec&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip igmp querier-timeout &lt;sec&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip igmp query-max-response-time &lt;sec&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip igmp version { 1 | 2 | 3 }<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip igmp last-member-query-interval &lt;msec&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip igmp limit &lt;number of reports&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip igmp access-group &lt;acl&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip igmp join-group &lt;ip add&gt;<\/span><\/p>\n<p><span style=\"font-weight: bold;\">Default IGMP Timers<\/span><\/p>\n<p>\u00a0&#8211; query-interval<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 60 seconds<\/p>\n<p>\u00a0&#8211; querier-timeout<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 120 seconds<\/p>\n<p>\u00a0&#8211; query-max-response-time<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 10 seconds<\/p>\n<p>\u00a0&#8211; last-member-query-interval<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 1000 ms<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip \u00a0igmp access-group &lt;acl&gt;<\/span><\/p>\n<p>\u00a0&#8211; Defines the multicast groups permitted | denied<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip igmp join-group &lt;ip add&gt;<\/span><\/p>\n<p>\u00a0&#8211; Makes the router a receiver<\/p>\n<p>\u00a0&#8211; Good for testing multicast<\/p>\n<p>\u00a0&#8211; Recommended to use a loopback interface<\/p>\n<p><span style=\"font-weight: bold;\">Multicast Routing Protocols<\/span><\/p>\n<p>\u00a0&#8211; Multicast Tree<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; FLow of multicast traffic from source to receiver for a group<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; On any router which is part of the tree will have an (s,g) entry<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; s &#8211; source<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; g &#8211; multicast group<\/p>\n<p>The methods to propogate the traffic from First Hop Router (FHR) to Last Hop Router (LHR)<\/p>\n<p>\u00a01. Flood and pruse<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; PIM dense mode<\/p>\n<p>\u00a02. Request to unprune<\/p>\n<p><span style=\"font-weight: bold;\">PIM Dense Mode<\/span><\/p>\n<p>\u00a0&#8211; Traffic is flooded to every branch to every router<\/p>\n<p>\u00a0&#8211; Every receiving router checks two things<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Are there any receivers<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Are there any downstream routers<\/p>\n<p>\u00a0&#8211; By default, PIMv2 is used<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; uses 224.0.0.13 to form neighbors and send periodic hellos<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Hellos sent every 30 seconds<\/p>\n<p>\u00a0&#8211; Messages<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Prune<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Request to stop sending traffic<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Upon receiving this message, the router stops sending traffic for 3 minutes<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; After the 3 minutes, multicast traffic is sent again<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Graft<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Unprune a pruned link<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Graft Acknowledgement<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Upstream router acknowledges receiving a Graft message, but it may not have traffic to send<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Upstream router may have to send it&#8217;s own Graft message<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Static Refresh<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; This message is sent from the receiving router to upstream router to refresh the prune time<\/p>\n<p>Configuration of PIM Dense Mode<\/p>\n<p>R1(config)# <span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">int fa0\/0<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip pim dense-mode<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">sh ip pim neighbors<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">sh ip pim interface<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">sh ip mroute<\/span><\/p>\n<p>\u00a0&#8211; Shows your location in the multicast tree<\/p>\n<p>\u00a0&#8211; Shows the number of active multicast trees (flows) along with detailed information<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Source of the multicast<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Multicast group<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Incoming interface<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Outgoing interface and their states<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Flags<\/p>\n<p>Flags<\/p>\n<p>\u00a0&#8211; D<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Dense mode<\/p>\n<p>\u00a0&#8211; S<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Sparse mode<\/p>\n<p>\u00a0&#8211; P<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Pruned<\/p>\n<p>\u00a0&#8211; T<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Shortest Path Tree<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">sh ip mroute<\/span><\/p>\n<p>\u00a0(10.0.0.1, 255.1.1.1) \u00a0 \u00a0 \u00a0 \u00a0 \u00a0uptime \/ expire<\/p>\n<p>\u00a0 \u00a0 \u00a0incoming interface: fa0\/0<\/p>\n<p>\u00a0 \u00a0 \u00a0outgoing interface:<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0s0\/0 -&gt; uptime \/ expire<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0s0\/1 -&gt; uptime \/ expire<\/p>\n<p><span style=\"font-weight: bold;\">Reverse Path Forwarding (RPF)<\/span><\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Any router accepts the multicast on an interface only if that interface is used to back to the source network<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/6e9ac9feac99c3b5d9752e06271b453b.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p>By default, the unicast routing table is checked for RPF check<\/p>\n<p>\u00a0&#8211; It can be overridden by using static mroutes<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip mroute &lt;source ip&gt; &lt;source mask&gt; &lt;incoming int&gt;<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip mroute 10.0.0.0 255.0.0.0 s0\/0<\/span><\/p>\n<p>Troubleshooting section of the lab usually has RPF failures<\/p>\n<p><span style=\"font-weight: bold;\">Rendezvous\u00a0Point (RP)<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/e5df5050e04db450f0ef531012060f7a.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p>Request to unprune (sparse mode)<\/p>\n<p>\u00a0&#8211; All ports are pruned by default<\/p>\n<p>\u00a0&#8211; Ports are unpruned on request<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Join message<\/p>\n<p>\u00a0&#8211; (*,g) join message is sent by the LHR to RP<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Creates a Shared Tree<\/p>\n<p>(s,g) -&gt; Shortest Path Tree (SPT)<\/p>\n<p>(*,g) -&gt; Shared Tree<\/p>\n<p>FHR sends a unicast message to RP call a Register message<\/p>\n<p>\u00a0&#8211; The message is a request to RP to send the join message<\/p>\n<p>\u00a0&#8211; Sent every 60 seconds<\/p>\n<p>\u00a0&#8211; Join messages are sent every 60 seconds<\/p>\n<p>\u00a0&#8211; Upon receiving a Register message, the RP sends an (s,g) join message towards the source<\/p>\n<p>\u00a0&#8211; After receiving traffic on RP, the RP sends a Register-stop message to FHR<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/f1ec3163470c89f613b2158e4cd3a5e3.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p><span style=\"font-weight: bold;\">SPT-Switchover<\/span><\/p>\n<p>\u00a0&#8211; Once the LHR joins the shared tree and receives the first packet, it knows about the source and sends a (s,g) join message towards the source<\/p>\n<p>\u00a0&#8211; When traffic starts coming through the SPT, the router sends a prune message to the shared tree<\/p>\n<p>Configuring PIM Sparse Mode<\/p>\n<p>\u00a01. Activate multicast routing<\/p>\n<p>\u00a02. Configure interfaces for PIM sparse mode<\/p>\n<p>\u00a03. Configure RP information<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Manual<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Configure RP on all routers manually\u00a0<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Automatic<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Distribute RP\u00a0information\u00a0by using a protocol (dynamic)<\/p>\n<p>On all routers<\/p>\n<p>R1(config)# <span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip multicast-routing<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip pim rp-address &lt;ip add&gt; [&lt;acl&gt;]<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">int s0\/0<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip pim sparse-mode<\/span><\/p>\n<p>The IP address of the RP must be reachable<\/p>\n<p>\u00a0&#8211; If a loopback interface is used as the RP, PIM must be activated on the interface<\/p>\n<p>ACL<\/p>\n<p>\u00a0&#8211; specifies the group the RP will service<\/p>\n<p>\u00a0&#8211; By default, the RP will service any multicast IP address<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; 224.0.0.0 &#8211; 239.255.255.255<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/e590aaeebcfe022969037e8feba1bba8.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p>R1(config)# <span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip multicast-routing<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0int fa0\/0<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0 ip pim sparse-mode<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip pim rp-address 2.2.2.2<\/span><\/p>\n<p>R2(config)# <span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip multicast-routing<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">int range lo0, fa0\/0 &#8211; 1<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0 ip pim sparse-mode<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip pim rp-address 2.2.2.2<\/span><\/p>\n<p>R3(config)# <span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip multicast-routing<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip pim rp-address 2.2.2.2<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">int fa0\/0<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip pim sparse-mode<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">int lo0<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip pim sparse-mode<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip igmp join-group 225.1.1.1<\/span><\/p>\n<p><span style=\"font-weight: bold;\">Designated Router (DR)<\/span><\/p>\n<p>\u00a0&#8211; Used on multiaccess network<\/p>\n<p>\u00a0&#8211; On receiving side if there are multiple routers, one will be elected the DR<\/p>\n<p>\u00a0&#8211; Only the DR will send join messages<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/7eaa520ef13ff57b8e8d39b2fd273833.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p>On sending side if there are multiple routers connected to the same segment, one will be elected as the DR<\/p>\n<p>\u00a0&#8211; The DR will send the Register message to the RP<\/p>\n<p>DR Election<\/p>\n<p>\u00a0&#8211; higher is better<\/p>\n<p>\u00a0&#8211; Checks priority<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Default is 1<\/p>\n<p>\u00a0&#8211; Then checks IP address of the segment-facing interface<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">int fa0\/0<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">\u00a0ip pim dr-priority 100<\/span><\/p>\n<p><span style=\"font-weight: bold;\">Filter Join Messages<\/span><\/p>\n<p>\u00a0&#8211; Only for (*,g) join messages<\/p>\n<p>\u00a0&#8211;\u00a0Can be configured anywhere, but it is best to configure on the RP itself<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip pim accept-rp &lt;ip add of RP&gt; [&lt;acl&gt;]<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/feralpacket.org\/wp-content\/uploads\/2018\/10\/4ed96c918a4db593e7abc1b1e04d3e49.jpeg\" style=\"\" width=\"600\" height=\"\"\/><\/p>\n<p>R2(config)# <span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">access-list 1 permit 225.1.1.1<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip pim access-rp 1.1.1.1 1<\/span><\/p>\n<p>\u00a0(*,225.1.1.1<\/p>\n<p>\u00a0 \u00a0 \u00a0RP -&gt; 1.1.1.1<\/p>\n<p><span style=\"font-weight: bold;\">Filter Register Messages<\/span><\/p>\n<p>\u00a0&#8211; Only configured on the RP<\/p>\n<p>\u00a0&#8211; This does not work if the source is also the DR<\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip pim accept-register { list &lt;acl&gt; | route-map &lt;name&gt; }<\/span><\/p>\n<p>ACL -&gt; extended<\/p>\n<p>\u00a0&#8211; What source\u00a0register\u00a0message is coming from<\/p>\n<p>\u00a0&#8211; What group it is requesting<\/p>\n<p><span style=\"font-weight: bold;\">Troubleshooting Multicast<\/span><\/p>\n<p><span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ping 225.1.1.1<\/span><\/p>\n<p>\u00a0&#8211; By default, the source is all interfaces where PIM is activated<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; If there are 3 interfaces, 3 pings will be sent<\/p>\n<p>\u00a0&#8211; To ping from a specific source, use extended ping<\/p>\n<p>\u00a0&#8211; It helps if <span style=\"background-color: rgb(255, 250, 165);-evernote-highlight:true;\">ip igmp join-group 225.1.1.1<\/span> is configured on a LHR<\/p>\n<p>\u00a0&#8211; To troubleshoot multicast, use an extended ping and set the repeat count to a large number<\/p>\n<p>\u00a0 \u00a0 \u00a0-&gt; Multicast is hard to troubleshoot if there is no multicast traffic<\/p>\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -&gt; Troubleshooting QoS is worse in a lab environment<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Multicast<\/p>\n","protected":false},"author":1,"featured_media":684,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[46,31],"class_list":["post-692","post","type-post","status-publish","format-standard","hentry","category-ccie","tag-multicast","tag-published"],"_links":{"self":[{"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/posts\/692","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/feralpacket.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=692"}],"version-history":[{"count":1,"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/posts\/692\/revisions"}],"predecessor-version":[{"id":700,"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/posts\/692\/revisions\/700"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/feralpacket.org\/index.php?rest_route=\/wp\/v2\/media\/684"}],"wp:attachment":[{"href":"https:\/\/feralpacket.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=692"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/feralpacket.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=692"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/feralpacket.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=692"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}