RFC 3376 IGMP v3.docx
《RFC 3376 IGMP v3.docx》由会员分享,可在线阅读,更多相关《RFC 3376 IGMP v3.docx(82页珍藏版)》请在冰豆网上搜索。
RFC3376IGMPv3
NetworkWorkingGroupB.Cain
RequestforComments:
3376CerevaNetworks
Obsoletes:
2236S.Deering
Category:
StandardsTrackI.Kouvelas
CiscoSystems
B.Fenner
AT&TLabs-Research
A.Thyagarajan
Ericsson
October2002
InternetGroupManagementProtocol,Version3
StatusofthisMemo
ThisdocumentspecifiesanInternetstandardstrackprotocolforthe
Internetcommunity,andrequestsdiscussionandsuggestionsfor
improvements.Pleaserefertothecurrenteditionofthe"Internet
OfficialProtocolStandards"(STD1)forthestandardizationstate
andstatusofthisprotocol.Distributionofthismemoisunlimited.
CopyrightNotice
Copyright(C)TheInternetSociety(2002).AllRightsReserved.
Abstract
ThisdocumentspecifiesVersion3oftheInternetGroupManagement
Protocol,IGMPv3.IGMPistheprotocolusedbyIPv4systemsto
reporttheirIPmulticastgroupmembershipstoneighboringmulticast
routers.Version3ofIGMPaddssupportfor"sourcefiltering",that
is,theabilityforasystemtoreportinterestinreceivingpackets
*only*fromspecificsourceaddresses,orfrom*allbut*specific
sourceaddresses,senttoaparticularmulticastaddress.That
informationmaybeusedbymulticastroutingprotocolstoavoid
deliveringmulticastpacketsfromspecificsourcestonetworkswhere
therearenointerestedreceivers.
ThisdocumentobsoletesRFC2236.
Cain,et.al.StandardsTrack[Page1]
RFC3376IGMPv3October2002
TableofContents
1.Introduction.........................2
2.TheServiceInterfaceforRequestingIPMulticastReception.3
3.MulticastReceptionStateMaintainedbySystems.......5
4.MessageFormats.......................7
5.DescriptionoftheProtocolforGroupMembers........19
6.DescriptionoftheProtocolforMulticastRouters......24
7.InteroperationwithOlderVersionsofIGMP..........35
8.ListofTimers,Counters,andTheirDefaultValues......40
9.SecurityConsiderations...................43
10.IANAConsiderations.....................47
11.Acknowledgments.......................47
12.NormativeReferences.....................47
13.InformativeReferences....................47
AppendixA.DesignRationale.................49
AppendixB.SummaryofchangesfromIGMPv2..........50
Authors'Addresses......................52
FullCopyrightStatement...................53
1.Introduction
TheInternetGroupManagementProtocol(IGMP)isusedbyIPv4systems
(hostsandrouters)toreporttheirIPmulticastgroupmembershipsto
anyneighboringmulticastrouters.NotethatanIPmulticastrouter
mayitselfbeamemberofoneormoremulticastgroups,inwhichcase
itperformsboththe"multicastrouterpart"oftheprotocol(to
collectthemembershipinformationneededbyitsmulticastrouting
protocol)andthe"groupmemberpart"oftheprotocol(toinform
itselfandother,neighboringmulticastroutersofitsmemberships).
IGMPisalsousedforotherIPmulticastmanagementfunctions,using
messagetypesotherthanthoseusedforgroupmembershipreporting.
Thisdocumentspecifiesonlythegroupmembershipreportingfunctions
andmessages.
ThisdocumentspecifiesVersion3ofIGMP.Version1,specifiedin
[RFC-1112],wasthefirstwidely-deployedversionandthefirst
versiontobecomeanInternetStandard.Version2,specifiedin
[RFC-2236],addedsupportfor"lowleavelatency",thatis,a
reductioninthetimeittakesforamulticastroutertolearnthat
therearenolongeranymembersofaparticulargrouppresentonan
attachednetwork.Version3addssupportfor"sourcefiltering",
thatis,theabilityforasystemtoreportinterestinreceiving
packets*only*fromspecificsourceaddresses,asrequiredtosupport
Source-SpecificMulticast[SSM],orfrom*allbut*specificsource
addresses,senttoaparticularmulticastaddress.Version3is
designedtobeinteroperablewithVersions1and2.
Cain,et.al.StandardsTrack[Page2]
RFC3376IGMPv3October2002
MulticastListenerDiscovery(MLD)isusedinasimilarwaybyIPv6
systems.MLDversion1[MLD]implementsthefunctionalityofIGMP
version2;MLDversion2[MLDv2]implementsthefunctionalityofIGMP
version3.
Thecapitalizedkeywords"MUST","MUSTNOT","REQUIRED","SHALL",
"SHALLNOT","SHOULD","SHOULDNOT","RECOMMENDED","MAY",and
"OPTIONAL"inthisdocumentaretobeinterpretedasdescribedin
[RFC-2119].Duetothelackofitalics,emphasisisindicatedherein
bybracketingawordorphrasein"*"characters.
2.TheServiceInterfaceforRequestingIPMulticastReception
WithinanIPsystem,thereis(atleastconceptually)aservice
interfaceusedbyupper-layerprotocolsorapplicationprogramsto
asktheIPlayertoenableanddisablereceptionofpacketssentto
specificIPmulticastaddresses.Inordertotakefulladvantageof
thecapabilitiesofIGMPv3,asystem'sIPserviceinterfacemust
supportthefollowingoperation:
IPMulticastListen(socket,interface,multicast-address,
filter-mode,source-list)
where:
o"socket"isanimplementation-specificparameterusedto
distinguishamongdifferentrequestingentities(e.g.,programsor
processes)withinthesystem;thesocketparameterofBSDUnix
systemcallsisaspecificexample.
o"interface"isalocalidentifierofthenetworkinterfaceonwhich
receptionofthespecifiedmulticastaddressistobeenabledor
disabled.Interfacesmaybephysical(e.g.,anEthernetinterface)
orvirtual(e.g.,theendpointofaFrameRelayvirtualcircuitor
theendpointofanIP-in-IP"tunnel").Animplementationmayallow
aspecial"unspecified"valuetobepassedastheinterface
parameter,inwhichcasetherequestwouldapplytothe"primary"
or"default"interfaceofthesystem(perhapsestablishedbysystem
configuration).Ifreceptionofthesamemulticastaddressis
desiredonmorethanoneinterface,IPMulticastListenisinvoked
separatelyforeachdesiredinterface.
o"multicast-address"istheIPmulticastaddress,orgroup,towhich
therequestpertains.Ifreceptionofmorethanonemulticast
addressonagiveninterfaceisdesired,IPMulticastListenis
invokedseparatelyforeachdesiredmulticastaddress.
Cain,et.al.StandardsTrack[Page3]
RFC3376IGMPv3October2002
o"filter-mode"maybeeitherINCLUDEorEXCLUDE.InINCLUDEmode,
receptionofpacketssenttothespecifiedmulticastaddressis
requested*only*fromthoseIPsourceaddresseslistedinthe
source-listparameter.InEXCLUDEmode,receptionofpacketssent
tothegivenmulticastaddressisrequestedfromallIPsource
addresses*except*thoselistedinthesource-listparameter.
o"source-list"isanunorderedlistofzeroormoreIPunicast
addressesfromwhichmulticastreceptionisdesiredornotdesired,
dependingonthefiltermode.AnimplementationMAYimposealimit
onthesizeofsourcelists,butthatlimitMUSTNOTbelessthan
64addressesperlist.Whenanoperationcausesthesourcelist
sizelimittobeexceeded,theserviceinterfaceMUSTreturnan
error.
Foragivencombinationofsocket,interface,andmulticastaddress,
onlyasinglefiltermodeandsourcelistcanbeineffectatanyone
time.However,eitherthefiltermodeorthesourcelist,orboth,
maybechangedbysubsequentIPMulticastListenrequeststhatspecify
thesamesocket,interface,andmulticastaddress.Eachsubsequent
requestcompletelyreplacesanyearlierrequestforthegivensocket,
interfaceandmulticastaddress.
PreviousversionsofIGMPdidnotsupportsourcefiltersandhada
simplerserviceinterfaceconsistingofJoinandLeaveoperationsto
enableanddisablereceptionofagivenmulticastaddress(from*all*
sources)onagiveninterface.Theequivalentoperationsinthenew
serviceinterfacefollow:
TheJoinoperationisequivalentto
IPMulticastListen(socket,interface,multicast-address,
EXCLUDE,{})
andtheLeaveoperationisequivalentto:
IPMulticastListen(socket,interface,multicast-address,
INCLUDE,{})
where{}isanemptysourcelist.
AnexampleofanAPIprovidingthecapabilitiesoutlinedinthis
serviceinterfaceisin[FILTER-API].
Cain,et.al.StandardsTrack[Page4]
RFC3376IGMPv3October2002
3.MulticastReceptionStateMaintainedbySystems
3.1.SocketState
ForeachsocketonwhichIPMulticastListenhasbeeninvoked,the
systemrecordsthedesiredmulticastreceptionstateforthatsocket.
Thatstateconceptuallyconsistsofasetofrecordsoftheform:
(interface,multicast-address,filter-mode,source-list)
Thesocketstateevolvesinresponsetoeachinvocationof
IPMulticastListenonthesocket,asfollows:
oIftherequestedfiltermodeisINCLUDE*and*therequestedsource
listisempty,thentheentrycorrespondingtotherequested
interfaceandmulticastaddressisdeletedifpresent.Ifnosuch
entryispresent,therequestisignored.
oIftherequestedfiltermodeisEXCLUDE*or*therequestedsource
listisnon-empty,thentheentrycorrespondingtotherequested
interfaceandmulticastaddress,ifpresent,ischangedtocontain
therequestedfiltermodeandsourcelist.Ifnosuchentryis
present,anewentryiscreated,usingtheparametersspecifiedin
therequest.
3.2.InterfaceState
Inadditiontotheper-socketmulticastreceptionstate,asystem
mustalsomaintainorcomputemulticastrece