| 리포트 | 기술문서 | 테크-블로그 | 글로벌 블로그 | 원샷 갤러리 | 통신 방송 통계  | 한국 ICT 기업 총람 |

제품 검색

| 네트워크/통신 뉴스 | 기술자료실 | 자유게시판 |  
 
 
섹션 5G 4G LTE C-RAN/Fronthaul Gigabit Internet IPTV/UHD IoT SDN/NFV Wi-Fi Video Streaming KT SK Telecom LG U+ OTT Network Protocol CDN YouTube Data Center
 
스폰서채널 |

 

  스폰서채널 서비스란?
Multicast 프로토콜의 이해 - IGMP & PIM-SM
Understanding of the Multicast Protocol: IGMP & PIM-SM
By Netmanias (tech@netmanias.com)
banner
코멘트 (2)
17

김소연 2016-01-12 15:13:45

좋은 자료 감사합니다.

김안진 2016-07-10 10:59:02

좋은자료 감사드립니다.!

 

Thank you for visiting Netmanias! Please leave your comment if you have a question or suggestion.
Transcript
Netmanias 기술문서: Multicast 프로토콜의이해IGMP & PIM-SM

Multicast 프로토콜의이해: IGMP & PIM-SM
2008년7월10일
NMC Consulting Group(tech@netmaniascom)

2
1IGMP
11 Purpose of Multicast
12 IGMPv2 Overview
13 IGMPv2 QuerierElection
14 IGMP Operation (Join / Leave)
15 IGMPv2 PDUs
16 Max Response Time and Leave Latency
17 Summary of IGMPv2
2 PIM-SM
21 Architecture of Multicast Router
22 RP (Rendezvous Point)
23 BSR (Boot Strap Router)
24 RPT and SPT
25 PIM-SM Register Process
26 PIM-SM Service Procedure
27 PIM Hello and DR
3 Appendix
31 Comparison between IGMP Version 1 and 2
32 Cisco Proprietary PIM-SM State Flags
32 References
Table of Contents

3
Purpose of Multicast
[Using Unicast]
R3AGG-R1R1(RP)
R4R2(BSR)
Mcast SrcIn 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
Ha1Ha2Ha3[with IGMP Snooping]
L2 SwitchR3AGG-R1R1(RP)
R4R2(BSR)
Mcast SrcHdHa1Ha2Ha3[without IGMP Snooping]
L2 SwitchJoinJoinUnicast vs Multicast in point of Layer 3[Using Multicast]
Unicast vs Multicast in point of Layer 2The same subnetThe same subnetR3AGG-R1R1(RP)
R4R2(BSR)
Mcast SrcHaHbHcHd8010115/248010215/248010315/2481115/24R3AGG-R1R1(RP)
R4R2(BSR)
Mcast SrcHaHbHc8010115/248010215/248010315/24Hd81115/24Lets assume that hosts Ha, Hb, Hcand Hdwant to get a identical streaming
service which is an unidirectional downstream If Unicast is used therell be waste
of bandwidth between McastSrcto R2 Its valuable to compare it with the case
using Multicast
HdMulticast Data TrafficIGMP, PIM Message

4
IGMPv2 Overview (1/2)
Ha1Ha2Ha3L2 Switch8010110/2412IGMP General Queryevery 125secondsR1(Querier)
IGMPv2 General Query and IGMPv2 JoinIGMP Specific Query and IGMPv2 Leave567R1# shipigmpgroupsIGMP Connected Group MembershipGroup Address Interface Uptime Expires Last Reporter23011101 ge2101 01:45:02 00:02:22 801011523011102 ge2101 01:45:08 00:02:20 8010117If Expires’is expired, the corresponding entry will be disappeared
IGMPv2 Router always remember just only the last reporterbecause the important thing is whether there is any hostwhich
joined the group rather than how many hosts are exist
12Ha1Ha2Ha3L2 Switch8010110/2412IGMP Specific Query(23011102)
R1(Querier)
IGMP Leave (23011102)
56712After receiving IGMP Leave message, IGMPv2 Router sends IGMP
Specific Query to the subnet in case that any host is still exist
Ha1Ha2Ha3L2 Switch8010110/2412IGMP General Queryevery 125secondsR1(Querier)
IGMP Join (23011101)IGMP Join (23011102)
5671232

5
IGMPv2 Overview (2/2)
Ha1Ha3L2 Switch8010110/2412IGMP General Queryevery 125secondsR1(Querier)
IGMP Message Suppression56712Lets assume that hosts Ha1 and Ha3 want to join the group 23011102 After
receiving IGMP General Query, Ha1 sets Max Response Time with 5 while Ha3
sets it with 3
Ha1Ha2Ha3L2 Switch8010110/2412R1(Querier)
IGMP Join (23011102)
56722T=0T=3T=5221Ha1Ha2Ha3L2 Switch8010110/2412R1(Querier)
567IGMP Join Message is
suppressed from Ha1 because
the Join message is of no use
Ha2

6
IGMPv2 Querier Election
At the beginning, each Multicast Router sends IGMP General QueryR1R2Multicast
SourceHa1Ha2Ha3L2 SwitchIGMP General Query8010110/2412R1becomes the querierof 8010110/24 networkHa1Ha2Ha3L2 Switch8010110/2412For 8010111 < 8010112Im Querier over this subnet
For 8010111 < 8010112Im not QuerierStart “querier timer (250s)”
T=0T=1Reset Querier Timer(250s) whenever receives IGMP General Query
from querier which is superior to itselfHa1Ha2Ha3L2 Switch8010110/2412For 771343 < 771344Reset “querier timer (250s)”
whenever receives General QueryT=1268010115/248010115/248010115/248010115/24Multicast Data TrafficIGMP, PIM MessageIGMP General QueryQueriersends IGMP General Queryevery 125secondsHa1Ha2Ha3L2 Switch8010110/2412Querier send General Query
every 125 secondsT=125IGMP General QueryR1(Querier)
R1(Querier)
R2R2R1(Querier)R2

7
IGMPv2 Operation (Join)
Multicast Src(40112)
Ha1Ha2Ha3L2 Switch8010110/2412(40112, 23011101)
8010115/24T=0T=1Multicast stream service is startedHa1 sends a IGMP Join Message in order to get a Multicast streamR1(DR)R2Multicast Src(40112)
Ha1Ha2Ha3L2 Switch8010110/2412IGMP Join to230111018010115/2412R1#show ipigmpgroupsIGMP Connected Group MembershipGroup Address Interface Uptime Expires Last Reporter23011101 ge401:45:02 00:02:22 8010415R1#show ipmrouteIP Multicast Routing TableFlags: I -Immediate Stat, T -Timed Stat, F -Forwarder
installedTimers: Uptime/Stat ExpiryInterface State: Interface (TTL)
ge1ge2ge4R1#show ipigmpgroupsIGMP Connected Group MembershipGroup Address Interface Uptime Expires Last Reporter23011101 ge401:45:03 00:02:21 8010415R1#show ipmrouteIP Multicast Routing TableFlags: I -Immediate Stat, T -Timed Stat, F -Forwarder
installedTimers: Uptime/Stat ExpiryInterface State: Interface (TTL)
(40112, 23011101),uptime 01:41:50, stat expires 00:02:20Owner PIM-SM, Flags: TFIncoming interface: ge1Outgoinginterface list:
ge4 (1)
※No Multicast traffic, no entry in the MROUTE table※R1 is DR of 8010110/24※R1 is DR of 8010110/242R1(DR)

8
IGMPv2 Operation (Leave)
Mcast Src(40112)
Ha1Ha2Ha3L2 Switch8010110/2412(40112, 23011101)
8010115/24T=101T=102Multicast stream service is startedHa1 sends a IGMP Join Message in order to get a Multicast streamR1(DR, Querier)
R2Mcast Src(40112)
Ha1Ha2Ha3L2 Switch8010110/2412IGMP Leave to23011101PIM-DR8010115/2412ge1ge2ge4R1#show ipigmpgroupsIGMP Connected Group MembershipGroup Address Interface Uptime Expires Last ReporterR1#show ipmrouteIP Multicast Routing TableFlags: I -Immediate Stat, T -Timed Stat, F -Forwarder
installedTimers: Uptime/Stat ExpiryInterface State: Interface (TTL)
(40112, 23011101),uptime 01:43:31, stat expires 00:02:20Owner PIM-SM, Flags: TFIncoming interface: ge1Outgoinginterface list:
nullR1#show ipigmpgroupsIGMP Connected Group MembershipGroup Address Interface Uptime Expires Last Reporter23011101 ge4 01:46:43 00:00:41 8010415R1#show ipmrouteIP Multicast Routing TableFlags: I -Immediate Stat, T -Timed Stat, F -Forwarder
installedTimers: Uptime/Stat ExpiryInterface State: Interface (TTL)
(40112, 23011101),uptime 01:43:30, stat expires 00:02:20Owner PIM-SM, Flags: TFIncoming interface: ge1Outgoinginterface list:
ge4 (1)
IGMP Specific Query
-23011102
3※Theres no IGMP Join Message

9
IGMPv2 PDU
TypeMaxRespTimeChecksumGroup AddressPDU FormatType=0x11MaxResp=100ChecksumGroup Address = 0General QueryType=0x11MaxResp=10ChecksumGroup Address = 23011101Specific Query0 7 15 23 31Destination Mac = 01:00:5e:00:00:01Source Mac = 00:00:00:00:00:01
IP Protocol Type = 0x02 (IGMP)
Source IP = 8010111Destination IP = 224001Type=0x11MaxResp=100ChecksumGroup Address = 0Destination Mac = 01:00:5e:01:01:65Source Mac = 00:00:00:00:00:01
IP Protocol Type = 0x02 (IGMP)
Source IP = 8010111Destination IP = 23011101Type=0x11MaxResp=10ChecksumGroup Address = 23011101Type=0x12MaxResp=0ChecksumGroup Address = 23011101IGMP V1 Membership ReportType=0x17MaxResp=0ChecksumGroup Address = 23011101Leave GroupType=0x16MaxResp=0ChecksumGroup Address = 23011101IGMP V2 Membership ReportGeneral QuerySpecific QueryDestination Mac = 01:00:5e:00:00:02Source Mac = 00:00:00:00:00:01
IP Protocol Type = 0x02 (IGMP)
Source IP = 8010115Destination IP = 224002Type=0x12MaxResp=0ChecksumGroup Address = 23011101Destination Mac = 01:00:5e:00:00:02Source Mac = 00:00:00:00:00:01
IP Protocol Type = 0x02 (IGMP)
Source IP = 8010115Destination IP = 224002Type=0x16MaxResp=0ChecksumGroup Address = 23011101IGMP V1 Membership ReportIGMP V2 Membership ReportDestination Mac = 01:00:5e:00:00:02Source Mac = 00:00:00:00:00:01
IP Protocol Type = 0x02 (IGMP)
Source IP = 8010115Destination IP = 224002Type=0x17MaxResp=0ChecksumGroup Address = 23011101IGMP V2 Leave GroupExamples at subnet 8010110/24IGMP PDU Formats※Max Response Times Unit is 1/10 second

10
Max Response Time and Leave Latency (1/2)
R1(Querier)
Mcast Src(40112)
8010110/2412IGMP General QueryLets assume there are plenty of hosts which want to receive Multicast
streamHa1Ha2Ha3Ha4Ha5Ha6HaN……
L2 Switch8010110/2412IGMP Join to
23011101 ~ 104Case of no “Max Response Time”
Ha1Ha2Ha3Ha4Ha5Ha6HaN……
L2 Switch8010110/2412IGMP Join to
23011101 ~ 104Case of “Max Response Time”
Ha1Ha2Ha3Ha4Ha5Ha6HaN……
L2 Switch8010110/2412IGMP Join to
23011101 ~ 104If “Max Response Time” and the randomness are used,
the responses will be scattered evenly
Ha1Ha2Ha3Ha4Ha5Ha6HaN……
L2 SwitchT=0T=1T’=1T’=21221212R2

11
Max Response Time and Leave Latency (2/2)
Mcast Src(40112)
48010110/2412IGMP Leave for
23011101Lets assume Ha1 is the last one that has joined to 23011101
and it sends IGMP Leave Message
Ha1Ha2Ha3Ha4Ha5Ha6HaN……
L2 Switch8010110/2412IGMP Specific Query to
23011101MaxResponseTime=1sHa1Ha2Ha3Ha4Ha5Ha6HaN……
L2 Switch8010110/2412Because there isnt any response of 23011101 from hosts after IGMP
Specific Query, R2 can make assure theres not host which has joined in
23011101 any more
Ha1Ha2Ha3Ha4Ha5Ha6HaN……
L2 SwitchT=100T=101T=10212122R1(Querier)R2※No IGMP Join messagefor 230111012

12
Summary of IGMPv2
Mcast Src(40112)
IGMP Join to23011101Destination Mac = 01:00:5e:01:01:65Source Mac = 00:00:00:00:00:01
IP Protocol Type = 0x02 (IGMP)
Source IP = 8010111Destination IP = 23011101Type=0x11MaxResp=10ChecksumGroup Address = 23011101Specific Query(when IGMP Leave is received)
R2(DR)
2R1(Querier)
1Ha1Ha2Ha3L2 Switch8010110/24Destination Mac = 01:00:5e:00:00:01Source Mac = 00:00:00:00:00:01
IP Protocol Type = 0x02 (IGMP)
Source IP = 8010111Destination IP = 224001Type=0x11MaxResp=100ChecksumGroup Address = 0General Query (on every 125s)
Destination Mac = 01:00:5e:00:00:02Source Mac = 00:00:00:01:00:05
IP Protocol Type = 0x02 (IGMP)
Source IP = 8010115Destination IP = 224002Type=0x16MaxResp=0ChecksumGroup Address = 23011101IGMP V2 Membership ReportDestination Mac = 01:00:5e:00:00:02Source Mac = 00:00:00:01:00:05
IP Protocol Type = 0x02 (IGMP)
Source IP = 8010115Destination IP = 224002Type=0x17MaxResp=0ChecksumGroup Address = 23011101IGMP V2 Leave Group8010115/24※Reserved Multicast Address224001 All Host224002 All Multicast Router2240013 All Multicast PIM Router

13
Architecture of Multicast Router
Ha1R1(DR)
Mcast SrcIaIcIbIdR2(DR)
AGG-R1(40112, 230,11101)
R1 is DRPIM-SM Mroute TableIGMP Membership TableMulticast FIB TableGroup AddressInterface List23011101Ic23011102Ic23011103Ic23011104Ic(S,G) I-IntfO-Intf4011223011101IdIb4011223011102IdIb4011223011103IdIb4011223011104IdIb(S,G) I-IntfO-Intf4011223011101IdIb, Ic4011223011102IdIb, Ic4011223011103IdIb, Ic4011223011104IdIb, IcIGMP Join to
23011101R1Valid only if R1 is DRHa1R1Mcast SrcIaIcIbIdR2(DR)
AGG-R1(40112, 230,11101)
R1 is not DRPIM-SM Mroute TableIGMP Membership TableMulticast FIB TableGroup AddressInterface List23011101Ic23011102Ic23011103Ic23011104Ic(S,G) I-IntfO-Intf4011223011101IdIb4011223011102IdIb4011223011103IdIb4011223011104IdIb(S,G) I-IntfO-Intf4011223011101IdIb4011223011102IdIb4011223011103IdIb4011223011104IdIbIGMP Join to
23011101R1Invalid because R1 is not DRPIM Join to
23011101 (S,G)
PIM Join to
23011101 (S,G)

14
RPF (Reverse Path Forwarding)
Ha1-30115R1Mcast SrcIaIcIbIdR2-10112AGG-R1-
20112(40112, 230,11101)
RPF Check (Normal, Forwarding)
Routing Table of R1PrefixNext HopIntfMetric40110/2450112Id1010110/2410112Ia1020110/2420112Ib1030110/2430112Ic1040110/2450110/24R32IGMP Join to
23011101Ha1-30115R1Mcast SrcIaIcIbIdR2-10112AGG-R1-
20112(40112, 230,11101)
40110/24R3Ha1-30115R1Mcast SrcIaIcIbIdR2-10112AGG-R1-
20112(40112, 230,11101)
RPF Check (Abnormal, Discarding)
Routing Table of R1PrefixNext HopIntfMetric40110/2420112Ib1010110/2410112Ia1020110/2420112Ib1030110/2430112Ic1040110/24R3IGMP Join to
23011101Ha1-30115R1Mcast SrcIaIcIbIdR2-10112AGG-R1-
20112(40112, 230,11101)
40110/24R3Multicast 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
12150110/2450110/242150110/2421

15
RP (Rendezvous Point)
RP is a single commonroot of a shared tree
AGG-R1R1R2(BSR, DR)
Mcast SrcHdHa1Ha2Ha3L2 SwitchRP (Rendezvous Point)Case of Ha1 JoiningAGG-R1R1R4(RP)
R2(BSR, DR)
Mcast SrcHa1Ha2Ha3L2 SwitchIGMPv2 Join to
23011101AGG-R1R1R2(BSR, DR)
Mcast SrcHa1Ha2Ha3L2 SwitchAGG-R1R1R2(BSR)
Mcast SrcHa1Ha2Ha3L2 SwitchRPT in case of Ha1 JoiningMulticast data forwarding via RPT(4)
-4
PIM Join to (*, 23011101)
The priority value 0 is the highest priority (lower value is higher)
R3R4(RP)R3R4(RP)R3R4(RP)R3HdHdHd(10)
(10)(10)
-4
This is a RPT between R2 and R4
Multicast Data TrafficIGMP, PIM Message

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)
2240013 (for PIM-Bootstrap) usedTTL=1, hop-by-hop floodingC-RP (Candidate-RP)
C-BSR (Candidate-BSR)
BSR ElectionLets assume R3 and R2 were configured with C-BSR
R1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
C-BSR (priority=0, default)
150If Bootstrap Timer is expired then C-BSR will be elected as BSR
R1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
Elected-BSR (priority=0)
0The elected BSR sends BSR messages every 60 seconds
R1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
Elected-BSR (priority=0)
T=0T=150T=151Bootstrap TimerBootstrap Msg150

17
BSR (BootStrap Router) (2/6)
Due to C-BSR configuration, R4 starts Bootstrap Timer
R1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
Elected-BSR (priority=0)
150The elected BSR sends BSR messages every 60 seconds
R1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
Elected-BSR (priority=0)
R4 and R1 recognize that who is the current elected BSR and then
flood the messages
R1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
Elected-BSR (priority=0)
150Bootstrap TimerBootstrap MsgCurrent BSR isR2 now!!
Current BSR isR2 now!!
R3 recognizes that who is the current
elected BSRR1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
Elected-BSR (priority=0)
Current BSR isR2 now!!
C-BSR (priority=10)C-BSR (priority=10)
139T=152T=153T=200T=211

18
BSR (BootStrap Router) (3/6)
R1 (77113)
R4 (77112)R3 (77111)
Elected-BSR (priority=0)
150Bootstrap TimerBootstrap MsgC-BSR (priority=10)
If a router is superior to the current elected BSR then it discards the
given BSR message and doesnt forward it
R1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
Elected-BSR (priority=0)
C-BSR (priority=10)
138Im superior to R2!
R1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
Elected-BSR (priority=0)
C-BSR (priority=10)
137The elected BSR sends BSR messages every 60 seconds
R2 (77114)
Elected-BSR (priority=0)
C-BSR (priority=10)
81R1 (77113)
R4 (77112)R3 (77111)
Elected-BSR (priority=0)
C-BSR (priority=10)
The elected BSR sends BSR messages every 60 seconds
R2 (77114)
Elected-BSR (priority=0)
C-BSR (priority=10)
21T=212T=213T=271T=331

19
BSR (BootStrap Router) (4/6)
150Bootstrap TimerBootstrap MsgAfter R4s Bootstrap Timer is expired R4 becomes a BSR and then sends
out its BSR messages
R1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
Elected-BSR (priority=0)
Elected-BSR (priority=10)
0The elected BSR sends BSR messages every 60 seconds
R2 reset its Bootstrap Timer due to the given BSR message from R4(Because R4s BSR information is superior to R2s)
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 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
C-BSR (priority=0)
Elected-BSR (priority=10)
150Current BSR isR4 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 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
C-BSR (priority=0)
Elected-BSR (priority=10)
149Current BSR isR4 now!!
Im inferior to R4!
R1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
C-BSR (priority=0)
Elected-BSR (priority=10)
150T=352T=353T=354T=412

20
BSR (Bootstrap Router) (5/6)
C-RP-ADV-PERIOD (default=60s)
RP-Hold Time (default = C-RP-ADV-PERIOD * 25 = 150s)
C-RP advertisement uses UnicastC-RP (Candidate-RP)
Elected-BSR (Current running BSR)
C-RP advertisement to the elected BSRR1 (77113)R2 (77114)
R3 (77111)
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 (77113)R2 (77114)
R3 (77111)
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 (77113)R2 (77114)
R3 (77111)
C-RP (priority=0)
C-RP (priority=1)
Unicast to BSR, C-RP Advertisement (RP-Group set)
Bootstrap MsgT=0T=1T=2C-RP AdvR4 (77112)
E-BSR (priority=10)
R4 (77112)
E-BSR (priority=10)
R4 (77112)
RPHoldTime77111150RPHoldTime7711114977114150

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
R4s 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=60T=61T=62T=120Bootstrap MsgC-RP AdvRPHoldTime77111917711492R1 (77113)R2 (77114)
R3 (77111)
C-RP (priority=0)
C-RP (priority=1)
E-BSR (priority=10)
R4 (77112)RPHoldTime771111507711491R1 (77113)R2 (77114)
R3 (77111)
C-RP (priority=0)
C-RP (priority=1)
E-BSR (priority=10)
R4 (77112)
Unicast to BSR,
C-RP Advertisement (RP-Group set)
RPHoldTime7711114977114150R1 (77113)R2 (77114)
R3 (77111)
C-RP (priority=0)
C-RP (priority=1)
E-BSR (priority=10)
R4 (77112)
Unicast to BSR,
C-RP Advertisement (RP-Group set)
RPHoldTime77111917711492R1 (77113)R2 (77114)
R3 (77111)
C-RP (priority=0)
C-RP (priority=1)
E-BSR (priority=10)
R4 (77112)

22
RPT and SPT
RP is a single common root of a shared tree, using (*,G) Join/PruneR4(RP)
AGG-R1R1R3R2(DR)
Mcast Src(40112)
HdHa1Ha2Ha3L2 SwitchRPT (RP Path Tree)SPT (Shortest Path Tree)
Join(4)
The shortest path tree from the Multicast Source, using (S,G)
Join/Prune
SPT ThresholdWhen the given Multicast data traffic through RPT
exceeds this threshold, (S,G) Join is triggered towards Multicast Source
(10)(10)
-10
Multicast Data TrafficIGMP, PIM Message(40112, 230,11101)
R4(RP)
AGG-R1R1R3R2(DR)
Mcast Src(40112)
HdHa1Ha2Ha3L2 SwitchJoin(4)
(10)(10)
-10
(40112, 230,11101)
RPTSPT

23
PIM-SM Register Process
Mcast SrcPIM Register (Receivers Join First)
(40112, 23011101)
R3R2R140110/2421(PIM-DR)
Register Message(Unicast, encapsulated)
PIM Join(*,23011101)
R4(RP)
123Mcast Src(40112, 23011101)
R2R140110/2421(PIM-DR)
Decapsulated and Forward4PIM Join (40112, 23011101)5Mcast Src(40112, 23011101)
R2R140110/2421(PIM-DR)
Multicast forwarding
through SPT6Mcast Src(40112, 23011101)
R2R140110/2421(PIM-DR)
7Register Stop Message(Unicast)
Multicast Data TrafficPIM Join MessagePIM Register MessageDMACSMACIP (proto=103)SrcIPPIM HeaderMulticast DataDstIPPIM-SM RegisterMulticast Data※The following is the packet format of PIM-SM Register which is used in  
Multicast data traffic is encapsulated with IP packet
3R3R4(RP)
※Lets assume that the shortest path from R4 to McastSrcis
“R4R3R1”
R3R4(RP)R3R4(RP)
※SPT Joining process is omitted because ofconcentrating on the Register Process

24
PIM-SM Register Process (cont)
Mcast SrcPIM Register (Source Register First)
(40112, 23011101)
R2R140110/2421(PIM-DR)
Register Message(Unicast, encapsulated)
Mcast Src(40112, 23011101)
R140110/2421(PIM-DR)
Register Stop Message(Unicast)
Mcast Src(40112, 23011101)
R140110/2421(PIM-DR)
PIM Join (*,23011101)
R2PIM Join (40112, 23011101)
Mcast Src(40112, 23011101)
R140110/2421(PIM-DR)R21234567Multicast forwarding
through SPTMulticast forwarding
through RPTMulticast Data TrafficPIM Join MessagePIM Register MessageR3R4(RP)
R3R4(RP)
R3R4(RP)R3R4(RP)

25
PIM-SM Service Procedure (cont)
“Receivers Join First”, RP is R4R3AGG-R1R1R4(RP)
R2Mcast SrcHdHa1Ha2Ha3L2 SwitchIGMP JoinAGG-R1R1R2Mcast SrcHdHa1Ha2Ha3L2 Switch(*,G) JoinAGG-R1R1R2Mcast SrcHdHa1Ha2Ha3L2 SwitchR3R4(RP)
R3R4(RP)
-4
RegisterAGG-R1R1R2Mcast SrcHdHa1Ha2Ha3L2 SwitchR3R4(RP)
-4
(S,G) JoinAGG-R1R1R2Mcast SrcHdHa1Ha2Ha3L2 SwitchR3R4(RP)
-4
AGG-R1R1R2Mcast SrcHdHa1Ha2Ha3L2 SwitchR3R4(RP)
-4
RegisterStop123456Multicast data is forwarded through SPT

26
PIM-SM Service Procedure (cont)
“Receivers Join First”, RP is R4AGG-R1R1R2(BSR)
Mcast SrcHdHa1Ha2Ha3L2 SwitchR3R4(RP)
-4
(S,G) JoinAGG-R1R1R2(BSR)
Mcast SrcHdHa1Ha2Ha3L2 SwitchR3R4(RP)
-4
(*,G) PruneAGG-R1R1R2(BSR)
Mcast SrcHdHa1Ha2Ha3L2 SwitchR3R4(RP)
-4
(S,G) PruneAGG-R1R1R2(BSR)
Mcast SrcHdHa1Ha2Ha3L2 SwitchR3R4(RP)
-4
IGMP
LeaveAGG-R1R1R2(BSR)
Mcast SrcHdHa1Ha2Ha3L2 SwitchR3R4(RP)
-4
(S,G) PruneAGG-R1R1R2(BSR)
Mcast SrcHdHa1Ha2Ha3L2 SwitchR3R4(RP)
-4
78910Multicast data is forwarded through SPT1112

27
PIM Hello and DR
PIM HelloR1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
T=0PIM 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
105Dead TimerPIM Hello MsgPIM DRR3The router of which priority is higher (and IP Address is higher, as
tie breaker) is elected as DR
R1R4R2771120/2412771340/2434771130/24771240/241324NetworkDR771120/24771122771130/24771131771240/24771242771340/24771344(priority = 10)(priority = 10)
(priority = 20)(priority = 20)
DR is charge of sending Register Message to RPDR is charge of forwarding Multicast traffic towards downstream
DR election is preemptiveR1 (77113)
R4 (77112)
R2 (77114)
R3 (77111)
T=2085105105851051051051058510585105

28
PIM Hello and DR (cont)
PIM DR Role Sending Register MessagePIM DR Role Forwarding Multicast StreamOnly DR is charge of forwarding Multicast traffic towards
downstream
R4(RP)
R1R3R2(BSR)
Mcast SrcHa1Ha2Ha3L2 SwitchJoin(4)
DRof 8010110/24(10)(10)
-10
DR is charge of sending Register Message to RPDR election depends on PIM Hello Messages8010110/2418010115/242R1 cant forward Multicast
stream to 8010110/24
because its not the DR of
this subnet
Rather, R2 have to
forward Multicast
stream to
8010110/24R4(RP)
R1R3R2(BSR)
Mcast Src(4)
DRof 40110/24(10)
-10
-10
102The same subnet40110/244340112Multicast Data TrafficIGMP MessagePIM Register Message

29
Appendix 1 Comparison between IGMP version 1 and 2
V2 host must report with V1 ReportIn IGMPv2,1 IGMP Leave Message is introduced-in order to decrease the leave latency2 IGMP Version and Type in the PDU are merged-for backward compatibility3 Max Response Time is used-in order to avoid burst4 IGMP Specific Query is introduced
-in order to reduce the leave latency5 IGMP Query Interval Timers default value is changed-from 60s to 125sIGMPv1 Router -IGMPv2 Host InteroperabilityDifference between IGMPv1 and IGMPv2IGMPv1IGMPv2Leave MessageXOVersion/TypeVersion -4bitType -4bitVersion
8010110/2412IGMPv1 Join to
23011101IGMPv2 HostHa1Ha2Ha3Ha4Ha5Ha6HaN…

L2 SwitchIGMPv1 General
QueryIf 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
12

30
Appendix 1 Comparison between IGMP version 1 and 2 (cont)
Administrator has to configure IGMPv2 Routers to use
IGMPv1
IGMPv1 Router -IGMPv2 Router InteroperabilityR1(RP)R2(BSR)
Mcast Src(40112)
771340/24348010110/2412PIM-DRNo IGMP SnoopingHa2Ha3Ha4Ha5Ha6HaN…

L2 SwitchIGMPv1 General
Query1V2 Router must set a version1 Host Present
Countdown Timer (125s)
2V2 Router has to ignore IGMP Leave message from
that Multicast group
IGMPv2 Router -IGMPv1 Host InteroperabilityR1(RP)R2(BSR)
Mcast Src(40112)
771340/24348010110/2412IGMPv1 Join to
23011101PIM-DRNo IGMP SnoopingIGMPv1 HostHa1Ha2Ha3Ha4Ha5Ha6HaN…

L2 SwitchIGMPv2 General
QueryNote 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 1Ha112

31
Appendix 2 Cisco Proprietary PIM-SM State Flags
FlagMeaningExplanationSSparse ModeThe multicast group is a sparse mode group
This flag appears only on (*,G) entries
CConnectedThere is a directly connected member for this
multicast group
LLocalThe router itself is a member of this group
PPrunedThe outgoing interface list is NULL
TSPTThis traffic is being forwarded via the (S,G) entry
This flag appears only on (S,G) entry
XProxy-Join TimerProxy-Join timer is running
This flag appears only on (S,G) entry
JJoin SPT(*,G)
The rate of traffic flowing down the shared tree
exceeds the SPT-Threshold For sparse mode (*,G)
JJoin SPT(S,G)
This source was previously cut over to the SPT
For sparse mode (S,G)
FRegisterThis is used on (S,G) entries to indicate that this must
send Register Message for this traffic
RRP-bit (S,G) onlyThis is RP-bit flag Information in the (S,G) entry is
applicable to the shared tree
Cisco Proprietary PIM-SM State Flags

32
References
Beau Williamson, Developing IP Multicast Network
Beau Williamson, InterdomainMulticast Routing

33
End of Document

 

 

     
         
     

 

     
     

넷매니아즈 회원 가입 하기

2019년 1월 현재 넷매니아즈 회원은 49,000+분입니다.

 

넷매니아즈 회원 가입을 하시면,

► 넷매니아즈 신규 컨텐츠 발행 소식 등의 정보를

   이메일 뉴스레터로 발송해드립니다.

► 넷매니아즈의 모든 컨텐츠를 pdf 파일로 다운로드

   받으실 수 있습니다. 

     
     

 

     
         
     

 

 

비밀번호 확인
코멘트 작성시 등록하신 비밀번호를 입력하여주세요.
비밀번호