Specifications

Understanding Multicast
April 16, 2009 Page 9 of 32
4. Determinesifthereisactivesourceinformationforthesourcenetwork,multicastgroup(S,G)
pair.
•Ifthereisnot,thenthedeviceignorestheprune.
•Ifthereis,thenthedeviceproceedsasfollows.
5. Verifiesthattheprunewasreceivedfromadependentneighborforthe sourcenetwork.
•Ifitwasnot,
thenthedevicediscardstheprune.
•Ifitwas,thenthedeviceproceedsasfollows.
6. DeterminesifapruneiscurrentlyactivefromthesamedependentneighborforthisS,Gpair.
•Ifnotactive,createsastateforthenewpruneandsetsatimerfortheprunelifetime
•Ifactive,resetsthe
timertothenewtimeoutvalue.
7. Determinesifalldependentdownstreamdevicesontheinterfacefromwhichtheprunewas
receivedhavenowsentprunes.
•Iftheyhavenot,removestheinterfacefromallforwardingcacheentriesforthisgroup
instantiatedusingtheroutetowhichthepruneapplies.
•If
theyhave,determinesiftherearegroupmembersactiveontheinterfaceandifthis
deviceisthedesignatedforwarderforthenetwork.
Graft Messages
Leafdevicessendgraftmessageswhenthefollowingoccur:
•Anewlocalmemberjoinsagroupthathasbeenprunedupstreamand thisdeviceisthe
designatedforwarderforthesource.
•Anewdependentdownstreamdeviceappearsonaprunedbranch.
•Adependentdownstreamdeviceonaprunedbranchrestarts.
•Agraft
retransmissiontimerexpiresbeforeagraftACKisreceived.
Graftmessagesaresentupstreamhopbyhopuntilthemulticasttreeisreached.Sincethereisno
waytotellwhetheragraftmessagewaslostorthesourcehasstoppedsending,eachgraft
messageisacknowledgedhopbyhop.
Whensending
grafts,thedownstreamdevicedoesthefollowing:
1. Verifiesapruneexistsforthesourcenetworkandgroup.
2. Verifiesthattheupstreamdeviceiscapableofreceivingprunes(andthereforegrafts).
3. Addsthegrafttotheretransmissiontimerlistawaitinganacknowledgment.
4. Formulatesandtransmitsthegraftpacket .
Whenreceivinggrafts,theupstream
devicedoesthefollowing:
1. Verifieswhethertheneighborisknown.
•Ifunknown,discardsthereceivedgraft.
•Ifknown,proceedsasfollows.
2. Ensuresthegraftmessagecontainsatleastthecorrectamountofdata.
3. SendsbackagraftACKtothesender.