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

📄 rfc2117.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:
             flag cleared, and

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

   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



Estrin, et. al.               Experimental                     [Page 15]

RFC 2117                         PIM-SM                       June 1997


        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).

3.2.1.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
        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 :



Estrin, et. al.               Experimental                     [Page 16]

RFC 2117                         PIM-SM                       June 1997


        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.

   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 and a set RPT-bit in the prune list.



Estrin, et. al.               Experimental                     [Page 17]

RFC 2117                         PIM-SM                       June 1997


   4    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.)

   5    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 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.

   6    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.

   7    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.

   3.2.1.3 Fragmentation: 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.









Estrin, et. al.               Experimental                     [Page 18]

RFC 2117                         PIM-SM                       June 1997


3.2.2 Receiving Join/Prune Messages When a router receives a
           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 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, if Si
             is not included in the prune list, and 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



Estrin, et. al.               Experimental                     [Page 19]

RFC 2117                         PIM-SM                       June 1997


             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,

        5    The incoming interface is set to the interface used to
             send unicast packets to the RP in the (*,G) route
             entry, i.e., RPF interface toward the RP.

   2    For each address, Sj, in the join list whose RPT-bit and
        WC-bit are not set, and for which there is no existing (Sj,G)
        route entry, the router initiates one.  The router creates a
        (S,G) entry and copies all outgoing interfaces from the
        (S,G)RPT-bit entry, if it exists. If there is no (S,G) entry,
        the oif list is copied from the (*,G) entry; and if there is
        no (*,G) entry, the oif list is copied from the (*,*,RP)
        entry, if it exists.  In all cases, the iif of the (S,G)
        entry is always excluded from the oif list.

        1    The outgoing interface for (Sj,G) is set to I.  The
             incoming interface for (Sj,G) is set to the interface
             used to send unicast packets to Sj (i.e., the RPF
             neighbor).

⌨️ 快捷键说明

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