Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
Computer Science Technical Report Archive
/
USC Computer Science Technical Reports, no. 599 (1995)
(USC DC Other)
USC Computer Science Technical Reports, no. 599 (1995)
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
Proto col Indep enden t Multicast PIM Proto col Sp ecication
Stephen Deering
XeroxP AR C
Co y ot y Hill Road
P alo Alto CA deeringparcxero xcom
Deb orah Estrin
Computer Science Departmen tISI
Univ ersit y of Southern California
Los Angeles CA estrinuscedu
Dino F arinacci
Cisco Systems Inc
W est T asman Driv e
San Jose CA dinociscocom
V an Jacobson
La wrence Berk eley Lab oratory
Cyclotron Road
Berk eley CA v aneelblgo v
Chinggung Liu
Computer Science Departmen t
Univ ersit y of Southern California
Los Angeles CA c harleycatarinauscedu
Liming W ei
Computer Science Departmen t
Univ ersit y of Southern California
Los Angeles CA lw eicatarinauscedu
draftietfidmrpimsp ecps
Jan uary Status of This Memo
This do cumentis anIn ternet Draft In ternet Drafts are w orking do cumen ts of the In ternet Engineering T ask
F orce IETF its Areas and its W orking Groups Note that other groups ma y also distribute w orking do cumen ts
as In ternet Drafts
In ternet Drafts are draft do cumen ts v alid for a maxim um of six mon ths In ternet Drafts ma y b e up dated
replaced or obsoleted b y other do cumen ts at an y time It is not appropriate to use In ternet Drafts as reference
material or to cite them other than as a w orking draft or w ork in progress
Please c hec k the ID abstract listing con tained in eachIn ternet Draft directory to learn the curren t status of
this or an y other In ternet Draft
Giv en the length of this author list it seems appropriate to iden tify the roles pla y ed byeac h of the authors who are listed
in alphab etical order Jacobson prop osed the original idea of sending join messages to w ards disco v ered sources as a means
of supp orting sparse m ulticast groups The detailed arc hitecture and supp orting proto cols w ere dev elop ed as a collab orativ e
eort of Deering Estrin F arinacci and Jacobson More recen tly Liu iden tied and xed sev eral critical proto col bugs as
part of his implemen tation eort and W ei pro vided data to supp ort the need for shortest path distribution trees SPT and
con tributed to proto col dev elopmen t as part of his sim ulation eort Estrin Liu and W ei w ere supp orted b y gran ts from
the National Science F oundation and Sun Microsystems
draftietfidmrpimsp ecps In tro duction
This do cumen t describ es proto cols for ecien tly routing to m ulticast groups that ma y span widearea
and in terdomain in ternets W e refer to the approac h as Proto col Indep enden t Multicast PIM b ecause
it is not dep endentonan y particular unicast routing proto col
This do cumen t describ es the proto col details F or the motiv ation b ehind the design and a description
of the arc hitecture see Section summarizes PIM op eration in b oth Sparse Mo de SM and Dense Mo de DM It describ es
the proto col from the p ersp ectiv e of the o v erall net w ork and ho w the participating routers in teract
to create and main tain the m ulticast distribution tree Section describ es PIM op erations from the
p ersp ectiv e of a single router implemen ting the proto col this section constitutes the main b o dy of the
proto col sp ecication It is organized according to PIM message t yp e for eac h message t yp e w e describ e
its con ten ts its generation and its pro cessing Section pro vides pac k et format details and section
pro vides pseudo co de that corresp onds to the functions describ ed in section ho w ev er it is just for
illustration
Editors Note the next v ersion of the sp ecication will include a few small proto col c hanges to
accommo date sourcesp ecic pruning o of the RPtree and an up dated and more detailed discussion
of PIMnonPIM in teraction Section is authoritativ e
PIM Proto col Ov erview
In this section w e pro vide an o v erview of the arc hitectural comp onen ts of PIM F or clarit yw e describ e the
general b eha vior of PIMDense Mo de and PIMSparse Mo de separately Ho w ev er the detailed proto col
mec hanisms dev elop ed to realize sparse and dense mo de functionalit y are describ ed in an in tegrated
manner in subsequen t sections W e also describ e sp ecial mec hanisms used b y b oth PIMDM and PIM
SM when op erating o v er m ultiaccess net w orks
PIMDense Mo de PIMDM
PIMDM forw ards data pac k ets on to all outgoing in terfaces except the exp ected incoming in terface
un til pruning o ccurs Once truncation o ccurs pruning state is main tained in routers that are not on the
steadystate distribution tree and pac k ets are only forw arded on to outgoing in terfaces oif that in fact
reachdo wnstream mem bers The rest of this subsection describ es the in teraction b et w een routers in creating dense mo de m ulticast
distribution tree state
Leaf net w ork detection
In D VMRP p oison rev erse information tells a router that other routers on the shared LAN use the LAN
as their incoming in terface iif As a result ev en if a router for that LAN do es not hear an y IGMP
HostRep orts for a group the router will kno wto con tin ue to forw ard m ulticast data pac k ets to that
group and not to send a prune message to its upstream neigh b or
Since PIM do es not rely on an y unicast routing proto col mec hanisms this problem is solv ed b y using
prune messages sen t upstream on a LAN If a do wnstream router on a LAN determines that it has no
more do wnstream mem b ers for a group then it can m ulticast a prune message on the LAN
A lasthop router detects that there are no mem b ers do wnstream when it is the only activerouter on
a net w ork and there are no IGMP HostRep ort messages receiv ed from hosts It determines there are no
other routers b y not receiving PIMQuery messages
draftietfidmrpimsp ecps If an SG en try con tains an empt y outgoing in terface list ie an SG negativ e cac he en try a
prune is sen t upstream Prune information is ushed p erio dically This or a loss of state causes the
pac k ets to b e sentinrev erse path forw arding RPF mo de again whic h in turn triggers prune messages
When a prune message is sen t on an upstream LAN it is data link m ulticast and IP addressed to
the all routers group address The router to pro cess the prune will b e indicated b y inserting its
address in the Upstream Neigh b or Address eld of the message The address is obtained b yan RPF
lo okup from the unicast routing table When the prune message is sen t the exp ected upstream router
will sc hedule a deletion request of the LAN from its outgoing in terface list for the SG en try in the
prune list The suggested dela y time b efore deletion should b e greater than seconds Prunes receiv ed
on p oin ttop oin t links can prune righta w a y without sc heduling a deletion request
Note the sp ecial case for equalcost paths When an upstream router is c hosen b y an RPF lo okup
there ma y b e equalcost paths to reac h the source The higher IP addressed system is alw a ys c hosen
If the unicast routing proto col do es not store all a v ailable equalcost paths in the routing table the
Upstream Neigh b or Address eld ma ycon tain the address of the wrong upstream router T oa v oid this
situation the Upstream Neigh b or Address eld ma y optionally b e set to whic h means that all
upstream routers the ones that ha v e the LAN as an outgoing in terface for the SG en try ma y pro cess
the pac k et
Other routers on the LAN will hear the prune message and resp ond with a join if they still exp ect
m ulticast datagrams from the exp ected upstream router The PIMJoin message is data link m ulticast
and IP addressed to the all routers group address The router to pro cess the join will b e
indicated b y inserting its address in the Upstream Neigh b or Address eld of the message The address
is determined b y an RPF lo okup from the unicast routing table When the exp ected router receiv es the
join message it will cancel the deletion request
Routers will randomly generate a join message dela y timer If a join is heard from another router
b efore a router sends its o wn it will cancel sending its o wn join This will reduce trac on the LAN
The suggested join dela y timer should b e from to seconds
If the exp ected upstream router do es not receivean y PIMJoin messages b efore the sc heduled time for
the deletion request expires it deletes the outgoing LAN in terface from the SG m ulticast forw arding
en try New mem b ers joining an existing group
If a router is directly connected to a host that w an ts to b ecome a mem b er of a group the router ma y
send a PIMGraft message to w ards kno wn sources This reduces join latency indicated b y the relativ ely
large timeout v alue suggested for prune information
If a receiving router has state for group G it adds the in terface on whic h the IGMP HostRep ort or
PIMGraft w as receiv ed for all kno wn SG If the SG en try has an empt y outgoing in terface list the
router sends a PIMGraft message upstream to w ards S
If routers ha v e no group state they do nothing since densemo de PIM will deliv er a m ulticast datagram
to all in terfaces when creating state for a group
If a router receiv es a PIMGraft message on the incoming in terface for the asso ciated SG en trythe
router will not add the arriving in terface to the outgoing in terface list
The PIMGraft message uses a p ositiv eac kno wledgmen t strategy Senders of PIMGraft messages
unicast them to their upstream RPF neigh b ors The neigh b or pro cesses eac h SG and immediately
ac kno wledges eac h SG in a PIMGraftAc k message This is relativ ely easy since the receiv er simply
c hanges the IGMP co de from PIMGraft to PIMGraftAc k recomputes the c hec ksum and unicasts the
mo died pac k et bac k to the source router The sender p erio dically retransmits the PIMGraft message
for an y SG that has not b een ac kno wledged Note that the sender need not k eep a retransmission list
draftietfidmrpimsp ecps for eac h neigh b or since PIMGrafts are only sen t to the RPF neigh b or Only the SG en try needs to b e
tagged for retransmission
Proto col scenario
Am ulticast datagram is sentb y a source host If a receiving router has no forw arding cac he state for the
source sending to group G it creates an SG en try The incoming in terface for SG is determined b y
doing an RPF lo okup in the unicast routing table The SG outgoing in terface list con tains in terfaces
that ha v e PIM routers presen t and that do not violate the scoping limits of the group the list also
includes in terfaces with host mem b ers for group G PIMPrune messages receiv ed onapointto poin t link are not dela y ed b efore pro cessing as they are
in the LAN pro cedure If the prune is receiv ed on an in terface that is in the outgoing in terface list it is
deleted immediately Otherwise the prune is ignored
When a m ulticast datagram is receiv ed on the incorrect LAN in terface ie not the RPF in terface
the pac k et is silen tly discarded If it is receiv ed on an incorrect p oin ttop oin tin terface prunes ma y
b e sen t in a ratelimited fashion Prunes ma y also b e ratelimited on p oin ttop oin tin terfaces when a
m ulticast datagram is receiv ed for a en try with empt y outgoing in terface list
PIMSparse Mo de PIMSM
Sparsemo de PIM op erates b y forw arding m ulticast data pac k ets only on in terfaces from whic h explicit
join messages ha v e b een receiv ed Receiv ers designated routers DR send join messages to the RP for
eac h activ e group
Senders designated routers send register messages to the RP whic h in turn sends
join messages up to w ards the source Once the join messages ha v e propagated upstream from the RP data
pac k ets from the source will follo w the SG distribution path state established The pac k ets will tra v el
to the receiv ers via the distribution paths established b y the join messages sen t upstream from receiv ers
to w ards the RP Multicast pac k ets will arriv e at some receiv ers b efore reac hing the RP if the receiv ers and
the source are b oth upstream of the RP When the receiv ers initiate shortestpath distribution trees
additional outgoing in terfaces will b e added to the SG en try and RPbit state is set up on the RP
tree for that source The data pac k ets will b e deliv ered via the shortest paths to receiv ers Data pac k ets
will con tin ue to tra v el from the source to the RPs in order to reac h new receiv ers Similarly receiv ers
con tin ue to receiv e some data pac k ets via the RP tree in order to pic k up new senders Ho w ev er when
sourcesp ecicshortestpath tree distribution is used most data pac ketswillarriv e at receiv ers o v er a
shortest path distribution tree
The follo wing subsections describ e SM op eration in more detail in particular the con trol messages
that tra v el up and do wn the distribution tree and the actions they trigger Section describ es proto col
op eration from an implemen ters p ersp ectiv e ie the actions p erformed b y a single PIM router
Lo cal hosts joining a group
A host sends an IGMP HostRep ort message iden tifying a particular group G in resp onse to a directly
connected routers IGMP HostQuery message as sho wn in gure F rom this p ointon w e refer to suc h
a host as a receiv er R or mem b er of the group G The host also resp onds with an IGMP RPRep ort
message iden tifying the RPs for the group G see When a designatedr outer DR see section receiv es a rep ort for a new group G the DR classies
The DR will assume the role of lasthop router for the receiv ers and send join messages to the RP it migh t lose to other
router b y assert pro cess later and then the DR is no longer resp onsible for sending join messages see section
Figure Example ho w a receiv er joins and sets up shared tree
Actions are n um b ered in the order they o ccur
the group as either wide area RPbased or not
and if the group is RPbased the DR lo oks up the
asso ciated RP mapping
A DR will iden tify a new group ie one for whic h it has no existing m ulticast
en tries as needing PIMSM supp ort b yc hec king if there exists an RP mapping If there is no RP
mapping pro vided in IGMP RPRep ort messages and there is no mapping pro vided in the appropriate
conguration le then the router will assume that the group is to b e supp orted with PIMDense Mo de
F or the remainder of this description w e will assume a single RP just for the sak e of clarit yW e
discuss the direct extensibilit y to op eration with m ultiple RPs later in the do cumen t in section The DR eg router A in gure creates a m ulticast forw arding cac he for G The RP address
is included in a sp ecial record in the forw arding en try so that it will b e included in upstream join
messages The outgoing in terface is set to that o v er whic h the IGMP HostRep ort w as receiv ed from
the new mem b er The incoming in terface is set to the in terface used to send unicast pac k ets to the RP A wildcard bit W Cbit asso ciated with this en try is set indicating that this is a wildcard en try if
there is no more sp ecic matc h for a particular source it will b e forw arded according to this en tryA
RPbit asso ciated with this en try is also set indicating that this en try G represen ts state on the
shared RP tree Eac h router on the RP tree sets a timer for this en try The timer is reset eac h time an
RPReac habilit y message is receiv ed for G see section Establishing the RPro oted shared tree
The lasthop router creates a PIMJoinPrune message with the RP address in its join list with the
W Cbit and RPbit set nothing is listed in its prune list The RPbit ags the join as b eing asso ciated
with the shared tree and therefore the join is propagated along the RP tree The W Cbit indicates that
the address is an RP and the receiv er exp ects to receivepac k ets from new sources via this shared tree
path therefore upstream routers should create or add to G forw arding en tries
F or the remainder of this do cumentw e assume that the m ulticast address space is divided in suchaw a y that this
determination is made easily and consisten tly b y routers
Weha v e prop osed the use of a new host IGMP RPRep ort message that w ould allo w hosts to inform their directly
connected PIM routers of G RPs mappings Hosts will learn of RPs in the same w a y they learn of m ulticast group
addresses
Figure Example Switc hing from shared tree to shortest path tree
Actions are n um b ered in the order they o ccur
Eac h upstream router creates or up dates its m ulticast forw arding en try for G when it receiv es
a PIMJoin with the RPbit and W Cbit set The in terface on whic h the PIMJoin message arriv ed is
added to the list of outgoing in terfaces for G Based on this en try eac h upstream router b et w een the
receiv er and the RP sends a PIMJoinPrune message in whic h the join list includes the RP The pac k et
pa yload con tains MulticastAddressG PIMJoin fRP W CbitRPbit g PIMPruneNULL
The RP recognizes its o wn address and do es not attempt to send join messages for this en try upstream
The incoming in terface in the RPs G en tryisset to n ull RPReac habilit y messages are generated b y
RPs p erio dically and distributed do wn the G tree established for the group This allo ws do wnstream
routers to detect when their curren t RP has b ecome unreac hable and triggers joining to w ards an alternate
RP see section Switc hing from shared tree RP tree to shortest path tree SPT
When a PIM router has directlyconnected mem b ers it rst joins the RP tree The router can switc hto
the sources shortest path trees as so on as it starts receiving data pac k ets from the sources Todoso
the router detects data pac k ets for G that are not sourced b y an address Sn for whichit has am ulticast
forw arding en try SnG As sho wn in gure router A initiates a new m ulticast forw arding en try for
SnG with an SPTbit cleared indicating that the shortest path tree branc h from Sn has not b een
completely setup and in the mean time it still uses the shared tree to get pac k ets from Sn A timer is set
for the SnG en try and this timer is reset whenev er a data pac k et for SG is receiv ed
Only routers
with lo cal mem b ers initiate switc hing to the SPT in termediate routers do not
A PIMJoinPrune message will b e sen t upstream router to w ards the new source Sn with Sn in the
join list The pa yload con tains MulticastAddressG PIMJoin fSng PIMPruneNULL
When the SnG en try is created the outgoing in terface list is copied from G ie all lo cal shared
tree branc hes are replicated in the new shortest path tree In this w a y when a data pac k et from Sn arriv es
and matc hes on this en try all receiv ers will con tin ue to receiv e source pac k ets along this path unless and
un til the receiv ers c ho ose to prune themselv es
This timer is also used in densemo de PIM
draftietfidmrpimsp ecps Note that a lasthop router ma y adopt a p olicy of not setting up a SG en try and therefore not
sending a PIMJoin message to w ards the source un til it has receiv ed m data pac k ets from the source
within some in terv al of n seconds This w ould eliminate the o v erhead of SG state upstream when
small n um b ers of pac k ets are sen t sp oradicallyHo w ev er data pac k ets distributed in this manner ma y
b e deliv ered o v er the sub optimal paths of the shared RP tree
The lasthop router ma y also c ho ose to
remain on the RPdistribution tree indenitely instead of mo ving to the shortest path tree
When a router with a SnG en try and a cleared SPTbit starts to receiv epac k ets from the new source
Sn on the in terface used to reac h Sn it sets the SPTbit and sends a PIMPrune to w ards RP if its shared
tree incoming in terface diers from its shortest path tree incoming in terface This indicates that it no
longer w an ts to receiv e pac k ets from Sn via RP In the PIM message sen tto w ards the RP it includes
Sn in the prune list with the RPbit set indicating that an RPbit state should b e set up on the w a y
to the RP
The PIMJoinPrune message pa yload con tains MulticastAddressG PIMJoinNULL
PIMPrune fSnRPbit g When a G join arriv es with a n ull prune list at a router that has an y SGRPbit en tries whic his
causing it to send sourcesp ecic prunes to w ard the RP the RPbit state has to b e deleted upstream of
the router so as to bring all sources pac k ets do wn to the new mem ber In particular the router should mo dify the lo cal RPbit state so that all sources pac k ets are sen t
do wn the arriving link for the join but are noten tdo wn other previouslypruned branc hes The router
m ust trigger an G join upstream to eradicate RPbit state upstream If the arriving G join has a
prune list in it then those corresp onding RPbit en tries should not need to b e eradicated upstream
Steady state main tenance of router state
In the steady state eac h router sends p erio dic refreshes of PIM messages upstream to eac h of the next hop
routers that is en route to eac h source S for whic hit has a m ulticast forw arding en try SG as w ell as
for the RP listed in the G en try These messages are sen t p erio dically to capture state top ology and
mem b ership c hanges A PIM message is also sen tonan ev en ttriggered basis eac h time a new forw arding
en try is established for some new SnG note that some damping function ma y b e applied eg a merge
time Optionally the PIM message could con tain only the incremen tal information ab out the new source
The deliv ery of PIMJoinPrune messages do es not dep end on p ositiv eac kno wledgmen t routers reco v er
from lost pac k ets at the next p erio dic transmission
Lo cal hosts sending to a group
When a host sends a m ulticast pac k et the DR m ust deliv er it on the RP tree This is done b ythe DR
sending a PIMRegister pac k et to all kno wn RPs The data pac k et is encapsulated in the PIMRegister
pac k et so the RP can deliv er it to do wnstream mem b ers The register informs the RP of a new source
whic h causes it to send PIMJoin messages bac k to the source so all routers capture state The routers
Note that SG state m ust b e main tained in all lasthop routers when an SPT is main tained and this is sub optimal
when G and SG o v erlap b ecause y ou need b oth pieces of state to k eep the joins going to the righ t places upstream
An RPbit en try is a SG en try on the RP tree The RPbit is set indicating that the asso ciated prune messages should
b e sen t up the shared tree to w ards the RP and that SG joins should not b e sen tto w ards S In addition the outgoing
in terface from whic h it receiv es a PIMJoinPrune message with SG and the RPbit in the prune list is deleted from the
outgoing in terface list Data pac k ets matc hing the RPbit state are not sen ttothatin terface
Note that if the upstream in terfaces of SG and G of the router are the same LAN then the next pac k et to arriv e
on the RP tree after the SPT tree join w as sen t will cause the SPTbit to b e set ev en though the pac k et came via the RP
tree b ecause the router cannot distinguish b et w een the previous hop router for data pac k ets without lo oking at the Data
Link address If the RP tree previous hop is not the same as the shortest path previous hop then the router will prune o of the RP tree Consequen tly if the RP is signican tly closer to the receiv er than the Source is or if the Source join is lost
and the RP tree prune is not there ma y b e a period of lost pac k ets
draftietfidmrpimsp ecps bet w een the source and the RP main tain SG state so they kno who w to get pac k ets for source S to the
RP The DR can stop encapsulating data pac k ets in PIMRegisters when it receiv es PIMRegisterStop
messages from the RPs
If an RP has gone do wn during the register pro cess w ew an t to limit howlong w e encapsulate data
pac k ets Also after the encapsulating stops and data is sen t nativ ely to the RP it is desirable to kno w
if the RP is still up Therefore there is a RP liv eness timer and an RPstatus ag k ept p er RP
for all activ e groups in the DR of eac h source The RPtimer is reset and the RPstatus ag is set
to up when a PIMRegisterStop message is receiv ed When the RPtimer expires for example seconds an RPstatus ag is set for that RP indicating that it is in a do wn state The RPstatus ag
is initialized to unkno wn
The sources DR sends p erio dic Register messages with n ull data to the RP for example ev ery
seconds if it has not receiv ed an y PIMRegisterStop messages The DR resets the RPtimer eac h
time it receiv es a PIMRegisterStop message When the RP timer expires an RPstatus ag is set for
that RP indicating that it is in a do wn state Nulldata Register messages con tin ue to b e sentit is
determined when the RP comes bac k up The RP will pro cess the n ulldata Register message and send
a PIMRegisterStop to the source router of the Register message
When the DR detects that the RP has come bac k up ie the RP status w as do wn and it receiv ed
a RegisterStop message it ags eac h SG that it is resp onsible for sending Registers for and c hanges
the RP status to up When data arriv es from an y of those sources Register messages encapsulated
with data are sen t to the RP so the RP can send joins bac k to the source to recapture state b et w een the
source and the RP Multicast data pac k et pro cessing
Data pac k ets are pro cessed in a manner similar to existing m ulticast sc hemes A router rst p erforms a
longest matc h on existing forw arding states based on the source and group address in the data pac k et
A SG state will b e matc hed rst if there is one otherwise an G state will b e matc hed If neither
state exists then the pac k et is dropp ed An incoming in terface c hec kRPF c hec k is p erformed on the
matc hing state and if it fails the pac k et is dropp ed otherwise the pac k et is forw arded to all in terfaces
listed in the outgoing in terface list whose timers ha v e not expired There are t w o exception actions
that are in tro duced if pac k ets are to b e deliv ered con tin uouslyev en during the transition from a shared
to shortest path tree First when a data pac k et matc hes on an SG en try with a cleared SPTbit
if the pac k et do es not matc h the incoming in terface for that SG en try but the pac k et do es matc h
the incoming in terface for the G en try then the pac k et is forw arded according to the SG en try In addition when a data pac k et matc hes on a SG en try with a cleared SPTbit and the incoming
in terface of the pac k et matc hes that of the SG en try then the pac k et is forw arded and the SPTbit is
set for that en try Data pac k ets nev er trigger prunes Data pac k ets ma y trigger actions whic h in turn trigger prunes
F or example router B in gure decides to switc h to SPT at step it creates a SnG en try with
SPTbit set to When data pac k ets from Sn arriveatin terface of B B sets the SPTbit to whic h
in turn triggers the sending of prunes to w ards the RP Multiple Rendezv ous P oin ts RPs and RP failure scenarios
If there is one RP then there is no concern ab out sources and receiv ers actually b eing able to rendezv ous
but there is a single p oin t of failure
When m ultiple RPs are used eac h source registers and sends data pac k ets to w ards eac h of the RPs
but receiv ers only join to w ards a single RP If one of the RPs fails receiv ers that joined to that RP
draftietfidmrpimsp ecps will stop receiving RPReac habilit y messages and will start sending joins to one of the alternativeRPs Sources do not need to tak e sp ecial action
Senders DR k eeps an RPtimer and RPstatus ag p er RP Register messages m ust b e sen t to all RPs
b ecause there mayha v e b een lasthop routers that joined to dieren t RPs DR sends p erio dic Register
messages with n ull data to the RP The router resets the RPtimer eac h time it receiv es a PIMRegister
Stop message When the RP timer expires an RPstatus ag is set for that RP indicating that it is in a
do wn state The DR c hec ks the RPstatus when it receiv es a RegisterStop If the RPstatus is do wn
or unkno wn DR sets the Registerbit in a bitmap for that RP in ev ery SG en try that uses that RP The router also resets the RPstatus ag to up The setting of the Registerbits causes data from the
aected sources to b e encapsulated in PIMRegister messages again and sen t to that RP Unreac hable RPs are detected bydo wnstream routers using the RPReac habilit y message When a
G en try is established b y a router with lo cal mem b ers an G timer and an RPstatus ag p er
a v ailable RP are set The timer is reset eac h time an RPReac habilit y message is receiv ed and The
RPstatus ag is initialized to unkno wn If this timer expires for example seconds the lasthop
router lo oks up an alternate RP for the group sends a join to w ards the new RP The router mo dies
the incoming in terface of the G en try to that used to reac h the new RP The outgoing in terface
list includes only those SM in terfaces on whic h IGMP HostRep orts or PIMJoins for the group w ere
receiv ed The router also sets an RPstatustimer when this timer expires for example seconds the
RPstatus ag is reset to unkno wn to indicate that the router should b e considered as a candidate it
is p oten tially up
PIMDM and PIMSM Op eration o v er Multiaccess Net w orks
Designated router election
When there are m ultiple PIM routers connected to a m ultiaccess LAN one of them should b e c hosen
to op erate as the designated router DR at an ypoin t in time The DR is resp onsible for sending IGMP
HostQuery messages to solicit host group mem b ership IGMP HostRep orts the DR is also resp onsible
for initiating G state to trigger joins to w ard the RP and k eeps trac k of all RPs status for lo cal senders
A simple designated router DR election mec hanism is used for b oth SM and DM PIM Neigh b oring
routers send PIMQuery pac k ets to eac h other The sender with the largest IP address assumes the role
of DR Eac h PIM router connected to the m ultiaccess LAN sends the PIMQueries p erio dically in order
to adapt to c hanges in router status
DR election is only necessary on m ultiaccess net w orks
P arallel paths to a source or the RP
Tw o or more routers ma y receiv e the same m ulticast datagram that w as replicated upstream In par
ticular if t w o routers ha v e equal cost paths to a source and are connected on a common m ultiaccess
net w ork duplicate datagrams will tra v el do wnstream on to the LAN PIM will detect suc h a situation
and will not let it p ersist
If a router receiv es a m ulticast datagram on a m ultiaccess LAN from a source whose corresp onding
SG outgoing in terface list includes the receiv ed in terface the pac k et m ust b e a duplicate In this case
a single forw arder m ust b e elected Using PIMAssert messages addressed to on the LAN
upstream routers can decide whic h one b ecomes the forw arder Do wnstream routers listen to the asserts
so they kno w whic h one w as elected ie t ypically this is the same as the do wnstream routers RPF
neigh b or but there are circumstances when using dieren t unicast proto cols where this mightnot be the
case and therefore where to end subsequen t Joins
draftietfidmrpimsp ecps The upstream router elected is the one that has the shortest distance to the source Therefore when a
pac k et is receiv ed on an outgoing in terface a router will send an PIMAssert pac k et on the LAN indicating
what metric it uses to reac h the source of the data pac k et The router with the smallest n umerical metric
will b ecome the forw arder All other upstream routers will delete the in terface from their outgoing
in terface list The do wnstream routers also do the comparison in case the forw arder is dieren t than
the RPF neigh bor This is imp ortantso do wnstream routers send subsequen t PIMJoinsPrunes or
PIMGrafts to the correct neigh bor Asso ciated with the metric is a metric preference v alue This is pro vided to deal with the case
where the upstream routers ma y run dieren t unicast routing proto cols The n umerically smaller metric
preference is alw a ys preferred The metric preference should b e treated as the highorder part of an assert
metric comparison Therefore a metric v alue can b e compared with another metric v alue pro vided b oth
metric preferences are the same A metric preference can b e assigned p er unicast routing proto col and
needs to b e consisten t for all routers on the LAN
Asserts are also needed for G en tries since there ma y b e parallel paths from the RP and sources
to a LAN When an assert is sen t for an G en try the rst bit RPbit in the metric preference is
alw a ys set to to indicate that this path corresp onds to the RP tree So a SPT path will alw a ys lo ok
b etter than an RPtree path
Note that for a leaf LAN on the RP tree it is p ossible that the DR will send joins to the RP and
that pac k ets will come do wn the RP tree through that DR ev en though it the DR is not the optimal
path to the RPW e think that this is a reasonable situation giv en that RP trees do not pro vide optimal
paths to b egin with
The DR ma y lose to another router on the LAN b y the Assert pro cess if there are m ultiple RPtree
paths tra v eling through the LAN F rom then on the DR is no longer the lasthop router for lo cal receiv ers
The winning router b ecomes the lasthop router and is resp onsible for sending G join messages to
the RP If more than one RP tree paths tra v el through a particular LAN RPReac habilit y messages will
makedo wnstream routers merge to a single RP no assert pro cess is needed
Join suppression
If a PIMJoinPrune message arriv es on the incoming in terface for an existing SG en try and the sender
of the joinprune has a higher IP address than the recipien t of the message a Joinerbit is cleared to
suppress further joins A timer is set for the Joinerbit after it expires the Joinerbit is set indicating
further p erio dic joins should b e sen t for this en try The Joinerbit timer is reset eac h time a PIMJoin
message is receiv ed from a higherIPaddressed PIM neigh bor Unicast Routing Changes
When unicast routing c hanges an RPF c hec k is done on all activ e SG and G en tries and all aected
exp ected incoming in terfaces are up dated In particular if the new incoming in terface app ears in the
outgoing in terface list it is deleted from the outgoing in terface list The previous incoming in terface
ma y b e added to the outgoing in terface list b y a subsequen t join or graft from do wnstream Joins and
grafts receiv ed on the curren t incoming in terface are ignored Joins and grafts receiv ed on new in terfaces
or existing outgoing in terfaces are not ignored Other outgoing in terfaces are left as is un til they are
explicitly pruned bydo wnstream routers or are timed out due to lac k of appropriate join messages
The PIM router m ust send a PIMJoin or PIMGraft message out its new in terface to inform upstream
routers that it exp ects m ulticast datagrams o v er the in terface It m ust send a PIMPrune message out
The do wnstream routers will c hange their upstream neigh b or to the router that sen t the last PIMAssert message during
the assert pro cess
draftietfidmrpimsp ecps
the old in terface if the link is op erational to inform upstream routers that this part of the distribution
tree is going a w a y The SPTbit is also cleared in order to receiv e data pac k ets via the existing RP tree if it is still
op erational b efore the new shortest path has b een established T oo v erride previous RPbit state prunes
a join should also b e sen t to the upstream neigh b or of G if the incoming in terface iif of G is
dieren t from the iif of SG
Timers
Eac h SG and G en try ha v e timers asso ciated with it There are m ultiple timers main tained One
for the m ulticast routing en try itself and one for eachin terface in the outgoing in terface list The timer of
an SG en try is reset whenever adatapac k et for SG is receiv ed the timer for an G en try is reset
when a pac k et arriv es on the RPtree and when G Joins are receiv ed The timer for an SG RPbit
en try is reset whenev er an SG prune with RPbit set is receiv ed The timer expires after times the
refresh p erio d t ypically it is min utes b ecause the Joins are sen tev ery min ute
A timer is main tained for eac h outgoing in terface listed in eac h SG or G en try The timer is
set when the in terface is added A DM outgoing in terface of a DM group sta ys activ e in the list as long
as there is no prune receiv ed and there are liv e PIM neigh b ors or directlyconnected group mem b ers A
outgoing in terface timer of a SM group is reset eac h time a PIMJoin message is receiv ed on that in terface
for that forw arding en try ie SG or G
When a timer expires the corresp onding outgoing in terface is deleted from the outgoing in terface list
if the asso ciated group is supp orted with SM ie RP based and it is added to the outgoing in terface
list if the asso ciated group is supp orted with DM ie do es not use an RP When the outgoing in terface
list is n ull a prune message is sen t upstream and the en try is deleted after min utes
During this
time the en try is kno wn as a negativecac he en try at whic h a prune is triggered Once the SG is timed
out it can b e recreated when the next m ulticast pac k et or join arriv es When a G en try is deleted all
asso ciated SGRPbit en tries are also deleted
There are timers asso ciated with an RP p er group When an RPReac habilit y messages is receiv ed
or a RegisterStop message is receiv ed the timer is up dated RPReac habilit y messages con tain the time
out p erio d The RP timer m ust be settothisv alue F or a DR that is upstream of the RP receipt of
RegisterStop messages causes it to up date its RP timer to seconds
Sparse Mo deDense Mo de in teraction
If a group has RPs asso ciated with it
then all mem b ers in PIM regions will join the group using
When a timer is reset for an outgoing in terface listed in G en tryw e should also reset the in terface timers for all SG
en tries whichcon tain that in terface in their outgoing in terface list Because some of the outgoing in terfaces in SG en try
are copied from G outgoing in terface list they ma ynot ha v e explicit SG join messages from some of the do wnstream
routers ie where mem b ers are joining to the G tree only If there are sources in the prune list of the G join
then the timers for this in terface will rst b e reset for those sources and then this in terface will b e deleted from these same
en tries pro ducing a correct result ev en though the up dating of timers w as unnecessary An implemen tation could optimize
this byc hec king the prune list b efore pro cessing the join list
SG en tries with the RPbit set ie SG RPbit en tries are k ept aliveb y receipt of prunes W e do not w antto
delete suchen tries if G en try exists otherwise data pac k ets will tra v el do wn b oth RP tree and SPT It ma y not result
in p erio dic duplicates b ecause of the RPF c hec k but it do es w aste a lot of net w ork bandwidth
Previous v ersions of the sp ecication referred to the conguring of individual in terfaces as SM or DM W eha v e since
found this to b e unnecessary and complicating Henceforth SM and DM refers to a global c haracteristic of the group not
toac haracteristic of elemen ts of the net work orelemenstofthe group W e assume that this is determinable from the address itself
draftietfidmrpimsp ecps
the PIMSM proto col and pac k ets will only b e forw arded on to in terfaces on whic h explicit join messages
ha v e b een receiv ed ev en if the in terfaces are congured as DM
PIMNonPIM In teraction
Editors note This part of the design has not b een ushed out and will b e up dated in the next v ersion
of the sp ec
Routers that ha v e b oth PIM and nonPIM in terfaces are congured as PIMnonPIM Border Routers
PIMBRs All PIMBRs join a sp ecial m ulticast group Mem b ers of this group conduct a Designated
BR DBR election among themselv es If a BR nds that it is the largest n um b ered participantin the
DBR election it sends an IGMP Query to the m ulticast group consisting of all m ulticast routers in the
nonPIM domain
Mem b ers of this group and BRs with do wnstream mem b ers resp ond b y sending IGMP HostRep ort
messages to the group mem b ers of group and BRs with do wnstream mem b ers also listen to these rep orts
and suppress sending rep orts for groups that ha v e b een rep orted b y other routers As a result all BRs
hear of all groups for whichin ternal or do wnstream mem b ers exist There is an RPen try BR RBR
election p er group in whic h a single BR is elected to join to w ards the RP for that group The election
is based on the router with the shortest path to w ards the highest n um b ered RP in the RP list for that
group An y ties are resolv ed in fa v or of the higher n um b ered BR RBRs are group sp ecic
Data pac k ets will follo w the resulting G join state do wn to the elected RBR and in to the nonPIM
region If the nonPIM region is part of the source ro oted shortest path tree then the data pac k ets will
b e forw arded through the nonPIM region according to its in ternal RPF rules and will arriv e at all exit
PIMBRs that do not prune themselv es F rom there the data will b e forw arded do wn the remainder
of the tree Data pac k ets will not b e o o ded through the nonPIM region if they arriv e via the wrong
incoming b order router with resp ect to that source Therefore w eneedtoin tro duce some additional
mec hanism to cause RP tree pac k ets to b e forw arded through the nonPIM region In order for the
nonPIM cloud to propagate an unencapsulated data pac k et from the RP tree to an yin ternal mem bers
and to other PIMBRs whic hmightha vedo wnstream mem b ers the pac k et m ust b e injected via the
PIMBRs that are the shortest path tree en try p oin ts from the pac k et source S to the routers inside
the nonPIM region
Toac hiev e this the RP tree en try PIMRBR m ust get the data pac k et to the PIMBRs that are
on the shortest path from the source to an y part of the nonPIM region T o do so the PIMRBR can
encapsulate the pac k et with its o wn address as source and m ulticast the pac k et to the allPIMBRs
m ulticast address the IPproto col eld is set to BRencapsulate When a PIMBR receiv es a BR
encapsulated pac k et it conducts t woc hec ks First if the PIMBR has an G en try whose incoming
in terface p oin ts to the nonPIM region and it do es not ha v e the SG en try the PIMBR forw ards it to
the outgoing in terfaces sp ecied in G
Second if the PIMBRs shortest path to the pac k et source
is via an external route and it do es not ha v e the SG en try the PIMBR forw ards the pac k et in to the
nonPIM region as if it w ere arriving from the sources shortest path tree
The RBR elected for a group is resp onsible for doing the SPT switc h if the data trac or other
congured information calls for it When an RBR receiv es pac k ets from source S o v er the RP tree and
it w an ts to switc h to the SPT the router sends an SG join message to the allPIMBRs group Ev ery
BR that has an external shortest path to w ards the source ie the shortest path to w ards the source
p oin ts outside the nonPIM cloud sends an SG join upstream to w ards the source The resulting join
Wein v estigated an alternativ e approac h in whic h wideareagroups data is distributed o v er DM in terfaces in a data
driv en DM fashion Ho w ev er the sc heme required encapsulation of all data pac k ets tra v eling on the RP tree in SM as w ell
as DM regions and app eared more complex to understand and implemen t
Those outgoing in terfaces listed in an G en try should only p oin t out to the PIM region
draftietfidmrpimsp ecps
state will cause unencapsulated pac ketsfromStoGtotra v el do wn the sourcero oted tree and arriv eat
the BRs that sen t joins These pac k ets will b e o o ded in to the nonPIM cloud and reac h all p ossible
receiv ers and transits according to the nativem ulticast mec hanism
When a source inside of a nonPIM region sends to a nonlo cal group the arriving pac k et for whic h
no SG en try exists and for whic h RP information do es exist triggers the same election pro cedure as
w as describ ed ab o v e In short the BR with the shortest path to the highest n um b ered RP for that group
sends register pac k ets to all of the RPs with the encapsulated data ties are resolv ed in fa v or of the
highest n um b ered BR RPs send joins bac k to the BR that sen t the register and consequen tly the sources
pac k ets will tra v el out of the nonPIM cloud via that BR and do wn to the RP and other do wnstream
receiv ers according to the SG state
draftietfidmrpimsp ecps
Detailed Proto col Description
This section describ es the proto col op erations from the p ersp ectiv e of an individual PIM router imple
men tation In particular for eac h message t yp e w e describ e ho w it is generated and pro cessed
Query
PIMQuery messages are sen t so neigh b oring PIM routers can disco v er eac h other
Sending Queries
Query messages are sen t p erio dically b et w een PIM neigh b ors By default they are transmitted ev ery seconds This informs routers what in terfaces ha v e PIM neigh bors Query messages are m ulticast using address The pac k et includes the holdtime for neigh bors
to k eep the information v alid The recommended holdtime is times the query transmission in terv al By
default the holdtime is seconds
Queries are sen t on all t yp es of comm unication links
Receiving queries
When a router receiv es a PIMQuery pac k et it stores the IP address and holdtime for the neigh bor in
the PIM neigh b or timer at whic h time the Designated Router DR for the in terface can b e computed
The highest IP addressed system is elected DR Eac h query receiv ed causes the stored information to b e
o v erwritten
Timing out neigh bor en tries
A p erio dic pro cess is run to time out PIM neigh b ors that ha v e not sen t queries If the DR has gone
do wn a new DR is c hosen b y scanning all neigh b ors on the in terface and selecting the new DR to b e the
one with the highest IP address
If an in terface has gone do wn the router ma y optionally time out all PIM neigh b ors asso ciated with
the in terface
JoinPrune
JoinPrune messages are sen t to join or prune a branc h o of the m ulticast distribution tree A single
message con tains b oth a join and prune list either one of whic hmaybe n ull Eac h list con tains a set of
source addresses indicating the sourcesp ecic trees or shared tree that the router w an ts to join or prune
Sending JoinPrune Messages
PIMJoinPrune messages are used to construct or tear do wn m ulticast forw arding state resp ectiv ely JoinPrune messages are sen thop b y hop to w ards the indicated sources
A join is sen t to construct forw arding state or to undo prune state Joins are sen tto w ards kno wn
sources based on the SG state stored in the m ulticast routing table Joins are also sen tto w ards the
RP for activ e G state
A prune is sen t to undo join state when mem b ers for a group are no longer present onam ulticast
tree branc h These prunes are sen tto w ards kno wn sources asso ciated with SG en tries Prunes are also
sen t on the RP tree for a source when a router decides to mo v e o the RP tree and on to the shortest
path tree
draftietfidmrpimsp ecps
JoinPrune messages are merged suc h that a message sen t to a particular upstream neigh b or N
includes all of the curren t joined and pruned sources that are reac hed via N according to unicast routing
JoinPrune messages are m ulticasted to all routers on m ultiaccess net w orks with the target address
set to the next hop router to w ards S or RP These JoinPrune messages will b e sen t p erio dically Curren tly the p erio d is set to seconds
A router will send a p erio dic JoinPrune message to eac h distinct RPF neigh b or for eac h SG and
G en try it has in its m ulticast routing table JoinPrune messages are only sen t if the RPF neigh bor is
a PIM neigh b or A p erio dic JoinPrune message sen tto w ards a particular RPF neigh b or is constructed
as follo ws
An RP address with RP and W C bits set is included in the join list of a p erio dic JoinPrune
message under the follo wing conditions
The JoinPrune message is b eing sen t to the RPF neighbortothe RP The RP is determined to b e in Up state and
The outgoing in terface list in the G en try is nonNULL or the router is the DR on the same
in terface as the RPF neigh bor
A particular source address S is included in the join list with the RP and W C bits cleared under
the follo wing conditions
The JoinPrune message is b eing sen t to the RPF neighbortoSand
There exists an activeSG en try with the RPbit cleared and
The oif list in the SG en try is not n ull
A particular source address S is included in the prune list with the RP and W C bits cleared under
the follo wing conditions
The JoinPrune message is b eing sen t to the RPF neighbortoSand
There exists an activeSG en try with the RPbit cleared and
The oif list in the SG en try is n ull
A particular source address S is included in the prune list with the RP bit set and the W C bit
cleared under the follo wing conditions
The JoinPrune message is b eing sen ttothe RPFneigh bor to w ard the RP and their exists an
SG en try with the RPbit set or
The JoinPrune message is b eing sen t to the RPF neigh bor to w ard the RP there exists an
SG en try with the RPbit cleared and the RPF neigh bor to w ard S is dieren t than the RPF
neigh bor to w ard the RP In addition to these p erio dic messages the follo wing ev en ts will trigger PIMJoinPrune messages
Receipt of an IGMP HostRep ort message for a new SM group G ie one for whic h the receiving
router do es not ha v e an G en try will trigger a PIMJoin message to w ards the RP with the RP
address and RPbit and W Cbits set in the join list
In the future w e will in tro duce mec hanisms to ratelimit this con trol trac on a hop b y hop basis in order to a v oid
excessiveo v erhead on small links
draftietfidmrpimsp ecps
Receipt of a PIMJoin message for an SG pair including G for whic h there is no curren t
forw arding en try or the outgoing in terface list of SG en try is n ull will trigger building SG or
new oif state if the incoming in terface is SM and this will in turn trigger a PIMJoin message
to w ards S or RP with S or RP with RPbit and W Cbits set in the join list
Receipt of pac k et on the new created SG en try ie an en try with SPTbit cleared o v er the
appropriate incoming in terface and there is an G en try triggers
a setting of the SPTbit on SG en tryand
b sending a PIMPrune message up the RP tree ie to w ards the RP with S address and the
RPbit set in the prune list
When the outgoing in terface list of SG en try b ecomes n ull indicating no more do wnstream
receiv ers a PIMPrune with S address in the prune list is sen t upstream
When a PIMJoinPrune message is receiv ed for a group G the prune list is c hec k ed If it con tains
a source for whic h the receiving router has an activ e SG en try and whose iif is that on whichthe
joinprune w as receiv ed then a join for SG is triggered to o v erride the prune This is necessary
in the case of parallel do wnstream routers connected to a m ultiaccess LAN
Receipt of a G Join message where the sp ecied RP address is of a higher v alue than the RP
v alue asso ciated with an existing G en try This triggers an up dating of the RP v alue iif and an
asso ciated G Join message is sen tto w ard the new RP and a prune is sentto w ard the old RP
W e do not trigger prunes on to in terfaces for SM group based on data pac k ets Data pac k ets that arriv e
on the wrong incoming SM in terface are silen tly dropp ed Data pac k ets that arriv e on the wrong DM
p oin ttop oin tin terface of an DM group trigger a prune
Receiving JoinPrune Messages
When a router receiv es a JoinPrune message it pro cesses it as follo ws
The receiv er of the joinprune notes the in terface on whic h the PIM message arriv ed call it I The
router accepts this PIMJoinPrune message if this PIMJoinPrune message is addressed to the
router itself If the joinprune is for this router the follo wing actions are tak en
a If an address Si in the join list has RPbit and W Cbit set Si is an RP address Add I to
the outgoing in terface list of the G forw arding en try and set the timer for that in terface if
there is no G en try the router initializes one rst furthermore
i F or eac h SiG en tries asso ciated with group G if Si is not included in the prune list then
in terface I is added to its oif list and reset the timers for that in terface in eachaected
en try If the SiG en try is an RPbit en try and its oif list is the same as G oif list
then the RPbit en try is deleted
ii If the RP address Si is dieren t from the RP address listed in the existing G forw arding
en try and Si is greater than the listed RP en try v alue then set RP en try to Si otherwise
lea v e the RP en try as is
The incoming in terface is set to the in terface used to send unicast pac k ets to the RP in the
G forw arding en try ie RPF in terface to the RP
draftietfidmrpimsp ecps
b F or eac h address Si in the join list whose RPbit and W Cbit are not set and for whic h there
is no existing SiG forw arding en try the router initiates one
The outgoing in terface is
set to I and the incoming in terface is set to the in terface used to send unicast pac k ets to Si If
the in terface used to reac h Si is the same as the outgoing in terface b eing built this represen ts
an error and the join should not b e pro cessed
c F or an y Si included in the join list of the PIMJoinPrune message for whic h there is an
existing SiG forw arding en try i if the RPbit is not set for Si listed in the join message but the RPbit is set on the
existing SiG en try the router clears the RPbit on SiG en try recomputes the incoming
in terface to w ards Si for that SiG en try and sends a join to the new incoming in terface
and
ii the router adds I to the list of outgoing in terfaces If I is not the same as the existing
incoming in terface
iii the SiG SPT bit is cleared un til data comes do wn the shortest path tree
d F or eac h address Si in the prune list if there is an existing SiG forw arding en try the router
sc hedules a deletion of I from the list of outgoing in terface list if I is a m ultiaccess LAN
The deletion is not executed un til a timer expires allo wing for other do wnstream routers on
the LAN to o v erride the prune If the router has a curren t G forw arding en try and if an
SiG RPbit en try also exists then the SiG RPbit en try is main tained ev en if its outgoing
in terface list is n ull
e F or an y Si in the prune list that has the RPbit set
An SiGRPbit en try is created if there exists a G en try but there do es not exist a
SiG en try The outgoing in terface list copied from the G en try with the in terface
on whic h the prune w as receiv ed deleted P ac k ets from the pruned source Si matc hon
this state and are not forw arded to w ard the pruned receiv ers
If there exists a SiGRPbit en try then the en try timer is reset
If the receiv ed join do es not indicate the router as its target then if the join is for an SG pair for
whic h the router has an activ e SG en try and if the join arriv ed on the iif for that en try The
router compares the IP address of the generator of the join to its o wn IP address
a If its o wn IP address is higher the Joinerbit in the SG en try is set
b If its o wn IP address is lo w er the Joinerbit in the SG en try is cleared and the Joinerbit
timer is activ ated
After the timer expires the Joinerbit is set indicating further p erio dic joins should b e sen t for this
en try The Joinerbit timer is reset eac h time a PIMJoin message is receiv ed from a higherIP
addressed PIM neigh b or
F or an y new SG or G en try created b y an incoming join message the Joinerbit is set and the
SPTbit is cleared
The router creates a SG en try and copies all outgoing in terfaces from the G en try if it exists If a router do es not
cop y all outgoing in terfaces from the G en try all receiv ers on RP tree do wnstream from outgoing in terfaces other than
the one newly added to SG will not receiv e pac k ets from source S Data pac k ets of S arriving from the RP will matchthe
SG en try instead of G en try and will b e dropp ed b ecause the incoming in terface is incorrect
draftietfidmrpimsp ecps
Graft and GraftAc ks
Grafts are sentupDM in terfaces for DM group that ha v e b een previously pruned from the distribution
tree
Sending PIMGrafts and receiving PIMGraftAc ks
When a router in a DM region hears of a mem b er of a previously pruned group the router sends a graft
message to w ards kno wn sources for that group ie to w ards sources for whic h the router has existing
SG en tries
The PIMGraft message is the only PIM message that uses a p ositiv eac kno wledgmen t strategy Senders of PIMGraft messages unicast them to their upstream RPF neigh b ors The sender p erio dically
retransmits the PIMGraft message for an y SG that has not b een ac kno wledged Note that the sender
need not k eep a retransmission list for eachneigh b or since PIMGrafts are only sen t to the RPF neigh bor Only the SG en try needs to b e tagged for retransmission
Receiving PIMGrafts and sending PIMGraftAc ks
When a router receiv es a graft message it adds the receiving in terface to its oif list unless the receiving
in terface is the iif for the en try in whic h case it is dropp ed The receiving router pro cesses eac h SG
in the graft message and immediately ac kno wledges eac h SG in a PIMGraftAc k message This is
relativ ely easy since the receiv er simply c hanges the IGMP co de from PIMGraft to PIMGraftAc k
computes the c hec ksum and unicasts the original pac k et bac k to the source
Assert
Asserts are used to resolv e whic h of the parallel routers connected to a m ultiaccess LAN is resp onsible
for forw arding whic h pac k ets on to the LAN
Sending asserts
The follo wing Assert rules are pro vided when a m ulticast pac k et is receiv ed on an outgoing in terface
Do unicast routing table lo okup on source IP address from data pac k et and send assert on in terface
for source IP address from data pac k et include metric preference of routing proto col and metric
from routing table lo okup
If route is not found use metric preference of x and metric x
When an assert is sen t for an G en try the rst bit RPbit in the metric preference is set to indicating the data pac k et is routed do wn the RP tree
Receiving asserts
When an assert is receiv ed on an outgoing in terface the router p erforms a longest matc h on the source
and group address in the assert message either an SG en try or an G en try will b e matc hed If
the in terface that receiv ed the assert is in the oif list of the matc hed en try then this assert is targeted
for this router and is pro cessed as follo ws
Compare metric receiv ed in assert with the one y ou w ould ha veadv ertised in an assert Note that
the metric preference should b e treated as the highorder part of an assert metric comparison If
draftietfidmrpimsp ecps
the v alue in the assert is less than y our v alue prune the in terface If the v alue is the same compare
IP addresses if y our address is less than the assert sender prune the in terface
If y ou ha vew on the election and there are directly connected mem b ers on the LAN k eep the
in terface in y our outgoing in terface list Y ou are the forw arder for the LAN
If y ou ha vew on the election but there are no directly connected mem b ers on the LAN sc hedule
to prune the in terface The LAN migh t b e a stub LAN with no mem b ers and no do wnstream
routers If no subsequen t joins are receiv ed delete the in terface from the outgoing in terface list
Otherwise k eep the in terface in y our outgoing in terface Y ou are the forw arder for the LAN
The winning router should send out an assert message including its o wn metric to that outgoing in terface
so the other router will prune that in terface from its forw arding en try When an assert is receiv ed on an incoming in terface the router p erforms a matc h based on the source
address group address and the RPbit of the metric preference in the assert message Note that this is
not a longest matc h only exact state will b e matc hed If there is no suc h state then the router drops
the assert message If there is a matc h the assert message is pro cessed as follo ws
Do wnstream routers will select the upstream router with the smallest metric as their RPF neigh bor If t w o metrics are the same the highest IP address is c hosen to break the tie
If the do wnstream routers ha vedo wnstream mem b ers they m ust sc hedule a join to inform the
upstream router that pac k ets should b e forw arded on the LAN This will cause the upstream
forw arder to cancel its dela y ed pruning of the in terface
RPReac hable
When an G en try is established b y a router with lo cal mem b ers a timer is set The timer is reset
eac h time an RPReac habilit y message is receiv ed If this timer expires the router lo oks up an alternate
RP for the group sends a join to w ards the new RPA newG en try is established with the incoming
in terface set to the in terface used to reac h the new RP The outgoing in terface list includes only those
in terfaces on whic h IGMP HostRep orts for the group w ere receiv ed Other outgoing in terfaces mayno
longer b e v alid since the router in question ma y not b e on the shortest path b et w een the do wnstream
branc h and the new RP If the router is on this shortest path as w ell it will ev en tually receiv e an explicit
join from that do wnstream branc h as the lasthop routers tak e the same action
When m ultiple RPs are used eac h source registers and sends data pac k ets to w ards eac h of the RPs
but receiv ers only join to w ards a single RP If one of the RPs fails receiv ers that joined to that RP
will stop receiving RPReac habilit y messages and will start sending joins to one of the alternativeRPs Sources do not need to tak e sp ecial action
Because eac h receiv ers directly connected router selects an RP indep enden tly it is p ossible for routers
on the same part of the distribution tree to sp ecify dieren t RPs while b oth are still a v ailable This can
lead to lo oping in some top ologies T oa v oid lo oping RP address information carried in PIMJoin and
RPReac habilit y messages is examined to con v erge to a common RP the larger n um b ered RP dominates
Sending RPReac habilit y messages
A router starts sending p erio dic RPReac habilit y messages do wnstream when it receiv es a PIMJoinPrune
message with its o wn address and W Cbit and RPbit set in the join list and the incoming in terface on
its G en try is n ull
The rst condition is to mak e sure that it is an RP The second condition
This rule is needed when the currentnode w as sp ecied as an RP but yielded to another RP in the m ultiple RP address
arbitration pro cess If the other RPs address is bigger the curren ten try will ha v e none n ull incoming in terface
draftietfidmrpimsp ecps
is to mak e sure that only the dominant RP will send RPReac habilit y messages so the trac can b e
minimized
This ob viates the need to do an y kind of sp ecial conguration of RPs an y router can b e an RP since
RP b eha vior is triggered b y the proto col itself A router is resp onsible for initiating RPReac habilit y
messages to do wnstream no des if it has an G en try with a n ull incoming in terface
The router sends the p erio dic RPReac habilit y messages out all outgoing in terfaces in the G en try The default in terv al for this message is seconds The messages are addressed to the class D
address and the message con ten t includes the RP and G Receiving RPReac habilit y messages
When a router receiv es an RPReac habilit y message for a group G it m ust compare the RP address listed
in the message to the RP address listed in the curren t G RP en try If the RP listed in the message
is greater than the RP listed in the G RP en try and if the next hop used to reac h the listed RP is
the same as the next hop used to reac h the RP en try then the router replaces its curren tRP en try with
the RP address from the RPReac habilit y message When a router receiv es an RPReac habilit y message
it do es the follo wing assume that router X receiv es an RPReac habilit y message of RP from incoming
in terface I
P erform RPF c hec k If I is not the b est next hop to RP drop this RPReac habilit y message
If the incoming in terface of G en try is not n ull and not I drop the RPReac habilit y message
If the incoming in terface of G is I compare RP with the address in RP en trysa y RP If RP
is larger than RP set RP en try to RP and propagate the RPReac habilit y message do wnstream
If RP is the same as RP then reset the en try timer and propagate the RPReac habilit y message
do wnstream Otherwise drop the RPReac habilit y message
If the incoming in terface of G is n ull and RPbit and W Cbit is set then this router is curren tly
acting as an RP for G In this case compare RP with X If RP is larger than X set RP en try
to RP set the incoming in terface to the RPF in terface used to reac h RP Also propagate the
RPReac habilit y message do wnstream Otherwise if RP is less than X drop the RPReac habilit y
message
Register and RegisterStop
When a source rst starts sending to a group its pac k ets are encapsulated in PIMRegister messages and
sen t to the RPs RPs send join messages to w ards the sources and send RegisterStop messages once
the tree b et w een the RP and source has b een built
Sending Registers
When a DR receiv es a m ulticast data pac k et from a directly connected host for whic h it has no SG
en try or an existing SG with a register bitmap set it sends a register message to the RPs for that
group The message indicates the group for whic h the source is registering
The original data pac k et is encapsulated inside the register pac k ets The message is sen t as a unicast
pac k et to the RPs it is not pro cessed b y the in termediate routers If there are m ultiple RPs asso ciated
with the m ulticast group then the source sends a register message to eac h of them
Subsequen t data pac k ets sen t to the same group will trigger the same action un til e ach RP has built a
SG path bac k to the source and has sen t a PIMRegisterStop message to the source telling it to stop
the sending of PIMRegister messages for SG
draftietfidmrpimsp ecps
The router sending the register messages main tains a register bitmap p er SG en try with eac h bit
referring to one of the RPs for that group
When all bits are cleared the router kno ws that all RPs ha vesen t RegisterStop messages and no
more register messages need b e sen t
When some bits are set the router con tin ues to send data pac k ets encapsulated in register messages
to the asso ciated RPs
The router main tains a RPtimer it assumes a particular RP to b e unreac hable and sets the
asso ciated RPstatus to do wn after the RPtime expires
P erio dically the router sends a n ulldata register pac k et to eac h RPs to v erify that it is up So long
as RegisterStops are still receiv ed in return the RP is considered up If a RegisterStop is not
receiv ed a RPtimer will expire after seconds and the RP will b e considered do wn
Receiving Register Messages
When a router ie the RP receiv es a register message the router
Decapsulates the data pac k et and forw ards it according to its lo cal SG or G forw arding en try If there is no SG en try the RP sets up an SG forw arding en try with the outgoing in terface list
copied from the G outgoing in terface list its SPTbit is set to The SG en try is set up
using the mask information if pro vided in the register message A timer is set for the SG en try
and this timer is reset whenev er a data pac k et for SG is receiv ed The SG en try causes the
RP to send a PIMJoin message for the indicated group to w ards the source of the register message
The PIMJoin message includes the sources address in the join list
Sending RegisterStops
When unencapsulated data arriv es from SG the RP kno ws that the distribution path has b een built
bet w een it and S and it can tell the sources router to stop sending registers RegisterStops are SG
sp ecic The RP con tin ues to send RegisterStop messages so long as register messages con tin ue to arriv e
ho w ev er the RP should ratelimit the sending of these messages to allo w time for SG join to arriv eat
the rsthop router
RPs also send RegisterStop messages in resp onse to the p erio dic n ulldata register messages
Receiving RegisterStops
The DR c hec ks the RPstatus when it receiv es a RegisterStop If the RPstatus is do wn or unkno wn
the DR sets the Registerbit in a bitmap for that RP in ev ery SG en try that uses that RP The router
also resets the RPstatus ag to up The setting of the Registerbits causes data from the aected
sources to b e encapsulated in PIMRegister messages again and sen t to that RP This will stop when the
router receiv es the corresp onding PIMRegisterStops from that RP Otherwise if the RPstatus is up the DR clears the bit in its register bitmap for the asso ciated
SG en try when the bit is not set the router do es not send encapsulated pac k ets in registers for that
SG to that RP The DR also resets the RPtimer
draftietfidmrpimsp ecps
Multicast Data P ac k et F orw arding
Pro cessing a m ulticast data pac k et in v olv es t w o steps
Lo okup forw arding state based on a longest matc h of the source address and an exact matc hof
the destination address in the data pac k et
Do an RPF c hec k based on the source address in the pac k et header and the iif sp ecied in the
forw arding en try The pro cessing actions dep end on whether the group has RPs asso ciated with it or not F or shorthand
w e will refer to DM groups as those for whic h there are no RPs and SM groups as those for whic h RPs
are dened
F orw arding data pac k ets for SM groups
The follo wing actions are tak en based on the results of the state lo okup and RPF c hec k if the group is
SM
If the pac k et arriv ed on the in terface found in the matc hingen trys iif eld
a F orw ard the pac k et to the oif list for that en try and reset the en trys timer
b If the en trys SPTbit is cleared set the SPTbit for that en try If G also exists and their
incoming in terfaces are dieren t trigger a SG prune with RPbit set to w ards the RP c If the source of the pac k et is a directlyconnected host and the router is the DR on the LAN
c hec k the register bitmap asso ciated with the SG en tryIf an y of the bits are set then the
router encapsulates the data pac k et in a register message and sends it to the corresp onding
RPs
This co v ers the common case of a pac k et arriving on the RPF in terface to the source or RP and
b eing forw arded to all joined branc hes It also detects when pac k ets arriv e on the SPT and triggers
their pruning from the RP tree If it is the DR for the source it sends data pac k ets encapsulated
in PIMRegisters to the RPs
If the pac k et matc hes to an en try but did not arriveon the in terface found in the en trys iif eld
c hec k the SPTbit of the en try If the SPTbit is set drop the pac k et If the SPTbit is cleared
then lo okup the G en try for the pac k et If the pac k et arriv ed on the iif found in G forw ard
the pac k et to the oif list of the SG en try This co v ers the case when a data pac k et matc hes on
an SG en try for whic h the SPT has not y et b een completely established upstream
If the pac k et do es not matchto anyen try but the source of the data pac k et is a lo cal directly
connected host and if the router is the DR on the LAN and kno ws of RPs asso ciated with the
destination group G then the DR c hec ks the register bitmap asso ciated with the lo cal sender if
there is no suc h a register bitmap a new register bitmap is created and asso ciated with the RP
list all bits are set the data pac k et is encapsulated in register messages and sen t to the RPs
whose asso ciated bit in the bitmap is set
If the pac k et do es not matchto anyen try and it is not a lo cal host or the router is not the DR
drop the pac k et
draftietfidmrpimsp ecps
F orw arding data pac k ets for DM groups
If the data pac k et is addressed to a DM group
If a matc hing en try is found and the incoming in terface c hec k passes the pac k et is forw arded to the
oif list for the en try If the oif list for the en try is n ull a prune message ma y b e sen t upstream
If there is no matc hing en try found but the RPF c hec k passed An SG en try is created with the
oif list p opulated with all DMcongured outgoing in terfaces and all in terfaces with lo cal mem bers excluding the incoming one
If the RPF c hec k fails a prune message ma ybe sen t upstream and the pac k et is dropp ed
Data triggered switc h to shortest path tree
If a pac k et is receiv ed for directly connected mem b ers of a SM group then if the longest matc h is G
and the router is in a mo de to prefer shortest path tree deliv ery for this group an SG en try is created
and a join is sentto w ards the source If the RPF in terface for SG is not the same as that for G
then the SPTbit is cleared in the SG en try PIM to NonPIM Border Routers
Editors Note This section is in more ux than some of the others
Routers that ha v e b oth PIM and nonPIM in terfaces are congured as PIMnonPIM Border Routers
PIMBRs
DBR election
All PIMBRs join a sp ecial m ulticast group All m ulticast routers PIM and nonPIM join a second
group
If a BR nds that it is the largest n um b ered participan t in the DBR election it sends an IGMP
HostQuery to a m ulticast group consisting of all m ulticast routers in the domain DBRs are group
sp ecic
Receiving IGMP HostQuery message sen ttoall m ulticast routers
When a m ulticast router receiv es an IGMP HostQuery message sen t to the allm ulticastrouters address
it resp onds b y sending an IGMP HostRep ort message to the same group
Receiving IGMP HostRep ort message sen t to all m ulticast routers
When a m ulticast router hears an IGMP HostRep ort for whic h it also has mem b ers it suppresses sending
rep orts for those groups
When a PIMBR hears an IGMP HostRep ort it creates an G en try if
It kno ws a G RPs mapping and
If it is not p ossible to mo dify nonPIM routers at all then wherev er a pac k et is indicated as sen t to the allm ulticast
routers address it m ust b e sentt wice once to the allPIMBRs address and once to the existing all nonPIMm ulticast
routers group In the w orst case it is sen t to all routers and dropp ed b y nonimplemen ting routers
draftietfidmrpimsp ecps
Its shortest path to the RP is an external path ie the next hop is a PIM router not a nonPIM
router and
Its shortest path to the RP is the shortest among all PIMBRs ie It is the RP en try BR
Generating joinprune messages
A PIMBR sends a join to w ards an RP on a PIM link for eac h group for whic h it has an activ e G
en try This is standard PIM b eha vior
F orw arding m ulticast data pac k ets from PIM links in to nonPIM region
When a PIMBR receiv es a pac k et on a PIM link it conducts the usual RPF c hec k and lo okup based on
the Source and Group address found in the pac k et header If the pac k et arriv ed on the iif found in the
longestmatc hed en try for SG If a SG matc h is found then
a the pac k et is forw arded to the PIM and nonPIM oif sinthe oif list
b If the source of the pac k et is a directlyconnected host c hec k the register bitmap asso ciated
with the SG en tryIf an y of the bits are set then the router encapsulates the data pac k et
in a register message and sends it to the corresp onding RPs
c If the SPT bit w as cleared and there is a lo cal G en try the SPT bit is set to one and a
SG prune message with RPbit set is sen t upstream to w ards the RP d The timer is reset for the SG en try If the group is SM and the longest matc hen try is a G then the BR m ulticasts the BR
encapsulated pac k et to the allPIMBRs address and sends the unencapsulated pac k et to all PIM
in terfaces in the oif list
If no SG matc hing en try is found ie if no en try is matc hed or if G is matc hed but the
group is SM and the source of the data pac k et is a lo cal directlyconnected host the data pac k et
is encapsulated in register messages and sen t to the RPs A register bitmap is created and
asso ciated with the RP list all bits are set If an y of the registrations had completed there w ould
ha v e b een an SG en try in existence
If the group is SM no matc hing en tries are found and the source is not a lo cal host the pac k et is
dropp ed
If the group is DM and there is no matc hing SG en try if the BR is the en try BR for S it
has an external path to s then an SG en try is created and the oif list is p opulated with all
DMcongured in terfaces and all nonPIM in terfaces excluding the incoming one the SPTbit is
cleared The BR m ulticasts the BRencapsulated pac k et to the allPIMBRs address and forw ards
the unencapsulated pac k et to all PIMDM in terfaces in the oif list
If a pac k et is receiv ed on a nonPIM in terface and the router has PIM in terfaces the pac k et is
pro cessed in the same w ayasdatapac k ets arriving on PIM in terfaces with resp ect to the PIM in terfaces
draftietfidmrpimsp ecps
Receiving BRencapsulated data pac k ets on allPIMBRs address
If a data pac k et is receiv ed on the allPIMBRs address and IPproto col is set to BRencapsulate the
router do es an RPF c hec k on the inner header If the RPF c hec k p oin ts to a PIM hop and not to inside
the nonPIM cloud then the inner header source and destination addresses are used to do a longest
matc h lo okup If a matc hing SG en try with SPTbit set is not found then the router will inject the
decapsulated pac k et in to the nonPIM region This gets all the BRs that ha v e external shortest paths
to the source to inject the pac k et in to the nonPIM region
F urthermore if there is an G en try whose iif is p oin ting inside the nonPIM region then the BR
is a RP exit BR an RPencapsulated v ersion of the pac k et is sen t to all PIM in terfaces in the oif list
c hec k ed
F orw arding m ulticast data pac k ets from nonPIM links on to PIM links
A PIMBR receiv es a pac k et from a nonPIM in terface if the RPF c hec k succeeds and there is a SG
en try the BR forw ards the pac k et to all PIM in terfaces in the oif list
draftietfidmrpimsp ecps
P ac k et F ormats
RF C see sp ecies t wot yp es of IGMP pac k ets for hosts and routers to con v ey m ulticast group
mem b ership and reac habilit y information An IGMP HostQuery pac k et is transmitted p erio dically b y
routers to ask hosts to rep ort whichm ulticast groups they are mem b ers of An IGMP Host Rep ort
pac k et is transmitted b y hosts in resp onse to receiv ed queries adv ertising group mem b ership
This section in tro duces new t yp es of IGMP pac k ets that are used b y PIM routers The xed header
pac k et format is
Version Type Code Checksum Address V ersion This memo sp ecies v ersion of IGMP T yp e There are nine t yp es of IGMP messages
Host Mem b ership Query
Host Mem b ership Rep ort
Router D VMRP Messages
Router PIM Messages
Cisco T race Messages
New Host Mem b ership Rep ort
Host Mem b ership Lea v e
Mtrace Resp onse
Mtrace Request
Co de Co des for sp ecic message t yp es Used only b yD VMRP and PIM PIM co des are
RouterQuery
Register
RegisterStop
JoinPrune
RPReac habilit y
Assert
Graft
GraftAc k
Chec ksum The c hec ksum is the bit ones complemen t of the ones complemen t sum of the en tire
IGMP message F or computing the c hec ksum the c hec ksum eld is zero ed
Address PIM V ersion eld when IGMP t ypeisPIM PIM Ver Reserved PIM V er PIM V ersion n um ber is Reserv ed T ransmitted as zero ignored on receipt
draftietfidmrpimsp ecps
PIMQuery Message
It is sen t p erio dically b y PIM routers on all in terfaces
Version Type Code Checksum PIM Ver Reserved Reserved Holdtime Dino
Mode Reserved Holdtime
V ersion T yp e Co de Chec ksum PIM V ersion Describ ed ab o v e
Reserv ed T ransmitted as zero ignored on receipt
Holdtime The amoun t of time a receiv er should k eep the neigh b or reac hable in seconds
PIMRegister Message
It is sentb y the Designated Router DR to RPs when a m ulticast pac k et needs to b e transmitted on
the RPtree Source IP address is set to an y address of the DR destination IP address is to the RPs
address
Version Type Code Checksum PIM Ver Reserved Multicast data packet V ersion T yp e Co de Chec ksum PIM V ersion Describ ed ab o v e
Multicast data pac k et The original pac k et sentb y the source F or p erio dic sending of registers this
part is n ull
draftietfidmrpimsp ecps
PIMRegisterStop Message
It is sentb y the RPs in ac kno wledge receipt of a register message Source IP address is the address the
register w as addressed to Destination IP address is the source address of the register message
Version Type Code Checksum PIM Ver Reserved Group Address Source Address V ersion T yp e Co de Chec ksum PIM V ersion Describ ed ab o v e
Group Address The group address from the register message
Source Address IP host address of source from m ulticast data pac k et in register This address is set
towhenan ull register is sen t
PIMJoinPrune Message
It is sentb y routers to w ards upstream sources and RPs A join creates forw arding state and a prune
destro ys forw arding state Joins are sen t to build shared trees RP trees or source trees SPT Prunes
are sen t to prune source trees when mem b ers lea v e groups as w ell as sources that do not use the shared
tree
Version Type Code Checksum PIM Ver Reserved Upstream Neighbor Address Reserved Holdtime Reserved Maddr Length Addr Length Num groups Multicast Group Address Multicast Group Address Mask Number of Join Sources Number of Prune Sources
draftietfidmrpimsp ecps
Join Source Address Join Source Addressn Prune Source Address Prune Source Addressn Multicast Group Addressn Multicast Group Addressn Mask Number of Join Sources Number of Prune Sources Join Source Address Join Source Addressn Prune Source Address Prune Source Addressn V ersion T yp e Co de Chec ksum PIM V ersion Describ ed ab o v e
Upstream Neigh bor Address The IP address of the RPF or upstream neigh bor Reserv ed T ransmitted as zero ignored on receipt
Holdtime The amoun t of time a receiv er should k eep the JoinPrune state aliv e in seconds
Maddr Length The length in b ytes of the enco ded m ulticast addresses
Addr Length The length in b ytes of the enco ded source addresses in the join and prune lists
draftietfidmrpimsp ecps
Num b er of Groups The n um ber of m ulticast group sets con tained in the message
Multicast group address F or IPit isab yte Class D address
Multicast group address mask A bit mask used against the m ulticast group address This is the
metho d to describ e a range of m ulticast addresses If the m ulticast group address eld describ es a
single group address the v alue m ust b e Num b er of Join Sources Num b er of join source addresses listed for a giv en group
Join Source Address n This list con tains the sources that the sending router will forw ard m ulti
cast datagrams for if receiv ed on the in terface this message is sen t on See format b elo w
Num b er of Prune Sources Num b er of prune source addresses listed for a group
Prune Source Address n This list con tains the sources that the sending router do es not w antto
forw ard m ulticast datagrams for when receiv ed on the in terface this message is sen t on See format
b elo w
Reserved SWR Mask Len Source Address Source Address Reserv ed T ransmitted as zero ignored on receipt
S The Sparse bit is a bit v alue it is used b y routers on the shortest path tree to indicate the group is in
sparsemo de since they do not kno w ab out an y RPs for the group This indicates to receiv ers to
send p erio dic Joins to w ards the source When set to the SG should b e treated in sparsemo de
otherwise it should b e treated in densemo de
W The WCbit is a bitv alue If the join or prune applies to the G en try If the join or prune
applies to the SG en try where S is Source Address Joins and prunes sen tto w ards the RP should
ha v e this bit set
R The RP bit is a bit v alue If the information ab out SG is sen tto w ards the RPIf the
information should b e sen t ab out SG to w ard S where S is Source Address
Mask Length Mask length is bits The v alue is the n um ber of con tiguous bits left justied used as a
mask whic h describ es the address The mask length m ust b e less than or equal to Addr Length Source Address The address length is indicated from the Addr Length eld at the b eginning of the
header F or IP the v alue is o ctets This address is either an RP address W C bit or a source
address W C bit When it is a source address it is coupled with the group address to mak e
SG
draftietfidmrpimsp ecps
Represen ted in the form of W C bit RP bit M ask l eng th S our ce addr ess A source address could b e a host IP address A source address could b e the RPs IP address A source address could b e a subnet address to prune from the RPtree A source address could b e a general aggregate PIMRPReac habilit y Message
Eac h RP will send RPReac habilit y messages to all routers on its distribution tree for a particular group
These messages are sen t so routers can detect that an RP is reac hable Routers that ha v e attac hed host
mem b ers for a group will pro cess the message
The RPs will address the RPReac habilit y messages to Routers that ha v e state for the
group with resp ect to the RP distribution tree will propagate the message Otherwise the message is
discarded If an RP address timer expires the router should attempt to send an PIM join message
to w ards an alternate RP pro vided for that group if one is a v ailable
Version Type Code Checksum PIM Ver Reserved Group Address Group Address Mask RP Address Reserved Holdtime V ersion T yp e Co de Chec ksum PIM V ersion Describ ed ab o v e
Group Address The group address the RP is asso ciated with
Group Address Mask A bit mask that allo ws to describ e group ranges Must b e set to
when Group Address describ es a single group address
RP Address The rendezv ous p oin t IP address of the sender
Reserv ed T ransmitted as zero ignored on receipt
Holdtime The amoun t of time in seconds receiv ers of this message should consider the RP reac hable
draftietfidmrpimsp ecps
PIMAssert Message
The PIMAssert message is sen t when a m ulticast data pac k et is receiv ed on an outgoing in terface
corresp onding to the SG or G asso ciated with the source
Version Type Code Checksum PIM Ver Reserved Group Address Group Mask Source Address R Metric Preference Metric V ersion T yp e Co de Chec ksum PIM V ersion Describ ed ab o v e
Group Address The group address the data pac k et w as addressed to that triggered the Assert
Group Mask Describ es a range of group addresses Use when describing a single group
Source Address Source IP address from IP m ulticast datagram that triggers the Assert pac k et to b e
sen t
R RP bit is a bit v alue If the IP m ulticast datagram that triggers the Assert pac k et is routed do wn
the RP tree then the RP bit is if the IP m ulticast datagram is routed do wn the SPT it is Metric Preference Preference v alue assigned to the unicast routing proto col that pro vided the route
to Host address
Metric The unicast routing table metric The metric is in units applicable to the unicast routing proto col
used
PIMGraft Message
This message is sentbya do wnstream router to a neigh b oring upstream router to reinstate a previously
pruned branc h of a source tree This is done for densemo de groups only The format is the same as a
PIMJoinPrune message
PIMGraftAc k Message
Sen t in resp onse to a receiv ed Graft message The GraftAc k is only sentifthe in terface in whichthe
Graft w as receiv ed is not the incoming in terface for the resp ectiv e SG This is done for densemo de
groups only The format is the same as PIMJoinPrune message
draftietfidmrpimsp ecps
Pseudo co de
Editors Note This section is still in progress
Ac kno wledgmen ts
T on y Ballardie Scott Brim Jon Cro w croft P aul F rancis and Lixia Zhang pro vided detailed commen ts on
previous drafts The authors of CBT and mem b ership of the IDMR WGpro vided man y of the motiv ating
ideas for this w ork and useful feedbac k on design details
This w ork w as supp orted b y the National Science F oundation ARP A cisco Systems and Sun Mi
crosystems
References
S Deering D Estrin D F arinacci V Jacobson C Liu and L W ei Proto col indep enden tm ulticast
pim Motiv ation and arc hitecture Internet Dr aftNo v em ber S Deering Igmp No v em b er S Deering Host extensions for ip m ulticasting aug RF C
Linked assets
Computer Science Technical Report Archive
Conceptually similar
PDF
USC Computer Science Technical Reports, no. 608 (1995)
PDF
USC Computer Science Technical Reports, no. 565 (1994)
PDF
USC Computer Science Technical Reports, no. 530 (1992)
PDF
USC Computer Science Technical Reports, no. 640 (1996)
PDF
USC Computer Science Technical Reports, no. 606 (1995)
PDF
USC Computer Science Technical Reports, no. 613 (1995)
PDF
USC Computer Science Technical Reports, no. 560 (1993)
PDF
USC Computer Science Technical Reports, no. 604 (1995)
PDF
USC Computer Science Technical Reports, no. 657 (1997)
PDF
USC Computer Science Technical Reports, no. 674 (1998)
PDF
USC Computer Science Technical Reports, no. 727 (2000)
PDF
USC Computer Science Technical Reports, no. 690 (1998)
PDF
USC Computer Science Technical Reports, no. 667 (1998)
PDF
USC Computer Science Technical Reports, no. 673 (1998)
PDF
USC Computer Science Technical Reports, no. 605 (1995)
PDF
USC Computer Science Technical Reports, no. 655 (1997)
PDF
USC Computer Science Technical Reports, no. 644 (1997)
PDF
USC Computer Science Technical Reports, no. 696 (1999)
PDF
USC Computer Science Technical Reports, no. 656 (1997)
PDF
USC Computer Science Technical Reports, no. 649 (1997)
Description
Steven Deering, Deborah Estrin, Dino Farinacci, Van Jacobson, Chinggung Liu, Liming Wei. "Protocol independent multicast (PIM): protocol specification." Computer Science Technical Reports (Los Angeles, California, USA: University of Southern California. Department of Computer Science) no. 599 (1995).
Asset Metadata
Creator
Deering, Steven
(author),
Estrin, Deborah
(author),
Farinacci, Dino;Jacobson, Van
(author),
Liu, Chinggung
(author),
Wei, Liming
(author)
Core Title
USC Computer Science Technical Reports, no. 599 (1995)
Alternative Title
Protocol independent multicast (PIM): protocol specification (
title
)
Publisher
Department of Computer Science,USC Viterbi School of Engineering, University of Southern California, 3650 McClintock Avenue, Los Angeles, California, 90089, USA
(publisher)
Tag
OAI-PMH Harvest
Format
33 pages
(extent),
technical reports
(aat)
Language
English
Unique identifier
UC16270226
Identifier
95-599 Protocol Independent Multicast (PIM) Protocol Specification (filename)
Legacy Identifier
usc-cstr-95-599
Format
33 pages (extent),technical reports (aat)
Rights
Department of Computer Science (University of Southern California) and the author(s).
Internet Media Type
application/pdf
Copyright
In copyright - Non-commercial use permitted (https://rightsstatements.org/vocab/InC-NC/1.0/
Source
20180426-rozan-cstechreports-shoaf
(batch),
Computer Science Technical Report Archive
(collection),
University of Southern California. Department of Computer Science. Technical Reports
(series)
Access Conditions
The author(s) retain rights to their work according to U.S. copyright law. Electronic access is being provided by the USC Libraries, but does not grant the reader permission to use the work if the desired use is covered by copyright. It is the author, as rights holder, who must provide use permission if such use is covered by copyright.
Repository Name
USC Viterbi School of Engineering Department of Computer Science
Repository Location
Department of Computer Science. USC Viterbi School of Engineering. Los Angeles\, CA\, 90089
Repository Email
csdept@usc.edu
Inherited Values
Title
Computer Science Technical Report Archive
Description
Archive of computer science technical reports published by the USC Department of Computer Science from 1991 - 2017.
Coverage Temporal
1991/2017
Repository Email
csdept@usc.edu
Repository Name
USC Viterbi School of Engineering Department of Computer Science
Repository Location
Department of Computer Science. USC Viterbi School of Engineering. Los Angeles\, CA\, 90089
Publisher
Department of Computer Science,USC Viterbi School of Engineering, University of Southern California, 3650 McClintock Avenue, Los Angeles, California, 90089, USA
(publisher)
Copyright
In copyright - Non-commercial use permitted (https://rightsstatements.org/vocab/InC-NC/1.0/