⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 draft-ietf-pim-sm-v2-new-03.txt

📁 xorp源码hg
💻 TXT
📖 第 1 页 / 共 5 页
字号:
INTERNET-DRAFT            Expires: January 2002                July 2001We divide TIB state into four sections:(*,*,RP) state     State that maintains per-RP trees, for all groups served by a given     RP.(*,G) state     State that maintains the RP tree for G.(S,G) state     State that maintains a source-specific tree for source S and group     G.(S,G,rpt) state     State that maintains source-specific information about source S on     the RP tree for G.  For example, if a source is being received on     the source-specific tree, it will normally have been pruned off the     RP tree.  This prune state is (S,G,rpt) state.The state that should be kept is described below.  Of course,implementations will only maintain state when it is relevant toforwarding operations - for example, the "NoInfo" state might be assumedfrom the lack of other state information, rather than being heldexplicitly.4.1.1.  General Purpose StateA router holds the following non-group-specific state:     For each interface:          o Override Interval          o Propagation Delay          o Suppression state: One of {"Enable", "Disable"}          Neighbor State:            For each neighbor:                 o Information from neighbor's Hello                 o Neighbor's Gen ID.                 o Neighbor liveness timer (NLT)Fenner/Handley/Holbrook/Kouvelas               Section 4.1.1.  [Page 13]INTERNET-DRAFT            Expires: January 2002                July 2001          Designated Router (DR) State:            o Designated Router's IP Address            o DR's DR PriorityThe Override Interval, the Propagation Delay and the Interface           |suppression state are described in section 4.6.3. Designated Router      |state is described in section 4.6.4.1.2.  (*,*,RP) StateFor every RP a router keeps the following state:     (*,*,RP) state:          For each interface:               PIM (*,*,RP) Join/Prune State:                    o State: One of {"NoInfo" (NI), "Join" (J),                      "PrunePending" (PP)}                    o Prune Pending Timer (PPT)                    o Join/Prune Expiry Timer (ET)          Not interface specific:               o Upstream Join/Prune Timer (JT)               o Last RPF Neighbor towards RP that was usedPIM (*,*,RP) Join/Prune state is the result of receiving PIM (*,*,RP)Join/Prune messages on this interface, and is specified in section4.4.1.The upstream (*,*,RP) Join/Prune timer is used to send out periodicJoin(*,*,RP) messages, and to override Prune(*,*,RP) messages from peerson an upstream LAN interface.The last RPF neighbor towards the RP is stored because if the MRIBchanges then the RPF neighbor towards the RP may change.  If it does so,then we need to trigger a new Join(*,*,RP) to the new upstream neighborand a Prune(*,*,RP) to the old upstream neighbor.  Similarly, if arouter detects through a changed GenID in a Hello message that theupstream neighbor towards the RP has rebooted, then it should re-instantiate state by sending a Join(*,*,RP).  These mechanisms arespecified in Section 4.4.5.Fenner/Handley/Holbrook/Kouvelas               Section 4.1.2.  [Page 14]INTERNET-DRAFT            Expires: January 2002                July 20014.1.3.  (*,G) StateFor every group G a router keeps the following state:     (*,G) state:          For each interface:               Local Membership:                    State: One of {"NoInfo", "Include"}               PIM (*,G) Join/Prune State:                    o State: One of {"NoInfo" (NI), "Join" (J),                      "PrunePending" (PP)}                    o Prune Pending Timer (PPT)                    o Join/Prune Expiry Timer (ET)               (*,G) Assert Winner State                    o State: One of {"NoInfo" (NI), "I lost Assert" (L),                      "I won Assert" (W)}                    o Assert Timer (AT)                    o Assert winner's IP Address                    o Assert winner's Assert Metric          Not interface specific:               o Upstream Join/Prune Timer (JT)               o Last RP Used               o Last RPF Neighbor towards RP that was usedLocal membership is the result of the local membership mechanism (suchas IGMP) running on that interface.  It need not be kept if this routeris not the DR on that interface unless this router won a (*,G) assert onthis interface for this group, although implementations may optionallykeep this state in case they become the DR or assert winner.  Thisinformation is used by the pim_include(*,G) macro described in section4.1.6.PIM (*,G) Join/Prune state is the result of receiving PIM (*,G)Join/Prune messages on this interface, and is specified in sectionFenner/Handley/Holbrook/Kouvelas               Section 4.1.3.  [Page 15]INTERNET-DRAFT            Expires: January 2002                July 20014.4.2. The state is used by the macros that calculate the outgoinginterface list in section 4.1.6, and in the JoinDesired(*,G) macro(defined in section 4.4.6) that is used in deciding whether a Join(*,G)should be sent upstream.(*,G) Assert Winner state is the result of sending or receiving (*,G)assert messages on this interface.  It is specified in section 4.5.2.The upstream (*,G) Join/Prune timer is used to send out periodicJoin(*,G) messages, and to override Prune(*,G) messages from peers on anupstream LAN interface.The last RP used must be stored because if the RP Set changes (section4.7) then state must be torn down and rebuilt for groups whose RPchanges.The last RPF neighbor towards the RP is stored because if the MRIBchanges then the RPF neighbor towards the RP may change.  If it does so,then we need to trigger a new Join(*,G) to the new upstream neighbor anda Prune(*,G) to the old upstream neighbor.  Similarly, if a routerdetects through a changed GenID in a Hello message that the upstreamneighbor towards the RP has rebooted, then it should re-instantiatestate by sending a Join(*,G).  These mechanisms are specified in Section4.4.6.4.1.4.  (S,G) StateFor every source/group pair (S,G) a router keeps the following state:     (S,G) state:          For each interface:               Local Membership:                    State: One of {"NoInfo", "Include"}               PIM (S,G) Join/Prune State:                    o State: One of {"NoInfo" (NI), "Join" (J),                      "PrunePending" (PP)}                    o Prune Pending Timer (PPT)                    o Join/Prune Expiry Timer (ET)               (S,G) Assert Winner StateFenner/Handley/Holbrook/Kouvelas               Section 4.1.4.  [Page 16]INTERNET-DRAFT            Expires: January 2002                July 2001                    o State: One of {"NoInfo" (NI), "I lost Assert" (L),                      "I won Assert" (W)}                    o Assert Timer (AT)                    o Assert winner's IP Address                    o Assert winner's Assert Metric          Not interface specific:               o Upstream (S,G) Join/Prune Timer (JT)               o Last RPF Neighbor towards S that was used               o SPT bit (indicates (S,G) state is active)               o (S,G) KeepAlive Timer (KAT)Local membership is the result of the local source-specific membershipmechanism (such as IGMP version 3) running on that interface andspecifying that this particular source should be included.  As storedhere, this state is the resulting state after any IGMPv3 inconsistencieshave been resolved.  It need not be kept if this router is not the DR onthat interface unless this router won a (S,G) assert on this interfacefor this group.  This information is used by the pim_include(S,G) macrodescribed in section 4.1.6.PIM (S,G) Join/Prune state is the result of receiving PIM (S,G)Join/Prune messages on this interface, and is specified in section4.4.2. The state is used by the macros that calculate the outgoinginterface list in section 4.1.6, and in the JoinDesired(S,G) macro(defined in section 4.4.7) that is used in deciding whether a Join(S,G)should be sent upstream.(S,G) Assert Winner state is the result of sending or receiving (S,G)assert messages on this interface.  It is specified in section 4.5.1.The upstream (S,G) Join/Prune timer is used to send out periodicJoin(S,G) messages, and to override Prune(S,G) messages from peers on anupstream LAN interface.The last RPF neighbor towards S is stored because if the MRIB changesthen the RPF neighbor towards S may change.  If it does so, then we needto trigger a new Join(S,G) to the new upstream neighbor and a Prune(S,G)to the old upstream neighbor.  Similarly, if the router detects througha changed GenID in a Hello message that the upstream neighbor towards Shas rebooted, then it should re-instantiate state by sending aFenner/Handley/Holbrook/Kouvelas               Section 4.1.4.  [Page 17]INTERNET-DRAFT            Expires: January 2002                July 2001Join(S,G).  These mechanisms are specified in Section 4.4.7.The SPTbit is used to indicate whether forwarding is taking place on the(S,G) Shortest Path Tree (SPT) or on the (*,G) tree.  A router can have(S,G) state and still be forwarding on (*,G) state during the intervalwhen the source-specific tree is being constructed.  When SPTbit isFALSE, only (*,G) forwarding state is used to forward packets from S toG.  When SPTbit is TRUE, both (*,G) and (S,G) forwarding state are used.The (S,G) Keepalive Timer is updated by data being forwarded using this(S,G) forwarding state.  It is used to keep (S,G) state alive in theabsence of explicit (S,G) Joins.  Amongst other things, this isnecessary for the so-called "turnaround rules" - when the RP uses (S,G)joins to stop encapsulation, and then (S,G) prunes to prevent trafficfrom unnecessarily reaching the RP.4.1.5.  (S,G,rpt) StateFor every source/group pair (S,G) for which a router also has (*,G)state, it also keeps the following state:     (S,G,rpt) state:          For each interface:               Local Membership:                    State: One of {"NoInfo", "Exclude"}               PIM (S,G,rpt) Join/Prune State:                    o State: One of {"NoInfo", "Pruned", "PrunePending"}                    o Prune Pending Timer (PPT)                    o Join/Prune Expiry Timer (ET)          Not interface specific:               Upstream (S,G,rpt) Join/Prune State:                    o State: One of {"NotJoined(*,G)",                      "NotPruned(S,G,rpt)", "Pruned(S,G,rpt)"}                    o Override Timer (OT)Local membership is the result of the local source-specific membershipmechanism (such as IGMPv3) running on that interface and specifying thatalthough there is (*,G) Include state, this particular source should be

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -