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

📄 rfc2362.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:
             interface as the RPF neighbor.

      2 A particular source address, S, is included in the join
        list with the RPT and WC bits cleared under the following
        conditions:

           1 The Join/Prune message is being sent to the RPF
             neighbor toward S, and

           2 There exists an active (S,G) entry with the RPT-bit
             flag cleared, and

           3 The oif list in the (S,G) entry is not null.






Estrin, et. al.               Experimental                     [Page 15]

RFC 2362                         PIM-SM                        June 1998


      3 A particular source address, S, is included in the prune
        list with the RPT and WC bits cleared under the following
        conditions:

           1 The Join/Prune message is being sent to the RPF
             neighbor toward S, and

           2 There exists an active (S,G) entry with the RPT-bit
             flag cleared, and

           3 The oif list in the (S,G) entry is null.

      4 A particular source address, S, is included in the prune
        list with the RPT-bit set and the WC bit cleared under the
        following conditions:

           1 The Join/Prune message is being sent to the RPF
             neighbor  toward the RP and there exists a (S,G) entry with
             the RPT-bit flag   set and null oif list, or

           2 The Join/Prune message is being sent to the RPF
             neighbor toward the RP, there exists a (S,G) entry with the
             RPT-bit flag cleared and SPT-bit set, and the incoming
             interface toward S is different than the incoming interface
             toward the RP, or

           3 The Join/Prune message is being sent to the RPF
             neighbor toward the RP, and there exists a (*,G) entry and
             (S,G) entry for a directly connected source.

      5 The RP address (with RPT and WC bits set) is included in
        the prune list if:

           1 The Join/Prune message is being sent to the RPF
             neighbor toward the RP and there exists a (*,G) entry with
             a null oif list (see Section 3.5.2).

      Triggered Join/Prune Messages:

      In addition to periodic messages, the following events will
      trigger Join/Prune messages if as a result, a) a new entry is
      created, or b) the oif list changes from null to non-null or non-
      null to null. The contents of triggered messages are the same as
      the periodic, described above.

      1 Receipt of an indication from IGMP that the state of
        directly-connected-membership has changed (i.e., new members
        have just joined `membership indication' or all members have



Estrin, et. al.               Experimental                     [Page 16]

RFC 2362                         PIM-SM                        June 1998


        left), for a group G, may cause the last-hop router to build or
        modify corresponding (*,G) state.  When IGMP indicates that
        there are no longer directly connected members, the oif is
        removed from the oif list if the oif-timer is not running. A
        Join/Prune message is triggered if and only if a) a new entry is
        created, or b) the oif list changes from null to non-null or
        non-null to null, as follows:

           1 If the receiving router does not have a route entry
             for G the router creates a (*,G) entry, copies the oif list
             from the corresponding (*,*,RP) entry (if it exists), and
             includes the interface included in the IGMP membership
             indication in the oif list; as always, the router never
             includes the entry's iif in the oif list. The router sends
             a Join/Prune message towards the RP with the RP address and
             RPT-bit and WC-bits set in the join list. Or,

           2 If a (S,G)RPT-bit or (*,G) entry already exists, the
             interface included in the IGMP membership indication is
             added to the oif list (if it was not included already).

      2 Receipt of a Join/Prune message for (S,G), (*,G) or
        (*,*,RP) will cause building or modifying corresponding state,
        and subsequent triggering of upstream Join/Prune messages, in
        the following cases:

           1 When there is no current route entry, the RP address
             included in the Join/Prune message is checked against the
             local RP-Set information. If it matches, an entry will be
             created and the new entry will in turn trigger an upstream
             Join/Prune message. If the router has no RP-Set information
             it may discard the message, or optionally use the RP
             address included in the message.

           2 When the outgoing interface list of an (S,G)RPT-bit
             entry becomes null, the triggered Join/Prune message will
             contain S in the prune list.

           3 When there exists a (S,G)RPT-bit with null oif list,
             and an (*,G) Join/Prune message is received, the arriving
             interface is added to the oif list and a (*,G) Join/Prune
             message is triggered upstream.

           4 When there exists a (*,G) with null oif list, and a
             (*,*,RP) Join/Prune message is received, the receiving
             interface is added to the oif list and a (*,*,RP)
             Join/Prune message is triggered upstream.




Estrin, et. al.               Experimental                     [Page 17]

RFC 2362                         PIM-SM                        June 1998


      3 Receipt of a packet that matches on a (S,G) entry whose
        SPT-bit is cleared triggers the following if the packet arrived
        on the correct incoming interface and there is a (*,G) or
        (*,*,RP) entry with a different incoming interface: a) the
        router sets the SPT-bit on the (S,G) entry, and b) the router
        sends a Join/Prune message towards the RP with S in the prune
        list and the RPT-bit set.

      4 Receipt of a packet at the DR from a directly connected
        source S, on the subnet containing the address S, triggers a
        Join/Prune message towards the RP with S in the prune list and
        the RPT-bit set under the following conditions: a) there is no
        matching (S,G) state, and b) there exists a (*,G) or (*,*,RP)
        for which the DR is not the RP.

      5 When a Join/Prune message is received for a group G, the
        prune list is checked. If the prune list contains a source or RP
        for which the receiving router has a corresponding active (S,G),
        (*,G) or (*,*,RP) entry, and whose iif is that on which the
        Join/Prune was received, then a join for (S,G), (*,G) or
        (*,*,RP) is triggered to override the prune, respectively. (This
        is necessary in the case of parallel downstream routers
        connected to a multi-access network.)

      6 When the RP fails, the RP will not be included in the
        Bootstrap messages sent to all routers in that domain. This
        triggers the DRs to send (*,G) Join/Prune messages towards the
        new RP for the group, as determined by the RP-Set and the hash
        function.  As described earlier, PMBRs trigger (*,*,RP) joins
        towards each RP in the RP-Set.

      7 When an entry's Join/Prune-Suppression timer expires, a
        Join/Prune message is triggered upstream corresponding to that
        entry, even if the outgoing interface has not transitioned
        between null and non-null states.

      8 When the RPF neighbor changes (whether due to an Assert or
        changes in unicast routing), the router sets a random delay
        timer (the Random-Delay-Join-Timer) whose expiration triggers
        sending of a Join/Prune message for the asserted route entry to
        the Assert winner (if the Join/Prune Suppression timer has
        expired.)

   We do not trigger prunes onto interfaces based on data packets.  Data
   packets that arrive on the wrong incoming interface are silently
   dropped.  However, on point-to-point interfaces triggered prunes may
   be sent as an optimization.




Estrin, et. al.               Experimental                     [Page 18]

RFC 2362                         PIM-SM                        June 1998


   aragraphFragmentation It is possible that a Join/Prune message
   constructed according to the preceding rules could exceed the MTU of
   a network. In this case, the message can undergo semantic
   fragmentation whereby information corresponding to different groups
   can be sent in different messages.  However, if a Join/Prune message
   must be fragmented the complete prune list corresponding to a group G
   must be included in the same Join/Prune message as the associated
   RP-tree Join for G. If such semantic fragmentation is not possible,
   IP fragmentation should be used between the two neighboring hops.

3.2.2 Receiving  Join/Prune  Messages  When  a  router  receives
      Join/Prune message, it processes it as follows.

   The receiver of the Join/Prune notes the interface on which the PIM
   message arrived, call it I. The receiver then checks to see if the
   Join/Prune message was addressed to the receiving router itself
   (i.e., the router's address appears in the Unicast Upstream Neighbor
   Router field of the Join/Prune message).  (If the router is connected
   to a multiaccess LAN, the message could be intended for a different
   router.) If the Join/Prune is for this router the following actions
   are taken.

   For each group address G, in the Join/Prune message, the associated
   join list is processed as follows. We refer to each address in the
   join list as Sj; Sj refers to the RP if the RPT-bit and WC-bit are
   both set. For each Sj in the join list of the Join/Prune message:

      1 If an address, Sj, in the join list of the Join/Prune
        message has the RPT-bit and WC-bit set, then Sj is the RP
        address used by the downstream router(s) and the following
        actions are taken:

           1 If Sj is not the same as the receiving router's RP
             mapping for G, the receiving router may ignore the
             Join/Prune message with respect to that group entry.  If
             the router does not have any RP-Set information, it may use
             the address Sj included in the Join/Prune message as the RP
             for the group.

           2 If Sj is the same as the receiving router's RP mapping
             for G, the receiving router adds I to the outgoing
             interface list of the (*,G) route entry (if there is no
             (*,G) entry, the router creates one first) and sets the
             Oif-timer for that interface to the Holdtime specified in
             the Join/Prune message. In addition, the Oif-Deletion-Delay
             for that interface is set to 1/3rd the Holdtime specified





Estrin, et. al.               Experimental                     [Page 19]

RFC 2362                         PIM-SM                        June 1998


             in the Join/Prune message. If a (*,*,RP) entry exists, for
             the RP associated with G, then the oif list of the newly
             created (*,G) entry is copied from that (*,*,RP) entry.

           3 For each (Si,G) entry associated with group G: i) if
             Si is not included in the prune list, ii) if I is not on
             the same subnet as the address Si, and iii) if I is not the
             iif, then interface I is added to the oif list and the
             Oif-timer for that interface in each affected entry is
             increased (never decreased) to the Holdtime included in the
             Join/Prune message.  In addition, if the Oif-timer for that
             interface is increased, the Oif-Deletion-Delay for that
             interface is set to 1/3rd the Holdtime specified in the
             Join/Prune message.

             If the group address in the Join/Prune message is `*' then
             every (*,G) and (S,G) entry, whose group address hashes to
             the RP indicated in the (*,*,RP) Join/Prune message, is
             updated accordingly. A `*' in the group field of the
             Join/Prune is represented by a group address 224.0.0.0 and
             a group mask length of 4, indicating a (*,*,RP) Join.

           4 If the (Si,G) entry has its RPT-bit flag set to 1, and
             its oif list is the same as the (*,G) oif list, then the
             (Si,G)RPT-bit entry is deleted,

⌨️ 快捷键说明

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