| < draft-ietf-pim-bidir-05.txt | draft-ietf-pim-bidir-06.txt > | |||
|---|---|---|---|---|
| Internet Engineering Task Force PIM WG | Internet Engineering Task Force PIM WG | |||
| INTERNET-DRAFT Mark Handley/UCL | INTERNET-DRAFT Mark Handley/UCL | |||
| draft-ietf-pim-bidir-05.txt Isidor Kouvelas/Cisco | draft-ietf-pim-bidir-06.txt Isidor Kouvelas/Cisco | |||
| Tony Speakman/Cisco | Tony Speakman/Cisco | |||
| Lorenzo Vicisano/Cisco | Lorenzo Vicisano/Cisco | |||
| 19 June 2003 | 12 April 2004 | |||
| Expires: December 2004 | Expires: October 2004 | |||
| Bi-directional Protocol Independent Multicast (BIDIR-PIM) | Bi-directional Protocol Independent Multicast (BIDIR-PIM) | |||
| Status of this Document | Status of this Document | |||
| This document is an Internet-Draft and is in full conformance with all | This document is an Internet-Draft and is in full conformance with all | |||
| provisions of Section 10 of RFC2026. | provisions of Section 10 of RFC2026. | |||
| Internet-Drafts are working documents of the Internet Engineering Task | Internet-Drafts are working documents of the Internet Engineering Task | |||
| Force (IETF), its areas, and its working groups. Note that other groups | Force (IETF), its areas, and its working groups. Note that other groups | |||
| skipping to change at page 3, line 10 ¶ | skipping to change at page 3, line 10 ¶ | |||
| hence along the shared tree to receivers without requiring | hence along the shared tree to receivers without requiring | |||
| source-specific state. The DF election takes place at RP | source-specific state. The DF election takes place at RP | |||
| discovery time and provides the route to the RP thus | discovery time and provides the route to the RP thus | |||
| eliminating the requirement for data-driven protocol events. | eliminating the requirement for data-driven protocol events. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction. . . . . . . . . . . . . . . . . . . . . . 5 | 1. Introduction. . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 2.1. Definitions. . . . . . . . . . . . . . . . . . . . . 6 | 2.1. Definitions. . . . . . . . . . . . . . . . . . . . . 6 | |||
| 2.2. Pseudocode Notation. . . . . . . . . . . . . . . . . 7 | 2.2. Pseudocode Notation. . . . . . . . . . . . . . . . . 8 | |||
| 3. Protocol Specification. . . . . . . . . . . . . . . . . 8 | 3. Protocol Specification. . . . . . . . . . . . . . . . . 8 | |||
| 3.1. BIDIR-PIM Protocol State . . . . . . . . . . . . . . 8 | 3.1. BIDIR-PIM Protocol State . . . . . . . . . . . . . . 9 | |||
| 3.1.1. General Purpose State . . . . . . . . . . . . . . 9 | 3.1.1. General Purpose State . . . . . . . . . . . . . . 9 | |||
| 3.1.2. RPA State . . . . . . . . . . . . . . . . . . . . 10 | 3.1.2. RPA State . . . . . . . . . . . . . . . . . . . . 10 | |||
| 3.1.3. Group State . . . . . . . . . . . . . . . . . . . 10 | 3.1.3. Group State . . . . . . . . . . . . . . . . . . . 10 | |||
| 3.1.4. State Summarization Macros. . . . . . . . . . . . 11 | 3.1.4. State Summarization Macros. . . . . . . . . . . . 11 | |||
| 3.2. PIM Neighbor Discovery . . . . . . . . . . . . . . . 12 | 3.2. PIM Neighbor Discovery . . . . . . . . . . . . . . . 12 | |||
| 3.3. Data Packet Forwarding Rules . . . . . . . . . . . . 13 | 3.3. Data Packet Forwarding Rules . . . . . . . . . . . . 13 | |||
| 3.3.1. Upstream Forwarding at RP . . . . . . . . . . . . 14 | 3.3.1. Upstream Forwarding at RP . . . . . . . . . . . . 14 | |||
| 3.3.2. Source-Only Branches. . . . . . . . . . . . . . . 14 | 3.3.2. Source-Only Branches. . . . . . . . . . . . . . . 14 | |||
| 3.3.3. Directly Connected Sources. . . . . . . . . . . . 14 | 3.3.3. Directly Connected Sources. . . . . . . . . . . . 15 | |||
| 3.4. PIM Join/Prune Messages. . . . . . . . . . . . . . . 14 | 3.4. PIM Join/Prune Messages. . . . . . . . . . . . . . . 15 | |||
| 3.4.1. Receiving (*,G) Join/Prune Messages . . . . . . . 15 | 3.4.1. Receiving (*,G) Join/Prune Messages . . . . . . . 15 | |||
| 3.4.2. Sending Join/Prune Messages . . . . . . . . . . . 17 | 3.4.2. Sending Join/Prune Messages . . . . . . . . . . . 18 | |||
| 3.5. Designated Forwarder (DF) Election . . . . . . . . . 20 | 3.5. Designated Forwarder (DF) Election . . . . . . . . . 21 | |||
| 3.5.1. DF Requirements . . . . . . . . . . . . . . . . . 20 | 3.5.1. DF Requirements . . . . . . . . . . . . . . . . . 21 | |||
| 3.5.2. DF Election description . . . . . . . . . . . . . 21 | 3.5.2. DF Election description . . . . . . . . . . . . . 22 | |||
| 3.5.2.1. Bootstrap Election . . . . . . . . . . . . . . 21 | 3.5.2.1. Bootstrap Election . . . . . . . . . . . . . . 22 | |||
| 3.5.2.2. Loser Metric Changes . . . . . . . . . . . . . 22 | 3.5.2.2. Loser Metric Changes . . . . . . . . . . . . . 23 | |||
| 3.5.2.3. Winner Metric Changes. . . . . . . . . . . . . 23 | 3.5.2.3. Winner Metric Changes. . . . . . . . . . . . . 24 | |||
| 3.5.2.4. Winner Loses Path. . . . . . . . . . . . . . . 23 | 3.5.2.4. Winner Loses Path. . . . . . . . . . . . . . . 24 | |||
| 3.5.2.5. Late Router Starting Up. . . . . . . . . . . . 24 | 3.5.2.5. Late Router Starting Up. . . . . . . . . . . . 25 | |||
| 3.5.2.6. Winner Dies. . . . . . . . . . . . . . . . . . 24 | 3.5.2.6. Winner Dies. . . . . . . . . . . . . . . . . . 25 | |||
| 3.5.3. Election Protocol Specification . . . . . . . . . 24 | 3.5.3. Election Protocol Specification . . . . . . . . . 25 | |||
| 3.5.3.1. Election State . . . . . . . . . . . . . . . . 24 | 3.5.3.1. Election State . . . . . . . . . . . . . . . . 25 | |||
| 3.5.3.2. Election Messages. . . . . . . . . . . . . . . 25 | 3.5.3.2. Election Messages. . . . . . . . . . . . . . . 26 | |||
| 3.5.3.3. Election Events. . . . . . . . . . . . . . . . 26 | 3.5.3.3. Election Events. . . . . . . . . . . . . . . . 27 | |||
| 3.5.3.4. Election Actions . . . . . . . . . . . . . . . 27 | 3.5.3.4. Election Actions . . . . . . . . . . . . . . . 28 | |||
| 3.5.3.5. Election State Transitions . . . . . . . . . . 27 | 3.5.3.5. Election State Transitions . . . . . . . . . . 28 | |||
| 3.5.4. Election Reliability Enhancements . . . . . . . . 31 | 3.5.4. Election Reliability Enhancements . . . . . . . . 32 | |||
| 3.5.5. Missing Pass. . . . . . . . . . . . . . . . . . . 31 | 3.5.5. Missing Pass. . . . . . . . . . . . . . . . . . . 32 | |||
| 3.5.6. Periodic Winner Announcement. . . . . . . . . . . 31 | 3.5.6. Periodic Winner Announcement. . . . . . . . . . . 32 | |||
| 3.6. Timers Counters and Constants. . . . . . . . . . . . 31 | 3.6. Timers Counters and Constants. . . . . . . . . . . . 32 | |||
| 3.7. BIDIR PIM Packet Formats . . . . . . . . . . . . . . 35 | 3.7. BIDIR PIM Packet Formats . . . . . . . . . . . . . . 36 | |||
| 3.7.1. DF Election Packet Formats. . . . . . . . . . . . 35 | 3.7.1. DF Election Packet Formats. . . . . . . . . . . . 36 | |||
| 3.7.2. Backoff Message . . . . . . . . . . . . . . . . . 36 | 3.7.2. Backoff Message . . . . . . . . . . . . . . . . . 37 | |||
| 3.7.3. Pass Message. . . . . . . . . . . . . . . . . . . 37 | 3.7.3. Pass Message. . . . . . . . . . . . . . . . . . . 38 | |||
| 3.7.4. Bidir Capable PIM-Hello Option. . . . . . . . . . 38 | 3.7.4. Bidir Capable PIM-Hello Option. . . . . . . . . . 39 | |||
| 4. RP Discovery. . . . . . . . . . . . . . . . . . . . . . 38 | 4. RP Discovery. . . . . . . . . . . . . . . . . . . . . . 39 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . 39 | 5. Security Considerations . . . . . . . . . . . . . . . . 39 | |||
| 5.1. Attacks Based on Forged Messages . . . . . . . . . . 39 | 5.1. Attacks Based on Forged Messages . . . . . . . . . . 39 | |||
| 5.1.1. Election of an Incorrect DF . . . . . . . . . . . 39 | 5.1.1. Election of an Incorrect DF . . . . . . . . . . . 40 | |||
| 5.1.2. Preventing Election Convergence . . . . . . . . . 40 | 5.1.2. Preventing Election Convergence . . . . . . . . . 41 | |||
| 5.2. Non-cryptographic Authentication Mechanisms. . . . . 40 | 5.2. Non-cryptographic Authentication Mechanisms. . . . . 41 | |||
| 5.2.1. Basic Access Control. . . . . . . . . . . . . . . 40 | 5.2.1. Basic Access Control. . . . . . . . . . . . . . . 41 | |||
| 5.3. Authentication Using IPsec . . . . . . . . . . . . . 41 | 5.3. Authentication Using IPsec . . . . . . . . . . . . . 41 | |||
| 5.4. Denial of Service Attacks. . . . . . . . . . . . . . 41 | 5.4. Denial of Service Attacks. . . . . . . . . . . . . . 41 | |||
| 6. Change history. . . . . . . . . . . . . . . . . . . . . 41 | 6. Change history. . . . . . . . . . . . . . . . . . . . . 42 | |||
| 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . 41 | 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . 42 | |||
| 8. Authors' Addresses. . . . . . . . . . . . . . . . . . . 42 | 8. Authors' Addresses. . . . . . . . . . . . . . . . . . . 42 | |||
| 9. Normative . . . . . . . . . . . . . . . . . . . . . . . 42 | 9. Normative References. . . . . . . . . . . . . . . . . . 43 | |||
| 10. Informative. . . . . . . . . . . . . . . . . . . . . . 43 | 10. Informative References . . . . . . . . . . . . . . . . 43 | |||
| 11. Index. . . . . . . . . . . . . . . . . . . . . . . . . 44 | 11. Index. . . . . . . . . . . . . . . . . . . . . . . . . 45 | |||
| 1. Introduction | 1. Introduction | |||
| This document specifies Bi-directional PIM (BIDIR-PIM), a variant of PIM | This document specifies Bi-directional PIM (BIDIR-PIM), a variant of PIM | |||
| Sparse-Mode (PIM-SM) [4] that builds bi-directional shared trees | Sparse-Mode (PIM-SM) [4] that builds bi-directional shared trees | |||
| connecting multicast sources and receivers. | connecting multicast sources and receivers. | |||
| PIM-SM constructs uni-directional shared trees that are used to forward | PIM-SM constructs uni-directional shared trees that are used to forward | |||
| data from senders to receivers of a multicast group. PIM-SM also allows | data from senders to receivers of a multicast group. PIM-SM also allows | |||
| the construction of source specific trees, but this capability is not | the construction of source specific trees, but this capability is not | |||
| related to the protocol described in this document. | related to the protocol described in this document. | |||
| The shared tree for each multicast group is rooted at a multicast router | The shared tree for each multicast group is rooted at a multicast router | |||
| called the Rendezvous Point (RP). Different multicast group ranges can | called the Rendezvous Point (RP). Different multicast groups can use | |||
| use separate RPs within a PIM domain. | separate RPs within a PIM domain. | |||
| In unidirectional PIM-SM, there are two possible methods for | In unidirectional PIM-SM, there are two possible methods for | |||
| distributing data packets on the shared tree. These differ in the way | distributing data packets on the shared tree. These differ in the way | |||
| packets are forwarded from a source to the RP: | packets are forwarded from a source to the RP: | |||
| o Initially when a source starts transmitting, its first hop router | o Initially when a source starts transmitting, its first hop router | |||
| encapsulates data packets in special control messages (Registers) | encapsulates data packets in special control messages (Registers) | |||
| which are unicast to the RP. After reaching the RP the packets are | which are unicast to the RP. After reaching the RP the packets are | |||
| decapsulated and distributed on the shared tree. | decapsulated and distributed on the shared tree. | |||
| skipping to change at page 5, line 40 ¶ | skipping to change at page 5, line 40 ¶ | |||
| stage. This is achieved by building source specific state on all | stage. This is achieved by building source specific state on all | |||
| routers along the path between the source and the RP. This state is | routers along the path between the source and the RP. This state is | |||
| then used to natively forward packets from that source. | then used to natively forward packets from that source. | |||
| Both these mechanisms suffer from problems. Encapsulation results in | Both these mechanisms suffer from problems. Encapsulation results in | |||
| significant processing, bandwidth and delay overheads. Forwarding using | significant processing, bandwidth and delay overheads. Forwarding using | |||
| source specific state has additional protocol and memory requirements. | source specific state has additional protocol and memory requirements. | |||
| Bi-directional PIM dispenses with both encapsulation and source state by | Bi-directional PIM dispenses with both encapsulation and source state by | |||
| allowing packets to be natively forwarded from a source to the RP using | allowing packets to be natively forwarded from a source to the RP using | |||
| shared tree state. | shared tree state. In contrast to PIM-SM this mode of forwarding does | |||
| not require any data-driven events. | ||||
| The protocol specification in this document assumes familiarity with the | The protocol specification in this document assumes familiarity with the | |||
| PIM-SM specification in [4]. Portions of the BIDIR-PIM protocol | PIM-SM specification in [4]. Portions of the BIDIR-PIM protocol | |||
| operation that are identical to that of PIM-SM are only defined by | operation that are identical to that of PIM-SM are only defined by | |||
| reference. | reference. | |||
| 2. Terminology | 2. Terminology | |||
| In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", | In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", | |||
| "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and | "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and | |||
| skipping to change at page 7, line 10 ¶ | skipping to change at page 7, line 11 ¶ | |||
| The protocol presented in this document is largely based on the | The protocol presented in this document is largely based on the | |||
| concept of a Designated Forwarder (DF). A single DF exists for | concept of a Designated Forwarder (DF). A single DF exists for | |||
| each RPA on every link within a BIDIR-PIM domain (this includes | each RPA on every link within a BIDIR-PIM domain (this includes | |||
| both multi-access and point-to-point links). The only exception is | both multi-access and point-to-point links). The only exception is | |||
| the RPL on which no DF exists. The DF is the router on the link | the RPL on which no DF exists. The DF is the router on the link | |||
| with the best route to the RPA (determined by comparing MRIB | with the best route to the RPA (determined by comparing MRIB | |||
| provided metrics). A DF for a given RPA is in charge of forwarding | provided metrics). A DF for a given RPA is in charge of forwarding | |||
| downstream traffic onto its link, and forwarding upstream traffic | downstream traffic onto its link, and forwarding upstream traffic | |||
| from its link towards the RPL. It does this for all the bi- | from its link towards the RPL. It does this for all the bi- | |||
| directional groups that map to the RPA. The DF on a link is also | directional groups that map to the RPA. The DF on a link is also | |||
| responsible processing Join messages from downstream routers on | responsible for processing Join messages from downstream routers | |||
| the link as well as ensuring that packets are forwarded to local | on the link as well as ensuring that packets are forwarded to | |||
| receivers (discovered through a local membership mechanism such as | local receivers (discovered through a local membership mechanism | |||
| MLD or IGMP [2]). | such as MLD [3] or IGMP [2]). | |||
| RPF Interface | RPF Interface | |||
| RPF stands for "Reverse Path Forwarding". The RPF Interface of a | RPF stands for "Reverse Path Forwarding". The RPF Interface of a | |||
| router with respect to an address is the interface that the MRIB | router with respect to an address is the interface that the MRIB | |||
| indicates should be used to forward packets to that address. In | indicates should be used to reach that address. In the case of a | |||
| the case of a BIDIR-PIM multicast group, the RPF interface is | BIDIR-PIM multicast group, the RPF interface is determined by | |||
| determined by looking up the RPA in the MRIB. The RPF information | looking up the RPA in the MRIB. The RPF information determines the | |||
| determines the interface of the router that would be used to send | interface of the router that would be used to send packets towards | |||
| packets towards the RPL for the group. | the RPL for the group. | |||
| RPF Neighbor | RPF Neighbor | |||
| The RPF Neighbor of a router with respect to an address is the | The RPF Neighbor of a router with respect to an address is the | |||
| neighbor that the MRIB indicates should be used to forward packets | neighbor that the MRIB indicates should be used to reach that | |||
| to that address. Note that in BIDIR-PIM, the RPF neighbor for a | address. Note that in BIDIR-PIM, the RPF neighbor for a group is | |||
| group is not necessarily the router on the RPF interface that Join | not necessarily the router on the RPF interface that Join messages | |||
| messages for that group would be directed to (Join messages are | for that group would be directed to (Join messages are only | |||
| only directed to the DF on the RPF interface for the group). | directed to the DF on the RPF interface for the group). | |||
| TIB Tree Information Base. This is the collection of state at a PIM | TIB Tree Information Base. This is the collection of state at a PIM | |||
| router that has been created by receiving PIM Join/Prune messages, | router that has been created by receiving PIM Join/Prune messages, | |||
| PIM DF election messages and IGMP information from local hosts. | PIM DF election messages and IGMP or MLD information from local | |||
| It essentially stores the state of all multicast distribution | hosts. It essentially stores the state of all multicast | |||
| trees at that router. | distribution trees at that router. | |||
| MFIB Multicast Forwarding Information Base. The TIB holds all the | MFIB Multicast Forwarding Information Base. The TIB holds all the | |||
| state that is necessary to forward multicast packets at a router. | state that is necessary to forward multicast packets at a router. | |||
| However, although this specification defines forwarding in terms | However, although this specification defines forwarding in terms | |||
| of the TIB, to actually forward packets using the TIB is very | of the TIB, to actually forward packets using the TIB is very | |||
| inefficient. Instead a real router implementation will normally | inefficient. Instead a real router implementation will normally | |||
| build an efficient MFIB from the TIB state to perform forwarding. | build an efficient MFIB from the TIB state to perform forwarding. | |||
| How this is done is implementation-specific, and is not discussed | How this is done is implementation-specific, and is not discussed | |||
| in this document. | in this document. | |||
| skipping to change at page 9, line 42 ¶ | skipping to change at page 9, line 50 ¶ | |||
| 3.1.1. General Purpose State | 3.1.1. General Purpose State | |||
| A router holds the following state that is not specific to a RPA or | A router holds the following state that is not specific to a RPA or | |||
| group: | group: | |||
| Neighbor State: | Neighbor State: | |||
| For each neighbor: | For each neighbor: | |||
| o Information from neighbor's Hello | ||||
| o Neighbor's Gen ID. | o Neighbor's Gen ID. | |||
| o Neighbor liveness timer (NLT) | o Neighbor liveness timer (NLT) | |||
| o Other information from neighbor's Hello | ||||
| For more information on Hello information look at section 3.2 as well as | ||||
| the PIM-SM specification in [4]. | ||||
| 3.1.2. RPA State | 3.1.2. RPA State | |||
| A router maintains a multicast-group to RPA mapping which is built | A router maintains a multicast-group to RPA mapping which is built | |||
| through static configuration or by using an automatic RP discovery | through static configuration or by using an automatic RP discovery | |||
| mechanism like BSR or AUTO-RP (see section 4 ). For each BIDIR-PIM RPA a | mechanism like BSR or AUTO-RP (see section 4). For each BIDIR-PIM RPA a | |||
| router holds the following state: | router holds the following state: | |||
| o RPA (actual address) | o RPA (actual address) | |||
| Designated Forwarder (DF) State: | Designated Forwarder (DF) State: | |||
| For each router interface: | For each router interface: | |||
| Acting DF information: | Acting DF information: | |||
| skipping to change at page 11, line 35 ¶ | skipping to change at page 11, line 43 ¶ | |||
| messages on this interface, and is specified in section 3.4.1. The state | messages on this interface, and is specified in section 3.4.1. The state | |||
| is used by the macros that calculate the outgoing interface list in | is used by the macros that calculate the outgoing interface list in | |||
| section 3.1.4, and in the JoinDesired(G) macro (defined in section | section 3.1.4, and in the JoinDesired(G) macro (defined in section | |||
| 3.4.2) that is used in deciding whether a Join(*,G) should be sent | 3.4.2) that is used in deciding whether a Join(*,G) should be sent | |||
| upstream. | upstream. | |||
| The upstream Join/Prune timer is used to send out periodic Join(*,G) | The upstream Join/Prune timer is used to send out periodic Join(*,G) | |||
| messages, and to override Prune(*,G) messages from peers on an upstream | messages, and to override Prune(*,G) messages from peers on an upstream | |||
| LAN interface. | LAN interface. | |||
| The last RPA used must be stored because if the RP Set changes (see [4]) | The last RPA used must be stored because if the group to RPA mapping | |||
| then state must be torn down and rebuilt for groups whose RPA changes. | changes (see RP Set changes in [4]) then state must be torn down and | |||
| rebuilt for groups whose RPA changes. | ||||
| 3.1.4. State Summarization Macros | 3.1.4. State Summarization Macros | |||
| Using this state, we define the following "macro" definitions which we | Using this state, we define the following "macro" definitions which we | |||
| will use in the descriptions of the state machines and pseudocode in the | will use in the descriptions of the state machines and pseudocode in the | |||
| following sections. | following sections. | |||
| olist(G) = | olist(G) = | |||
| RPF_interface(RPA(G)) (+) joins(G) (+) pim_include(G) | RPF_interface(RPA(G)) (+) joins(G) (+) pim_include(G) | |||
| skipping to change at page 12, line 17 ¶ | skipping to change at page 12, line 24 ¶ | |||
| be forwarded because of hosts that are local members on that interface. | be forwarded because of hosts that are local members on that interface. | |||
| pim_include(G) = | pim_include(G) = | |||
| { all interfaces I such that: | { all interfaces I such that: | |||
| I_am_DF(RPA(G),I) AND local_receiver_include(G,I) } | I_am_DF(RPA(G),I) AND local_receiver_include(G,I) } | |||
| The clause "I_am_DF(RPA,I)" is TRUE if the router is in the Win or | The clause "I_am_DF(RPA,I)" is TRUE if the router is in the Win or | |||
| Backoff states in the DF election state machine (described in section | Backoff states in the DF election state machine (described in section | |||
| 3.5) for the given RPA on interface I. Otherwise it is FALSE. | 3.5) for the given RPA on interface I. Otherwise it is FALSE. | |||
| The clause "local_receiver_include(G,I)" is true if the IGMP module or | The clause "local_receiver_include(G,I)" is true if the IGMP module, MLD | |||
| other local membership mechanism has determined that there are local | module or other local membership mechanism has determined that there are | |||
| members on interface I that desire to receive traffic sent to group G. | local members on interface I that desire to receive traffic sent to | |||
| group G. | ||||
| The set "joins(G)" is the set of all interfaces on which the router has | The set "joins(G)" is the set of all interfaces on which the router has | |||
| received (*,G) Joins: | received (*,G) Joins: | |||
| joins(G) = | joins(G) = | |||
| { all interfaces I such that | { all interfaces I such that | |||
| I_am_DF(RPA(G),I) AND | I_am_DF(RPA(G),I) AND | |||
| DownstreamJPState(G,I) is either Joined or PrunePending } | DownstreamJPState(G,I) is either Joined or PrunePending } | |||
| DownstreamJPState(G,I) is the state of the finite state machine in | DownstreamJPState(G,I) is the state of the finite state machine in | |||
| skipping to change at page 13, line 5 ¶ | skipping to change at page 13, line 14 ¶ | |||
| in section 3.1. The procedures for generating and processing Hello | in section 3.1. The procedures for generating and processing Hello | |||
| messages as well as maintaining Neighbor State are specified in the PIM- | messages as well as maintaining Neighbor State are specified in the PIM- | |||
| SM [4] documentation. | SM [4] documentation. | |||
| Bidir PIM introduces the Bidir_Capable PIM-Hello option that MUST be | Bidir PIM introduces the Bidir_Capable PIM-Hello option that MUST be | |||
| included in all Hello messages from a Bidir-PIM capable router. The | included in all Hello messages from a Bidir-PIM capable router. The | |||
| Bidir_Capable option advertises the router's ability to participate in | Bidir_Capable option advertises the router's ability to participate in | |||
| the Bidir-PIM protocol. The format of the Bidir_Capable option is | the Bidir-PIM protocol. The format of the Bidir_Capable option is | |||
| described in section 3.7. | described in section 3.7. | |||
| If a Bidir PIM router receives a PIM-Hello message that does not contain | ||||
| the Bidir_Capable option from one of its neighbours, the error must be | ||||
| logged to the router administrator in a rate-limited manner. | ||||
| 3.3. Data Packet Forwarding Rules | 3.3. Data Packet Forwarding Rules | |||
| For groups mapping to a given RPA, the following responsibilities are | For groups mapping to a given RPA, the following responsibilities are | |||
| uniquely assigned to the DF for that RPA on each link: | uniquely assigned to the DF for that RPA on each link: | |||
| o The DF is the only router that forwards packets traveling downstream | o The DF is the only router that forwards packets traveling downstream | |||
| onto the link. | onto the link. | |||
| o The DF is the only router that picks-up upstream traveling packets off | o The DF is the only router that picks-up upstream traveling packets off | |||
| the link to forward towards the RPL. | the link to forward towards the RPL. | |||
| skipping to change at page 14, line 10 ¶ | skipping to change at page 14, line 24 ¶ | |||
| if( iif == RPF_interface(RPA) || I_am_DF(RPA,I) ) { | if( iif == RPF_interface(RPA) || I_am_DF(RPA,I) ) { | |||
| oiflist = olist(G) (-) iif | oiflist = olist(G) (-) iif | |||
| forward packet on all interfaces in oiflist | forward packet on all interfaces in oiflist | |||
| } | } | |||
| 3.3.1. Upstream Forwarding at RP | 3.3.1. Upstream Forwarding at RP | |||
| When configuring a BIDIR-PIM domain it is possible to assign the | When configuring a BIDIR-PIM domain it is possible to assign the | |||
| Rendezvous Point Address (RPA) such that it does not belong to a | Rendezvous Point Address (RPA) such that it does not belong to a | |||
| physical box but instead is simply a routable address. Routers that have | physical box but instead is simply a routable address. Routers that have | |||
| interfaces on the RPL that the RPA belongs to will upstrem forward | interfaces on the RPL that the RPA belongs to will upstream forward | |||
| traffic onto the link. Joins from receivers in the domain will propagate | traffic onto the link. Joins from receivers in the domain will propagate | |||
| hop-by-hop till they reach one of the routers connected to the RPL where | hop-by-hop till they reach one of the routers connected to the RPL where | |||
| they will terminate (as there will be no DF elected on the RPL). | they will terminate (as there will be no DF elected on the RPL). | |||
| If instead the administrator chooses to configure the RPA to be the | If instead the administrator chooses to configure the RPA to be the | |||
| addres of an interface of a specific router then nothing changes. That | address of an interface of a specific router then nothing changes. That | |||
| router must still upstream forward traffic on to the RPL and behave no | router must still upstream forward traffic on to the RPL and behave no | |||
| differently than any other router with an interface on the RPL. | differently than any other router with an interface on the RPL. | |||
| To configure a BIDIR-PIM network to operate in a mode similar to that of | To configure a BIDIR-PIM network to operate in a mode similar to that of | |||
| PIM-SM where a single router (the RP) is acting as the root of the | PIM-SM where a single router (the RP) is acting as the root of the | |||
| distribution tree, the RPA address can be configured to be the loopback | distribution tree, the RPA address can be configured to be the loopback | |||
| interface of a router. | interface of a router. | |||
| 3.3.2. Source-Only Branches | 3.3.2. Source-Only Branches | |||
| Source-only branches of the distribution tree for a group G are branches | Source-only branches of the distribution tree for a group G are branches | |||
| which do not lead to any receivers, but which are used to forward | which do not lead to any receivers, but which are used to forward | |||
| packets traveling upstream from sources towards the RPL. Routers along | packets traveling upstream from sources towards the RPL. Routers along | |||
| source-only branches only have the RPF_interface to the RPA in their | source-only branches only have the RPF_interface to the RPA in their | |||
| olist for G and hence do not need to maintain any group specific state. | olist for G and hence do not need to maintain any group specific state. | |||
| Upstream forwarding can be performed using only RPA specific state. An | Upstream forwarding can be performed using only RPA specific state. An | |||
| implementation may decide to maintain group state for source-only | implementation may decide to maintain group state for source-only | |||
| branches for accounting or performance reasons. | branches for accounting or performance reasons. However, doing so | |||
| requires data-driven events thus sacrificing one of tha main benefits of | ||||
| Bidir PIM. | ||||
| 3.3.3. Directly Connected Sources | 3.3.3. Directly Connected Sources | |||
| A major advantage of using a Designated Forwarder in BIDIR-PIM compared | A major advantage of using a Designated Forwarder in BIDIR-PIM compared | |||
| to PIM-SM is that special treatment is no longer required for sources | to PIM-SM is that special treatment is no longer required for sources | |||
| that are directly connected to a router. Data from such sources does not | that are directly connected to a router. Data from such sources does not | |||
| need to be differentiated from other multicast traffic and will | need to be differentiated from other multicast traffic and will | |||
| automatically be picked up by the DF and forwarded upstream. This | automatically be picked up by the DF and forwarded upstream. This | |||
| removes the need for performing a directly-connected-source check for | removes the need for performing a directly-connected-source check for | |||
| data to groups that do not have existing state. | data to groups that do not have existing state. | |||
| skipping to change at page 17, line 8 ¶ | skipping to change at page 17, line 43 ¶ | |||
| The transition events "Receive Join(*,G)" and "Receive Prune(*,G)" imply | The transition events "Receive Join(*,G)" and "Receive Prune(*,G)" imply | |||
| receiving a Join or Prune targeted to this router's address on the | receiving a Join or Prune targeted to this router's address on the | |||
| received interface. If the destination address is not correct, these | received interface. If the destination address is not correct, these | |||
| state transitions in this state machine must not occur, although seeing | state transitions in this state machine must not occur, although seeing | |||
| such a packet may cause state transitions in other state machines. | such a packet may cause state transitions in other state machines. | |||
| On unnumbered interfaces on point-to-point links, the router's address | On unnumbered interfaces on point-to-point links, the router's address | |||
| should be the same as the source address it chose for the hello packet | should be the same as the source address it chose for the hello packet | |||
| it sent over that interface. However on point-to-point links we also | it sent over that interface. However on point-to-point links we also | |||
| recommend that PIM messages with a 0.0.0.0 destination address are also | recommend that PIM messages with a destination address of all zeros are | |||
| accepted. | also accepted. | |||
| The transition event "Stop being DF" implies a DF re-election taking | The transition event "Stop being DF" implies a DF re-election taking | |||
| place on this router interface for RPA(G) and the router changing status | place on this router interface for RPA(G) and the router changing status | |||
| from being the active DF to being a non-DF router (the value of the | from being the active DF to being a non-DF router (the value of the | |||
| I_am_DF macro changing to FALSE). | I_am_DF macro changing to FALSE). | |||
| When ExpiryTimer is started or restarted, it is set to the HoldTime from | When ExpiryTimer is started or restarted, it is set to the HoldTime from | |||
| the triggering received Join/Prune message. | the triggering received Join/Prune message. | |||
| When PrunePendingTimer is started, it is set to the | When PrunePendingTimer is started, it is set to the | |||
| skipping to change at page 20, line 25 ¶ | skipping to change at page 21, line 25 ¶ | |||
| This section presents a fail-safe mechanism for electing a per-RPA | This section presents a fail-safe mechanism for electing a per-RPA | |||
| designated router on each link in a BIDIR-PIM domain. We call this | designated router on each link in a BIDIR-PIM domain. We call this | |||
| router the Designated Forwarder (DF). The DF election does not take | router the Designated Forwarder (DF). The DF election does not take | |||
| place on the RPL for a RPA. | place on the RPL for a RPA. | |||
| 3.5.1. DF Requirements | 3.5.1. DF Requirements | |||
| The DF election chooses the best router on a link to assume the | The DF election chooses the best router on a link to assume the | |||
| responsibility of forwarding traffic between the RPL and the link for | responsibility of forwarding traffic between the RPL and the link for | |||
| the range of multicast groups served by the RPA. Different multicast | the range of multicast groups served by the RPA. Different multicast | |||
| groups that share a common RPA must use the same bi-directional tree for | groups that share a common RPA share the same upstream direction. | |||
| data forwarding. Hence, the election of an upstream forwarder on each | Hence, the election of an upstream forwarder on each link does not have | |||
| link does not have to be a group specific decision but instead can be | to be a group specific decision but instead can be RPA-specific. As the | |||
| RPA-specific. As the number of RPAs is typically small, the number of | number of RPAs is typically small, the number of elections that have to | |||
| elections that have to be performed is significantly reduced by this | be performed is significantly reduced by this observation. | |||
| observation. | ||||
| To optimise tree creation, it is desirable that the winner of the | To optimise tree creation, it is desirable that the winner of the | |||
| election process should be the router on the link with the "best" | election process should be the router on the link with the "best" | |||
| unicast routing metric to reach the RPA (as reported by the MRIB). When | unicast routing metric (as reported by the MRIB) to reach the RPA. When | |||
| comparing metrics from different unicast routing protocols, we use the | comparing metrics from different unicast routing protocols, we use the | |||
| same comparison rules used by the PIM-SM assert process [4]. | same comparison rules used by the PIM-SM assert process [4]. | |||
| The election process needs to take place when information on a new RPA | The election process needs to take place when information on a new RPA | |||
| initially becomes available. The result can be re-used as new bidir | initially becomes available. The result can be re-used as new bidir | |||
| groups that map to the same RPA are encountered. There are however some | groups that map to the same RPA are encountered. There are however some | |||
| conditions under which an update to the election is required: | conditions under which an update to the election is required: | |||
| o There is a change in unicast metric to reach the RPA for any of | o There is a change in unicast metric to reach the RPA for any of | |||
| the routers on the link. | the routers on the link. | |||
| o The interface on which the RPA is reachable (RPF Interface) | o The interface on which the RPA is reachable (RPF Interface) | |||
| changes to an interface for which the router was previously the | changes to an interface for which the router was previously the | |||
| DF. | DF. | |||
| o A new PIM neighbor starts up on a link that must participate in | o A new PIM neighbor starts up on a link that must participate in | |||
| the elections and be informed of current outcome. | the elections and be informed of current outcome. | |||
| o The elected DF dies (detected through neighbor information | o The elected DF fails (detected through neighbor information | |||
| timeout or MRIB RPF change at downstream router). | timeout or MRIB RPF change at downstream router). | |||
| The election process has to be robust enough to ensure with very high | The election process has to be robust enough to ensure with very high | |||
| probability that all routers on the link have a consistent view of the | probability that all routers on the link have a consistent view of the | |||
| DF. This is because with the forwarding rules described in section 3.3 | DF. This is because with the forwarding rules described in section 3.3 | |||
| if multiple routers end-up thinking that they should be responsible for | if multiple routers end-up thinking that they should be responsible for | |||
| forwarding, loops may result. To reduce the possibility of this | forwarding, loops may result. To reduce the possibility of this | |||
| occurrence to a minimum, the election algorithm has been biased towards | occurrence to a minimum, the election algorithm has been biased towards | |||
| discarding DF information and suspending forwarding during periods of | discarding DF information and suspending forwarding during periods of | |||
| ambiguity. | ambiguity. | |||
| skipping to change at page 21, line 32 ¶ | skipping to change at page 22, line 32 ¶ | |||
| This section gives an outline of the DF election process. It does not | This section gives an outline of the DF election process. It does not | |||
| provide the definitive specification for the DF election. If any | provide the definitive specification for the DF election. If any | |||
| discrepancy exists between section 3.5.3 and this section, the | discrepancy exists between section 3.5.3 and this section, the | |||
| specification in section 3.5.3 is to be assumed correct. | specification in section 3.5.3 is to be assumed correct. | |||
| To perform the election of the DF for a particular RPA, routers on a | To perform the election of the DF for a particular RPA, routers on a | |||
| link need to exchange their unicast routing metric information for | link need to exchange their unicast routing metric information for | |||
| reaching the RPA. Routers advertise their own metrics in Offer, Winner, | reaching the RPA. Routers advertise their own metrics in Offer, Winner, | |||
| Backoff and Pass messages. The advertised metric is calculated using the | Backoff and Pass messages. The advertised metric is calculated using the | |||
| RPF Interface and metric to reach the RPA available through the MRIB. | RPF Interface and metric to reach the RPA available through the MRIB. | |||
| When a router is paricipating in a DF election for an RPA on the | When a router is participating in a DF election for an RPA on the | |||
| interface that its MRIB indicates as the RPF Interface then that router | interface that its MRIB indicates as the RPF Interface then that router | |||
| MUST always advertise an infinite metric in its election messages. When | MUST always advertise an infinite metric in its election messages. When | |||
| a router is participating in a DF election on an interface other than | a router is participating in a DF election on an interface other than | |||
| the MRIB indicated RPF Interface then it MUST advertise the MRIB | the MRIB indicated RPF Interface then it MUST advertise the MRIB | |||
| provided metrics in its election messages. | provided metrics in its election messages. | |||
| In the election protocol described below, many message exchanges are | In the election protocol described below, many message exchanges are | |||
| repeated Election_Robustness times for reliability. In all those cases | repeated Election_Robustness times for reliability. In all those cases | |||
| the message retransmissions are spaced in time by a small random | the message retransmissions are spaced in time by a small random | |||
| interval. All of the following description is specific to the election | interval. All of the following description is specific to the election | |||
| skipping to change at page 22, line 22 ¶ | skipping to change at page 23, line 22 ¶ | |||
| The result should be that all routers except the best candidate stop | The result should be that all routers except the best candidate stop | |||
| advertising their offers. | advertising their offers. | |||
| A router assumes the role of the DF after having advertised its metrics | A router assumes the role of the DF after having advertised its metrics | |||
| Election_Robustness times without receiving any offer from any other | Election_Robustness times without receiving any offer from any other | |||
| neighbor. At that point it transmits a Winner message which declares to | neighbor. At that point it transmits a Winner message which declares to | |||
| every other router on the link the identity of the winner and the | every other router on the link the identity of the winner and the | |||
| metrics it is using. | metrics it is using. | |||
| Routers hearing a winner message stop participating in the election and | Routers receiving a winner message stop participating in the election | |||
| record the identity and metrics of the winner. If the local metrics are | and record the identity and metrics of the winner. If the local metrics | |||
| better than those of the winner then the router records the identity of | are better than those of the winner then the router records the identity | |||
| the winner (accepting it as the acting DF) but reinitiates the election | of the winner (accepting it as the acting DF) but re-initiates the | |||
| to try and take over. | election to try and take over. | |||
| 3.5.2.2. Loser Metric Changes | 3.5.2.2. Loser Metric Changes | |||
| Whenever the unicast metric to a RPA changes at a non-DF router to a | Whenever the unicast metric to a RPA changes at a non-DF router to a | |||
| value that is better than that previously advertised by the acting DF, | value that is better than that previously advertised by the acting DF, | |||
| the router with the new better metric should take action to eventually | the router with the new better metric should take action to eventually | |||
| assume forwarding responsibility. When the metric change is detected, | assume forwarding responsibility. When the metric change is detected, | |||
| the non-DF router with the now better metric restarts the DF election | the non-DF router with the now better metric restarts the DF election | |||
| process by sending Offer messages with this new metric. Note that at | process by sending Offer messages with this new metric. Note that at | |||
| any point during an election if no response is received after | any point during an election if no response is received after | |||
| skipping to change at page 22, line 51 ¶ | skipping to change at page 23, line 51 ¶ | |||
| will respond with a Winner message declaring its status and advertising | will respond with a Winner message declaring its status and advertising | |||
| its better metric. Upon receiving the Winner message, the originator of | its better metric. Upon receiving the Winner message, the originator of | |||
| the Offer records the identity of the DF and aborts the election. | the Offer records the identity of the DF and aborts the election. | |||
| Upon receipt of an offer that is better than its current metric, the DF | Upon receipt of an offer that is better than its current metric, the DF | |||
| records the identity and metrics of the offering router and responds | records the identity and metrics of the offering router and responds | |||
| with a Backoff message. This instructs the offering router to hold off | with a Backoff message. This instructs the offering router to hold off | |||
| for a short period of time while the unicast routing stabilises and | for a short period of time while the unicast routing stabilises and | |||
| other routers get a chance to put in their offers. The Backoff message | other routers get a chance to put in their offers. The Backoff message | |||
| includes the offering router's new metric and address. All routers on | includes the offering router's new metric and address. All routers on | |||
| the link who have pending offers with metrics worse than those in the | the link that have pending offers with metrics worse than those in the | |||
| backoff message (including the original offering router) will hold | backoff message (including the original offering router) will hold | |||
| further offers for a period of time defined in the Backoff message. | further offers for a period of time defined in the Backoff message. | |||
| If during the Backoff_Period, a third router sends a new better offer, | If during the Backoff_Period, a third router sends a new better offer, | |||
| the Backoff message is repeated for the new offer and the Backoff_Period | the Backoff message is repeated for the new offer and the Backoff_Period | |||
| restarted. | restarted. | |||
| Before the Backoff_Period expires, the acting DF nominates the router | Before the Backoff_Period expires, the acting DF nominates the router | |||
| having made the best offer as the new DF using a Pass message. This | having made the best offer as the new DF using a Pass message. This | |||
| message includes the IDs and metrics of both the old and new DFs. The | message includes the IDs and metrics of both the old and new DFs. The | |||
| old DF stops performing its tasks at the time the Pass message | old DF stops performing its tasks at the time the Pass message | |||
| transmission is made. The new DF assumes the role of the DF as soon as | transmission is made. The new DF assumes the role of the DF as soon as | |||
| it receives the Pass message. All other routers on the link take note of | it receives the Pass message. All other routers on the link take note of | |||
| the new DF and its metric. Note that this event constitutes an RPF | the new DF and its metric. Note that this event constitutes an RPF | |||
| Neighbour change which may trigger Join messags to the new DF (see | Neighbour change which may trigger Join messages to the new DF (see | |||
| section 3.4). | section 3.4). | |||
| 3.5.2.3. Winner Metric Changes | 3.5.2.3. Winner Metric Changes | |||
| If the DF's routing metric to reach the RPA changes to a worse value, it | If the DF's routing metric to reach the RPA changes to a worse value, it | |||
| sends a set of Election_Robustness randomly spaced Winner messages on | sends a set of Election_Robustness randomly spaced Winner messages on | |||
| the link, advertising the new metric. Routers who receive this | the link, advertising the new metric. Routers that receive this | |||
| announcement but have a better metric may respond with an Offer message | announcement but have a better metric may respond with an Offer message | |||
| which results in the same handoff procedure described above. All | which results in the same handoff procedure described above. All | |||
| routers assume the DF has not changed until they see a Pass or Winner | routers assume the DF has not changed until they see a Pass or Winner | |||
| message indicating the change. | message indicating the change. | |||
| There is no pressure to make this handoff quickly if the acting DF still | There is no pressure to make this handoff quickly if the acting DF still | |||
| has a path to the RPL. The old path may now be suboptimal but it will | has a path to the RPL. The old path may now be suboptimal but it will | |||
| still work while the re-election is in progress. | still work while the re-election is in progress. | |||
| If the routing metric at the DF changes to a better value, a single | If the routing metric at the DF changes to a better value, a single | |||
| skipping to change at page 25, line 23 ¶ | skipping to change at page 26, line 23 ¶ | |||
| The router is the acting DF but another router has made a bid | The router is the acting DF but another router has made a bid | |||
| to take over. | to take over. | |||
| In the state machine a router is considered to be an acting DF if it is | In the state machine a router is considered to be an acting DF if it is | |||
| in the Win or Backoff states. | in the Win or Backoff states. | |||
| The operation of the election protocol makes use of the variables and | The operation of the election protocol makes use of the variables and | |||
| timers described below: | timers described below: | |||
| Acting DF information | Acting DF information | |||
| Used to store the election winner who is the currently acting | Used to store the identity and advertised metrics of the | |||
| DF. | election winner that is the currently acting DF. | |||
| DF election-Timer (DFT) | DF election-Timer (DFT) | |||
| Used to schedule transmission of Offer, Winner and Pass | Used to schedule transmission of Offer, Winner and Pass | |||
| messages. | messages. | |||
| Message-Count (MC) | Message-Count (MC) | |||
| Used to maintain the number of times an Offer or Winner | Used to maintain the number of times an Offer or Winner | |||
| message has been transmitted. | message has been transmitted. | |||
| Best-Offer | Best-Offer | |||
| Used by the DF to record who has made the last offer for | Used by the DF to record the identity and advertised metrics | |||
| sending the Pass message. | of the router has made the last offer for use when sending the | |||
| Pass message. | ||||
| 3.5.3.2. Election Messages | 3.5.3.2. Election Messages | |||
| The election process uses the following PIM control messages the packet | The election process uses the following PIM control messages the packet | |||
| format of which is described in section 3.7: | format of which is described in section 3.7: | |||
| Offer (OfferingID, Metric) | Offer (OfferingID, Metric) | |||
| Sent by routers that believe they have a better metric to the | Sent by routers that believe they have a better metric to the | |||
| RPA than the metric that has been on offer so far. | RPA than the metric that has been on offer so far. | |||
| skipping to change at page 26, line 16 ¶ | skipping to change at page 27, line 16 ¶ | |||
| BackoffInterval) | BackoffInterval) | |||
| Used by the DF to acknowledge better offers. It instructs | Used by the DF to acknowledge better offers. It instructs | |||
| other routers with equal or worse offers to wait till the DF | other routers with equal or worse offers to wait till the DF | |||
| passes responsibility to the sender of the offer. | passes responsibility to the sender of the offer. | |||
| Pass (Old-DF-ID, Old-DF-Metric, New-DF-ID, New-DF-Metric) | Pass (Old-DF-ID, Old-DF-Metric, New-DF-ID, New-DF-Metric) | |||
| Used by the old DF to pass forwarding responsibility to a | Used by the old DF to pass forwarding responsibility to a | |||
| router that has previously made an offer. The Old-DF-Metric | router that has previously made an offer. The Old-DF-Metric | |||
| is the current metric of the DF at the time the pass is sent. | is the current metric of the DF at the time the pass is sent. | |||
| Note that when a router is paricipating in a DF election for an RPA on | Note that when a router is participating in a DF election for an RPA on | |||
| the interface that its MRIB indicates as the RPF Interface then that | the interface that its MRIB indicates as the RPF Interface then that | |||
| router MUST always advertise an infinite metric in its election | router MUST always advertise an infinite metric in its election | |||
| messages. When a router is participating in a DF election on an | messages. When a router is participating in a DF election on an | |||
| interface other than the MRIB indicated RPF Interface then it MUST | interface other than the MRIB indicated RPF Interface then it MUST | |||
| advertise the MRIB provided metrics in its election messages. | advertise the MRIB provided metrics in its election messages. | |||
| 3.5.3.3. Election Events | 3.5.3.3. Election Events | |||
| During protocol operation the following events can take place: | During protocol operation the following events can take place: | |||
| skipping to change at page 26, line 48 ¶ | skipping to change at page 27, line 48 ¶ | |||
| o On receipt of a Backoff or Pass message compare our current | o On receipt of a Backoff or Pass message compare our current | |||
| metrics for the RPA with the metrics advertised for the | metrics for the RPA with the metrics advertised for the | |||
| target of the message. | target of the message. | |||
| Path to RPA lost | Path to RPA lost | |||
| Losing the path to the RPA can happen in two ways. The first | Losing the path to the RPA can happen in two ways. The first | |||
| happens when the route learned through the MRIB is withdrawn | happens when the route learned through the MRIB is withdrawn | |||
| and the MRIB no longer reports an available route to reach the | and the MRIB no longer reports an available route to reach the | |||
| RPA. The second case happens when the next-hop information | RPA. The second case happens when the next-hop information | |||
| reported by the MRIB changes to indicate a next-hop that is | reported by the MRIB changes to indicate a next-hop that is | |||
| reachable through the router interface for which the DF | reachable through the router interface under consideration. | |||
| election is taking place. Clearly as the router is using the | Clearly as the router is using the interface as its RPF | |||
| interface as its RPF Interface it cannot offer forwarding | Interface it cannot offer forwarding services towards the RPL | |||
| services towards the RPL to other routers on that link. | to other routers on that link. | |||
| Metric reported by the MRIB to reach the RPA changes | Metric reported by the MRIB to reach the RPA changes | |||
| This event is triggered when the MRIB supplied information for | This event is triggered when the MRIB supplied information for | |||
| the RPA changes and the new information provides a path to the | the RPA changes and the new information provides a path to the | |||
| RPA. If the new MRIB information either reports no route or | RPA. If the new MRIB information either reports no route or | |||
| reports a next-hop interface through the interface for which | reports a next-hop interface through the interface for which | |||
| the DF election is taking place then the "Path to RPA lost" | the DF election is taking place then the "Path to RPA lost" | |||
| event triggers instead. In specific states the event may be | event triggers instead. In specific states the event may be | |||
| further filtered by specifying whether it is expected of the | further filtered by specifying whether it is expected of the | |||
| metric to become better or worse and which stored metric the | metric to become better or worse and which stored metric the | |||
| skipping to change at page 30, line 10 ¶ | skipping to change at page 31, line 10 ¶ | |||
| | - | -> Win | -> Lose | | | - | -> Win | -> Lose | | |||
| | Send Offer; DFT = | Send Winner | Set DF to None | | | Send Offer; DFT = | Send Winner | Set DF to None | | |||
| | OPlow; MC = MC + 1 | | | | | OPlow; MC = MC + 1 | | | | |||
| +-----------------------+-----------------------+-----------------------+ | +-----------------------+-----------------------+-----------------------+ | |||
| +-----------------------------------------------------------------------+ | +-----------------------------------------------------------------------+ | |||
| | In Offer State | | | In Offer State | | |||
| +-----------------------------------------------------------------------+ | +-----------------------------------------------------------------------+ | |||
| | Metric changes and is now worse | | | Metric changes and is now worse | | |||
| +-----------------------------------------------------------------------+ | +-----------------------------------------------------------------------+ | |||
| | DFT ?= OPlow | | | DFT ?= OPlow | | |||
| | OC = 0 | | | MC = 0 | | |||
| +-----------------------------------------------------------------------+ | +-----------------------------------------------------------------------+ | |||
| +-----------------------------------------------------------------------+ | +-----------------------------------------------------------------------+ | |||
| | In Lose State | | | In Lose State | | |||
| +--------------------------------+--------------------------------------+ | +--------------------------------+--------------------------------------+ | |||
| | Detect DF Failure | Metric changes and now | | | Detect DF Failure | Metric changes and now | | |||
| | | is better than DF | | | | is better than DF | | |||
| +--------------------------------+--------------------------------------+ | +--------------------------------+--------------------------------------+ | |||
| | -> Offer | -> Offer | | | -> Offer | -> Offer | | |||
| | DF = None; DFT = | DFT = OPlow_int; MC = 0 | | | DF = None; DFT = | DFT = OPlow_int; MC = 0 | | |||
| skipping to change at page 31, line 26 ¶ | skipping to change at page 32, line 26 ¶ | |||
| messages (like a CPU overload), the new candidate will transmit three | messages (like a CPU overload), the new candidate will transmit three | |||
| offers and assume the role of the forwarder resulting in two DFs on the | offers and assume the role of the forwarder resulting in two DFs on the | |||
| link. This situation is pathological and should be corrected by fixing | link. This situation is pathological and should be corrected by fixing | |||
| the overloaded router. It is desirable that such an event can be | the overloaded router. It is desirable that such an event can be | |||
| detected by a network administrator. | detected by a network administrator. | |||
| When a router becomes the DF for a link without receiving a Pass message | When a router becomes the DF for a link without receiving a Pass message | |||
| from the known old DF, the PIM neighbor information for the old DF can | from the known old DF, the PIM neighbor information for the old DF can | |||
| be marked to this effect. Upon receiving the next PIM Hello message from | be marked to this effect. Upon receiving the next PIM Hello message from | |||
| the old DF, the router can retransmit Winner messages for all the RPAs | the old DF, the router can retransmit Winner messages for all the RPAs | |||
| for which it acting as the DF. The anomaly may also be logged by the | for which it is acting as the DF. The anomaly may also be logged by the | |||
| router in a rate-limited manner to alert the operator. | router in a rate-limited manner to alert the operator. | |||
| 3.5.6. Periodic Winner Announcement | 3.5.6. Periodic Winner Announcement | |||
| An additional degree of safety can be achieved by having the DF for each | An additional degree of safety can be achieved by having the DF for each | |||
| RPA periodically announce its status in a Winner message. Transmission | RPA periodically announce its status in a Winner message. Transmission | |||
| of the periodic Winner message can be restricted to occur only for RPAs | of the periodic Winner message can be restricted to occur only for RPAs | |||
| which have active groups, thus avoiding the periodic control traffic in | which have active groups, thus avoiding the periodic control traffic in | |||
| areas of the network without senders or receivers for a particular RPA. | areas of the network without senders or receivers for a particular RPA. | |||
| skipping to change at page 35, line 21 ¶ | skipping to change at page 36, line 21 ¶ | |||
| | | | election messages | | | | | election messages | | |||
| | | | that must be lost | | | | | that must be lost | | |||
| | | | in order for | | | | | in order for | | |||
| | | | election to fail. | | | | | election to fail. | | |||
| +--------------------------+-------------------+------------------------+ | +--------------------------+-------------------+------------------------+ | |||
| 3.7. BIDIR PIM Packet Formats | 3.7. BIDIR PIM Packet Formats | |||
| This section describes the details of the packet formats for BIDIR-PIM | This section describes the details of the packet formats for BIDIR-PIM | |||
| control messages. BIDIR-PIM shares a number of control messages in | control messages. BIDIR-PIM shares a number of control messages in | |||
| common with PIM-SM [4] well as the format for the Encoded-Unicast | common with PIM-SM [4]. These include the Hello and Join/Prune messages | |||
| address. For details on the format of these packets please refer to the | as well as the format for the Encoded-Unicast address. For details on | |||
| PIM-SM documentation. Here we will only define the additional packets | the format of these packets please refer to the PIM-SM documentation. | |||
| that are introduced by BIDIR-PIM. These are the packets used in the DF | Here we will only define the additional packets that are introduced by | |||
| election process as well as the Bidir_Capable PIM-Hello option. | BIDIR-PIM. These are the packets used in the DF election process as | |||
| well as the Bidir_Capable PIM-Hello option. | ||||
| 3.7.1. DF Election Packet Formats | 3.7.1. DF Election Packet Formats | |||
| All PIM control messages have IP protocol number 103. | All PIM control messages have IP protocol number 103. | |||
| BIDIR-PIM messages are multicast with TTL 1 to the `ALL-PIM-ROUTERS' | BIDIR-PIM messages are multicast with TTL 1 to the `ALL-PIM-ROUTERS' | |||
| group `224.0.0.13'. | group `224.0.0.13'. | |||
| All DF election BIDIR-PIM control messages share the common header | All DF election BIDIR-PIM control messages share the common header | |||
| below: | below: | |||
| skipping to change at page 38, line 32 ¶ | skipping to change at page 39, line 32 ¶ | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type = 22 | Length = 0 | | | Type = 22 | Length = 0 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 4. RP Discovery | 4. RP Discovery | |||
| Routers discover that a range of multicast group addresses operates in | Routers discover that a range of multicast group addresses operates in | |||
| bi-directional mode and the address of the Rendezvous-Point serving the | bi-directional mode and the address of the Rendezvous-Point address | |||
| group range either through static configuration or using an automatic RP | (RPA) serving the group range either through static configuration or | |||
| discovery mechanism like the PIM Bootsrtap mechanism (BSR). [9]. | using an automatic RP discovery mechanism like the PIM Bootsrtap | |||
| mechanism (BSR). [9] or Auto-RP. | ||||
| By default the BSR protocol advertises RPs that operate the PIM-SM | ||||
| protocol. In order to identify a RP as operating in BIDIR mode, the | ||||
| Encoded-Group Address field in Bootstrap and Candidate-RP Advertisement | ||||
| messages has been extended by adding the BIDIR bit (B-bit) as specified | ||||
| below: | ||||
| 0 1 2 3 | ||||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Addr Family | Encoding Type |B| Reserved | Mask Len | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Group Multicast Address | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| B-bit | ||||
| When the Bidir-bit is set, all BIDIR capable PIM routers will | ||||
| operate the protocol described in this document for the specified | ||||
| group range. | ||||
| 5. Security Considerations | 5. Security Considerations | |||
| The IPsec [5] authentication header MAY be used to provide data | The IPsec [5] authentication header MAY be used to provide data | |||
| integrity protection and group-wise data origin authentication of BIDIR- | integrity protection and group-wise data origin authentication of BIDIR- | |||
| PIM protocol messages. Authentication of BIDIR-PIM messages can protect | PIM protocol messages. Authentication of BIDIR-PIM messages can protect | |||
| against unwanted behaviour caused by unauthorized or altered BIDIR-PIM | against unwanted behaviour caused by unauthorized or altered BIDIR-PIM | |||
| messages. | messages. | |||
| 5.1. Attacks Based on Forged Messages | 5.1. Attacks Based on Forged Messages | |||
| skipping to change at page 40, line 25 ¶ | skipping to change at page 41, line 9 ¶ | |||
| attack, BIDIR-PIM routers SHOULD check the destination MAC address of | attack, BIDIR-PIM routers SHOULD check the destination MAC address of | |||
| received DF-election messages. This however is ineffective on links | received DF-election messages. This however is ineffective on links | |||
| that do not support layer-2 multicast delivery. | that do not support layer-2 multicast delivery. | |||
| Source authentication is also sufficient to prevent this kind of attack. | Source authentication is also sufficient to prevent this kind of attack. | |||
| 5.1.2. Preventing Election Convergence | 5.1.2. Preventing Election Convergence | |||
| By forging DF election messages, an attacker can prevent the election | By forging DF election messages, an attacker can prevent the election | |||
| from converging thus disrupting the establishment of multicast | from converging thus disrupting the establishment of multicast | |||
| forwarding trees. There are many way to achieve this. The simplest is by | forwarding trees. There are many ways to achieve this. The simplest is | |||
| sending an infinite sequence of Offer messages (the metric used in the | by sending an infinite sequence of Offer messages (the metric used in | |||
| messages is not important). | the messages is not important). | |||
| 5.2. Non-cryptographic Authentication Mechanisms | 5.2. Non-cryptographic Authentication Mechanisms | |||
| A BIDIR-PIM router SHOULD provide an option to limit the set of | A BIDIR-PIM router SHOULD provide an option to limit the set of | |||
| neighbors from which it will accept Join/Prune, Assert, and DF-election | neighbors from which it will accept Join/Prune, Assert, and DF-election | |||
| messages. Either static configuration of IP addresses or an IPsec | messages. Either static configuration of IP addresses or an IPsec | |||
| security association may be used. Furthermore, a PIM router SHOULD NOT | security association may be used. Furthermore, a PIM router SHOULD NOT | |||
| accept protocol messages from a router from which it has not yet | accept protocol messages from a router from which it has not yet | |||
| received a valid Hello message. | received a valid Hello message. | |||
| 5.2.1. Basic Access Control | 5.2.1. Basic Access Control | |||
| In a PIM-SM domain, when all router are trusted, it is possible to | In a PIM-SM domain, when all routers are trusted, it is possible to | |||
| implement a basic form of access control for both sources and receivers: | implement a basic form of access control for both sources and receivers: | |||
| Receivers can be validated by the last-hop DR and sources can be | Receivers can be validated by the last-hop DR and sources can be | |||
| validated by the first-hop DR and/or the RP. | validated by the first-hop DR and/or the RP. | |||
| In BIDIR-PIM this is generally feasible only for receivers, as sources | In BIDIR-PIM this is generally feasible only for receivers, as sources | |||
| can send to the multicast group without the need for routers to detect | can send to the multicast group without the need for routers to detect | |||
| their activity and create source-specific state. However it is possible | their activity and create source-specific state. However it is possible | |||
| to modify the standard BIDIR-PIM behaviour, in a backward compatible | to modify the standard BIDIR-PIM behaviour, in a backward compatible | |||
| way, to allow per-source access control. The tradeoff would be protocol | way, to allow per-source access control. The tradeoff would be protocol | |||
| simplicity, memory and processing requirements. | simplicity, memory and processing requirements. | |||
| 5.3. Authentication Using IPsec | 5.3. Authentication Using IPsec | |||
| The IPsec [5] transport mode using the Authentication Header (AH) is the | The IPsec [5] transport mode using the Authentication Header (AH) is the | |||
| RECOMMENDED method to prevent the above attacks against BIDIR-PIM. | RECOMMENDED method to prevent the above attacks against BIDIR-PIM. | |||
| It is RECOMMENDED that IPsec authentication be applied to all BIDIR-PIM | It is RECOMMENDED that IPsec authentication be applied to all BIDIR-PIM | |||
| protocol messages. The specification on how this is done is to be found | protocol messages. The specification on how this is done is to be found | |||
| in [4]. pecifically the authentication of PIM-SM link-local messages, | in [4]. specifically the authentication of PIM-SM link-local messages, | |||
| described in [4] applies to all BIDIR-PIM messages as well. | described in [4] applies to all BIDIR-PIM messages as well. | |||
| 5.4. Denial of Service Attacks | 5.4. Denial of Service Attacks | |||
| The denial of service attack based on forged Join described in [4] also | The denial of service attack based on forged Join described in [4] also | |||
| apply to BIDIR-PIM. | apply to BIDIR-PIM. | |||
| 6. Change history | 6. Change history | |||
| >From 03 to 04: | >From 05 to 06: | |||
| Minor editorial corrections. | ||||
| >From 03 to 05: | ||||
| RP concept replaced by RP Address (RPA) and RP Link (RPL). No DF | RP concept replaced by RP Address (RPA) and RP Link (RPL). No DF | |||
| election on RPL. RP forwards upstream on RPL. Accept joins even if not | election on RPL. RP forwards upstream on RPL. Accept joins even if not | |||
| DF but do not forward. Added event description for DF election state | DF but do not forward. Added event description for DF election state | |||
| machine. Removed comparison with Dino's draft. | machine. Security considerations by Lorenzo.Removed comparison with | |||
| Dino's draft. | ||||
| >From 02 to 03: | >From 02 to 03: | |||
| Consistency fixes in DF election tables to match state transition | Consistency fixes in DF election tables to match state transition | |||
| diagram pointed out by Apoorva. | diagram pointed out by Apoorva. | |||
| >From 00 to 01: | >From 00 to 01: | |||
| The differences between this version (-01) of the BIDIR-PIM | The differences between this version (-01) of the BIDIR-PIM | |||
| specification and draft-ietf-pim-bidir-new-00.txt are mostly in the | specification and draft-ietf-pim-bidir-new-00.txt are mostly in the | |||
| skipping to change at page 42, line 5 ¶ | skipping to change at page 42, line 42 ¶ | |||
| documentation [4] where necessary. In addition the method in which the | documentation [4] where necessary. In addition the method in which the | |||
| protocol specification is presented has been updated to follow the | protocol specification is presented has been updated to follow the | |||
| format of [4]. | format of [4]. | |||
| 7. Acknowledgments | 7. Acknowledgments | |||
| The bidir proposal in this draft is heavily based on the ideas and text | The bidir proposal in this draft is heavily based on the ideas and text | |||
| presented by Estrin and Farinacci in [7]. The main difference between | presented by Estrin and Farinacci in [7]. The main difference between | |||
| the two proposals is in the method chosen for upstream forwarding. | the two proposals is in the method chosen for upstream forwarding. | |||
| We would also like to thank John Zwiebel at procket, Deborah Estrin at | We would also like to thank John Zwiebel at Procket, Deborah Estrin at | |||
| ISI/USC as well as Nidhi Bhaskar, Yiqun Cai, Toerless Eckert, Apoorva | ISI/USC as well as Nidhi Bhaskar, Yiqun Cai, Toerless Eckert, Apoorva | |||
| Karan, Rajitha Sumanasekera and Beau Williamson at cisco for their | Karan, Rajitha Sumanasekera and Beau Williamson at cisco for their | |||
| contributions and comments to this draft. | contributions and comments to this draft. | |||
| 8. Authors' Addresses | 8. Authors' Addresses | |||
| Mark Handley | Mark Handley | |||
| Computer Science Department | Computer Science Department | |||
| University College London | University College London | |||
| M.Handley@cs.ucl.ac.uk | M.Handley@cs.ucl.ac.uk | |||
| skipping to change at page 42, line 29 ¶ | skipping to change at page 43, line 24 ¶ | |||
| kouvelas@cisco.com | kouvelas@cisco.com | |||
| Tony Speakman | Tony Speakman | |||
| Cisco Systems | Cisco Systems | |||
| speakman@cisco.com | speakman@cisco.com | |||
| Lorenzo Vicisano | Lorenzo Vicisano | |||
| Cisco Systems | Cisco Systems | |||
| lorenzo@cisco.com | lorenzo@cisco.com | |||
| 9. Normative | 9. Normative References | |||
| [1] S.E. Deering, "Host extensions for IP multicasting", RFC 1112, Aug | [1] S.E. Deering, "Host extensions for IP multicasting", RFC 1112, Aug | |||
| 1989. | 1989. | |||
| [2] B. Cain, S Deering, W. Fenner, I Kouvelas, A. Thyagarajan, "Internet | [2] B. Cain, S Deering, W. Fenner, I Kouvelas, A. Thyagarajan, "Internet | |||
| Group Management Protocol, Version 3", RFC 3376. | Group Management Protocol, Version 3", RFC 3376. | |||
| [3] S. Deering, W. Fenner, B. Haberman, "Multicast Listener Discovery | [3] S. Deering, W. Fenner, B. Haberman, "Multicast Listener Discovery | |||
| (MLD) for IPv6", RFC 2710. | (MLD) for IPv6", RFC 2710. | |||
| [4] B. Fenner, M. Handley, H. Holbrook, I. Kouvelas "Protocol | [4] B. Fenner, M. Handley, H. Holbrook, I. Kouvelas "Protocol | |||
| Independent Multicast - Sparse Mode (PIM-SM): Protocol | Independent Multicast - Sparse Mode (PIM-SM): Protocol | |||
| Specification (Revised)", Work In Progress, <draft-ietf-pim-sm- | Specification (Revised)", Work In Progress, <draft-ietf-pim-sm- | |||
| v2-new-01.txt>, 2000. | v2-new-09.txt>, 2004. | |||
| [5] S. Kent, R. Atkinson, "Security Architecture for the Internet | [5] S. Kent, R. Atkinson, "Security Architecture for the Internet | |||
| Protocol.", RFC 2401. | Protocol.", RFC 2401. | |||
| 10. Informative | 10. Informative References | |||
| [6] T. Bates , R. Chandra , D. Katz , Y. Rekhter, "Multiprotocol | [6] T. Bates , R. Chandra , D. Katz , Y. Rekhter, "Multiprotocol | |||
| Extensions for BGP-4", RFC 2283 | Extensions for BGP-4", RFC 2283 | |||
| [7] D. Estrin, D. Farinacci, "Bi-directional Shared Trees in PIM-SM", | [7] D. Estrin, D. Farinacci, "Bi-directional Shared Trees in PIM-SM", | |||
| Work In Progress, <draft-farinacci-bidir-pim-01.txt>, May 1999. | <draft-farinacci-bidir-pim-01.txt>, May 1999. | |||
| [8] D. Estrin et al, "Protocol Independent Multicast-Sparse Mode (PIM- | [8] D. Estrin et al, "Protocol Independent Multicast-Sparse Mode (PIM- | |||
| SM): Protocol Specification", RFC 2362, Nov 1999. | SM): Protocol Specification", RFC 2362, Nov 1999. | |||
| [9] W. Fenner, M. Handley, R. Kermode and D. Thaler, "Bootstrap Router | [9] W. Fenner, M. Handley, R. Kermode and D. Thaler, "Bootstrap Router | |||
| (BSR) Mechanism for PIM Sparse Mode", draft-ietf-pim-sm-bsr-00.txt, | (BSR) Mechanism for PIM Sparse Mode", Work in progress <draft-ietf- | |||
| work in progress. | pim-sm-bsr-03.txt>, 2003. | |||
| 11. Index | 11. Index | |||
| DF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7,21 | ||||
| Downstream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | ||||
| DownstreamJPState(G,I) . . . . . . . . . . . . . . . . . . . . . . . 12 | DownstreamJPState(G,I) . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| ET(G,I). . . . . . . . . . . . . . . . . . . . . . . . . . . . .11,15,33 | ET(G,I). . . . . . . . . . . . . . . . . . . . . . . . . . . . .11,16,34 | |||
| ET(RPA,I). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | ET(RPA,I). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| I_am_DF(RPA,I) . . . . . . . . . . . . . . . . . . . . . . . . .12,14,17 | I_am_DF(RPA,I) . . . . . . . . . . . . . . . . . . . . . . . . .12,14,17 | |||
| J/P_HoldTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 | J/P_HoldTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| J/P_Override_Interval. . . . . . . . . . . . . . . . . . . . . . . 17,34 | J/P_Override_Interval. . . . . . . . . . . . . . . . . . . . . . . 18,35 | |||
| JoinDesired(G) . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 | JoinDesired(G) . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| joins(G) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | joins(G) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| JT(*,G). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 | JT(*,G). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| JT(G). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11,34 | JT(G). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11,35 | |||
| local_receiver_include(G,I). . . . . . . . . . . . . . . . . . . . . 12 | local_receiver_include(G,I). . . . . . . . . . . . . . . . . . . . . 12 | |||
| NLT(N,I) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | MFIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| Offer_Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 | NLT(N,I) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| olist(G) . . . . . . . . . . . . . . . . . . . . . . . . . . . .11,14,19 | Offer_Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| OT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 | olist(G) . . . . . . . . . . . . . . . . . . . . . . . . . . . .12,14,20 | |||
| OT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 | ||||
| pim_include(G) . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | pim_include(G) . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| PPT(G,I) . . . . . . . . . . . . . . . . . . . . . . . . . . . .11,16,34 | PPT(G,I) . . . . . . . . . . . . . . . . . . . . . . . . . . . .11,16,35 | |||
| RPA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | ||||
| RPF_interface(RPA) . . . . . . . . . . . . . . . . . . . . . . . . 12,14 | RPF_interface(RPA) . . . . . . . . . . . . . . . . . . . . . . . . 12,14 | |||
| t_override . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19,34 | RPL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| t_periodic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19,34 | TIB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| t_suppressed . . . . . . . . . . . . . . . . . . . . . . . . . . . 19,34 | t_override . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20,35 | |||
| t_periodic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20,35 | ||||
| t_suppressed . . . . . . . . . . . . . . . . . . . . . . . . . . . 20,35 | ||||
| Upstream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | ||||
| End of changes. 59 change blocks. | ||||
| 154 lines changed or deleted | 159 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||