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

📄 rfc2117.txt

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

        2    If the interface used to reach Sj, is the same as I,
             this represents an error (or a unicast routing change)
             and the Join/Prune must not be processed.













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


   3    For each address, Sj, in the join list of the Join/Prune
        message, for which there is an existing (Sj,G) route entry,

        1    If the RPT-bit is not set for Sj listed in the
             Join/Prune message, but the RPT-bit flag is set on the
             existing (Sj,G) entry, the router clears the RPT-bit
             flag on the (Sj,G) entry, sets the incoming interface
             to point towards Sj for that (Sj,G) entry, and sends a
             Join/Prune message corresponding to that entry through
             the new incoming interface; and

        2    If I is not the same as the existing incoming
             interface, the router adds I to the list of outgoing
             interfaces.

        3    The Oif-timer for I 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.

        4    The (Sj,G) entry's SPT bit is cleared until data comes
             down the shortest path tree.

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


   1    For each address, Sp, in the prune list whose RPT-bit and
        WC-bit are cleared:

        1    If there is an existing (Sp,G) route entry, the router
             lowers the Oif-timer for I to its Oif-Deletion-Delay,
             allowing for other downstream routers on a multi-
             access LAN to override the prune. However, on point-
             to-point links, the oif-timer is expired immediately.

        2    If the router has a current (*,G), or (*,*,RP), route
             entry, and if the existing (Sp,G) entry has its RPT-
             bit flag set to 1, then this (Sp,G)RPT-bit entry is
             maintained (not deleted) even if its outgoing
             interface list is null.






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


   2    For each address, Sp, in the prune list whose RPT-bit is
        set and whose WC-bit cleared:

        1    If there is an existing (Sp,G) route entry, the router
             lowers the entry's Oif-timer for I to its
             Oif-Deletion-Delay, allowing for other downstream
             routers on a multi- access LAN to override the prune.
             However, on point-to-point links, the oif-timer is
             expired immediately.

        2    If the router has a current (*,G), or (*,*,RP), route
             entry, and if the existing (Sp,G) entry has its
             RPT- bit flag set to 1, then this (Sp,G)RPT-bit entry
             is not deleted, and the Entry-timer is restarted, even
             if its outgoing interface list is null.

        3    If (*,G), or corresponding (*,*,RP), state exists, but
             there is no (Sp,G) entry, an (Sp,G)RPT-bit entry is
             created. The outgoing interface list is copied from the
             (*,G), or (*,*,RP), entry, with the interface, I, on
             which the prune was received, is deleted.  Packets from
             the pruned source, Sp, match on this state and are not
             forwarded toward the pruned receivers.

        4    If there exists a (Sp,G) entry, with or without the
             RPT-bit set, the oif-timer for I is expired, and the
             Entry-timer is restarted.

   3    For each address, Sp, in the prune list whose RPT-bit and
        WC-bit are both set:

        1    If there is an existing (*,G) entry, with Sp as the RP
             for G, the router lowers the entry's Oif-timer for I
             to its Oif-Deletion-Delay, allowing for other
             downstream routers on a multi-access LAN to override the
             prune. However, on point-to-point links, the oif-timer
             is expired immediately.

        2    If the corresponding (*,*,RP) state exists, but there
             is no (*,G) entry, a (*,G) entry is created. The
             outgoing interface list is copied from (*,*,RP) entry,
             with the interface, I, on which the prune was
             received, deleted.

        For any new (S,G), (*,G) or (*,*,RP) entry created by an
        incoming Join/Prune message, the SPT-bit is cleared (and if a
        Join/Prune-Suppression timer is used, it is left off.)




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


   If the entry has a Join/Prune-Suppression timer associated with it,
   and if the received Join/Prune does not indicate the router as its
   target, then the receiving router examines the join and prune lists
   to see if any addresses in the list `completely- match' existing
   (S,G), (*,G), or (*,*,RP) state for which the receiving router
   currently schedules Join/Prune messages. An element on the join or
   prune list `completely-matches' a route entry only if both the IP
   addresses and RPT-bit flag are the same. If the incoming Join/Prune
   message completely matches an existing (S,G), (*,G), or (*,*,RP)
   entry and the Join/Prune arrived on the iif for that entry, then the
   router compares the Holdtime included in the Join/Prune message, to
   its own [Join/Prune-Holdtime].  If its own [Join/Prune-Holdtime] is
   lower, the Join/Prune-Suppression-timer is started at the
   [Join/Prune-Suppression-Timeout]. If the [Join/Prune-Holdtime] is
   equal, the tie is resolved in favor of the Join/Prune Message
   originator that has the higher IP address. When the Join/Prune timer
   expires, the router triggers a Join/Prune message for the
   corresponding entry(ies).

3.3 Register and Register-Stop

   When a source first starts sending to a group its packets are
   encapsulated in Register messages and sent to the RP. If the data
   rate warrants source-specific paths, the RP sets up source specific
   state and starts sending (S,G) Join/Prune messages toward the source,
   with S in the join list.

3.3.1 Sending Registers and Receiving Register-Stops

   Register messages are sent as follows:

   1    When a DR receives a packet from a directly connected
        source, S

        1    If there is no corresponding (S,G) entry, and the
             router has RP-Set information, the DR creates one with
             the Register-Suppression-timer turned off and the RP
             address set according to the hash function mapping for
             the corresponding group. The oif list is copied from
             existing (*,G) or (*,*,RP) entries, if they exist. The
             iif of the (S,G) entry is always excluded from the oif
             list.

        2    If there is a (S,G) entry in existence, the DR  simply
             restarts the corresponding Entry-timer.






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


        When a PMBR (e.g., a router that connects the PIM-SM region to
        a dense mode region running DVMRP or PIM-DM) receives a packet
        from a source in the dense mode region,  the  router treats  the
        packet as if it were from a directly connected source. A
        separate document will describe  the  details  of
        interoperability.

   2    If the new or previously-existing (S,G) entry's Register-
        Suppression-timer is not running, the data packet is
        encapsulated in a Register message and unicast to the RP
        for that group. The data packet is also forwarded according
        to (S,G) state in the DR if the oif list is not null; since
        a receiver may join the SP-tree while the DR is still
        registering to the RP.

   3    If the (S,G) entry's Register-Suppression-timer is running,
        the data packet is not sent in a Register message, it is
        just forwarded according to the (S,G) oif list.

   When the DR receives a Register-Stop message, it restarts the
   Register-Suppression-timer in the corresponding (S,G) entry(ies) at
   [Register-Suppression-Timeout] seconds. If there is data to be
   registered, the DR may send a null Register (a Register message with
   a zero-length data portion in the inner IP packet) to the RP,
   [Probe-Time] seconds before the Register- Suppression-timer expires,
   to avoid sending occasional bursts of traffic to an RP unnecessarily.

3.3.2 Receiving Register Messages and Sending Register-Stops

   When a router (i.e., the RP) receives a Register message, the router
   does the following:

   1    Decapsulates the data packet, and checks for a
        corresponding (S,G) entry.

        1    If a (S,G) entry with cleared (0) SPT bit exists, and
             the received Register does not have the Null-
             Register-Bit set to 1, the packet is forwarded; and
             the SPT bit is left cleared (0). If the SPT bit is 1,
             the packet is dropped, and Register-Stop messages are
             triggered.  Register-Stops should be rate-limited (in
             an implementation-specific manner) so that no more
             than a few are sent per round trip time. This prevents
             a high datarate stream of packets from triggering a
             large number of Register-Stop messages between the
             time that the first packet is received and the time
             when the source receives the first Register-Stop.




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


        2    If there is no (S,G) entry, but there is a (*,G)
             entry, and the received Register does not have the
             Null-Register-Bit set to 1, the packet is forwarded
             according to the (*,G) entry.

        3    If there is a (*,*,RP) entry but no (*,G) entry, and
             the Register received does not have the Null-
             Register-Bit set to 1, a (*,G) or (S,G) entry is
             created and the oif list is copied from the (*,*,RP)
             entry to the new entry.  The packet is forwarded
             according to the created entry.

        4    If there is no G or (*,*,RP) entry corresponding to G,
             the packet is dropped, and a Register-Stop is
             triggered.

        5    A "Border bit" bit is added to the Register message,
             to facilitate interoperability mechanisms. PMBRs set
             this bit when registering for external sources (see
             Section 2.7).  If the "Border bit" is set in the
             Register, the RP does the following:

             1    If there is no matching (S,G) state, but there
                  exists (*,G) or (*,*,RP) entry, the RP creates a
                  (S,G) entry, with a `PMBR' field.  This field
                  holds the source of the Register (i.e. the outer
                  IP address of the register packet).  The RP
                  triggers a (S,G) jo

⌨️ 快捷键说明

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