📄 rfc2362.txt
字号:
the Join/Prune must not be processed.Estrin, et. al. Experimental [Page 20]RFC 2362 PIM-SM June 1998 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 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 maintained (not deleted) even if its outgoing interface list is null. 2 For each address, Sp, in the prune list whose RPT-bit is set and whose WC-bit cleared:Estrin, et. al. Experimental [Page 21]RFC 2362 PIM-SM June 1998 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.) 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 orEstrin, et. al. Experimental [Page 22]RFC 2362 PIM-SM June 1998 prune list `completely-matches' a route entry only if both the 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 network layer 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, on the subnet containing the address S, 1 If there is no corresponding (S,G) entry, and the router has RP-Set information, and the DR is not the RP for G, the DR creates an (S,G) entry 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. If there exists a (*,G) or (*,*,RP) entry, the DR sends a Join/Prune message towards the RP with S in the prune list and the RPT-bit set. 2 If there is a (S,G) entry in existence, the DR simply restarts the corresponding Entry-timer. 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 routerEstrin, et. al. Experimental [Page 23]RFC 2362 PIM-SM June 1998 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 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. 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.Estrin, et. al. Experimental [Page 24]RFC 2362 PIM-SM June 1998 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 network layer address of the register packet). The RP triggers a (S,G) join towards the source of the data packet, and clears the SPT bit for the (S,G) entry. If the received Register is not a `null Register' the packet is forwarded according to the created state. Else, 2 If the `PMBR' field for the corresponding (S,G) entry matches the source of the Register packet, and the received Register is not a `null Register', the decapsulated packet is forwarded to the oif list of that entry. Else, 3 If the `PMBR' field for the corresponding (S,G) entry matches the source of the Register packet, the decapsulated packet is forwarded to the oif list of that entry, else 4 The packet is dropped, and a Register-stop is triggered towards the source of the Register. The (S,G) Entry-timer is restarted by Registers arriving from that source to that group. 2 If
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -