Understanding of the Multicast Protocol : IGMP & PIM-SM

5,896 views

Published on

Download a PDF file: http://www.netmanias.com/en/?m=view&id=techdocs&no=5915&vm=ppt
You can also find and download more materials from http://www.netmanias.com

Published in: Technology, News & Politics
0 Comments
14 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,896
On SlideShare
0
From Embeds
0
Number of Embeds
1,448
Actions
Shares
0
Downloads
0
Comments
0
Likes
14
Embeds 0
No embeds

No notes for slide

Understanding of the Multicast Protocol : IGMP & PIM-SM

  1. 1. About NMC Consulting Group NMC Consulting Group is an advanced and professional network consulting company, specializing in IP network areas (e.g., FTTH, Metro Ethernet and IP/MPLS), service areas (e.g., IPTV, IMS and CDN), and wireless network areas (e.g., Mobile WiMAX, LTE and Wi-Fi) since 2002. Copyright © 2002-2013NMC Consulting Group. All rights reserved. www.nmcgroups.com Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM Understanding of the Multicast Protocol : IGMP & PIM-SM July 10, 2008 NMC Consulting Group (tech@netmanias.com) www.netmanias.com www.nmcgroups.com
  2. 2. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 2 1. IGMP 1.1 Purpose of Multicast 1.2 IGMPv2 Overview 1.3 IGMPv2 Querier Election 1.4 IGMP Operation (Join / Leave) 1.5 IGMPv2 PDUs 1.6 Max Response Time and Leave Latency 1.7 Summary of IGMPv2 2. PIM-SM 2.1 Architecture of Multicast Router 2.2 RP (Rendezvous Point) 2.3 BSR (Boot Strap Router) 2.4 RPT and SPT 2.5 PIM-SM Register Process 2.6 PIM-SM Service Procedure 2.7 PIM Hello and DR 3. Appendix 3.1 Comparison between IGMP Version 1 and 2 3.2 Cisco Proprietary PIM-SM State Flags 3.2 References Table of Contents
  3. 3. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 3 Purpose of Multicast [Using Unicast] R3 AGG-R1 R1(RP) R4 R2(BSR) Mcast Src In case of Layer 2, due to the flooding, there is always waste of bandwidth. Most of vendors provide the “IGMP Snoop” functionality for saving bandwidth at Layer 2. Ha1 Ha2 Ha3 [with IGMP Snooping] L2 Switch R3 AGG-R1 R1(RP) R4 R2(BSR) Mcast Src Hd Ha1 Ha2 Ha3 [without IGMP Snooping] L2 Switch Join Join Unicast vs Multicast in point of Layer 3 [Using Multicast] Unicast vs Multicast in point of Layer 2 The same subnet The same subnet R3 AGG-R1 R1(RP) R4 R2(BSR) Mcast Src Ha Hb Hc Hd 80.101.1.5/24 80.102.1.5/24 80.103.1.5/24 81.1.1.5/24 R3 AGG-R1 R1(RP) R4 R2(BSR) Mcast Src Ha Hb Hc 80.101.1.5/24 80.102.1.5/24 80.103.1.5/24 Hd 81.1.1.5/24 Let’s assume that hosts Ha, Hb, Hc and Hd want to get a identical streaming service which is an unidirectional downstream. If Unicast is used there’ll be waste of bandwidth between Mcast Src to R2. It’s valuable to compare it with the case using Multicast. HdMulticast Data Traffic IGMP, PIM Message
  4. 4. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 4 IGMPv2 Overview (1/2) Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 .1 .2IGMP General Query every 125 seconds R1(Querier) IGMPv2 General Query and IGMPv2 Join IGMP Specific Query and IGMPv2 Leave .5 .6 .7 R1# sh ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 230.1.1.101 ge2.101 01:45:02 00:02:22 80.101.1.5 230.1.1.102 ge2.101 01:45:08 00:02:20 80.101.1.7 If ‘Expires’ is expired, the corresponding entry will be disappeared. IGMPv2 Router always remember just only the last reporter because the important thing is whether there is any host which joined the group rather than how many hosts are exist. 1 2 Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 .1 .2IGMP Specific Query (230.1.1.102) R1(Querier) IGMP Leave (230.1.1.102) .5 .6 .7 1 2 After receiving IGMP Leave message, IGMPv2 Router sends IGMP Specific Query to the subnet in case that any host is still exist. Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 .1 .2IGMP General Query every 125 seconds R1(Querier) IGMP Join (230.1.1.101) IGMP Join (230.1.1.102) .5 .6 .7 1 23 2
  5. 5. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 5 IGMPv2 Overview (2/2) Ha1 Ha3 L2 Switch 80.101.1.0/24 .1 .2IGMP General Query every 125 seconds R1(Querier) IGMP Message Suppression .5 .6 .7 1 2 Let’s assume that hosts Ha1 and Ha3 want to join the group 230.1.1.102. After receiving IGMP General Query, Ha1 sets Max Response Time with 5 while Ha3 sets it with 3. Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 .1 .2 R1(Querier) IGMP Join (230.1.1.102) .5 .6 .7 2 2 T=0 T=3 T=5 2 2 1 Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 .1 .2 R1(Querier) .5 .6 .7 IGMP Join Message is suppressed from Ha1 because the Join message is of no use. Ha2
  6. 6. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 6 IGMPv2 Querier Election At the beginning, each Multicast Router sends IGMP General Query R1 R2 Multicast Source Ha1 Ha2 Ha3 L2 Switch IGMP General Query 80.101.1.0/24 .1 .2 R1 becomes the querier of 80.101.1.0/24 network Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 .1 .2 For 80.101.1.1 < 80.101.1.2 I’m Querier over this subnet. For 80.101.1.1 < 80.101.1.2 I’m not Querier Start “querier timer (250s)” T=0 T=1 Reset Querier Timer(250s) whenever receives IGMP General Query from querier which is superior to itself Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 .1 .2 For 77.1.34.3 < 77.1.34.4 Reset “querier timer (250s)” whenever receives General Query T=126 80.101.1.5/24 80.101.1.5/24 80.101.1.5/24 80.101.1.5/24 Multicast Data Traffic IGMP, PIM Message IGMP General Query Querier sends IGMP General Query every 125 seconds Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 .1 .2 Querier send General Query every 125 seconds T=125 IGMP General Query R1(Querier) R1(Querier) R2 R2 R1(Querier) R2
  7. 7. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 7 IGMPv2 Operation (Join) Multicast Src (40.1.1.2) Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 .1 .2 (40.1.1.2, 230.1.1.101) 80.101.1.5/24 T=0 T=1 Multicast stream service is startedHa1 sends a IGMP Join Message in order to get a Multicast stream R1(DR) R2 Multicast Src (40.1.1.2) Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 .1 .2 IGMP Join to 230.1.1.101 80.101.1.5/24 1 2 R1#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 230.1.1.101 ge4 01:45:02 00:02:22 80.104.1.5 R1#show ip mroute IP Multicast Routing Table Flags: I - Immediate Stat, T - Timed Stat, F - Forwarder installed Timers: Uptime/Stat Expiry Interface State: Interface (TTL) ge1 ge2 ge4 R1#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 230.1.1.101 ge4 01:45:03 00:02:21 80.104.1.5 R1#show ip mroute IP Multicast Routing Table Flags: I - Immediate Stat, T - Timed Stat, F - Forwarder installed Timers: Uptime/Stat Expiry Interface State: Interface (TTL) (40.1.1.2, 230.1.1.101), uptime 01:41:50, stat expires 00:02:20 Owner PIM-SM, Flags: TF Incoming interface: ge1 Outgoing interface list: ge4 (1) ※ No Multicast traffic, no entry in the MROUTE table ※ R1 is DR of 80.101.1.0/24 ※ R1 is DR of 80.101.1.0/24 2 R1(DR)
  8. 8. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 8 IGMPv2 Operation (Leave) Mcast Src (40.1.1.2) Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 .1 .2 (40.1.1.2, 230.1.1.101) 80.101.1.5/24 T=101 T=102 Multicast stream service is startedHa1 sends a IGMP Join Message in order to get a Multicast stream R1(DR, Querier) R2 Mcast Src (40.1.1.2) Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 .1 .2 IGMP Leave to 230.1.1.101 PIM-DR 80.101.1.5/24 1 2 ge1 ge2 ge4 R1#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter R1#show ip mroute IP Multicast Routing Table Flags: I - Immediate Stat, T - Timed Stat, F - Forwarder installed Timers: Uptime/Stat Expiry Interface State: Interface (TTL) (40.1.1.2, 230.1.1.101), uptime 01:43:31, stat expires 00:02:20 Owner PIM-SM, Flags: TF Incoming interface: ge1 Outgoing interface list: null R1#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 230.1.1.101 ge4 01:46:43 00:00:41 80.104.1.5 R1#show ip mroute IP Multicast Routing Table Flags: I - Immediate Stat, T - Timed Stat, F - Forwarder installed Timers: Uptime/Stat Expiry Interface State: Interface (TTL) (40.1.1.2, 230.1.1.101), uptime 01:43:30, stat expires 00:02:20 Owner PIM-SM, Flags: TF Incoming interface: ge1 Outgoing interface list: ge4 (1) IGMP Specific Query (230.1.1.102) 3 ※ There’s no IGMP Join Message
  9. 9. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 9 IGMPv2 PDU Type Max.Resp.Time Checksum Group Address PDU Format Type=0x11 Max.Resp=100 Checksum Group Address = 0 General Query Type=0x11 Max.Resp=10 Checksum Group Address = 230.1.1.101 Specific Query 0 7 15 23 31 Destination Mac = 01:00:5e:00:00:01 Source Mac = 00:00:00:00:00:01 IP Protocol Type = 0x02 (IGMP) Source IP = 80.101.1.1 Destination IP = 224.0.0.1 Type=0x11 Max.Resp=100 Checksum Group Address = 0 Destination Mac = 01:00:5e:01:01:65 Source Mac = 00:00:00:00:00:01 IP Protocol Type = 0x02 (IGMP) Source IP = 80.101.1.1 Destination IP = 230.1.1.101 Type=0x11 Max.Resp=10 Checksum Group Address = 230.1.1.101 Type=0x12 Max.Resp=0 Checksum Group Address = 230.1.1.101 IGMP V1 Membership Report Type=0x17 Max.Resp=0 Checksum Group Address = 230.1.1.101 Leave Group Type=0x16 Max.Resp=0 Checksum Group Address = 230.1.1.101 IGMP V2 Membership Report General Query Specific Query Destination Mac = 01:00:5e:00:00:02 Source Mac = 00:00:00:00:00:01 IP Protocol Type = 0x02 (IGMP) Source IP = 80.101.1.5 Destination IP = 224.0.0.2 Type=0x12 Max.Resp=0 Checksum Group Address = 230.1.1.101 Destination Mac = 01:00:5e:00:00:02 Source Mac = 00:00:00:00:00:01 IP Protocol Type = 0x02 (IGMP) Source IP = 80.101.1.5 Destination IP = 224.0.0.2 Type=0x16 Max.Resp=0 Checksum Group Address = 230.1.1.101 IGMP V1 Membership Report IGMP V2 Membership Report Destination Mac = 01:00:5e:00:00:02 Source Mac = 00:00:00:00:00:01 IP Protocol Type = 0x02 (IGMP) Source IP = 80.101.1.5 Destination IP = 224.0.0.2 Type=0x17 Max.Resp=0 Checksum Group Address = 230.1.1.101 IGMP V2 Leave Group Examples at subnet 80.101.1.0/24IGMP PDU Formats ※ Max Response Time’s Unit is 1/10 second
  10. 10. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 10 Max Response Time and Leave Latency (1/2) R1(Querier) Mcast Src (40.1.1.2) 80.101.1.0/24 .1 .2 IGMP General Query Let’s assume there are plenty of hosts which want to receive Multicast stream Ha1 Ha2 Ha3 Ha4 Ha5 Ha6 HaN…… L2 Switch 80.101.1.0/24 .1 .2 IGMP Join to 230.1.1.101 ~ 104 Case of no “Max Response Time” Ha1 Ha2 Ha3 Ha4 Ha5 Ha6 HaN…… L2 Switch 80.101.1.0/24 .1 .2 IGMP Join to 230.1.1.101 ~ 104 Case of “Max Response Time” Ha1 Ha2 Ha3 Ha4 Ha5 Ha6 HaN…… L2 Switch 80.101.1.0/24 .1 .2 IGMP Join to 230.1.1.101 ~ 104 If “Max Response Time” and the randomness are used, the responses will be scattered evenly. Ha1 Ha2 Ha3 Ha4 Ha5 Ha6 HaN…… L2 Switch T=0 T=1 T’=1 T’=2 1 22 1 2 1 2 R2
  11. 11. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 11 Max Response Time and Leave Latency (2/2) Mcast Src (40.1.1.2) .4 80.101.1.0/24 .1 .2 IGMP Leave for 230.1.1.101 Let’s assume Ha1 is the last one that has joined to 230.1.1.101. and it sends IGMP Leave Message. Ha1 Ha2 Ha3 Ha4 Ha5 Ha6 HaN…… L2 Switch 80.101.1.0/24 .1 .2 IGMP Specific Query to 230.1.1.101 Max.Response.Time=1s Ha1 Ha2 Ha3 Ha4 Ha5 Ha6 HaN…… L2 Switch 80.101.1.0/24 .1 .2 Because there isn’t any response of 230.1.1.101 from hosts after IGMP Specific Query, R2 can make assure there’s not host which has joined in 230.1.1.101 any more. Ha1 Ha2 Ha3 Ha4 Ha5 Ha6 HaN…… L2 Switch T=100 T=101 T=102 1 2 1 2 2 R1(Querier) R2 ※ No IGMP Join message for 230.1.1.101 2
  12. 12. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 12 Summary of IGMPv2 Mcast Src (40.1.1.2) IGMP Join to 230.1.1.101 Destination Mac = 01:00:5e:01:01:65 Source Mac = 00:00:00:00:00:01 IP Protocol Type = 0x02 (IGMP) Source IP = 80.101.1.1 Destination IP = 230.1.1.101 Type=0x11 Max.Resp=10 Checksum Group Address= 230.1.1.101 Specific Query (when IGMP Leave is received) R2(DR) .2 R1(Querier) .1 Ha1 Ha2 Ha3 L2 Switch 80.101.1.0/24 Destination Mac = 01:00:5e:00:00:01 Source Mac = 00:00:00:00:00:01 IP Protocol Type = 0x02 (IGMP) Source IP = 80.101.1.1 Destination IP = 224.0.0.1 Type=0x11 Max.Resp=100 Checksum Group Address= 0 General Query (on every 125s) Destination Mac = 01:00:5e:00:00:02 Source Mac = 00:00:00:01:00:05 IP Protocol Type = 0x02 (IGMP) Source IP = 80.101.1.5 Destination IP = 224.0.0.2 Type=0x16 Max.Resp=0 Checksum Group Address= 230.1.1.101 IGMP V2 Membership Report Destination Mac = 01:00:5e:00:00:02 Source Mac = 00:00:00:01:00:05 IP Protocol Type = 0x02 (IGMP) Source IP = 80.101.1.5 Destination IP = 224.0.0.2 Type=0x17 Max.Resp=0 Checksum Group Address= 230.1.1.101 IGMP V2 Leave Group 80.101.1.5/24 ※Reserved Multicast Address 224.0.0.1 – All Host 224.0.0.2 – All Multicast Router 224.0.0.13 – All Multicast PIM Router
  13. 13. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 13 Architecture of Multicast Router Ha1 R1(DR) Mcast Src Ia Ic Ib Id R2(DR) AGG-R1 (40.1.1.2, 230,1.1.101) R1 is DR PIM-SM Mroute Table IGMP Membership Table Multicast FIB Table Group Address Interface List 230.1.1.101 Ic 230.1.1.102 Ic 230.1.1.103 Ic 230.1.1.104 Ic (S,G) I-Intf O-Intf 40.1.1.2230.1.1.101 Id Ib 40.1.1.2230.1.1.102 Id Ib 40.1.1.2230.1.1.103 Id Ib 40.1.1.2230.1.1.104 Id Ib (S,G) I-Intf O-Intf 40.1.1.2230.1.1.101 Id Ib, Ic 40.1.1.2230.1.1.102 Id Ib, Ic 40.1.1.2230.1.1.103 Id Ib, Ic 40.1.1.2230.1.1.104 Id Ib, Ic IGMP Join to 230.1.1.101 R1 Valid only if R1 is DR Ha1 R1 Mcast Src Ia Ic Ib Id R2(DR) AGG-R1 (40.1.1.2, 230,1.1.101) R1 is not DR PIM-SM Mroute Table IGMP Membership Table Multicast FIB Table Group Address Interface List 230.1.1.101 Ic 230.1.1.102 Ic 230.1.1.103 Ic 230.1.1.104 Ic (S,G) I-Intf O-Intf 40.1.1.2230.1.1.101 Id Ib 40.1.1.2230.1.1.102 Id Ib 40.1.1.2230.1.1.103 Id Ib 40.1.1.2230.1.1.104 Id Ib (S,G) I-Intf O-Intf 40.1.1.2230.1.1.101 Id Ib 40.1.1.2230.1.1.102 Id Ib 40.1.1.2230.1.1.103 Id Ib 40.1.1.2230.1.1.104 Id Ib IGMP Join to 230.1.1.101 R1 Invalid because R1 is not DR PIM Join to 230.1.1.101 (S,G) PIM Join to 230.1.1.101 (S,G)
  14. 14. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 14 RPF (Reverse Path Forwarding) Ha1-30.1.1.5 R1 Mcast Src Ia Ic Ib Id R2-10.1.1.2 AGG-R1- 20.1.1.2 (40.1.1.2, 230,1.1.101) RPF Check (Normal, Forwarding) Routing Table of R1 Prefix Next Hop Intf Metric 40.1.1.0/24 50.1.1.2 Id 10 10.1.1.0/24 10.1.1.2 Ia 10 20.1.1.0/24 20.1.1.2 Ib 10 30.1.1.0/24 30.1.1.2 Ic 10 40.1.1.0/24 50.1.1.0/24 R3 .2 IGMP Join to 230.1.1.101 Ha1-30.1.1.5 R1 Mcast Src Ia Ic Ib Id R2-10.1.1.2 AGG-R1- 20.1.1.2 (40.1.1.2, 230,1.1.101) 40.1.1.0/24 R3 Ha1-30.1.1.5 R1 Mcast Src Ia Ic Ib Id R2-10.1.1.2 AGG-R1- 20.1.1.2 (40.1.1.2, 230,1.1.101) RPF Check (Abnormal, Discarding) Routing Table of R1 Prefix Next Hop Intf Metric 40.1.1.0/24 20.1.1.2 Ib 10 10.1.1.0/24 10.1.1.2 Ia 10 20.1.1.0/24 20.1.1.2 Ib 10 30.1.1.0/24 30.1.1.2 Ic 10 40.1.1.0/24 R3 IGMP Join to 230.1.1.101 Ha1-30.1.1.5 R1 Mcast Src Ia Ic Ib Id R2-10.1.1.2 AGG-R1- 20.1.1.2 (40.1.1.2, 230,1.1.101) 40.1.1.0/24 R3 Multicast traffic is from the interface Id which is the same with Routing Table. Multicast traffic is not from the interface Ib which is in the Routing Table. Traffic is being discarded. .1 .2 .1 50.1.1.0/24 50.1.1.0/24 .2 .1 50.1.1.0/24 .2 .1
  15. 15. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 15 RP (Rendezvous Point) RP is a single common root of a shared tree. AGG-R1 R1 R2(BSR, DR) Mcast Src Hd Ha1 Ha2 Ha3 L2 Switch RP (Rendezvous Point) Case of Ha1 Joining AGG-R1 R1 R4(RP) R2(BSR, DR) Mcast Src Ha1 Ha2 Ha3 L2 Switch IGMPv2 Join to 230.1.1.101 AGG-R1 R1 R2(BSR, DR) Mcast Src Ha1 Ha2 Ha3 L2 Switch AGG-R1 R1 R2(BSR) Mcast Src Ha1 Ha2 Ha3 L2 Switch RPT in case of Ha1 Joining Multicast data forwarding via RPT (4) (4) PIM Join to (*, 230.1.1.101) The priority value 0 is the highest priority (lower value is higher) R3R4(RP)R3 R4(RP)R3 R4(RP)R3 Hd Hd Hd (10) (10) (10) (4) This is a RPT between R2 and R4. Multicast Data Traffic IGMP, PIM Message
  16. 16. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 16 BSR (BootStrap Router) (1/6) • Bootstrap timer (=150s, default) • BSR messages are periodically flooded every 60 seconds. • Highest value of priority is the highest priority - BSR IP Address is used as a tie breaker (high IP address win) • 224.0.0.13 (for PIM-Bootstrap) used • TTL=1, hop-by-hop flooding • C-RP (Candidate-RP) • C-BSR (Candidate-BSR) BSR Election Let’s assume R3 and R2 were configured with C-BSR. R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) C-BSR (priority=0, default) 150 If Bootstrap Timer is expired then C-BSR will be elected as BSR. R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) Elected-BSR (priority=0) 0 The elected BSR sends BSR messages every 60 seconds. R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) Elected-BSR (priority=0) T=0 T=150 T=151 Bootstrap Timer Bootstrap Msg 150
  17. 17. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 17 BSR (BootStrap Router) (2/6) Due to C-BSR configuration, R4 starts Bootstrap Timer. R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) Elected-BSR (priority=0) 150 The elected BSR sends BSR messages every 60 seconds. R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) Elected-BSR (priority=0) R4 and R1 recognize that who is the current elected BSR and then flood the messages. R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) Elected-BSR (priority=0) 150 Bootstrap Timer Bootstrap Msg Current BSR is R2 now!! Current BSR is R2 now!! R3 recognizes that who is the current elected BSR R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) Elected-BSR (priority=0) Current BSR is R2 now!! C-BSR (priority=10) C-BSR (priority=10) 139 T=152 T=153 T=200 T=211
  18. 18. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 18 BSR (BootStrap Router) (3/6) R1 (77.1.1.3) R4 (77.1.1.2)R3 (77.1.1.1) Elected-BSR (priority=0) 150 Bootstrap Timer Bootstrap Msg C-BSR (priority=10) If a router is superior to the current elected BSR then it discards the given BSR message and doesn’t forward it. R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) Elected-BSR (priority=0) C-BSR (priority=10) 138 I’m superior to R2! R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) Elected-BSR (priority=0) C-BSR (priority=10) 137 The elected BSR sends BSR messages every 60 seconds. R2 (77.1.1.4) Elected-BSR (priority=0) C-BSR (priority=10) 81 R1 (77.1.1.3) R4 (77.1.1.2)R3 (77.1.1.1) Elected-BSR (priority=0) C-BSR (priority=10) The elected BSR sends BSR messages every 60 seconds. R2 (77.1.1.4) Elected-BSR (priority=0) C-BSR (priority=10) 21 T=212 T=213 T=271 T=331
  19. 19. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 19 BSR (BootStrap Router) (4/6) 150 Bootstrap Timer Bootstrap Msg After R4’s Bootstrap Timer is expired R4 becomes a BSR and then sends out its BSR messages. R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) Elected-BSR (priority=0) Elected-BSR (priority=10) 0 The elected BSR sends BSR messages every 60 seconds. R2 reset its Bootstrap Timer due to the given BSR message from R4 (Because R4’s BSR information is superior to R2’s). Because R4 is superior to R2, R2 change its status into C-BSR and then floods the given BSR message from R4. R2 starts its Bootstrap Timer. R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) C-BSR (priority=0) Elected-BSR (priority=10) 150 Current BSR is R4 now!! Because R4 is superior to R2, R2 change its status into C-BSR and then floods the given BSR message from R4. R2 starts its Bootstrap Timer. R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) C-BSR (priority=0) Elected-BSR (priority=10) 149 Current BSR is R4 now!! I’m inferior to R4! R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) C-BSR (priority=0) Elected-BSR (priority=10) 150 T=352 T=353 T=354 T=412
  20. 20. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 20 BSR (Bootstrap Router) (5/6) • C-RP-ADV-PERIOD (default=60s) • RP-Hold Time (default = C-RP-ADV-PERIOD * 2.5 = 150s) • C-RP advertisement uses Unicast • C-RP (Candidate-RP) • Elected-BSR (Current running BSR) C-RP advertisement to the elected BSR R1 (77.1.1.3) R2 (77.1.1.4) R3 (77.1.1.1) E-BSR (priority=10) As R3 is configured as a C-RP, R3 sends a Unicast C-RP Advertisement to the elected BSR every 60 seconds. R1 (77.1.1.3) R2 (77.1.1.4) R3 (77.1.1.1) C-RP (priority=0) Unicast to BSR, C-RP Advertisement (RP-Group set) As R2 is configured as a C-RP, R2 sends a Unicast C-RP Advertisement to the elected BSR every 60 seconds. Then BSR, R4, selects the best RP. R1 (77.1.1.3) R2 (77.1.1.4) R3 (77.1.1.1) C-RP (priority=0) C-RP (priority=1) Unicast to BSR, C-RP Advertisement (RP-Group set) Bootstrap MsgT=0 T=1 T=2 C-RP Adv R4 (77.1.1.2) E-BSR (priority=10) R4 (77.1.1.2) E-BSR (priority=10) R4 (77.1.1.2) RP HoldTime 77.1.1.1150 RP HoldTime 77.1.1.1149 77.1.1.4150
  21. 21. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 21 BSR (BootStrap Router) (6/6) R2 sends a Unicast C-RP Advertisement to the elected BSR, R4, every 60 seconds. BSR, R4, selects the best RP. R4’s RP Hold Timer for R3 is reset because it is given the C-RP Advertisement from R3. The elected BSR sends BSR messages every 60 seconds. T=60 T=61 T=62 T=120 Bootstrap Msg C-RP Adv RP HoldTime 77.1.1.191 77.1.1.492 R1 (77.1.1.3) R2 (77.1.1.4) R3 (77.1.1.1) C-RP (priority=0) C-RP (priority=1) E-BSR (priority=10) R4 (77.1.1.2) RP HoldTime 77.1.1.1150 77.1.1.491 R1 (77.1.1.3) R2 (77.1.1.4) R3 (77.1.1.1) C-RP (priority=0) C-RP (priority=1) E-BSR (priority=10) R4 (77.1.1.2) Unicast to BSR, C-RP Advertisement (RP-Group set) RP HoldTime 77.1.1.1149 77.1.1.4150 R1 (77.1.1.3) R2 (77.1.1.4) R3 (77.1.1.1) C-RP (priority=0) C-RP (priority=1) E-BSR (priority=10) R4 (77.1.1.2) Unicast to BSR, C-RP Advertisement (RP-Group set) RP HoldTime 77.1.1.191 77.1.1.492 R1 (77.1.1.3) R2 (77.1.1.4) R3 (77.1.1.1) C-RP (priority=0) C-RP (priority=1) E-BSR (priority=10) R4 (77.1.1.2)
  22. 22. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 22 RPT and SPT RP is a single common root of a shared tree, using (*,G) Join/Prune R4(RP) AGG-R1 R1 R3 R2(DR) Mcast Src (40.1.1.2) Hd Ha1 Ha2 Ha3 L2 Switch RPT (RP Path Tree) SPT (Shortest Path Tree) Join (4) The shortest path tree from the Multicast Source, using (S,G) Join/Prune. SPT Threshold – When the given Multicast data traffic through RPT exceeds this threshold, (S,G) Join is triggered towards Multicast Source. (10) (10) (10) Multicast Data Traffic IGMP, PIM Message (40.1.1.2, 230,1.1.101) R4(RP) AGG-R1 R1 R3 R2(DR) Mcast Src (40.1.1.2) Hd Ha1 Ha2 Ha3 L2 Switch Join (4) (10) (10) (10) (40.1.1.2, 230,1.1.101) RPT SPT
  23. 23. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 23 PIM-SM Register Process Mcast Src PIM Register (Receivers Join First) (40.1.1.2, 230.1.1.101) R3 R2R1 40.1.1.0/24.2 .1 (PIM-DR) Register Message (Unicast, encapsulated) PIM Join (*,230.1.1.101) R4(RP) 1 2 3 Mcast Src (40.1.1.2, 230.1.1.101) R2R1 40.1.1.0/24.2 .1 (PIM-DR) Decapsulated and Forward4 PIM Join (40.1.1.2, 230.1.1.101)5 Mcast Src (40.1.1.2, 230.1.1.101) R2R1 40.1.1.0/24.2 .1 (PIM-DR) Multicast forwarding through SPT 6 Mcast Src (40.1.1.2, 230.1.1.101) R2R1 40.1.1.0/24.2 .1 (PIM-DR) 7 Register Stop Message (Unicast) Multicast Data Traffic PIM Join Message PIM Register Message DMAC SMAC IP (proto=103)SrcIP PIM Header Multicast DataDstIP PIM-SM Register Multicast Data ※ The following is the packet format of PIM-SM Register which is used in . Multicast data traffic is encapsulated with IP packet. 3 R3 R4(RP) ※ Let’s assume that the shortest path from R4 to Mcast Src is “R4R3R1” R3 R4(RP) R3 R4(RP) ※ SPT Joining process is omitted because of concentrating on the Register Process.
  24. 24. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 24 PIM-SM Register Process (cont) Mcast Src PIM Register (Source Register First) (40.1.1.2, 230.1.1.101) R2R1 40.1.1.0/24.2 .1 (PIM-DR) Register Message (Unicast, encapsulated) Mcast Src (40.1.1.2, 230.1.1.101) R1 40.1.1.0/24.2 .1 (PIM-DR) Register Stop Message (Unicast) Mcast Src (40.1.1.2, 230.1.1.101) R1 40.1.1.0/24.2 .1 (PIM-DR) PIM Join (*,230.1.1.101) R2 PIM Join (40.1.1.2, 230.1.1.101) Mcast Src (40.1.1.2, 230.1.1.101) R1 40.1.1.0/24.2 .1 (PIM-DR) R2 1 2 3 4 5 6 7 Multicast forwarding through SPT Multicast forwarding through RPT Multicast Data Traffic PIM Join Message PIM Register Message R3 R4(RP) R3 R4(RP) R3 R4(RP) R3 R4(RP)
  25. 25. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 25 PIM-SM Service Procedure (cont) “Receivers Join First”, RP is R4 R3 AGG-R1 R1 R4(RP) R2 Mcast Src HdHa1 Ha2 Ha3 L2 Switch IGMP Join AGG-R1 R1 R2 Mcast Src HdHa1 Ha2 Ha3 L2 Switch (*,G) Join AGG-R1 R1 R2 Mcast Src HdHa1 Ha2 Ha3 L2 Switch R3 R4(RP) R3 R4(RP) (4) Register AGG-R1 R1 R2 Mcast Src Hd Ha1 Ha2 Ha3 L2 Switch R3 R4(RP) (4) (S,G) Join AGG-R1 R1 R2 Mcast Src Hd Ha1 Ha2 Ha3 L2 Switch R3 R4(RP) (4) AGG-R1 R1 R2 Mcast Src HdHa1 Ha2 Ha3 L2 Switch R3 R4(RP) (4) Register Stop 1 2 3 4 5 6 Multicast data is forwarded through SPT
  26. 26. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 26 PIM-SM Service Procedure (cont) “Receivers Join First”, RP is R4 AGG-R1 R1 R2(BSR) Mcast Src HdHa1 Ha2 Ha3 L2 Switch R3 R4(RP) (4) (S,G) Join AGG-R1 R1 R2(BSR) Mcast Src Hd Ha1 Ha2 Ha3 L2 Switch R3 R4(RP) (4) (*,G) Prune AGG-R1 R1 R2(BSR) Mcast Src HdHa1 Ha2 Ha3 L2 Switch R3 R4(RP) (4) (S,G) Prune AGG-R1 R1 R2(BSR) Mcast Src HdHa1 Ha2 Ha3 L2 Switch R3 R4(RP) (4) IGMP Leave AGG-R1 R1 R2(BSR) Mcast Src Hd Ha1 Ha2 Ha3 L2 Switch R3 R4(RP) (4) (S,G) Prune AGG-R1 R1 R2(BSR) Mcast Src Hd Ha1 Ha2 Ha3 L2 Switch R3 R4(RP) (4) 7 8 9 10 Multicast data is forwarded through SPT 11 12
  27. 27. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 27 PIM Hello and DR PIM Hello R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) T=0 PIM Hello message is sent to neighbor every 30 seconds. If 105 seconds elapse without any Hello Message then the peer is considered to be died. 105 Dead Timer PIM Hello Msg PIM DR R3 The router of which priority is higher (and IP Address is higher, as tie breaker) is elected as DR. R1 R4 R2 77.1.12.0/24.1 .2 77.1.34.0/24.3 .4 77.1.13.0/24 77.1.24.0/24 .1 .3 .2 .4 Network DR 77.1.12.0/24 77.1.12.2 77.1.13.0/24 77.1.13.1 77.1.24.0/24 77.1.24.2 77.1.34.0/24 77.1.34.4 (priority = 10) (priority = 10) (priority = 20) (priority = 20) • DR is charge of sending Register Message to RP • DR is charge of forwarding Multicast traffic towards downstream. • DR election is preemptive R1 (77.1.1.3) R4 (77.1.1.2) R2 (77.1.1.4) R3 (77.1.1.1) T=20 85 105 105 85 105 105 105 105 85 105 85105
  28. 28. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 28 PIM Hello and DR (cont) PIM DR Role – Sending Register MessagePIM DR Role – Forwarding Multicast Stream • Only DR is charge of forwarding Multicast traffic towards downstream. R4(RP) R1 R3 R2(BSR) Mcast Src Ha1 Ha2 Ha3 L2 Switch Join (4) DR of 80.101.1.0/24 (10) (10) (10) • DR is charge of sending Register Message to RP • DR election depends on PIM Hello Messages 80.101.1.0/24 .1 80.101.1.5/24 .2 R1 can’t forward Multicast stream to 80.101.1.0/24 because it’s not the DR of this subnet. Rather, R2 have to forward Multicast stream to 80.101.1.0/24 R4(RP) R1 R3 R2(BSR) Mcast Src (4) DR of 40.1.1.0/24 (10) (10) (10) .10 .2 The same subnet 40.1.1.0/24 .4 .340.1.1.2 Multicast Data Traffic IGMP Message PIM Register Message
  29. 29. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 29 Appendix 1. Comparison between IGMP version 1 and 2 V2 host must report with V1 Report In IGMPv2, 1. IGMP Leave Message is introduced - in order to decrease the leave latency 2. IGMP Version and Type in the PDU are merged - for backward compatibility 3. Max Response Time is used - in order to avoid burst 4. IGMP Specific Query is introduced - in order to reduce the leave latency 5. IGMP Query Interval Timer’s default value is changed - from 60s to 125s IGMPv1 Router - IGMPv2 Host InteroperabilityDifference between IGMPv1 and IGMPv2 IGMPv1 IGMPv2 Leave Message X O Version/Type Version - 4bit Type - 4bit Version/Type 8bit Max.Response.Time Not used General Query – 10s Specific Query – 1s Specific Query X O Query Interval Timer 60s 125s R1(DR, Querier) R2 Mcast Src (40.1.1.2) 80.101.1.0/24 .1 .2 IGMPv1 Join to 230.1.1.101 IGMPv2 Host Ha1 Ha2 Ha3 Ha4 Ha5 Ha6 HaN … … L2 Switch IGMPv1 General Query If IGMPv2 host receives the IGMPv1 Query from a querier then it must send IGMPv1 Report rather than IGMPv2 report. Because IGMPv1 Router may not recognize IGMPv2 Report. 1 2
  30. 30. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 30 Appendix 1. Comparison between IGMP version 1 and 2 (cont) Administrator has to configure IGMPv2 Routers to use IGMPv1. IGMPv1 Router - IGMPv2 Router Interoperability R1(RP) R2(BSR) Mcast Src (40.1.1.2) 77.1.34.0/24.3 .4 80.101.1.0/24 .1 .2 PIM-DR No IGMP Snooping Ha2 Ha3 Ha4 Ha5 Ha6 HaN … … L2 Switch IGMPv1 General Query 1. V2 Router must set a version 1 Host Present Countdown Timer (125s). 2. V2 Router has to ignore IGMP Leave message from that Multicast group. IGMPv2 Router - IGMPv1 Host Interoperability R1(RP) R2(BSR) Mcast Src (40.1.1.2) 77.1.34.0/24.3 .4 80.101.1.0/24 .1 .2 IGMPv1 Join to 230.1.1.101 PIM-DR No IGMP Snooping IGMPv1 Host Ha1 Ha2 Ha3 Ha4 Ha5 Ha6 HaN … … L2 Switch IGMPv2 General Query Note that IGMPv1 host will respond to IGMPv2 General Query Message because IGMPv1 General Query is identical to IGMPv2 General Query except Max Response Time and in IGMPv1 Max Response Time field is ignored. Config-t# igmp version 1 Ha1 1 2
  31. 31. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 31 Appendix 2. Cisco Proprietary PIM-SM State Flags Flag Meaning Explanation S Sparse Mode The multicast group is a sparse mode group. This flag appears only on (*,G) entries. C Connected There is a directly connected member for this multicast group. L Local The router itself is a member of this group. P Pruned The outgoing interface list is NULL. T SPT This traffic is being forwarded via the (S,G) entry. This flag appears only on (S,G) entry. X Proxy-Join Timer Proxy-Join timer is running. This flag appears only on (S,G) entry. J Join SPT(*,G) The rate of traffic flowing down the shared tree exceeds the SPT-Threshold. For sparse mode (*,G). J Join SPT(S,G) This source was previously cut over to the SPT. For sparse mode (S,G). F Register This is used on (S,G) entries to indicate that this must send Register Message for this traffic. R RP-bit (S,G) only This is RP-bit flag. Information in the (S,G) entry is applicable to the shared tree. Cisco Proprietary PIM-SM State Flags
  32. 32. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 32 References  Beau Williamson, Developing IP Multicast Network  Beau Williamson, Interdomain Multicast Routing
  33. 33. Copyright © 2002-2013NMC Consulting Group. All rights reserved. Netmanias Technical Document: Understanding of the Multicast Protocol – IGMP & PIM-SM 33 End of Document
  34. 34. Copyright © 2002-2013NMC Consulting Group. All rights reserved. 34 Carrier WiFi Data Center Migration Wireline Network LTE Mobile Network Mobile WiMAX Carrier Ethernet FTTH Data Center Policy Control/PCRF IPTV/TPS Metro Ethernet MPLS IP Routing 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 eMBMS/Mobile IPTV Services CDN/Mobile CDN Transparent Caching BSS/OSS Cable TPS Voice/Video Quality IMS LTE Backaul Netmanias Research and Consulting Scope Visit http://www.netmanias.com to view and download more technical documents.

×