Network Working Group                                         N. Bhaskar
Request for Comments: 5059                                       Arastra
Obsoletes: 2362                                                  A. Gall
Updates: 4601                                                     SWITCH
Category: Standards Track                                     J. Lingard
                                                                 Arastra
                                                               S. Venaas
                                                                 UNINETT
                                                            January 2008
        
Network Working Group                                         N. Bhaskar
Request for Comments: 5059                                       Arastra
Obsoletes: 2362                                                  A. Gall
Updates: 4601                                                     SWITCH
Category: Standards Track                                     J. Lingard
                                                                 Arastra
                                                               S. Venaas
                                                                 UNINETT
                                                            January 2008
        

Bootstrap Router (BSR) Mechanism for Protocol Independent Multicast (PIM)

协议独立多播(PIM)的引导路由器(BSR)机制

Status of This Memo

关于下段备忘

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。

Abstract

摘要

This document specifies the Bootstrap Router (BSR) mechanism for the class of multicast routing protocols in the PIM (Protocol Independent Multicast) family that use the concept of a Rendezvous Point as a means for receivers to discover the sources that send to a particular multicast group. BSR is one way that a multicast router can learn the set of group-to-RP mappings required in order to function. The mechanism is dynamic, largely self-configuring, and robust to router failure.

本文档为PIM(协议独立多播)系列中的多播路由协议类指定了引导路由器(BSR)机制,该类协议使用集合点的概念作为接收器发现发送到特定多播组的源的手段。BSR是多播路由器学习组到RP映射集的一种方式,该映射集是运行所需的。该机制是动态的,基本上是自配置的,并且对路由器故障具有鲁棒性。

Table of Contents

目录

   1. Introduction ....................................................3
      1.1. Background .................................................3
      1.2. Protocol Overview ..........................................5
      1.3. Administrative Scoping and BSR .............................6
   2. BSR State and Timers ............................................8
   3. Bootstrap Router Election and RP-Set Distribution ...............9
      3.1. Bootstrap Router Election ..................................9
           3.1.1. Per-Scope-Zone Candidate-BSR State Machine .........10
           3.1.2. Per-Scope-Zone State Machine for
                  Non-Candidate-BSR Routers ..........................11
           3.1.3. Bootstrap Message Processing Checks ................13
           3.1.4. State Machine Transition Events ....................14
           3.1.5. State Machine Actions ..............................15
      3.2. Sending Candidate-RP-Advertisement Messages ...............17
      3.3. Creating the RP-Set at the BSR ............................18
      3.4. Forwarding Bootstrap Messages .............................21
      3.5. Bootstrap Messages to New and Rebooting Routers ...........22
           3.5.1. No-Forward Bootstrap Messages ......................23
           3.5.2. Unicasting Bootstrap Messages ......................23
      3.6. Receiving and Using the RP-Set ............................23
   4. Message Formats ................................................24
      4.1. Bootstrap Message Format ..................................26
           4.1.1. Semantic Fragmentation of BSMs .....................30
      4.2. Candidate-RP-Advertisement Message Format .................31
   5. Timers and Timer Values ........................................33
   6. Security Considerations ........................................36
      6.1. Possible Threats ..........................................36
      6.2. Limiting Third-Party DoS Attacks ..........................36
      6.3. Bootstrap Message Security ................................37
           6.3.1. Unicast Bootstrap Messages .........................37
           6.3.2. Multi-Access Subnets ...............................38
      6.4. Candidate-RP-Advertisement Message Security ...............38
           6.4.1. Non-Cryptographic Security of C-RP-Adv Messages ....38
           6.4.2. Cryptographic Security of C-RP-Adv Messages ........39
      6.5. Denial of Service using IPsec .............................39
   7. Contributors ...................................................40
   8. Acknowledgments ................................................40
   9. Normative References ...........................................40
   10. Informative References ........................................41
        
   1. Introduction ....................................................3
      1.1. Background .................................................3
      1.2. Protocol Overview ..........................................5
      1.3. Administrative Scoping and BSR .............................6
   2. BSR State and Timers ............................................8
   3. Bootstrap Router Election and RP-Set Distribution ...............9
      3.1. Bootstrap Router Election ..................................9
           3.1.1. Per-Scope-Zone Candidate-BSR State Machine .........10
           3.1.2. Per-Scope-Zone State Machine for
                  Non-Candidate-BSR Routers ..........................11
           3.1.3. Bootstrap Message Processing Checks ................13
           3.1.4. State Machine Transition Events ....................14
           3.1.5. State Machine Actions ..............................15
      3.2. Sending Candidate-RP-Advertisement Messages ...............17
      3.3. Creating the RP-Set at the BSR ............................18
      3.4. Forwarding Bootstrap Messages .............................21
      3.5. Bootstrap Messages to New and Rebooting Routers ...........22
           3.5.1. No-Forward Bootstrap Messages ......................23
           3.5.2. Unicasting Bootstrap Messages ......................23
      3.6. Receiving and Using the RP-Set ............................23
   4. Message Formats ................................................24
      4.1. Bootstrap Message Format ..................................26
           4.1.1. Semantic Fragmentation of BSMs .....................30
      4.2. Candidate-RP-Advertisement Message Format .................31
   5. Timers and Timer Values ........................................33
   6. Security Considerations ........................................36
      6.1. Possible Threats ..........................................36
      6.2. Limiting Third-Party DoS Attacks ..........................36
      6.3. Bootstrap Message Security ................................37
           6.3.1. Unicast Bootstrap Messages .........................37
           6.3.2. Multi-Access Subnets ...............................38
      6.4. Candidate-RP-Advertisement Message Security ...............38
           6.4.1. Non-Cryptographic Security of C-RP-Adv Messages ....38
           6.4.2. Cryptographic Security of C-RP-Adv Messages ........39
      6.5. Denial of Service using IPsec .............................39
   7. Contributors ...................................................40
   8. Acknowledgments ................................................40
   9. Normative References ...........................................40
   10. Informative References ........................................41
        
1. Introduction
1. 介绍

This document assumes some familiarity with the concepts of Protocol Independent Multicast - Sparse Mode (PIM-SM) [1] and Bidirectional Protocol Independent Multicast (BIDIR-PIM) [2], as well as with Administratively Scoped IP Multicast [3] and the IPv6 Scoped Address Architecture [4].

本文档假定您对协议独立多播-稀疏模式(PIM-SM)[1]和双向协议独立多播(BIDIR-PIM)[2]的概念以及管理范围的IP多播[3]和IPv6范围的地址体系结构[4]有一定的了解。

For correct operation, every multicast router within a PIM domain must be able to map a particular multicast group address to the same Rendezvous Point (RP). The PIM specifications do not mandate the use of a single mechanism to provide routers with the information to perform this group-to-RP mapping.

为了正确操作,PIM域中的每个多播路由器必须能够将特定多播组地址映射到同一集合点(RP)。PIM规范并不要求使用单一机制向路由器提供执行该组到RP映射的信息。

This document describes the PIM Bootstrap Router (BSR) mechanism. BSR is one way that a multicast router can learn the information required to perform the group-to-RP mapping. The mechanism is dynamic, largely self-configuring, and robust to router failure.

本文档介绍PIM引导路由器(BSR)机制。BSR是多播路由器学习执行组到RP映射所需信息的一种方法。该机制是动态的,基本上是自配置的,并且对路由器故障具有鲁棒性。

BSR was first defined in RFC 2362 [7] as part of the original PIM-SM specification, which has been obsoleted by RFC 4601 [1]. This document provides an updated specification of the BSR mechanism from RFC 2362, and also extends it to cope with administratively scoped region boundaries and different flavors of routing protocols.

BSR首先在RFC 2362[7]中定义为原始PIM-SM规范的一部分,该规范已被RFC 4601[1]淘汰。本文档提供了来自RFC 2362的BSR机制的更新规范,并对其进行了扩展,以处理管理范围的区域边界和不同类型的路由协议。

Throughout the document, any reference to the PIM protocol family is restricted to the subset of RP-based protocols, namely PIM-SM and BIDIR-PIM, unless stated otherwise.

在本文件中,对PIM协议系列的任何引用仅限于基于RP的协议子集,即PIM-SM和BIDIR-PIM,除非另有说明。

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [6].

本文件中的关键词“必须”、“不得”、“要求”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照RFC 2119[6]中所述进行解释。

1.1. Background
1.1. 出身背景

A PIM domain is a contiguous set of routers that all implement PIM and are configured to operate within a common boundary defined by PIM Multicast Border Routers (PMBRs). PMBRs connect each PIM domain to the rest of the Internet.

PIM域是一组连续的路由器,它们都实现PIM,并配置为在PIM多播边界路由器(PMBR)定义的公共边界内运行。PMBR将每个PIM域连接到Internet的其余部分。

Every PIM multicast group needs to be associated with the IP address of a Rendezvous Point (RP). This address is used as the root of a group-specific distribution tree whose branches extend to all nodes in the domain that want to receive traffic sent to the group. Senders inject packets into the tree in such a manner that they reach all connected receivers. How this is done and how the packets are forwarded along the distribution tree depends on the particular routing protocol.

每个PIM多播组都需要与集合点(RP)的IP地址相关联。此地址用作特定于组的分发树的根,其分支扩展到域中希望接收发送到该组的流量的所有节点。发送方将数据包注入到树中,使其到达所有连接的接收方。如何做到这一点以及如何沿着分发树转发数据包取决于特定的路由协议。

For all senders to reach all receivers, it is crucial that all routers in the domain use the same mappings of group addresses to RP addresses.

为了让所有发送方到达所有接收方,域中的所有路由器使用相同的组地址到RP地址的映射是至关重要的。

An exception to the above is where a PIM domain has been broken up into multiple administrative scope regions. These are regions where a border has been configured so that a set of multicast groups will not be forwarded across that border. In this case, all PIM routers within the same scope region must map a particular scoped group to the same RP within that region.

上述情况的一个例外是,PIM域被划分为多个管理范围区域。在这些区域中,已配置边界,以便一组多播组不会跨该边界转发。在这种情况下,同一作用域区域内的所有PIM路由器必须将特定作用域组映射到该区域内的同一RP。

In order to determine the RP for a multicast group, a PIM router maintains a collection of group-to-RP mappings, called the RP-Set. A group-to-RP mapping contains the following elements.

为了确定多播组的RP,PIM路由器维护组到RP映射的集合,称为RP集。组到RP的映射包含以下元素。

o Multicast group range, expressed as an address and prefix length

o 多播组范围,表示为地址和前缀长度

o RP priority

o RP优先级

o RP address

o RP地址

o Hash mask length

o 哈希掩码长度

o SM / BIDIR flag

o SM/BIDIR标志

In general, the group ranges of these group-to-RP mappings may overlap in arbitrary ways; hence, a particular multicast group may be covered by multiple group-to-RP mappings. When this is the case, the router chooses only one of the RPs by applying a deterministic algorithm so that all routers in the domain make the same choice. It is important to note that this algorithm is part of the specification of the individual routing protocols (and may differ among them), not of the BSR specification. For example, PIM-SM [1] defines one such algorithm. It makes use of a hash function for the case where a group range has multiple RPs with the same priority. The hash mask length is used by this function.

一般来说,这些群到RP映射的群范围可能以任意方式重叠;因此,一个特定的多播组可能被多个组到RP映射所覆盖。在这种情况下,路由器通过应用确定性算法仅选择一个RPs,以便域中的所有路由器做出相同的选择。需要注意的是,该算法是各个路由协议规范的一部分(它们之间可能有所不同),而不是BSR规范的一部分。例如,PIM-SM[1]定义了一种这样的算法。对于组范围具有多个具有相同优先级的RP的情况,它使用哈希函数。此函数使用哈希掩码长度。

There are a number of ways in which such group-to-RP mappings can be established. The simplest solution is for all the routers in the domain to be statically configured with the same information. However, static configuration generally doesn't scale well, and, except when used in conjunction with Anycast-RP (see [8] and [9]), does not dynamically adapt to route around router or link failures.

有许多方法可以建立这样的组到RP映射。最简单的解决方案是使用相同的信息静态配置域中的所有路由器。然而,静态配置通常不能很好地扩展,并且,除非与Anycast RP结合使用(参见[8]和[9]),否则不能动态地适应路由器周围的路由或链路故障。

The BSR mechanism provides a way in which viable group-to-RP mappings can be created and rapidly distributed to all the PIM routers in a domain. It is adaptive, in that if an RP becomes unreachable, this

BSR机制提供了一种创建可行的组到RP映射并快速分发到域中所有PIM路由器的方法。它是自适应的,因为如果RP变得不可访问,那么

will be detected and the RP-Sets will be modified so that the unreachable RP is no longer used.

将检测到,并且将修改RP集,以便不再使用无法访问的RP。

1.2. Protocol Overview
1.2. 协议概述

In this section we give an informal and non-definitive overview of the BSR mechanism. The definitive specification begins in section 2.

在本节中,我们将对BSR机制进行非正式和非决定性的概述。最终规范从第2节开始。

The general idea behind the BSR mechanism is that some of the PIM routers within a PIM domain are configured to be potential RPs for the domain. These are known as Candidate-RPs (C-RPs). A subset of the C-RPs will eventually be used as the actual RPs for the domain. In addition, some of the PIM routers in the domain are configured to be candidate bootstrap routers, or Candidate-BSRs (C-BSRs). One of these C-BSRs will be elected to be the bootstrap router (BSR) for the domain, and all the PIM routers in the domain will learn the result of this election through Bootstrap messages. The C-RPs will then report their candidacy to the elected BSR, which chooses a subset of these C-RPs and distributes corresponding group-to-RP mappings to all the routers in the domain through Bootstrap messages.

BSR机制背后的一般思想是,PIM域中的一些PIM路由器被配置为该域的潜在RPs。这些被称为候选RPs(C-RPs)。C-RPs的一个子集最终将用作域的实际RPs。此外,域中的一些PIM路由器被配置为候选引导路由器或候选bsr(C-bsr)。其中一个C-BSR将被选为域的引导路由器(BSR),域中的所有PIM路由器将通过引导消息了解此选择的结果。然后,C-RP将向选出的BSR报告其候选资格,BSR选择这些C-RP的子集,并通过引导消息将相应的组到RP映射分发到域中的所有路由器。

In more detail, the BSR mechanism works as follows. There are four basic phases (although in practice, all phases may be occurring simultaneously):

更详细地说,BSR机制的工作原理如下。有四个基本阶段(尽管在实践中,所有阶段可能同时发生):

1. BSR Election. Each Candidate-BSR originates Bootstrap messages (BSMs). Every BSM contains a BSR Priority field. Routers within the domain flood the BSMs throughout the domain. A C-BSR that hears about a higher-priority C-BSR than itself suppresses its sending of further BSMs for some period of time. The single remaining C-BSR becomes the elected BSR, and its BSMs inform all the other routers in the domain that it is the elected BSR.

1. BSR选举。每个候选BSR生成引导消息(BSM)。每个BSM都包含一个BSR优先级字段。域内的路由器将BSM淹没在整个域中。听到比自身优先级更高的C-BSR的C-BSR会在一段时间内抑制进一步BSM的发送。剩余的单个C-BSR成为所选BSR,其BSM通知域中的所有其他路由器它是所选BSR。

2. C-RP Advertisement. Each Candidate-RP within a domain sends periodic Candidate-RP-Advertisement (C-RP-Adv) messages to the elected BSR. A C-RP-Adv message includes the priority of the advertising C-RP, as well as a list of group ranges for which the candidacy is advertised. In this way, the BSR learns about possible RPs that are currently up and reachable.

2. C-RP广告。域中的每个候选RP向所选BSR发送周期性候选RP广告(C-RP-Adv)消息。C-RP-Adv消息包括广告C-RP的优先级,以及广告候选资格的组范围列表。通过这种方式,BSR可以了解当前可用的RPs。

3. RP-Set Formation. The BSR selects a subset of the C-RPs that it has received C-RP-Adv messages from to form the RP-Set. In general, it should do this in such a way that the RP-Set is neither so large that all the routers in the domain cannot be informed about it, nor so small that the load is overly concentrated on some RPs. It should also attempt to produce an RP-Set that does not change frequently.

3. RP集形成。BSR选择其从中接收C-RP-Adv消息的C-RP的子集以形成RP集。一般来说,它应该这样做:RP集既不是太大以至于无法通知域中的所有路由器,也不是太小以至于负载过度集中在某些RP上。它还应尝试生成一个不经常更改的RP集。

4. RP-Set Flooding. In future Bootstrap messages, the BSR includes the RP-Set information. Bootstrap messages are flooded through the domain, which ensures that the RP-Set rapidly reaches all the routers in the domain. BSMs are originated periodically to ensure consistency after failure restoration.

4. RP设置洪水。在将来的引导消息中,BSR包含RP集信息。引导消息通过域被淹没,这确保RP集快速到达域中的所有路由器。BSM定期启动,以确保故障恢复后的一致性。

When a PIM router receives a Bootstrap message, it adds the group-to-RP mappings contained therein to its pool of mappings obtained from other sources (e.g., static configuration). It calculates the final mappings of group addresses to RP addresses from this pool according to rules specific to the particular routing protocol and uses that information to construct multicast distribution trees.

当PIM路由器接收到引导消息时,它会将其中包含的组到RP映射添加到从其他来源(例如,静态配置)获得的映射池中。它根据特定于特定路由协议的规则计算组地址到该池中RP地址的最终映射,并使用该信息构建多播分发树。

If a PIM domain becomes partitioned, each area separated from the old BSR will elect its own BSR, which will distribute an RP-Set containing RPs that are reachable within that partition. When the partition heals, another election will occur automatically and only one of the BSRs will continue to send out Bootstrap messages. As is expected at the time of a partition or healing, some disruption in packet delivery may occur. The duration of the disruption period will be on the order of the region's round-trip time and the BS_Timeout value.

如果PIM域已分区,则与旧BSR分离的每个区域将选择其自己的BSR,该BSR将分发一个RP集,其中包含可在该分区内访问的RP。当分区恢复时,将自动进行另一次选择,并且只有一个BSR将继续发送引导消息。正如在分区或修复时所预期的那样,数据包传递可能会发生一些中断。中断期的持续时间将取决于区域的往返时间和BS_超时值。

1.3. Administrative Scoping and BSR
1.3. 管理范围界定和BSR

The mechanism described in the previous section does not work when the PIM domain is divided into administratively scoped regions. To handle this situation, we use the protocol modifications described in this section.

当PIM域被划分为管理范围的区域时,上一节中描述的机制不起作用。为了处理这种情况,我们使用本节中描述的协议修改。

In the remainder of this document, we will use the term scope zone, or simply zone, when we are talking about a connected region of topology of a given scope. For a more precise definition of scope zones, see [4], which emphasizes that the scope zones are administratively configured.

在本文档的其余部分中,当我们讨论给定范围的拓扑的连接区域时,我们将使用术语范围区域,或简称区域。有关范围区域的更精确定义,请参见[4],其中强调范围区域是以管理方式配置的。

Administrative scoping permits a PIM domain to be divided into multiple admin-scope zones. Each admin-scope zone is a convex connected set of PIM routers and is associated with a set of group addresses. The boundary of the admin-scope zone is formed by Zone Border Routers (ZBRs). ZBRs are configured not to forward traffic for any of the scoped group addresses into or out of the scoped zone. It is important to note that a given scope boundary always creates at least two scoped zones: one on either side of the boundary.

管理范围允许将PIM域划分为多个管理范围区域。每个管理作用域区域是一组凸连接的PIM路由器,并与一组组组地址相关联。管理范围区域的边界由区域边界路由器(ZBR)形成。ZBR配置为不将任何作用域组地址的通信转发到作用域区域或转发出作用域区域。需要注意的是,给定的范围边界总是至少创建两个范围区域:一个在边界的两侧。

In IPv4, administratively scoped zones are associated with a set of addresses given by an address and a prefix length. In IPv6, administratively scoped zones are associated with a set of addresses given by a single scope ID value. The set of addresses corresponding to a given scope ID value is defined in [5]. For example, a scope ID of 5 maps to the 16 IPv6 address ranges ff[0-f]5::/16.

在IPv4中,管理范围的区域与地址和前缀长度给定的一组地址相关联。在IPv6中,管理作用域区域与由单个作用域ID值给定的一组地址相关联。与给定作用域ID值对应的地址集在[5]中定义。例如,5的作用域ID映射到16个IPv6地址范围ff[0-f]5::/16。

There are certain topological restrictions on admin-scope zones. The scope zone border must be complete and convex. By this we mean that there must be no path from the inside to the outside of the scoped zone that does not pass through a configured scope border router, and that the multicast capable path between any arbitrary pair of multicast routers in the scope zone must remain in the zone.

管理作用域区域存在某些拓扑限制。范围区域边界必须完整且凸出。通过这一点,我们的意思是,从作用域区域内部到外部的任何路径都不能不通过配置的作用域边界路由器,并且作用域区域中任意一对多播路由器之间的多播路径必须保留在该区域中。

Administrative scoping complicates BSR because we do not want a PIM router within the scoped zone to use an RP outside the scoped zone. Thus we need to modify the basic mechanism to ensure that this doesn't happen.

管理作用域使BSR复杂化,因为我们不希望作用域内的PIM路由器在作用域外使用RP。因此,我们需要修改基本机制,以确保不会发生这种情况。

This is done by running a separate copy of the basic BSR mechanism, as described in the previous section, within each admin-scope zone of a PIM domain. Thus a separate BSR election takes place for each admin-scope zone, a C-RP typically registers to the BSR of every admin-scope zone it is in, and every PIM router receives Bootstrap messages for every scope zone it is in. The Bootstrap messages sent by the BSR for a particular scope zone contain information about the RPs that should be used for the set of addresses associated with that scope zone.

这是通过在PIM域的每个管理范围区域内运行基本BSR机制的单独副本来实现的,如前一节所述。因此,对每个管理作用域区域进行单独的BSR选择,C-RP通常注册到其所在的每个管理作用域区域的BSR,并且每个PIM路由器接收其所在的每个作用域区域的引导消息。BSR为特定作用域区域发送的引导消息包含有关应用于与该作用域区域关联的地址集的RPs的信息。

Bootstrap messages are marked to indicate which scope zone they belong to. Such admin-scoped Bootstrap messages are flooded in the normal way, but will not be forwarded by a ZBR across the boundary for that scope zone.

引导消息被标记为指示它们属于哪个作用域区域。此类管理范围的引导消息以正常方式被淹没,但不会由ZBR跨该范围区域的边界转发。

For the BSR mechanism to function correctly with admin scoping, there must be at least one C-BSR within each admin-scope zone, and there must be at least one C-RP that is configured to be a C-RP for the set of group addresses associated with the scoped zone.

为了使BSR机制在管理作用域中正常运行,每个管理作用域区域内必须至少有一个C-BSR,并且必须至少有一个C-RP配置为与作用域区域关联的组地址集的C-RP。

Even when administrative scoping is used, a copy of the BSR mechanism is still used across the entire PIM domain in order to distribute RP information for groups that are not administratively scoped. We call this copy of the mechanism non-scoped BSR. The copies of the mechanism run for each admin-scope zone are called scoped BSR.

即使使用了管理作用域,BSR机制的副本仍会在整个PIM域中使用,以便为没有管理作用域的组分发RP信息。我们称此机制副本为非作用域BSR。为每个管理作用域区域运行的机制副本称为作用域BSR。

Only the C-BSRs and the ZBRs need to be configured to know about the existence of the scope zones. Other routers, including the C-RPs, learn of their existence from Bootstrap messages.

只有C-BSR和ZBR需要配置以了解范围区域的存在。其他路由器,包括C-RPs,从引导消息中得知它们的存在。

All PIM routers within a PIM bootstrap domain where admin-scope ranges are in use must be capable of receiving Bootstrap messages and storing the winning BSR and RP-Set for all admin-scope zones that apply. Thus, PIM routers that only implement RFC 2362 or non-scoped BSR (which only allows one BSR per domain) cannot be used within the admin-scope zones of a PIM domain.

使用管理范围的PIM引导域内的所有PIM路由器必须能够接收引导消息,并存储适用于所有管理范围区域的获奖BSR和RP集。因此,仅实现RFC 2362或非作用域BSR(每个域仅允许一个BSR)的PIM路由器不能在PIM域的管理作用域区域内使用。

2. BSR State and Timers
2. BSR状态和计时器

A PIM router implementing BSR holds the following state.

实现BSR的PIM路由器保持以下状态。

RP-Set

快速成型装置

Per Configured or Learned Scope Zone (Z):

每个配置或学习的范围区域(Z):

At all routers:

在所有路由器:

Current Bootstrap Router's IP Address

当前引导路由器的IP地址

Current Bootstrap Router's BSR Priority

当前引导路由器的BSR优先级

Last BSM received from current BSR

从当前BSR接收的最后一个BSM

Bootstrap Timer (BST(Z))

引导计时器(BST(Z))

Per group-to-RP mapping (M):

每组到RP映射(M):

Group-to-RP mapping Expiry Timer (GET(M,Z))

组到RP映射到期计时器(获取(M,Z))

At a Candidate-BSR for Z:

在Z的候选BSR处:

My state: One of "Candidate-BSR", "Pending-BSR", "Elected-BSR"

我的州:“候选BSR”、“待定BSR”、“当选BSR”之一

At a router that is not a Candidate-BSR for Z:

在不是Z候选BSR的路由器上:

My state: One of "Accept Any", "Accept Preferred"

我的状态:“接受任何”、“接受首选”

Scope-Zone Expiry Timer (SZT(Z))

作用域到期计时器(SZT(Z))

At the current Bootstrap Router for Z only:

在当前仅用于Z的引导路由器上:

Per group-to-C-RP mapping (M):

每组到C-RP映射(M):

Group-to-C-RP mapping Expiry Timer (CGET(M,Z))

组到C-RP映射到期计时器(CGET(M,Z))

At a C-RP only:

仅在C-RP处:

C-RP Advertisement Timer (CRPT)

C-RP广告定时器(CRPT)

3. Bootstrap Router Election and RP-Set Distribution
3. 引导路由器选择和RP集分配
3.1. Bootstrap Router Election
3.1. 引导路由器选择

For simplicity, Bootstrap messages are used in both the BSR election and the RP-Set distribution mechanisms.

为简单起见,在BSR选择和RP集分发机制中都使用引导消息。

Each Bootstrap message indicates the scope to which it belongs. If the Admin Scope Zone bit is set in the first group range in the Bootstrap message, the message is called a scoped BSM. If the Admin Scope Zone bit is not set in the first group range in the Bootstrap message, the message is called a non-scoped BSM.

每个引导消息都指示它所属的范围。如果在引导消息的第一个组范围中设置了管理作用域区域位,则该消息称为作用域BSM。如果在引导消息的第一个组范围中未设置管理作用域区域位,则该消息称为非作用域BSM。

In a scoped IPv4 BSM, the scope of the message is given by the first group range in the message, which can be any sub-range of 224/4. In a scoped IPv6 BSM, the scope of the message is given by the scope ID of the first group range in the message, which must have a mask length of at least 16. For example, a group range of ff05::/16 with the Admin Scope Zone bit set indicates that the Bootstrap message is for the scope with scope ID 5. If the mask length of the first group range in a scoped IPv6 BSM is less than 16, the message MUST be dropped and a warning SHOULD be logged.

在作用域为IPv4的BSM中,消息的作用域由消息中的第一个组范围给出,该范围可以是224/4的任何子范围。在有作用域的IPv6 BSM中,消息的作用域由消息中第一个组范围的作用域ID给出,该范围的掩码长度必须至少为16。例如,设置了管理作用域区域位的组范围ff05::/16表示引导消息针对作用域ID为5的作用域。如果作用域IPv6 BSM中第一个组范围的掩码长度小于16,则必须删除该消息并记录警告。

The state machine for Bootstrap messages depends on whether or not a router has been configured to be a Candidate-BSR for a particular scope zone. The per-scope-zone state machine for a C-BSR is given below, followed by the state machine for a router that is not configured to be a C-BSR.

引导消息的状态机取决于路由器是否已配置为特定作用域的候选BSR。下面给出了C-BSR的每个作用域区域状态机,然后是未配置为C-BSR的路由器的状态机。

A key part of the election mechanism is that we associate a weight with each BSR. The weight of a BSR is defined to be the concatenation in fixed-precision unsigned arithmetic of the BSR Priority field from the Bootstrap message and the IP address of the BSR from the Bootstrap message (with the BSR Priority taking the most-significant bits and the IP address taking the least-significant bits).

选举机制的一个关键部分是,我们将权重与每个BSR相关联。BSR的权重定义为引导消息中BSR优先级字段和引导消息中BSR IP地址(BSR优先级取最高有效位,IP地址取最低有效位)的固定精度无符号算术级联。

3.1.1. Per-Scope-Zone Candidate-BSR State Machine
3.1.1. 每个作用域区域候选BSR状态机
   +-------------------------------------------------------------------+
   |                      When in C-BSR state                          |
   +----------+-----------------+-------------------+------------------+
   | Event    |  Receive        |  Bootstrap        | Receive Non-     |
   |          |  Preferred BSM  |  Timer Expires    | preferred BSM    |
   |          |                 |                   | from Elected     |
   |          |                 |                   | BSR              |
   +----------+-----------------+-------------------+------------------+
   |          |  -> C-BSR state |  -> P-BSR state   | -> P-BSR state   |
   |          |  Forward BSM;   |  Set Bootstrap    | Forward BSM;     |
   | Action   |  Store RP-Set;  |  Timer to         | Set Bootstrap    |
   |          |  Set Bootstrap  |  BS_Rand_Override | Timer to         |
   |          |  Timer to       |                   | BS_Rand_Override |
   |          |  BS_Timeout     |                   |                  |
   +----------+-----------------+-------------------+------------------+
        
   +-------------------------------------------------------------------+
   |                      When in C-BSR state                          |
   +----------+-----------------+-------------------+------------------+
   | Event    |  Receive        |  Bootstrap        | Receive Non-     |
   |          |  Preferred BSM  |  Timer Expires    | preferred BSM    |
   |          |                 |                   | from Elected     |
   |          |                 |                   | BSR              |
   +----------+-----------------+-------------------+------------------+
   |          |  -> C-BSR state |  -> P-BSR state   | -> P-BSR state   |
   |          |  Forward BSM;   |  Set Bootstrap    | Forward BSM;     |
   | Action   |  Store RP-Set;  |  Timer to         | Set Bootstrap    |
   |          |  Set Bootstrap  |  BS_Rand_Override | Timer to         |
   |          |  Timer to       |                   | BS_Rand_Override |
   |          |  BS_Timeout     |                   |                  |
   +----------+-----------------+-------------------+------------------+
        
   +-------------------------------------------------------------------+
   |                        When in P-BSR state                        |
   +-----------+------------------+------------------+-----------------+
   | Event     |  Receive         |  Bootstrap       |  Receive Non-   |
   |           |  Preferred BSM   |  Timer Expires   |  preferred BSM  |
   +-----------+------------------+------------------+-----------------+
   |           |  -> C-BSR state  |  -> E-BSR state  |  -> P-BSR state |
   |           |  Forward BSM;    |  Originate BSM;  |  Forward BSM    |
   | Action    |  Store RP-Set;   |  Set Bootstrap   |                 |
   |           |  Set Bootstrap   |  Timer to        |                 |
   |           |  Timer to        |  BS_Period       |                 |
   |           |  BS_Timeout      |                  |                 |
   +-----------+------------------+------------------+-----------------+
        
   +-------------------------------------------------------------------+
   |                        When in P-BSR state                        |
   +-----------+------------------+------------------+-----------------+
   | Event     |  Receive         |  Bootstrap       |  Receive Non-   |
   |           |  Preferred BSM   |  Timer Expires   |  preferred BSM  |
   +-----------+------------------+------------------+-----------------+
   |           |  -> C-BSR state  |  -> E-BSR state  |  -> P-BSR state |
   |           |  Forward BSM;    |  Originate BSM;  |  Forward BSM    |
   | Action    |  Store RP-Set;   |  Set Bootstrap   |                 |
   |           |  Set Bootstrap   |  Timer to        |                 |
   |           |  Timer to        |  BS_Period       |                 |
   |           |  BS_Timeout      |                  |                 |
   +-----------+------------------+------------------+-----------------+
        
   +-------------------------------------------------------------------+
   |                        When in E-BSR state                        |
   +-----------+------------------+------------------+-----------------+
   | Event     |  Receive         |  Bootstrap       |  Receive Non-   |
   |           |  Preferred BSM   |  Timer Expires   |  preferred BSM  |
   +-----------+------------------+------------------+-----------------+
   |           |  -> C-BSR state  |  -> E-BSR state  |  -> E-BSR state |
   |           |  Forward BSM;    |  Originate BSM;  |  Originate BSM; |
   | Action    |  Store RP-Set;   |  Set Bootstrap   |  Set Bootstrap  |
   |           |  Set Bootstrap   |  Timer to        |  Timer to       |
   |           |  Timer to        |  BS_Period       |  BS_Period      |
   |           |  BS_Timeout      |                  |                 |
   +-----------+------------------+------------------+-----------------+
        
   +-------------------------------------------------------------------+
   |                        When in E-BSR state                        |
   +-----------+------------------+------------------+-----------------+
   | Event     |  Receive         |  Bootstrap       |  Receive Non-   |
   |           |  Preferred BSM   |  Timer Expires   |  preferred BSM  |
   +-----------+------------------+------------------+-----------------+
   |           |  -> C-BSR state  |  -> E-BSR state  |  -> E-BSR state |
   |           |  Forward BSM;    |  Originate BSM;  |  Originate BSM; |
   | Action    |  Store RP-Set;   |  Set Bootstrap   |  Set Bootstrap  |
   |           |  Set Bootstrap   |  Timer to        |  Timer to       |
   |           |  Timer to        |  BS_Period       |  BS_Period      |
   |           |  BS_Timeout      |                  |                 |
   +-----------+------------------+------------------+-----------------+
        

A Candidate-BSR may be in one of three states for a particular scope zone:

对于特定范围区域,候选BSR可能处于三种状态之一:

Candidate-BSR (C-BSR) The router is a candidate to be the BSR for the scope zone, but currently another router is the preferred BSR.

候选BSR(C-BSR)路由器是作用域的候选BSR,但目前另一个路由器是首选BSR。

Pending-BSR (P-BSR) The router is a candidate to be the BSR for the scope zone. Currently, no other router is the preferred BSR, but this router is not yet the elected BSR. This is a temporary state that prevents rapid thrashing of the choice of BSR during BSR election.

待定BSR(P-BSR)路由器是作用域的候选BSR。目前,没有其他路由器是首选BSR,但此路由器还不是选定的BSR。这是一种临时状态,可防止在BSR选举期间对BSR选择的快速打击。

Elected-BSR (E-BSR) The router is the elected BSR for the scope zone and it must perform all the BSR functions.

选定BSR(E-BSR)路由器是作用域的选定BSR,它必须执行所有BSR功能。

In addition to the three states, there is one timer:

除三种状态外,还有一个计时器:

o The Bootstrap Timer (BST) - used to time out old bootstrap router information, and used in the election process to terminate P-BSR state.

o 引导计时器(BST)-用于超时旧的引导路由器信息,并在选择过程中用于终止P-BSR状态。

The initial state for this configured scope zone is "Pending-BSR"; the Bootstrap Timer is initialized to BS_Rand_Override. This is the case both if the router is a Candidate-BSR at startup, and if it is reconfigured to become one later.

此配置的作用域区域的初始状态为“待定BSR”;引导计时器初始化为BS_Rand_Override。如果路由器在启动时是候选BSR,并且如果它被重新配置为以后的BSR,则都是这种情况。

3.1.2. Per-Scope-Zone State Machine for Non-Candidate-BSR Routers
3.1.2. 非候选BSR路由器的每个作用域区域状态机

The following state machine is used for scope zones that are discovered by the router from bootstrap messages. A simplified state machine is used for scope zones that are explicitly configured on the router and for the global zone. The differences are listed at the end of this section.

以下状态机用于路由器从引导消息中发现的作用域。简化状态机用于路由器上显式配置的作用域和全局区域。差异在本节末尾列出。

   +-------------------------------------------------------------------+
   |                     When in NoInfo state                          |
   +--------------+----------------------------------------------------+
   |   Event      |         Receive BSM                                |
   +--------------+----------------------------------------------------+
   |              |         -> AP state                                |
   |   Action     |         Forward BSM; Store RP-Set;                 |
   |              |         Set Bootstrap Timer to BS_Timeout          |
   +--------------+----------------------------------------------------+
        
   +-------------------------------------------------------------------+
   |                     When in NoInfo state                          |
   +--------------+----------------------------------------------------+
   |   Event      |         Receive BSM                                |
   +--------------+----------------------------------------------------+
   |              |         -> AP state                                |
   |   Action     |         Forward BSM; Store RP-Set;                 |
   |              |         Set Bootstrap Timer to BS_Timeout          |
   +--------------+----------------------------------------------------+
        
   +-------------------------------------------------------------------+
   |                      When in Accept Any state                     |
   +-------------+---------------------------+-------------------------+
   |   Event     |    Receive BSM            |     Scope-Zone Expiry   |
   |             |                           |     Timer Expires       |
   +-------------+---------------------------+-------------------------+
   |             |    -> AP state            |     -> NoInfo state     |
   |             |    Forward BSM; Store     |     Remove scope zone   |
   |   Action    |    RP-Set; Set            |     state               |
   |             |    Bootstrap Timer to     |                         |
   |             |    BS_Timeout             |                         |
   +-------------+---------------------------+-------------------------+
        
   +-------------------------------------------------------------------+
   |                      When in Accept Any state                     |
   +-------------+---------------------------+-------------------------+
   |   Event     |    Receive BSM            |     Scope-Zone Expiry   |
   |             |                           |     Timer Expires       |
   +-------------+---------------------------+-------------------------+
   |             |    -> AP state            |     -> NoInfo state     |
   |             |    Forward BSM; Store     |     Remove scope zone   |
   |   Action    |    RP-Set; Set            |     state               |
   |             |    Bootstrap Timer to     |                         |
   |             |    BS_Timeout             |                         |
   +-------------+---------------------------+-------------------------+
        
   +-------------------------------------------------------------------+
   |                   When in Accept Preferred state                  |
   +---------+---------------------+------------------+----------------+
   | Event   | Receive Preferred   |  Bootstrap       |  Receive Non-  |
   |         | BSM                 |  Timer Expires   |  preferred BSM |
   +---------+---------------------+------------------+----------------+
   |         | -> AP state         |  -> AA state     |  -> AP state   |
   |         | Forward BSM; Store  |  Refresh RP-     |                |
   | Action  | RP-Set; Set         |  Set; Remove     |                |
   |         | Bootstrap Timer to  |  BSR state; Set  |                |
   |         | BS_Timeout          |  SZT to          |                |
   |         |                     |  SZ_Timeout      |                |
   +---------+---------------------+------------------+----------------+
        
   +-------------------------------------------------------------------+
   |                   When in Accept Preferred state                  |
   +---------+---------------------+------------------+----------------+
   | Event   | Receive Preferred   |  Bootstrap       |  Receive Non-  |
   |         | BSM                 |  Timer Expires   |  preferred BSM |
   +---------+---------------------+------------------+----------------+
   |         | -> AP state         |  -> AA state     |  -> AP state   |
   |         | Forward BSM; Store  |  Refresh RP-     |                |
   | Action  | RP-Set; Set         |  Set; Remove     |                |
   |         | Bootstrap Timer to  |  BSR state; Set  |                |
   |         | BS_Timeout          |  SZT to          |                |
   |         |                     |  SZ_Timeout      |                |
   +---------+---------------------+------------------+----------------+
        

A router that is not a Candidate-BSR may be in one of three states:

非候选BSR的路由器可能处于以下三种状态之一:

NoInfo The router has no information about this scope zone. When in this state, no state information is held and no timers (that refer to this scope zone) run. Conceptually, the state machine is only instantiated when the router receives a scoped BSM for a scope about which it has no prior knowledge. However, because the router immediately transitions to the AA state unconditionally, the NoInfo state can be considered to be virtual in a certain sense. For this reason, it is omitted from the description in section 2.

NoInfo路由器没有关于此作用域的信息。处于此状态时,不会保留任何状态信息,也不会运行计时器(引用此作用域区域)。从概念上讲,只有当路由器接收到其事先不知道的作用域的作用域BSM时,才会实例化状态机。但是,由于路由器立即无条件地转换到AA状态,因此在某种意义上,可以认为NoInfo状态是虚拟的。因此,在第2节的描述中省略了它。

Accept Any (AA) The router does not know of an active BSR, and will accept the first Bootstrap message it sees as giving the new BSR's identity and the RP-Set.

接受路由器不知道活动BSR的任何(AA),并将接受它认为给予新BSR身份和RP集的第一条引导消息。

Accept Preferred (AP) The router knows the identity of the current BSR, and is using the RP-Set provided by that BSR. Only Bootstrap messages from that BSR or from a C-BSR with higher weight than the current BSR will be accepted.

接受首选(AP)路由器知道当前BSR的身份,并且正在使用该BSR提供的RP集。仅接受来自该BSR或来自权重高于当前BSR的C-BSR的引导消息。

In addition to the three states, there are two timers:

除这三种状态外,还有两种计时器:

o The Bootstrap Timer (BST) - used to time out old bootstrap router information.

o 引导计时器(BST)-用于超时旧的引导路由器信息。

o The Scope-Zone Expiry Timer (SZT) - used to time out the scope zone itself if Bootstrap messages specifying this scope zone stop arriving.

o 作用域区域到期计时器(SZT)-用于在指定此作用域区域的引导消息停止到达时对作用域区域本身进行超时。

The initial state for scope zones about which the router has no knowledge is "NoInfo".

路由器不知道的作用域区域的初始状态是“NoInfo”。

The state machine used for scopes that have been configured explicitly on the router and for the global scope (which always exists) differs from the state machine above as follows.

用于路由器上明确配置的作用域和全局作用域(始终存在)的状态机与上面的状态机不同,如下所示。

o The "NoInfo" state doesn't exist.

o “NoInfo”状态不存在。

o No SZT is maintained. Hence, the event "Scope-Zone Expiry Timer Expires" does not exist and no actions with regard to this timer are executed.

o 没有维护SZT。因此,“作用域到期计时器到期”事件不存在,并且不执行与此计时器有关的任何操作。

The initial state for this state machine is "Accept Any".

此状态机的初始状态为“接受任何”。

3.1.3. Bootstrap Message Processing Checks
3.1.3. 引导消息处理检查

When a Bootstrap message is received, the following initial checks must be performed:

收到引导消息时,必须执行以下初始检查:

   if ((DirectlyConnected(BSM.src_ip_address) == FALSE) OR
        (we have no Hello state for BSM.src_ip_address)) {
     drop the Bootstrap message silently
   }
        
   if ((DirectlyConnected(BSM.src_ip_address) == FALSE) OR
        (we have no Hello state for BSM.src_ip_address)) {
     drop the Bootstrap message silently
   }
        
   if (BSM.dst_ip_address == ALL-PIM-ROUTERS) {
     if (BSM.no_forward_bit == 0) {
       if (BSM.src_ip_address != RPF_neighbor(BSM.BSR_ip_address)) {
         drop the Bootstrap message silently
       }
     } else if ((any previous BSM for this scope has been accepted) OR
                (more than BS_Period has elapsed since startup)) {
        
   if (BSM.dst_ip_address == ALL-PIM-ROUTERS) {
     if (BSM.no_forward_bit == 0) {
       if (BSM.src_ip_address != RPF_neighbor(BSM.BSR_ip_address)) {
         drop the Bootstrap message silently
       }
     } else if ((any previous BSM for this scope has been accepted) OR
                (more than BS_Period has elapsed since startup)) {
        
       #only accept no-forward BSM if quick refresh on startup
       drop the Bootstrap message silently
     }
   } else if ((Unicast BSM support enabled) AND
              (BSM.dst_ip_address is one of my addresses)) {
     if ((any previous BSM for this scope has been accepted) OR
         (more than BS_Period has elapsed since startup)) {
       #the packet was unicast, but this wasn't
       #a quick refresh on startup
       drop the Bootstrap message silently
     }
   } else {
     drop the Bootstrap message silently
   }
        
       #only accept no-forward BSM if quick refresh on startup
       drop the Bootstrap message silently
     }
   } else if ((Unicast BSM support enabled) AND
              (BSM.dst_ip_address is one of my addresses)) {
     if ((any previous BSM for this scope has been accepted) OR
         (more than BS_Period has elapsed since startup)) {
       #the packet was unicast, but this wasn't
       #a quick refresh on startup
       drop the Bootstrap message silently
     }
   } else {
     drop the Bootstrap message silently
   }
        
   if (the interface the message arrived on is an admin scope
       border for the BSM.first_group_address) {
     drop the Bootstrap message silently
   }
        
   if (the interface the message arrived on is an admin scope
       border for the BSM.first_group_address) {
     drop the Bootstrap message silently
   }
        

Basically, the packet must have come from a directly connected neighbor for which we have active Hello state. It must have been sent to the ALL-PIM-ROUTERS group, and unless it is a No-Forward BSM, it must have been sent by the correct upstream router towards the BSR that originated the Bootstrap message; or, if it is a No-Forward BSM, we must have recently restarted and have no BSR state for that admin scope. Also, if unicast BSM support is enabled, a unicast BSM is accepted if it is addressed to us, we have recently restarted, and we have no BSR state for that admin scope. In addition, it must not have arrived on an interface that is a configured admin-scope border for the first group address contained in the Bootstrap message.

基本上,数据包必须来自一个直接连接的邻居,我们有活动的Hello状态。它必须已发送到ALL-PIM-ROUTES组,并且除非它是无转发BSM,否则它必须已由正确的上游路由器发送到发起引导消息的BSR;或者,如果它是无转发BSM,那么我们必须最近重新启动,并且该管理范围没有BSR状态。此外,如果启用了单播BSM支持,则单播BSM被接受,前提是它的地址是我们,我们最近重新启动了,并且我们没有该管理范围的BSR状态。此外,它必须没有到达作为引导消息中包含的第一个组地址的配置管理范围边界的接口。

3.1.4. State Machine Transition Events
3.1.4. 状态机转换事件

If the Bootstrap message passes the initial checks above without being discarded, then it may cause a state transition event in one of the above state machines. For both candidate and non-candidate BSRs, the following transition events are defined:

如果引导消息通过上述初始检查而未被丢弃,则可能会在上述状态机之一中导致状态转换事件。对于候选和非候选BSR,定义了以下转换事件:

Receive Preferred BSM A Bootstrap message is received from a BSR that has weight higher than or equal to that of the current BSR. If a router is in P-BSR state, then it uses its own weight as that of the current BSR.

接收首选BSM从权重大于或等于当前BSR的BSR接收引导消息。如果路由器处于P-BSR状态,则它使用其自身的权重作为当前BSR的权重。

A Bootstrap message is also preferred if it is from the current BSR with a lower weight than the previous BSM it sent, provided that if the router is a Candidate-BSR the current BSR

如果引导消息来自当前BSR,且权重低于其发送的前一个BSM,则引导消息也是首选消息,前提是如果路由器是候选BSR,则当前BSR

still has a weight higher than or equal to that of the router itself. In this case, the "Current Bootstrap Router's BSR Priority" state must be updated. (For lower weight, see Non-preferred BSM from Elected BSR case.)

仍然具有高于或等于路由器本身的重量。在这种情况下,必须更新“当前引导路由器的BSR优先级”状态。(有关较低的重量,请参阅所选BSR案例中的非首选BSM。)

Receive Non-preferred BSM A Bootstrap message is received from a BSR other than the current BSR that has lower weight than that of the current BSR. If a router is in P-BSR state, then it uses its own weight as that of the current BSR.

接收非首选BSM从除当前BSR之外的BSR接收引导消息,该BSR的权重低于当前BSR的权重。如果路由器处于P-BSR状态,则它使用其自身的权重作为当前BSR的权重。

Receive Non-preferred BSM from Elected BSR A Bootstrap message is received from the elected BSR, but the BSR Priority field in the received message has changed, so that now the currently elected BSR has lower weight than that of the router itself.

从所选BSR接收非首选BSM从所选BSR接收引导消息,但所接收消息中的BSR优先级字段已更改,因此现在所选BSR的权重低于路由器本身的权重。

Receive BSM A Bootstrap message is received, regardless of BSR weight.

接收BSM无论BSR的重量如何,都会收到引导消息。

In addition to state machine transitions caused by the receipt of Bootstrap messages, a state machine transition takes place each time the Bootstrap Timer or Scope-Zone Expiry Timer expires.

除了由于接收引导消息而导致的状态机转换之外,每次引导计时器或作用域过期计时器过期时都会发生状态机转换。

3.1.5. State Machine Actions
3.1.5. 状态机动作

The state machines specify actions that include setting the Bootstrap Timer and the Scope-Zone Expiry Timer to various values. These values are defined in section 5.

状态机指定的操作包括将引导计时器和作用域到期计时器设置为各种值。这些值在第5节中定义。

In addition to setting and cancelling the timers, the following actions may be triggered by state changes in the state machines:

除了设置和取消计时器外,状态机中的状态更改还可能触发以下操作:

Forward BSM A multicast Bootstrap message with No-Forward bit cleared that passes the Bootstrap Message Processing Checks is forwarded out of all interfaces with PIM neighbors (including the interface it is received on), except where this would cause the BSM to cross an admin-scope boundary for the scope zone indicated in the message. For details, see section 3.4.

转发BSM通过引导消息处理检查的未清除转发位的多播引导消息从所有与PIM邻居的接口(包括接收它的接口)转发出去,除非这会导致BSM跨越消息中指示的作用域的管理作用域边界。有关详细信息,请参见第3.4节。

Originate BSM A new Bootstrap message is constructed by the BSR, giving the BSR's address and BSR priority, and containing the BSR's chosen RP-Set. The message is forwarded out of all interfaces on which PIM neighbors exist, except where this would cause the BSM to cross an admin-scope boundary for the scope zone indicated in the message.

发起BSM新的引导消息由BSR构造,提供BSR的地址和BSR优先级,并包含BSR选择的RP集。消息从存在PIM邻居的所有接口转发出去,除非这会导致BSM跨越消息中指示的作用域区域的管理作用域边界。

Store RP-Set The router uses the group-to-RP mappings contained in a BSM to update its local RP-Set.

存储RP集路由器使用BSM中包含的组到RP映射来更新其本地RP集。

This action is skipped for an empty BSM. A BSM is empty if it contains no group ranges, or if it only contains a single group range where that group range has the Admin Scope Zone bit set (a scoped BSM) and an RP count of zero.

对于空BSM,将跳过此操作。如果BSM不包含任何组范围,或者仅包含一个组范围,其中该组范围设置了管理作用域区域位(作用域BSM)且RP计数为零,则BSM为空。

If a mapping does not yet exist, it is created and the associated Group-to-RP mapping Expiry Timer (GET) is initialized with the holdtime from the BSM.

如果映射尚不存在,则会创建映射,并使用BSM的保持时间初始化关联的组到RP映射到期计时器(GET)。

If a mapping already exists, its GET is set to the holdtime from the BSM. If the holdtime is zero, the mapping is removed immediately. Note that for an existing mapping, the RP priority must be updated if changed.

如果映射已经存在,则其GET将从BSM设置为holdtime。如果保持时间为零,则立即删除映射。请注意,对于现有映射,如果发生更改,则必须更新RP优先级。

Mappings for a group range are also to be immediately removed if they are not present in the received group range. This means that if there are any existing group-to-RP mappings for a range where the respective RPs are not in the received range, then those mappings must be removed.

如果接收到的组范围中不存在组范围的映射,则也将立即删除组范围的映射。这意味着,如果某个范围内存在任何现有的组到RP的映射,而相应的RP不在接收范围内,则必须删除这些映射。

All RP mappings associated with the scope zone of the BSM are updated with the new hash mask length from the received BSM. This includes RP mappings for all group ranges learned for this zone, not just the ranges in this particular BSM.

所有与BSM作用域相关联的RP映射都将使用接收到的BSM的新哈希掩码长度进行更新。这包括为该区域学习的所有组范围的RP映射,而不仅仅是此特定BSM中的范围。

In addition, the entire BSM is stored for use in the action Refresh RP-Set and to prime a new PIM neighbor as described below.

此外,整个BSM被存储以供在动作刷新RP集中使用,并如下文所述初始化新的PIM邻居。

Refresh RP-Set When the Bootstrap Timer expires, the router uses the copy of the last BSM that it has received to refresh its RP-Set according to the action Store RP-Set as if it had just received it. This will increase the chance that the group-to-RP mappings will not expire during the election of the new BSR.

刷新RP集当引导计时器过期时,路由器使用其接收到的最后一个BSM的副本,根据操作存储RP集刷新其RP集,就像它刚刚接收到它一样。这将增加组到RP映射在新BSR选举期间不会过期的可能性。

Remove BSR state When the Bootstrap Timer expires, all state associated with the current BSR is removed (address, priority, BST, and saved last BSM; see section 2). Note that this does not include any group-to-RP mappings.

移除BSR状态当引导计时器过期时,与当前BSR关联的所有状态都将被移除(地址、优先级、BST和上次保存的BSM;请参阅第2节)。请注意,这不包括任何组到RP的映射。

Remove scope zone state When the Scope-Zone Expiry Timer expires, all state associated with the scope zone is removed (see section 2).

删除作用域区域状态作用域区域到期计时器到期时,将删除与作用域区域关联的所有状态(请参阅第2节)。

3.2. Sending Candidate-RP-Advertisement Messages
3.2. 发送候选RP广告消息

Every C-RP periodically unicasts a C-RP-Adv message to the BSR for each scope zone for which it has state, to inform the BSR of the C-RP's willingness to function as an RP. These messages are sent with an interval of C_RP_Adv_Period, except when a new BSR is elected; see below.

每个C-RP周期性地向BSR单播一条C-RP-Adv消息,该消息针对其具有状态的每个作用域,以通知BSR C-RP愿意充当RP。这些消息以C\U RP\U Adv\U周期的间隔发送,除非选择了新的BSR;见下文。

When a new BSR is elected, the C-RP MUST send one to three C-RP-Adv messages and wait a small randomized period C_RP_Adv_Backoff before sending each message. We recommend sending three messages because it is important that the BSR quickly learns which RPs are active, and some packet loss may occur when a new BSR is elected due to changes in the network. One way of implementing this is to set the CRPT to C_RP_Adv_Backoff when the new BSR is elected, as well as setting a counter to 2. Whenever the CRPT expires, we first send a C-RP-Adv message as usual. Next, if the counter is non-zero, it is decremented and the CRPT is again set to C_RP_Adv_Backoff instead of C_RP_Adv_Period.

当选择新的BSR时,C-RP必须发送一到三条C-RP-Adv消息,并在发送每条消息之前等待一个小的随机周期C_RP_Adv_回退。我们建议发送三条消息,因为BSR快速了解哪些RPs处于活动状态非常重要,并且当由于网络中的变化而选择新BSR时,可能会发生一些数据包丢失。实现这一点的一种方法是在选择新BSR时将CRPT设置为C_RP_Adv_Backoff,并将计数器设置为2。无论何时CRPT过期,我们都会像往常一样首先发送一条C-RP-Adv消息。接下来,如果计数器非零,则它将递减,并且CRPT再次设置为C_RP_Adv_Backoff,而不是C_RP_Adv_Period。

The Priority field in these messages is used by the BSR to select which C-RPs to include in the RP-Set. Note that lower values of this field indicate higher priorities, so that a value of zero is the highest possible priority. C-RPs should, by default, send C-RP-Adv messages with the Priority field set to 192.

BSR使用这些消息中的优先级字段选择RP集中要包含的C-RP。请注意,此字段的值越低表示优先级越高,因此值为零表示可能的最高优先级。默认情况下,C-RPs应发送优先级字段设置为192的C-RP-Adv消息。

When a C-RP is being shut down, it SHOULD immediately send a C-RP-Adv message to the BSR for each scope zone for which it is currently serving as an RP; the Holdtime in this C-RP-Adv message should be zero. The BSR will then immediately time out the C-RP and generate a new Bootstrap message with the shut down RP holdtime set to 0.

当C-RP关闭时,应立即向BSR发送其当前作为RP的每个作用域的C-RP-Adv消息;此C-RP-Adv消息中的保持时间应为零。然后,BSR将立即超时C-RP,并生成一条新的引导消息,关闭RP保持时间设置为0。

A C-RP-Adv message carries a list of group address and group mask field pairs. This enables the C-RP to specify the group ranges for which it is willing to be the RP. If the C-RP becomes an RP, it may enforce this scope acceptance when receiving Register or Join/Prune messages.

C-RP-Adv消息包含组地址和组掩码字段对的列表。这使C-RP能够指定其愿意成为RP的组范围。如果C-RP成为RP,则在接收Register或Join/Prune消息时,可强制执行此范围接受。

A C-RP is configured with a list of group ranges for which it should advertise itself as the C-RP. A C-RP uses the following algorithm to determine which ranges to send to a given BSR.

C-RP配置了一个组范围列表,它应该将自己作为C-RP进行宣传。C-RP使用以下算法来确定要发送给给定BSR的范围。

For each group range R in the list, the C-RP advertises that range to the scoped BSR for the smallest scope that "contains" R. For IPv6, the containing scope is determined by matching the scope identifier of the group range with the scope of the BSR. For IPv4, it is the longest-prefix match for R, amongst the known admin-scope ranges. If no scope is found to contain the group range, the C-RP includes it in the C-RP-Adv sent to the non-scoped BSR. If a non-scoped BSR is not known, the range is not included in any C-RP-Adv.

对于列表中的每个组范围R,C-RP向作用域BSR播发“包含”R的最小作用域的该范围。对于IPv6,通过将组范围的作用域标识符与BSR的作用域匹配来确定包含的作用域。对于IPv4,它是已知管理作用域范围中R的最长前缀匹配。如果未找到包含组范围的作用域,则C-RP将其包含在发送给非作用域BSR的C-RP-Adv中。如果不知道非范围BSR,则该范围不包括在任何C-RP-Adv中。

In addition, for each IPv4 group range R in the list, for each scoped BSR whose scope range is strictly contained within R, the C-RP SHOULD by default advertise that BSR's scope range to that BSR. And for each IPv6 group range R in the list with prefix length < 16, the C-RP SHOULD by default advertise each sub-range of prefix length 16 to the scoped BSR with the corresponding scope ID. An implementation MAY supply a configuration option to prevent the behavior described in this paragraph, but such an option SHOULD be disabled by default.

此外,对于列表中的每个IPv4组范围R,对于每个作用域范围严格包含在R中的作用域BSR,C-RP默认情况下应将该BSR的作用域范围通告给该BSR。对于列表中前缀长度小于16的每个IPv6组范围R,默认情况下,C-RP应使用相应的作用域ID将前缀长度16的每个子范围通告给作用域BSR。实现可以提供配置选项以防止本段中描述的行为,但默认情况下应禁用此选项。

For IPv6, the mask length of all group ranges included in the C-RP-Adv message sent to a scoped BSR MUST be >= 16.

对于IPv6,发送到作用域BSR的C-RP-Adv消息中包含的所有组范围的掩码长度必须大于等于16。

If the above algorithm determines that there are no group ranges to advertise to the BSR for a particular scope zone, a C-RP-Adv message MUST NOT be sent to that BSR. A C-RP MUST NOT send a C-RP-Adv message with no group ranges in it.

如果上述算法确定特定范围区域没有可向BSR播发的组范围,则不得向该BSR发送C-RP-Adv消息。C-RP不得发送没有组范围的C-RP-Adv消息。

If the same router is the BSR for more than one scope zone, the C-RP-Adv messages for these scope zones MAY be combined into a single message.

如果同一路由器是多个作用域区域的BSR,则这些作用域区域的C-RP-Adv消息可以组合成单个消息。

If the C-RP is a ZBR for an admin-scope zone, then the Admin Scope Zone bit MUST be set in the C-RP-Adv messages it sends for that scope zone; otherwise this bit MUST NOT be set. This information is currently only used for logging purposes by the BSR, but might allow for future extensions of the protocol.

如果C-RP是管理范围区域的ZBR,则必须在为该范围区域发送的C-RP-Adv消息中设置管理范围区域位;否则,不得设置此位。此信息目前仅用于BSR的日志记录目的,但可能允许将来扩展协议。

3.3. Creating the RP-Set at the BSR
3.3. 在BSR处创建RP集

Upon receiving a C-RP-Adv message, the router needs to decide whether or not to accept each of the group ranges included in the message. For each group range in the message, the router checks to see if it is the elected BSR for any scope zone that contains the group range, or if it is elected as the non-scoped BSR. If so, the group range is accepted; if not, the group range is ignored.

收到C-RP-Adv消息后,路由器需要决定是否接受消息中包含的每个组范围。对于消息中的每个组范围,路由器检查它是否是包含该组范围的任何作用域区域的选定BSR,或者它是否被选为非作用域BSR。如果是,则接受集团范围;如果不是,则忽略组范围。

For security reasons, we recommend that implementations have a way of restricting which IP addresses the BSR accepts C-RP-Adv messages from, e.g., access lists. For use of scoped BSR, it may also be useful to specify which group ranges should be accepted.

出于安全原因,我们建议实现有一种方法来限制BSR接受来自访问列表等的C-RP-Adv消息的IP地址。对于作用域BSR的使用,指定应接受哪些组范围也可能很有用。

If the group range is accepted, a group-to-C-RP mapping is created for this group range and the RP Address from the C-RP-Adv message.

如果接受组范围,则会为此组范围和C-RP-Adv消息中的RP地址创建组到C-RP的映射。

If the mapping is not already part of the C-RP-Set, it is added to the C-RP-Set and the associated Group-to-C-RP mapping Expiry Timer (CGET) is initialized to the holdtime from the C-RP-Adv message. Its priority is set to the Priority from the C-RP-Adv message.

如果映射尚未成为C-RP-Set的一部分,则会将其添加到C-RP-Set中,并且关联的Group-to-C-RP映射到期计时器(CGET)会从C-RP-Adv消息初始化为保持时间。其优先级设置为C-RP-Adv消息中的优先级。

If the mapping is already part of the C-RP-Set, it is updated with the Priority from the C-RP-Adv message, and its associated CGET is reset to the holdtime from the C-RP-Adv message. If the holdtime is zero, the mapping is immediately removed from the C-RP-Set.

如果映射已经是C-RP-Set的一部分,它将使用C-RP-Adv消息中的优先级进行更新,并且其关联的CGET将重置为C-RP-Adv消息中的保持时间。如果保持时间为零,则映射将立即从C-RP集中移除。

The hash mask length is a global property of the BSR and is therefore the same for all mappings managed by the BSR.

哈希掩码长度是BSR的全局属性,因此对于BSR管理的所有映射都是相同的。

For compatibility with the previous version of the BSR specification, a C-RP-Adv message with no group ranges SHOULD be treated as though it contained the single group range ff00::/8 or 224/4. Therefore, according to the rule above, this group range will be accepted if and only if the router is elected as the non-scoped BSR.

为了与以前版本的BSR规范兼容,不带组范围的C-RP-Adv消息应视为包含单组范围ff00::/8或224/4。因此,根据上述规则,当且仅当路由器被选为非作用域BSR时,才会接受该组范围。

When a CGET expires, the corresponding group-to-C-RP mapping is removed from the C-RP-Set.

当CGET过期时,相应的组到C-RP映射将从C-RP集中移除。

The BSR constructs the RP-Set from the C-RP-Set. It may apply a local policy to limit the number of Candidate-RPs included in the RP-Set. The BSR may override the range indicated in a C-RP-Adv message unless the 'Priority' field from the C-RP-Adv message is less than 128.

BSR从C-RP集构造RP集。它可以应用本地策略来限制RP集中包含的候选RP的数量。BSR可以覆盖C-RP-Adv消息中指示的范围,除非C-RP-Adv消息中的“优先级”字段小于128。

If the BSR learns of both BIDIR and PIM-SM Candidate-RPs for the same group range, the BSR MUST only include RPs for one of the protocols in the BSMs. The default behavior SHOULD be to prefer BIDIR.

如果BSR了解到相同组范围的BIDIR和PIM-SM候选RP,则BSR必须仅包括BSM中一个协议的RP。默认行为应该是偏好BIDIR。

For inclusion in a BSM, the RP-Set is subdivided into sets of {group-range, RP-Count, RP-addresses}. For each RP-address, the "RP-Holdtime" field is set to the Holdtime from the C-RP-Set, subject to the constraint that it MUST be larger than BS_Period and SHOULD be larger than 2.5 times BS_Period to allow for some Bootstrap messages getting lost. If some holdtimes from the C-RP-Sets do not satisfy

为了包含在BSM中,RP集被细分为{组范围、RP计数、RP地址}集。对于每个RP地址,“RP Holdtime”字段设置为C-RP-set中的Holdtime,但必须大于BS_周期,且应大于BS_周期的2.5倍,以允许某些引导消息丢失。如果C-RP-集合的某些保持时间不满足

this constraint, the BSR MUST replace those holdtimes with a value satisfying the constraint. An exception to this is the holdtime of zero, which is used to immediately withdraw mappings.

对于此约束,BSR必须用满足该约束的值替换这些保持时间。一个例外是holdtime为零,它用于立即提取映射。

The format of the Bootstrap message allows 'semantic fragmentation', if the length of the original Bootstrap message exceeds the packet maximum boundaries. However, to reduce the semantic fragmentation required, we recommend against configuring a large number of routers as C-RPs.

如果原始引导消息的长度超过数据包最大边界,则引导消息的格式允许“语义分段”。但是,为了减少所需的语义碎片,我们建议不要将大量路由器配置为C-RPs。

In general, BSMs are originated at regular intervals according to the BS_Period timer. We do recommend that a BSM is also originated whenever the RP-set to be announced in the BSMs changes. This will usually happen when receiving C-RP advertisements from a new C-RP, or when a C-RP is shut down (C-RP advertisement with a holdtime of zero). There MUST however be a minimum of BS_Min_Interval between each time a BSM is sent. In particular, when a new BSR is elected, it will first send one BSM (which is likely to be empty since it has not yet received any C-RP advertisements), and then wait at least BS_Min_Interval before sending a new one. During that time, it is likely to have received C-RP advertisements from all usable C-RPs (since we say that a C-RP should send one or more advertisements with small random delays of C_RP_Adv_Backoff when a new BSR is elected). For this case in particular, where routers may not have a usable RP-set, we recommend originating a BSM as soon as BS_Min_Interval has passed. We suggest though that a BSR can do this in general. One way of implementing this, is to decrease the Bootstrap Timer to BS_Min_Interval whenever the RP-set changes, while not changing the timer if it is less than or equal to BS_Min_Interval.

通常,BSM根据BS_周期计时器以固定的间隔发起。我们确实建议,只要BSM中要宣布的RP集发生变化,也应发起BSM。当从新的C-RP接收C-RP广告时,或当C-RP关闭时(保持时间为零的C-RP广告),通常会发生这种情况。但是,每次发送BSM之间必须有最小的BS_Min_间隔。特别是,当选择一个新的BSR时,它将首先发送一个BSM(由于尚未收到任何C-RP广告,该BSM可能为空),然后在发送一个新BSM之前至少等待一个BS_Min_间隔。在这段时间内,它可能已经从所有可用的C-RP接收到C-RP广告(因为我们说,当选择新的BSR时,C-RP应该发送一个或多个具有C_RP_Adv_Backoff的小随机延迟的广告)。特别是在这种情况下,如果路由器可能没有可用的RP集,我们建议在超过BS_Min_间隔后立即发起BSM。不过,我们建议BSR通常可以做到这一点。实现这一点的一种方法是,每当RP集更改时,将引导计时器减少到BS_Min_Interval,而如果它小于或等于BS_Min_Interval,则不更改计时器。

A BSR originates separate scoped BSMs for each scope zone for which it is the elected BSR, as well as originating non-scoped BSMs if it is the elected non-scoped BSR.

BSR为其为选定BSR的每个作用域区域生成单独的作用域BSM,如果它是选定的非作用域BSR,则生成非作用域BSM。

Each group-to-C-RP mapping is included in precisely one of these BSMs -- namely, the scoped BSM for the narrowest scope containing the group range of the mapping, if any, or the non-scoped BSM otherwise.

每个group-to-C-RP映射正好包含在其中一个BSM中——即,包含映射的组范围(如果有)的最窄范围的范围BSM,或者非范围BSM。

A scoped BSM MUST have at least one group range, and the first group range in a scoped BSM MUST have the Admin Scope Zone bit set. This group range identifies the scope of the BSM. In a scoped IPv4 BSM, the first group range is the range corresponding to the scope of the BSM. In a scoped IPv6 BSM, the first group range may be any group range subject to the general condition that all the group ranges in such a BSM MUST have a mask length of at least 16 and MUST have the same scope ID as the scope of the BSM.

作用域BSM必须至少有一个组范围,并且作用域BSM中的第一个组范围必须设置管理作用域区域位。此组范围标识BSM的范围。在作用域IPv4 BSM中,第一个组范围是与BSM作用域相对应的范围。在作用域为IPv6的BSM中,第一组范围可以是任何组范围,但一般条件是,此类BSM中的所有组范围必须具有至少16的掩码长度,并且必须具有与BSM的作用域相同的作用域ID。

Apart from identifying the scope, the first group range in a scoped BSM is treated like any other range with respect to RP mappings. That is, all mappings in the RP-set for this group range, if any, must be included in this first group range in the BSM. After this group range, other group ranges in this scope (for which there are RP mappings) appear in any order.

除了确定作用域之外,作用域BSM中的第一个组范围被视为与RP映射相关的任何其他范围。也就是说,此组范围的RP集中的所有映射(如果有)必须包含在BSM的第一个组范围中。在此组范围之后,此范围中的其他组范围(存在RP映射)以任意顺序显示。

The Admin Scope Zone bit of all group ranges other than the first SHOULD be set to 0 on origination, and MUST be ignored on receipt.

除第一个组范围外的所有组范围的管理范围区域位在发起时应设置为0,并且在收到时必须忽略。

When an elected BSR is being shut down, it should immediately originate a Bootstrap message listing its current RP-Set, but with the BSR Priority field set to the lowest priority value possible. This will cause the election of a new BSR to happen more quickly.

当选择的BSR被关闭时,它应立即生成一条引导消息,列出其当前RP集,但BSR优先级字段设置为可能的最低优先级值。这将加快新BSR的选举。

3.4. Forwarding Bootstrap Messages
3.4. 转发引导消息

Generally, bootstrap messages originate at the BSR, and are hop-by-hop forwarded by intermediate routers if they pass the Bootstrap Message Processing Checks. There are two exceptions to this. One is that a bootstrap message is not forwarded if its No-Forward bit is set; see section 3.5.1. The other is that unicast BSMs (see section 3.5.2) are usually not forwarded. Implementers MAY, however, at their own discretion choose to re-send a No-Forward or unicast BSM in a multicast BSM, which MUST have the No-Forward bit cleared. It is essential that the No-Forward bit is cleared, since no Reverse Path Forwarding (RPF) check is performed by the receiver when it is set.

通常,引导消息起源于BSR,如果通过引导消息处理检查,则由中间路由器逐跳转发。这有两个例外。一种是,如果未设置引导消息的转发位,则引导消息不会被转发;见第3.5.1节。另一种是单播BSM(见第3.5.2节)通常不转发。然而,实现者可以自行决定在多播BSM中重新发送无转发或单播BSM,这必须清除无转发位。必须清除No Forward位,因为设置该位时,接收机不会执行反向路径转发(RPF)检查。

By hop-by-hop forwarding, we mean that the Bootstrap message itself is forwarded, not the entire IP packet. Each hop constructs an IP packet for each of the interfaces the BSM is to be forwarded out of; each packet contains the entire BSM that was received.

通过逐跳转发,我们的意思是引导消息本身被转发,而不是整个IP数据包。每个跳为BSM要转发出去的每个接口构造一个IP包;每个数据包包含接收到的整个BSM。

When a Bootstrap message is forwarded, it is forwarded out of every multicast-capable interface that has PIM neighbors (including the one over which the message was received). The exception to this is if the interface is an admin-scope boundary for the admin-scope zone indicated in the first group range in the Bootstrap message packet.

转发引导消息时,它将从具有PIM邻居(包括接收消息的接口)的每个支持多播的接口中转发出去。例外情况是,如果接口是引导消息包中第一个组范围中指示的管理范围区域的管理范围边界。

As an optimization, a router MAY choose not to forward a BSM out of the interface the message was received on if that interface is a point-to-point interface. On interfaces with multiple PIM neighbors, a router SHOULD forward an accepted BSM out of the interface that BSM was received on, but if the number of PIM neighbors on that interface is large, it MAY delay forwarding a BSM out of that interface by a small randomized interval to prevent message implosion. A

作为一种优化,如果BSM是点对点接口,路由器可以选择不将其转发到接收消息的接口之外。在具有多个PIM邻居的接口上,路由器应将已接受的BSM转发出接收BSM的接口,但如果该接口上的PIM邻居数量较大,则路由器可能会将BSM转发出该接口的时间延迟一小段随机间隔,以防止消息内爆。A.

configuration option MAY be provided to disable forwarding out of the interface a message was received on, but we recommend that the default behavior is to forward out of that interface.

可以提供配置选项来禁用从接收到消息的接口向外转发,但我们建议默认行为是从该接口向外转发。

Rationale: A BSM needs to be forwarded out of the interface the message was received on (in addition to the other interfaces) because the routers on a LAN may not have consistent routing information. If three routers on a LAN are A, B, and C, and at router B RPF(BSR)==A and at router C RPF(BSR)==B, then router A originally forwards the BSM onto the LAN, but router C will only accept it when router B re-forwards the message onto the LAN. If the underlying routing protocol configuration guarantees that the routers have consistent routing information, then forwarding out of the incoming interface may safely be disabled.

理由:由于LAN上的路由器可能没有一致的路由信息,BSM需要从接收消息的接口(以及其他接口)转发出去。如果LAN上的三个路由器分别为a、B和C,且在路由器B RPF(BSR)==a和在路由器C RPF(BSR)==B,则路由器a最初将BSM转发到LAN上,但路由器C仅在路由器B将消息重新转发到LAN上时才接受它。如果基础路由协议配置保证路由器具有一致的路由信息,则可以安全地禁用从传入接口进行的转发。

A ZBR constrains all BSMs that are of equal or smaller scope than the configured boundary. That is, the BSMs are not accepted from, originated, or forwarded on the interfaces on which the boundary is configured. For IPv6, the check is a comparison between the scope of the first range in the scoped BSM and the scope of the configured boundary. For IPv4, the first range in the scoped BSM is checked to see if it is contained in or is the same as the range of the configured boundary.

ZBR约束范围等于或小于配置边界的所有BSM。也就是说,BSM不从配置边界的接口接受、发起或转发。对于IPv6,检查是范围BSM中第一个范围的范围与配置边界的范围之间的比较。对于IPv4,将检查作用域BSM中的第一个范围,以查看它是否包含在已配置边界的范围内或与已配置边界的范围相同。

3.5. Bootstrap Messages to New and Rebooting Routers
3.5. 到新路由器和重新启动路由器的引导消息

When a Hello message is received from a new neighbor, or a Hello message with a new GenID is received from an existing neighbor, one router on the LAN sends a stored copy of the Bootstrap message for each admin-scope zone to the new or rebooting router. This allows new or rebooting routers to learn the RP-Set quickly.

当从新邻居收到Hello消息,或从现有邻居收到带有新GenID的Hello消息时,LAN上的一个路由器会将每个管理作用域的引导消息的存储副本发送到新的或正在重新启动的路由器。这允许新的或重新启动的路由器快速学习RP集。

This message SHOULD be sent as a No-Forward Bootstrap message; see section 3.5.1. For backwards compatibility, this message MAY instead or in addition be sent as a unicast Bootstrap message; see section 3.5.2. These messages MUST only be accepted at startup; see section 3.1.3.

此消息应作为无前向引导消息发送;见第3.5.1节。为了向后兼容,此消息可以改为或另外作为单播引导消息发送;见第3.5.2节。这些消息只能在启动时接受;见第3.1.3节。

The router that does this is the Designated Router (DR) on the LAN, or, if the new or rebooting router is the DR, the router that would be the DR if the new or rebooting router were excluded from the DR election process.

执行此操作的路由器是LAN上的指定路由器(DR),或者,如果新的或重新启动的路由器是DR,则是在新的或重新启动的路由器被排除在DR选择过程之外时将成为DR的路由器。

Before sending a Bootstrap message in this manner, the router must wait until it has sent a triggered Hello message on this interface; otherwise, the new neighbor will discard the Bootstrap message.

在以这种方式发送引导消息之前,路由器必须等待,直到它在此接口上发送了触发的Hello消息;否则,新邻居将丢弃引导消息。

3.5.1. No-Forward Bootstrap Messages
3.5.1. 没有转发引导消息

A No-Forward Bootstrap message, is a bootstrap message that has the No-Forward bit set. All implementations SHOULD support sending of No-Forward Bootstrap messages, and SHOULD also accept them. The RPF check MUST NOT be performed in the BSM processing check for a No-Forward BSM; see section 3.1.3. The messages have the same source and destination addresses as the usual multicast Bootstrap messages.

无正向引导消息是设置了无正向位的引导消息。所有实现都应该支持不发送前向引导消息,并且应该接受它们。对于无前向BSM,不得在BSM处理检查中执行RPF检查;见第3.1.3节。这些消息与通常的多播引导消息具有相同的源地址和目标地址。

3.5.2. Unicasting Bootstrap Messages
3.5.2. 单播引导消息

For backwards compatibility, implementations MAY support unicast Bootstrap messages. Whether to send unicast Bootstrap messages instead of or in addition to No-Forward Bootstrap messages, and also whether to accept such messages, SHOULD be configurable. This message is unicast to the neighbor.

为了向后兼容,实现可能支持单播引导消息。是否发送单播引导消息而不是无前向引导消息或在无前向引导消息的基础上发送单播引导消息,以及是否接受此类消息,都应该是可配置的。此消息单播到邻居。

3.6. Receiving and Using the RP-Set
3.6. 接收和使用RP集

The RP-Set maintained by BSR is used by RP-based multicast routing protocols like PIM-SM and BIDIR-PIM. These protocols may obtain RP-Sets from other sources as well. How the final group-to-RP mappings are obtained from these RP-Sets is not part of the BSR specification. In general, the routing protocols need to re-calculate the mappings when any of their RP-Sets change. How such a change is signalled to the routing protocol is also not part of the present specification.

BSR维护的RP集用于基于RP的多播路由协议,如PIM-SM和BIDIR-PIM。这些协议也可以从其他来源获得RP集。如何从这些RP集获得最终的组到RP映射不是BSR规范的一部分。一般来说,当路由协议的RP集发生变化时,路由协议需要重新计算映射。如何向路由协议发送这样的更改信号也不是本规范的一部分。

Some group-to-RP mappings in the RP-Set indicate group ranges for which PIM-SM should be used; others indicate group ranges for use with BIDIR-PIM. Routers that support only one of these protocols MUST NOT ignore ranges indicated as being for the other protocol. They MUST NOT treat them as being for the protocol they support.

RP集中的一些组到RP映射表示应使用PIM-SM的组范围;其他指示用于BIDIR-PIM的组范围。仅支持其中一个协议的路由器不得忽略为另一个协议指定的范围。他们不能将他们视为支持他们所支持的协议。

If a mapping is not already part of the RP-Set, it is added to the RP-Set and the associated Group-to-RP mapping Expiry Timer (GET) is initialized to the holdtime from the Bootstrap message. Its priority is set to the Priority from the Bootstrap message.

如果映射尚未成为RP集的一部分,则会将其添加到RP集,并且关联的Group to RP mapping Expiry Timer(GET)会从引导消息初始化为holdtime。其优先级设置为引导消息中的优先级。

If a mapping is already part of the RP-Set, it is updated with the Priority from the Bootstrap message and its associated GET is reset to the holdtime from the Bootstrap message. If the holdtime is zero, the mapping is removed from the RP-Set immediately.

如果映射已经是RP集的一部分,则将使用引导消息中的优先级对其进行更新,并将其关联的GET重置为引导消息中的holdtime。如果保持时间为零,将立即从RP集中删除映射。

4. Message Formats
4. 消息格式

BSR messages are PIM messages, as defined in [1]. The values of the PIM Message Type field for BSR messages are:

BSR消息是PIM消息,如[1]中所定义。BSR消息的PIM消息类型字段的值为:

4 Bootstrap

4引导

8 Candidate-RP-Advertisement

8候选人RP广告

As with all other PIM control messages, BSR messages have IP protocol number 103.

与所有其他PIM控制消息一样,BSR消息的IP协议号为103。

Candidate-RP-Advertisement messages are unicast to a BSR. Usually, Bootstrap messages are multicast with TTL 1 to the ALL-PIM-ROUTERS group, but in some circumstances (described in section 3.5.2) Bootstrap messages may be unicast to a specific PIM neighbor.

候选RP广告消息单播到BSR。通常,引导消息通过TTL 1多播到ALL-PIM-ROUTERS组,但在某些情况下(如第3.5.2节所述),引导消息可能单播到特定的PIM邻居。

The IP source address used for Candidate-RP-Advertisement messages is a domain-wide reachable address. The IP source address used for Bootstrap messages (regardless of whether they are being originated or forwarded) is the link-local address of the interface on which the message is being sent (i.e., the same source address that the router uses for the Hello messages that it sends out that interface).

用于候选RP广告消息的IP源地址是一个域范围的可访问地址。用于引导消息的IP源地址(无论它们是发起的还是转发的)是发送消息的接口的链路本地地址(即,路由器用于发送该接口的Hello消息的相同源地址)。

The IPv4 ALL-PIM-ROUTERS group is 224.0.0.13. The IPv6 ALL-PIM-ROUTERS group is ff02::d.

IPv4全PIM路由器组为224.0.0.13。IPv6全PIM路由器组为ff02::d。

In this section, we use the following terms defined in the PIM-SM specification [1]:

在本节中,我们使用PIM-SM规范[1]中定义的以下术语:

o Encoded-Unicast format

o 编码单播格式

o Encoded-Group format

o 编码组格式

We repeat these here to aid readability.

我们在这里重复这些以帮助可读性。

Encoded-Unicast address

编码单播地址

An Encoded-Unicast address takes the following format:

编码单播地址采用以下格式:

    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 |     Unicast Address
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...
        
    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 |     Unicast Address
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...
        

Addr Family The PIM address family of the 'Unicast Address' field of this address.

Addr Family此地址的“单播地址”字段的PIM地址系列。

Values of 0-127 are as assigned by the IANA for Internet Address Families in [11]. Values 128-250 are reserved to be assigned by the IANA for PIM-specific Address Families. Values 251 though 255 are designated for private use. As there is no assignment authority for this space, collisions should be expected.

IANA在[11]中为互联网地址族指定了0-127的值。IANA为PIM特定地址系列保留了128-250的值。值251到255指定为私人使用。由于此空间没有分配权限,因此可能会发生碰撞。

Encoding Type The type of encoding used within a specific Address Family. The value '0' is reserved for this field, and represents the native encoding of the Address Family.

编码类型特定地址族中使用的编码类型。值“0”是为此字段保留的,表示地址族的本机编码。

Unicast Address The unicast address as represented by the given Address Family and Encoding Type.

单播地址由给定地址族和编码类型表示的单播地址。

Encoded-Group address

编码组地址

Encoded-Group addresses take the following format:

编码组地址采用以下格式:

    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  |Z|  Mask Len     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                Group multicast Address
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...
        
    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  |Z|  Mask Len     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                Group multicast Address
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...
        

Addr Family Described above.

上面描述的Addr族。

Encoding Type Described above.

上述编码类型。

[B]IDIR bit When set, all BIDIR-capable PIM routers will operate the protocol described in [2] for the specified group range.

[B] IDIR位设置后,所有支持BIDIR的PIM路由器将在指定的组范围内运行[2]中所述的协议。

Reserved Transmitted as zero. Ignored upon receipt.

保留传输为零。收到时忽略。

Admin Scope [Z]one When set, this bit indicates that this group range is an administratively scoped range.

管理范围[Z]设置时,此位表示此组范围是管理范围的范围。

Mask Len The Mask length field is 8 bits. The value is the number of contiguous one bits that are left justified and used as a mask; when combined with the group address, it describes a range of groups. It is less than or equal to the address length in bits for the given Address Family and Encoding Type. If the message is sent for a single group, then the Mask length must equal the address length in bits for the given Address Family and Encoding Type (e.g., 32 for IPv4 native encoding and 128 for IPv6 native encoding).

掩码长度掩码长度字段为8位。该值是左对齐并用作掩码的连续1位的数目;当与组地址结合使用时,它描述了一系列组。它小于或等于给定地址族和编码类型的地址长度(以位为单位)。如果为单个组发送消息,则掩码长度必须等于给定地址系列和编码类型的地址长度(以位为单位)(例如,IPv4本机编码为32,IPv6本机编码为128)。

Group multicast Address Contains the group address.

组多播地址包含组地址。

4.1. Bootstrap Message Format
4.1. 引导消息格式

A Bootstrap message may be divided up into 'semantic fragments' if the resulting IP datagram would exceed the maximum packet size boundaries. Basically, a single Bootstrap message can be sent as multiple semantic fragments (each in a separate IP datagram), so long as the fragment tags of all the semantic fragments comprising the message are the same. The format of a single non-fragmented message is the same as the one used for semantic fragments.

如果生成的IP数据报将超过最大数据包大小边界,则引导消息可被划分为“语义片段”。基本上,只要组成消息的所有语义片段的片段标记相同,单个引导消息就可以作为多个语义片段(每个语义片段位于单独的IP数据报中)发送。单个非碎片化消息的格式与用于语义碎片的格式相同。

The format of a single 'fragment' is given 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |PIM Ver| Type  |N|  Reserved   |           Checksum            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Fragment Tag          | Hash Mask Len | BSR Priority  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             BSR Address (Encoded-Unicast format)              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Group Address 1 (Encoded-Group format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | RP Count 1    | Frag RP Cnt 1 |         Reserved              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address 1 (Encoded-Unicast format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RP1 Holdtime         | RP1 Priority  |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address 2 (Encoded-Unicast format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RP2 Holdtime         | RP2 Priority  |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               .                               |
   |                               .                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address m (Encoded-Unicast format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RPm Holdtime         | RPm Priority  |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Group Address 2 (Encoded-Group format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               .                               |
   |                               .                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Group Address n (Encoded-Group format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | RP Count n    | Frag RP Cnt n |          Reserved             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address 1 (Encoded-Unicast format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RP1 Holdtime         | RP1 Priority  |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address 2 (Encoded-Unicast format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RP2 Holdtime         | RP2 Priority  |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               .                               |
   |                               .                               |
        
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |PIM Ver| Type  |N|  Reserved   |           Checksum            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Fragment Tag          | Hash Mask Len | BSR Priority  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             BSR Address (Encoded-Unicast format)              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Group Address 1 (Encoded-Group format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | RP Count 1    | Frag RP Cnt 1 |         Reserved              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address 1 (Encoded-Unicast format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RP1 Holdtime         | RP1 Priority  |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address 2 (Encoded-Unicast format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RP2 Holdtime         | RP2 Priority  |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               .                               |
   |                               .                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address m (Encoded-Unicast format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RPm Holdtime         | RPm Priority  |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Group Address 2 (Encoded-Group format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               .                               |
   |                               .                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Group Address n (Encoded-Group format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | RP Count n    | Frag RP Cnt n |          Reserved             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address 1 (Encoded-Unicast format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RP1 Holdtime         | RP1 Priority  |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address 2 (Encoded-Unicast format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RP2 Holdtime         | RP2 Priority  |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               .                               |
   |                               .                               |
        
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address m (Encoded-Unicast format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RPm Holdtime         | RPm Priority  |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address m (Encoded-Unicast format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RPm Holdtime         | RPm Priority  |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

PIM Version, Reserved, Checksum Described in [1].

PIM版本,保留,校验和如[1]所述。

Type PIM Message Type. Value is 4 for a Bootstrap message.

输入PIM消息类型。引导消息的值为4。

[N]o-Forward bit When set, this bit means that the Bootstrap message fragment is not to be forwarded.

[N] o-Forward位设置时,该位表示不转发引导消息片段。

Fragment Tag A randomly generated number, acts to distinguish the fragments belonging to different Bootstrap messages; fragments belonging to same Bootstrap message carry the same 'Fragment Tag'.

片段标记一个随机生成的数字,用于区分属于不同引导消息的片段;属于同一引导消息的片段带有相同的“片段标记”。

Hash Mask Len The length (in bits) of the mask to use in the hash function. For IPv4, we recommend a value of 30. For IPv6, we recommend a value of 126.

哈希掩码Len要在哈希函数中使用的掩码的长度(以位为单位)。对于IPv4,我们建议值为30。对于IPv6,我们建议值为126。

BSR Priority Contains the BSR priority value of the included BSR. This field is considered as a high-order byte when comparing BSR addresses. BSRs should by default set this field to 64. Note that for historical reasons, the highest BSR priority is 255 (the higher the better), whereas the highest RP Priority (see below) is 0 (the lower the better).

BSR优先级包含包含的BSR的BSR优先级值。在比较BSR地址时,此字段被视为高阶字节。默认情况下,BSR应将此字段设置为64。请注意,出于历史原因,最高BSR优先级为255(越高越好),而最高RP优先级(见下文)为0(越低越好)。

BSR Address The address of the bootstrap router for the domain. The format for this address is given in the Encoded-Unicast address in [1].

BSR地址域的引导路由器的地址。[1]中的编码单播地址给出了该地址的格式。

Group Address 1..n The group ranges (address and mask) with which the Candidate-RPs are associated. Format described in [1]. In a fragment containing admin-scope ranges, the first group range in the fragment MUST satisfy the following conditions:

组地址1..n与候选RP关联的组范围(地址和掩码)。[1]中描述的格式。在包含管理作用域范围的片段中,片段中的第一个组范围必须满足以下条件:

o it MUST have the Admin Scope Zone bit set; o for IPv4, it MUST be the group range for the entire admin-scope range (this is required even if there are no RPs in the RP-Set for the entire admin-scope range -- in this case, the sub-ranges for the RP-Set are specified later in the fragment along with their RPs); o for IPv6, the Mask Len MUST be at least 16 and have the scope ID of the admin-scope range.

o 必须设置管理范围区域位;o对于IPv4,它必须是整个管理作用域范围的组范围(即使整个管理作用域范围的RP集中没有RPs,这也是必需的——在这种情况下,RP集的子范围将在后面的片段中与其RPs一起指定);o对于IPv6,掩码Len必须至少为16,并且具有管理作用域范围的作用域ID。

RP Count 1..n The number of Candidate-RP addresses included in the whole Bootstrap message for the corresponding group range. A router does not replace its old RP-Set for a given group range until/unless it receives 'RP-Count' addresses for that range; the addresses could be carried over several fragments. If only part of the RP-Set for a given group range was received, the router discards it without updating that specific group range's RP-Set.

RP Count 1..n对应组范围的整个引导消息中包含的候选RP地址数。路由器不会为给定的组范围替换其旧RP集,直到/除非它收到该范围的“RP计数”地址;这些地址可以由几个片段组成。如果只收到给定组范围的RP集的一部分,路由器将丢弃该RP集,而不更新该特定组范围的RP集。

Frag RP Cnt 1..m The number of Candidate-RP addresses included in this fragment of the Bootstrap message, for the corresponding group range. The 'Frag RP Cnt' field facilitates parsing of the RP-Set for a given group range, when carried over more than one fragment.

Frag RP Cnt 1..m对应组范围的引导消息片段中包含的候选RP地址数。“Frag RP Cnt”字段有助于对给定组范围内的RP集进行解析(当携带多个片段时)。

RP address 1..m The address of the Candidate-RPs, for the corresponding group range. The format for these addresses is given in the Encoded-Unicast address in [1].

RP地址1..m对应组范围的候选RPs地址。[1]中的编码单播地址给出了这些地址的格式。

RP1..m Holdtime The Holdtime (in seconds) for the corresponding RP. This field is copied from the 'Holdtime' field of the associated RP stored at the BSR.

RP1..m Holdtime对应RP的Holdtime(以秒为单位)。此字段从BSR中存储的相关RP的“Holdtime”字段复制而来。

RP1..m Priority The 'Priority' of the corresponding RP and Encoded-Group Address. This field is copied from the 'Priority' field stored at the BSR when receiving a C-RP-Adv message. The highest priority is '0' (i.e., unlike BSR priority, the lower the value of the 'Priority' field, the better). Note that the priority is per RP and per Group Address.

RP1..m优先级对应RP和编码组地址的“优先级”。当接收到C-RP-Adv消息时,此字段从存储在BSR中的“优先级”字段复制而来。最高优先级为“0”(即,与BSR优先级不同,“优先级”字段的值越低越好)。请注意,优先级为每个RP和每个组地址。

Within a Bootstrap message, the BSR Address, all the Group Addresses, and all the RP Addresses MUST be of the same address family. In addition, the address family of the fields in the message MUST be the same as the IP source and destination addresses of the packet. This permits maximum implementation flexibility for dual-stack IPv4/IPv6 routers.

在引导消息中,BSR地址、所有组地址和所有RP地址必须属于同一地址族。此外,消息中字段的地址族必须与数据包的IP源地址和目标地址相同。这允许双栈IPv4/IPv6路由器实现最大的灵活性。

4.1.1. Semantic Fragmentation of BSMs
4.1.1. BSMs的语义碎片化

Bootstrap messages may be split over several PIM Bootstrap Message Fragments (BSMFs); this is known as semantic fragmentation. Each of these must follow the above format. All fragments of a given Bootstrap message MUST have identical values for the Type, No-Forward bit, Fragment Tag, Hash Mask Len, BSR Priority, and BSR Address fields. That is, only the group-to-RP mappings may differ between fragments.

引导消息可以分割为多个PIM引导消息片段(BSMFs);这就是所谓的语义碎片。每一项都必须遵循上述格式。给定引导消息的所有片段必须具有相同的类型值、无转发位、片段标记、哈希掩码Len、BSR优先级和BSR地址字段。也就是说,只有组到RP的映射在片段之间可能不同。

This is useful if the BSM would otherwise exceed the MTU of the link the message will be forwarded over. If one relies purely on IP fragmentation, one would lose the entire message if a single fragment is lost. By use of semantic fragmentation, a single lost IP fragment will only cause the loss of the semantic fragment that the IP fragment was part of. As described below, a router only needs to receive all the RPs for a specific group range to update that range. This means that loss of a semantic fragment, due to an IP fragment getting lost, only affects the group ranges for which the lost semantic fragment contains information.

如果BSM将超过消息将通过的链路的MTU,则此功能非常有用。如果纯粹依赖于IP碎片,那么如果单个碎片丢失,就会丢失整个消息。通过使用语义碎片,单个丢失的IP片段只会导致该IP片段所属的语义片段丢失。如下所述,路由器只需要接收特定组范围的所有RPs即可更新该范围。这意味着,由于IP片段丢失,语义片段的丢失只会影响丢失的语义片段包含信息的组范围。

If the BSR can split up the BSM so that each group range (and all of its RP information) can fit entirely inside one BSMF, then it should do so. If a BSMF is lost, the state from the previous BSM for the group ranges from the missing BSMF will be retained. Each fragment that does arrive will update the RP information for the group ranges contained in that fragment, and the new group-to-RP mappings for those can be used immediately. The information from the missing fragment will be obtained when the next BSM is transmitted.

如果BSR可以拆分BSM,使每个组范围(及其所有RP信息)完全适合一个BSMF,那么它应该这样做。如果BSMF丢失,则丢失BSMF的组范围的前一个BSM的状态将保留。每个到达的片段都将更新该片段中包含的组范围的RP信息,并且可以立即使用这些片段的新组到RP映射。当下一个BSM被传输时,将从丢失的片段中获得信息。

If the list of RPs for a single group range is long, one may split the information across multiple BSMFs to avoid IP fragmentation. In this case, all the BSMFs comprising the information for that group range must be received before the group-to-RP mapping in use can be modified. This is the purpose of the RP Count field -- a router receiving BSMFs from the same BSM (i.e., that have the same fragment tag) must wait until BSMFs providing RP Count RPs for that group range have been received before the new group-to-RP mapping can be used for that group range. If a single BSMF from such a large group

如果单个组范围的RP列表很长,则可以跨多个BSMF拆分信息以避免IP碎片。在这种情况下,在修改使用中的组到RP映射之前,必须接收包含该组范围信息的所有bsmf。这就是RP计数字段的用途——从同一BSM(即,具有相同碎片标记)接收BSMFs的路由器必须等到接收到为该组范围提供RP计数RP的BSMFs后,才能将新的组到RP映射用于该组范围。如果一个单一的BSMF来自如此大的群体

range is lost, then that entire group range will have to wait until the next BSM is originated. Hence, in this case, the benefit of using semantic fragmentation is dubious.

范围丢失,则整个组范围将不得不等待,直到下一个BSM启动。因此,在这种情况下,使用语义分段的好处是可疑的。

Next we need to consider how a BSR would remove group ranges. A router receiving a set of BSMFs cannot tell if a group range is missing. If it has seen a group range before, it must assume that that group range still exists, and that the BSMF describing that group range has been lost. The router should retain this information for BS_Timeout. Thus, for a BSR to remove a group range, it should include that group range, but with an RP Count of zero, and it should resend this information in each BSM for BS_Timeout.

接下来,我们需要考虑BSR将如何删除组范围。接收一组BSMFs的路由器无法判断是否缺少组范围。如果它以前看到过组范围,则必须假定该组范围仍然存在,并且描述该组范围的BSMF已丢失。路由器应保留此信息以等待BS_超时。因此,对于要删除组范围的BSR,它应该包括该组范围,但RP计数为零,并且它应该在每个BSM中重新发送该信息,以用于BS_超时。

4.2. Candidate-RP-Advertisement Message Format
4.2. 候选RP广告消息格式

Candidate-RP-Advertisement messages are periodically unicast from the C-RPs to the BSR.

候选RP广告消息周期性地从C-RP单播到BSR。

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |PIM Ver| Type  |   Reserved    |           Checksum            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prefix Count  |   Priority    |           Holdtime            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address (Encoded-Unicast format)               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Group Address 1 (Encoded-Group format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               .                               |
   |                               .                               |
   |                               .                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Group Address n (Encoded-Group format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |PIM Ver| Type  |   Reserved    |           Checksum            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Prefix Count  |   Priority    |           Holdtime            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             RP Address (Encoded-Unicast format)               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Group Address 1 (Encoded-Group format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               .                               |
   |                               .                               |
   |                               .                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Group Address n (Encoded-Group format)             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

PIM Version, Reserved, Checksum Described in [1].

PIM版本,保留,校验和如[1]所述。

Type PIM Message Type. Value is 8 for a Candidate-RP-Advertisement message.

输入PIM消息类型。候选RP广告消息的值为8。

Prefix Count The number of Encoded-Group Addresses included in the message; indicating the group range for which the C-RP is advertising. C-RPs MUST NOT send C-RP-Adv messages with a Prefix Count of '0'.

前缀计数消息中包含的编码组地址数;指示C-RP所宣传的集团范围。C-RPs不得发送前缀计数为“0”的C-RP-Adv消息。

Priority The 'Priority' of the included RP, for the corresponding Encoded- Group Address (if any). The highest priority is '0' (i.e., the lower the value of the 'Priority' field, the higher the priority). This field is stored at the BSR upon receipt along with the RP address and corresponding Encoded-Group Address.

优先级——对应编码组地址(如有)所包含RP的“优先级”。最高优先级为“0”(即“优先级”字段的值越低,优先级越高)。该字段在收到时与RP地址和相应的编码组地址一起存储在BSR中。

Holdtime The amount of time (in seconds) the advertisement is valid. This field allows advertisements to be aged out. This field should be set to 2.5 times C_RP_Adv_Period.

Holdtime广告有效的时间量(秒)。此字段允许广告过期。此字段应设置为C_RP_Adv_Period的2.5倍。

RP Address The address of the interface to advertise as a Candidate-RP. The format for this address is given in the Encoded-Unicast address in [1].

RP地址作为候选RP播发的接口地址。此地址的格式在[1]中的编码单播地址中给出。

Group Address-1..n The group ranges for which the C-RP is advertising. Format described in Encoded-Group-Address in [1].

组地址-1..n C-RP所宣传的组范围。[1]中编码的组地址中描述的格式。

Within a Candidate-RP-Advertisement message, the RP Address and all the Group Addresses MUST be of the same address family. In addition, the address family of the fields in the message MUST be the same as the IP source and destination addresses of the packet. This permits maximum implementation flexibility for dual-stack IPv4/IPv6 routers.

在候选RP广告消息中,RP地址和所有组地址必须属于同一地址族。此外,消息中字段的地址族必须与数据包的IP源地址和目标地址相同。这允许双栈IPv4/IPv6路由器实现最大的灵活性。

5. Timers and Timer Values
5. 计时器和计时器值

Timer Name: Bootstrap Timer (BST(Z))

计时器名称:引导计时器(BST(Z))

   +------------------+-------------------------+----------------------+
   | Value Name       |  Value                  |   Explanation        |
   +------------------+-------------------------+----------------------+
   | BS_Period        |  Default: 60 seconds    |   Periodic interval  |
   |                  |                         |   with which BSMs    |
   |                  |                         |   are normally       |
   |                  |                         |   originated         |
   +------------------+-------------------------+----------------------+
   | BS_Timeout       |  Default: 130 seconds   |   Interval after     |
   |                  |                         |   which a BSR is     |
   |                  |                         |   timed out if no    |
   |                  |                         |   BSM is received    |
   |                  |                         |   from that BSR      |
   +------------------+-------------------------+----------------------+
   | BS_Min_Interval  |  Default: 10 seconds    |   Minimum interval   |
   |                  |                         |   with which BSMs    |
   |                  |                         |   may be originated  |
   +------------------+-------------------------+----------------------+
   | BS_Rand_Override |  see below              |   Randomized         |
   |                  |                         |   interval used to   |
   |                  |                         |   reduce control     |
   |                  |                         |   message overhead   |
   |                  |                         |   during BSR         |
   |                  |                         |   election           |
   +------------------+-------------------------+----------------------+
        
   +------------------+-------------------------+----------------------+
   | Value Name       |  Value                  |   Explanation        |
   +------------------+-------------------------+----------------------+
   | BS_Period        |  Default: 60 seconds    |   Periodic interval  |
   |                  |                         |   with which BSMs    |
   |                  |                         |   are normally       |
   |                  |                         |   originated         |
   +------------------+-------------------------+----------------------+
   | BS_Timeout       |  Default: 130 seconds   |   Interval after     |
   |                  |                         |   which a BSR is     |
   |                  |                         |   timed out if no    |
   |                  |                         |   BSM is received    |
   |                  |                         |   from that BSR      |
   +------------------+-------------------------+----------------------+
   | BS_Min_Interval  |  Default: 10 seconds    |   Minimum interval   |
   |                  |                         |   with which BSMs    |
   |                  |                         |   may be originated  |
   +------------------+-------------------------+----------------------+
   | BS_Rand_Override |  see below              |   Randomized         |
   |                  |                         |   interval used to   |
   |                  |                         |   reduce control     |
   |                  |                         |   message overhead   |
   |                  |                         |   during BSR         |
   |                  |                         |   election           |
   +------------------+-------------------------+----------------------+
        

Note that BS_Timeout MUST be larger than BS_Period, even if their values are changed from the defaults. We recommend that BS_Timeout is set to 2 times BS_Period plus 10 seconds.

请注意,BS_Timeout必须大于BS_Period,即使其值已从默认值更改。我们建议将BS_超时设置为2倍BS_时间加10秒。

BS_Rand_Override is calculated using the following pseudocode, in which all values are in units of seconds. The values of BS_Rand_Override generated by this pseudocode are between 5 and 23 seconds, with smaller values generated if the C-BSR has a high bootstrap weight, and larger values generated if the C-BSR has a low bootstrap weight.

BS_Rand_Override使用以下伪代码计算,其中所有值均以秒为单位。此伪代码生成的BS_Rand_Override值在5到23秒之间,如果C-BSR具有较高的引导权重,则生成较小的值,如果C-BSR具有较低的引导权重,则生成较大的值。

      BS_Rand_Override = 5 + priorityDelay + addrDelay
        
      BS_Rand_Override = 5 + priorityDelay + addrDelay
        

where priorityDelay is given by:

其中,优先延迟由以下公式给出:

      priorityDelay = 2 * log_2(1 + bestPriority - myPriority)
        
      priorityDelay = 2 * log_2(1 + bestPriority - myPriority)
        

and addrDelay is given by the following for IPv4:

对于IPv4,下面给出了addrDelay:

      if (bestPriority == myPriority) {
          addrDelay = log_2(1 + bestAddr - myAddr) / 16
      } else {
          addrDelay = 2 - (myAddr / 2^31)
      }
        
      if (bestPriority == myPriority) {
          addrDelay = log_2(1 + bestAddr - myAddr) / 16
      } else {
          addrDelay = 2 - (myAddr / 2^31)
      }
        

and addrDelay is given by the following for IPv6:

对于IPv6,下面给出了addrDelay:

      if (bestPriority == myPriority) {
          addrDelay = log_2(1 + bestAddr - myAddr) / 64
      } else {
          addrDelay = 2 - (myAddr / 2^127)
      }
        
      if (bestPriority == myPriority) {
          addrDelay = log_2(1 + bestAddr - myAddr) / 64
      } else {
          addrDelay = 2 - (myAddr / 2^127)
      }
        

and bestPriority is given by:

最佳优先级由以下各项确定:

bestPriority = max(storedPriority, myPriority)

最佳优先级=最大(存储优先级,myPriority)

and bestAddr is given by:

最佳地址由下式给出:

bestAddr = max(storedAddr, myAddr)

最佳地址=最大值(StoredAdr,myAddr)

and where myAddr is the Candidate-BSR's address, storedAddr is the stored BSR's address, myPriority is the Candidate-BSR's configured priority, and storedPriority is the stored BSR's priority.

其中,myAddr是候选BSR的地址,StoredAdr是存储的BSR地址,myPriority是候选BSR的配置优先级,storedPriority是存储的BSR优先级。

Timer Name: Scope Zone Expiry Timer (SZT(Z))

计时器名称:作用域到期计时器(SZT(Z))

   +---------------+---------------------------+-----------------------+
   |  Value Name   |   Value                   |   Explanation         |
   +---------------+---------------------------+-----------------------+
   |  SZ_Timeout   |   Default: 1300 seconds   |   Interval after      |
   |               |                           |   which a scope zone  |
   |               |                           |   is timed out if no  |
   |               |                           |   BSM is received     |
   |               |                           |   for that scope      |
   |               |                           |   zone                |
   +---------------+---------------------------+-----------------------+
        
   +---------------+---------------------------+-----------------------+
   |  Value Name   |   Value                   |   Explanation         |
   +---------------+---------------------------+-----------------------+
   |  SZ_Timeout   |   Default: 1300 seconds   |   Interval after      |
   |               |                           |   which a scope zone  |
   |               |                           |   is timed out if no  |
   |               |                           |   BSM is received     |
   |               |                           |   for that scope      |
   |               |                           |   zone                |
   +---------------+---------------------------+-----------------------+
        

Note that SZ_Timeout MUST be larger than BS_Timeout, even if their values are changed from the defaults. We recommend that SZ_Timeout is set to 10 times BS_Timeout.

请注意,SZ_Timeout必须大于BS_Timeout,即使其值已从默认值更改。我们建议将SZ_Timeout设置为BS_Timeout的10倍。

Timer Name: Group-to-C-RP mapping Expiry Timer (CGET(M,Z))

计时器名称:Group-to-C-RP映射到期计时器(CGET(M,Z))

   +------------------------+-------------------+----------------------+
   |  Value Name            |    Value          |    Explanation       |
   +------------------------+-------------------+----------------------+
   |  C-RP Mapping Timeout  |    from message   |    Holdtime from C-  |
   |                        |                   |    RP-Adv message    |
   +------------------------+-------------------+----------------------+
        
   +------------------------+-------------------+----------------------+
   |  Value Name            |    Value          |    Explanation       |
   +------------------------+-------------------+----------------------+
   |  C-RP Mapping Timeout  |    from message   |    Holdtime from C-  |
   |                        |                   |    RP-Adv message    |
   +------------------------+-------------------+----------------------+
        

Timer Name: Group-to-RP mapping Expiry Timer (GET(M,Z))

计时器名称:组到RP映射到期计时器(GET(M,Z))

   +-----------------------+-------------------+-----------------------+
   |  Value Name           |   Value           |    Explanation        |
   +-----------------------+-------------------+-----------------------+
   |  RP Mapping Timeout   |   from message    |    Holdtime from BSM  |
   +-----------------------+-------------------+-----------------------+
        
   +-----------------------+-------------------+-----------------------+
   |  Value Name           |   Value           |    Explanation        |
   +-----------------------+-------------------+-----------------------+
   |  RP Mapping Timeout   |   from message    |    Holdtime from BSM  |
   +-----------------------+-------------------+-----------------------+
        

Timer Name: C-RP Advertisement Timer (CRPT)

定时器名称:C-RP广告定时器(CRPT)

   +-------------------+------------------------+----------------------+
   | Value Name        |  Value                 |   Explanation        |
   +-------------------+------------------------+----------------------+
   | C_RP_Adv_Period   |  Default: 60 seconds   |   Periodic interval  |
   |                   |                        |   with which C-RP-   |
   |                   |                        |   Adv messages are   |
   |                   |                        |   sent to a BSR      |
   +-------------------+------------------------+----------------------+
   | C_RP_Adv_Backoff  |  Default: 0-3 seconds  |   Whenever a         |
   |                   |                        |   triggered C_RP_Adv |
   |                   |                        |   is sent, a new     |
   |                   |                        |   randomized value   |
   |                   |                        |   between 0 and 3    |
   |                   |                        |   is used            |
   +-------------------+------------------------+----------------------+
        
   +-------------------+------------------------+----------------------+
   | Value Name        |  Value                 |   Explanation        |
   +-------------------+------------------------+----------------------+
   | C_RP_Adv_Period   |  Default: 60 seconds   |   Periodic interval  |
   |                   |                        |   with which C-RP-   |
   |                   |                        |   Adv messages are   |
   |                   |                        |   sent to a BSR      |
   +-------------------+------------------------+----------------------+
   | C_RP_Adv_Backoff  |  Default: 0-3 seconds  |   Whenever a         |
   |                   |                        |   triggered C_RP_Adv |
   |                   |                        |   is sent, a new     |
   |                   |                        |   randomized value   |
   |                   |                        |   between 0 and 3    |
   |                   |                        |   is used            |
   +-------------------+------------------------+----------------------+
        
6. Security Considerations
6. 安全考虑
6.1. Possible Threats
6.1. 可能的威胁

Threats affecting the PIM BSR mechanism are primarily of two forms: denial-of-service (DoS) attacks and traffic-diversion attacks. An attacker that subverts the BSR mechanism can prevent multicast traffic from reaching the intended recipients, can divert multicast traffic to a place where they can monitor it, and can potentially flood third parties with traffic.

影响PIM BSR机制的威胁主要有两种形式:拒绝服务(DoS)攻击和流量转移攻击。破坏BSR机制的攻击者可以阻止多播流量到达预期的收件人,可以将多播流量转移到他们可以监视它的地方,并可能向第三方大量发送流量。

Traffic can be prevented from reaching the intended recipients by one of two mechanisms:

可以通过以下两种机制之一阻止通信量到达预期收件人:

o Subverting a BSM, and specifying RPs that won't actually forward traffic.

o 颠覆BSM,并指定实际上不会转发流量的RPs。

o Registering with the BSR as a C-RP, and then not forwarding traffic.

o 以C-RP身份向BSR注册,然后不转发流量。

Traffic can be diverted to a place where it can be monitored by both of the above mechanisms; in this case, the RPs would forward the traffic, but are located so as to aid monitoring or man-in-the-middle attacks on the multicast traffic.

交通可以转移到一个可以由上述两种机制监控的地方;在这种情况下,RPs将转发流量,但其位置应便于监控或对多播流量进行中间人攻击。

A third party can be flooded by either of the above two mechanisms by specifying the third party as the RP, and register traffic will then be forwarded to the third party.

通过将第三方指定为RP,上述两种机制中的任何一种都可以淹没第三方,然后将注册流量转发给第三方。

6.2. Limiting Third-Party DoS Attacks
6.2. 限制第三方拒绝服务攻击

The third-party DoS attack above can be greatly reduced if PIM routers acting as DR do not continue to forward Register traffic to the RP in the presence of ICMP Protocol Unreachable or ICMP Host Unreachable responses. If a PIM router sending Register packets to an RP receives one of these responses to a data packet it has sent, it should rate- limit the transmission of future Register packets to that RP for a short period of time.

如果充当DR的PIM路由器在存在ICMP协议无法访问或ICMP主机无法访问响应的情况下不继续向RP转发注册流量,则上述第三方DoS攻击可以大大减少。如果向RP发送寄存器数据包的PIM路由器收到对其发送的数据包的其中一个响应,则应在短时间内对将来向该RP发送的寄存器数据包进行速率限制。

As this does not affect interoperability, the precise details are left to the implementer to decide. However, we note that a router implementing such rate limiting must only do so if the ICMP packet correctly echoes part of a Register packet that was sent to the RP. If this check were not made, then simply sending ICMP Unreachable packets to the DR with the source address of the RP spoofed would be sufficient to cause a denial-of-service attack on the multicast traffic originating from that DR.

由于这不会影响互操作性,因此具体细节由实现者决定。然而,我们注意到,只有当ICMP数据包正确地回显发送给RP的寄存器数据包的一部分时,实施这种速率限制的路由器才必须这样做。如果没有进行此检查,然后,简单地向DR发送ICMP无法访问的数据包,其中包含RP欺骗的源地址,就足以对源自该DR的多播流量造成拒绝服务攻击。

6.3. Bootstrap Message Security
6.3. 引导消息安全性

If a legitimate PIM router in a domain is compromised, there is little any security mechanism can do to prevent that router from subverting PIM traffic in that domain.

如果域中的合法PIM路由器受到破坏,则几乎没有任何安全机制可以防止该路由器破坏该域中的PIM流量。

Implementations SHOULD provide a per-interface configuration option where one can specify that no Bootstrap messages are to be sent out of or accepted on the interface. This should generally be configured on all PMBRs in order not to receive messages from neighboring domains. This avoids receiving legitimate messages with conflicting BSR information from other domains, and also prevents BSR attacks from neighboring domains. This option is also useful on leaf interfaces where there are only hosts present. However, the Security Considerations section of [1] states that there should be a mechanism for not accepting PIM Hello messages on leaf interfaces and that messages should only be accepted from valid PIM neighbors. There may however be additional issues with unicast Bootstrap messages; see below. In addition to dropping all multicast Bootstrap messages on PMBRs, we also recommend configuring PMBRs (both towards other domains and on leaf interfaces) to drop all unicast PIM messages (Bootstrap message, Candidate-RP Advertisement, PIM register, and PIM register stop).

实现应该提供每个接口的配置选项,其中可以指定不从接口发送引导消息或不在接口上接受引导消息。这通常应在所有PMBR上配置,以便不接收来自相邻域的消息。这样可以避免从其他域接收包含冲突BSR信息的合法消息,还可以防止来自相邻域的BSR攻击。此选项在只有主机的叶接口上也很有用。但是,[1]中的安全注意事项部分指出,应该有一种机制来不接受叶接口上的PIM Hello消息,并且只接受来自有效PIM邻居的消息。但是,单播引导消息可能存在其他问题;见下文。除了删除PMBR上的所有多播引导消息外,我们还建议配置PMBR(朝向其他域和叶接口)以删除所有单播PIM消息(引导消息、候选RP播发、PIM寄存器和PIM寄存器停止)。

6.3.1. Unicast Bootstrap Messages
6.3.1. 单播引导消息

There are some possible security issues with unicast Bootstrap messages. The Bootstrap Message Processing Checks prevent a router from accepting a Bootstrap message from outside of the PIM Domain, as the source address on Bootstrap messages must be an immediate PIM neighbor. There is however a small window of time after a reboot where a PIM router will accept a bad Bootstrap message that is unicast from an immediate neighbor, and it might be possible to unicast a Bootstrap message to a router during this interval from outside the domain, using the spoofed source address of a neighbor. The best way to protect against this is to use the above-mentioned mechanism of configuring border and leaf interfaces to drop all bootstrap messages, including unicast messages. This can also be prevented if PMBRs perform source-address filtering to prevent packets entering the PIM domain with IP source addresses that are infrastructure addresses in the PIM domain.

单播引导消息可能存在一些安全问题。引导消息处理检查阻止路由器接受来自PIM域外部的引导消息,因为引导消息上的源地址必须是直接的PIM邻居。但是,重新启动后会有一个小的时间窗口,PIM路由器将接受来自直接邻居的单播错误引导消息,并且可能在此时间间隔内使用邻居的伪造源地址从域外单播引导消息到路由器。防止这种情况发生的最佳方法是使用上述配置border和leaf接口的机制来删除所有引导消息,包括单播消息。如果PMBR执行源地址过滤以防止数据包进入PIM域,而IP源地址是PIM域中的基础设施地址,则也可以防止这种情况。

The use of unicast Bootstrap messages is for backwards compatibility only. Due to the possible security implications, implementations supporting unicast Bootstrap messages SHOULD provide a configuration option for whether they are to be used.

单播引导消息的使用仅用于向后兼容性。由于可能存在安全隐患,支持单播引导消息的实现应提供一个配置选项,以确定是否使用单播引导消息。

6.3.2. Multi-Access Subnets
6.3.2. 多址子网

As mentioned above, implementations SHOULD provide a per-interface configuration option so that leaf interfaces and interfaces facing other domains can be configured to drop all Bootstrap messages. In this section, we will consider multi-access subnets where there are both multiple PIM routers in a PIM domain and PIM routers outside the PIM domain or non-trusted hosts. On such subnets, one should (if possible) configure the PMBRs to drop Bootstrap messages. This is possible provided that the routers in the PIM domain receive Bootstrap messages on other internal subnets. That is, for each of the routers on the multi-access subnet that are in our domain, the RPF interface for each of the Candidate-BSR addresses must be an internal interface (an interface not on a multi-access subnet). There are however network topologies where this is not possible. For such topologies, we recommend that IPsec Authentication Header (AH) is used to protect communication between the PIM routers in the domain, and that such routers are configured to drop and log communication attempts from any nodes that do not pass the authentication check. When all the PIM routers are under the same administrative control, this authentication may use a configured shared secret. In order to prevent replay attacks, one will need to have one security association (SA) per sender and use the sender address for SA lookup. The securing of interactions between PIM neighbors is discussed in more detail in the Security Considerations section of [1], and so we do not discuss the details further here. The same security mechanisms that can be used to secure PIM Join, Prune, and Assert messages should also be used to secure Bootstrap messages. How exactly to secure PIM link-local messages is still being worked on by the PIM working group; see [10].

如上所述,实现应该提供每个接口配置选项,以便可以将叶接口和面向其他域的接口配置为删除所有引导消息。在本节中,我们将考虑多址子网,其中PIM域中既有多个PIM路由器,又有PIM域之外的PIM路由器或非可信主机。在这样的子网上,应该(如果可能的话)配置PMBR以丢弃引导消息。如果PIM域中的路由器在其他内部子网上接收引导消息,则这是可能的。也就是说,对于我们域中多访问子网上的每个路由器,每个候选BSR地址的RPF接口必须是内部接口(不在多访问子网上的接口)。然而,在某些网络拓扑中,这是不可能的。对于此类拓扑,我们建议使用IPsec身份验证头(AH)来保护域中PIM路由器之间的通信,并将此类路由器配置为丢弃和记录来自未通过身份验证检查的任何节点的通信尝试。当所有PIM路由器处于同一管理控制下时,此身份验证可能使用配置的共享密钥。为了防止重播攻击,每个发件人需要有一个安全关联(SA),并使用发件人地址进行SA查找。[1]的安全注意事项部分更详细地讨论了PIM邻居之间交互的安全性,因此我们在此不再进一步讨论细节。可以用于保护PIM连接、删除和断言消息的安全机制也应该用于保护引导消息。PIM工作组仍在研究如何确保PIM链接本地消息的安全;见[10]。

6.4. Candidate-RP-Advertisement Message Security
6.4. 候选RP广告消息安全

Even if it is not possible to subvert Bootstrap messages, an attacker might be able to perform most of the same attacks by simply sending C-RP-Adv messages to the BSR specifying the attacker's choice of RPs. Thus, it is necessary to control the sending of C-RP-Adv messages in essentially the same ways that we control Bootstrap messages. However, C-RP-Adv messages are unicast and normally travel multiple hops, so controlling them is more difficult.

即使无法破坏引导消息,攻击者也可以通过简单地向BSR发送C-RP-Adv消息,指定攻击者选择的RPs来执行大部分相同的攻击。因此,有必要控制C-RP-Adv消息的发送,其方式与我们控制引导消息的方式基本相同。然而,C-RP-Adv消息是单播的,通常是多跳的,因此控制它们更为困难。

6.4.1. Non-Cryptographic Security of C-RP-Adv Messages
6.4.1. C-RP-Adv消息的非加密安全性

We recommend that PMBRs are configured to drop C-RP-Adv messages. One might configure the PMBRs to drop all unicast PIM messages (Bootstrap message, Candidate-RP Advertisement, PIM register, and PIM register stop). PMBRs may also perform source-address filtering to prevent packets entering the PIM domain with IP source addresses that

我们建议将PMBR配置为丢弃C-RP-Adv消息。可以将PMBR配置为丢弃所有单播PIM消息(引导消息、候选RP播发、PIM寄存器和PIM寄存器停止)。PMBR还可以执行源地址过滤,以防止具有以下IP源地址的数据包进入PIM域:

are infrastructure addresses in the PIM domain. We also recommend that implementations have a way of restricting which IP addresses the BSR accepts C-RP-Adv messages from. The BSR can then be configured to only accept C-RP-Adv messages from infrastructure addresses or the subset used for Candidate-RPs.

是PIM域中的基础结构地址。我们还建议实现有一种方法来限制BSR从哪个IP地址接受C-RP-Adv消息。然后,可以将BSR配置为仅接受来自基础结构地址或用于候选RPs的子集的C-RP-Adv消息。

If the unicast and multicast topologies are known to be congruent, the following checks should be made. On interfaces that are configured to be leaf subnets, all C-RP-Adv messages should be dropped. On multi- access subnets with multiple PIM routers and hosts that are not trusted, the router can at least check that the source Media Access Control (MAC) address is that of a valid PIM neighbor.

如果已知单播和多播拓扑是一致的,则应进行以下检查。在配置为叶子网的接口上,应删除所有C-RP-Adv消息。在具有多个不受信任的PIM路由器和主机的多访问子网上,路由器至少可以检查源媒体访问控制(MAC)地址是否为有效的PIM邻居的地址。

6.4.2. Cryptographic Security of C-RP-Adv Messages
6.4.2. C-RP-Adv消息的密码安全性

For true security, we recommend that all C-RPs are configured to use IPsec authentication. The authentication process for a C-RP-Adv message between a C-RP and the BSR is identical to the authentication process for PIM Register messages between a DR and the relevant RP, except that there will normally be fewer C-RPs in a domain than there are DRs, so key management is a little simpler. We do not describe the details of this process further here, but refer to the Security Considerations section of [1]. Note that the use of cryptographic security for C-RP-Adv messages does not remove the need for the non-cryptographic mechanisms, as explained above.

为实现真正的安全性,我们建议将所有C-RP配置为使用IPsec身份验证。C-RP和BSR之间的C-RP-Adv消息的身份验证过程与DR和相关RP之间的PIM注册消息的身份验证过程相同,只是域中的C-RP通常比DRs少,因此密钥管理稍微简单一些。我们在此不进一步描述此过程的细节,但请参阅[1]的安全注意事项部分。请注意,如上所述,对C-RP-Adv消息使用加密安全性并不会消除对非加密机制的需要。

6.5. Denial of Service using IPsec
6.5. 使用IPsec的拒绝服务

An additional concern is that of denial-of-service attacks caused by sending high volumes of Bootstrap messages or C-RP-Adv messages with invalid IPsec authentication information. It is possible that these messages could overwhelm the CPU resources of the recipient.

另一个问题是,由于发送大量引导消息或带有无效IPsec身份验证信息的C-RP-Adv消息而导致的拒绝服务攻击。这些消息可能会占用收件人的CPU资源。

The non-cryptographic security mechanisms above restrict from where unicast Bootstrap messages and C-RP-Adv messages are accepted. In addition, we recommend that rate-limiting mechanisms can be configured, to be applied on receipt of unicast PIM packets. The rate-limiter MUST independently rate-limit different types of PIM packets -- for example, a flood of C-RP-Adv messages MUST NOT cause a rate limiter to drop low- rate Bootstrap messages. Such a rate-limiter might itself be used to cause a denial-of-service attack by causing valid packets to be dropped, but in practice this is more likely to constrain bad PIM messages. The rate-limiter will prevent attacks on PIM from affecting other activity on the receiving router, such as unicast routing.

上述非加密安全机制限制从哪里接受单播引导消息和C-RP-Adv消息。此外,我们建议可以配置速率限制机制,以便在接收单播PIM数据包时应用。速率限制器必须独立地对不同类型的PIM数据包进行速率限制——例如,大量的C-RP-Adv消息不得导致速率限制器丢弃低速引导消息。这种速率限制器本身可能会导致有效数据包被丢弃,从而导致拒绝服务攻击,但在实践中,这更有可能约束坏的PIM消息。速率限制器将防止对PIM的攻击影响接收路由器上的其他活动,如单播路由。

7. Contributors
7. 贡献者

Bill Fenner, Mark Handley, Roger Kermode, and David Thaler have contributed greatly to this document. They were authors of this document up to version 03, and much of the current text comes from version 03.

Bill Fenner、Mark Handley、Roger Kermode和David Thaler对本文档做出了巨大贡献。他们是本文档03版之前的作者,当前的大部分文本来自03版。

8. Acknowledgments
8. 致谢

PIM-SM was designed over many years by a large group of people, including ideas from Deborah Estrin, Dino Farinacci, Ahmed Helmy, Steve Deering, Van Jacobson, C. Liu, Puneet Sharma, Liming Wei, Tom Pusateri, Tony Ballardie, Scott Brim, Jon Crowcroft, Paul Francis, Joel Halpern, Horst Hodel, Polly Huang, Stephen Ostrowski, Lixia Zhang, Girish Chandranmenon, Pavlin Radoslavov, John Zwiebel, Isidor Kouvelas, and Hugh Holbrook. This BSR specification draws heavily on text from RFC 2362.

PIM-SM是由一大群人多年来设计的,其中包括黛博拉·埃斯特林、迪诺·法里纳奇、艾哈迈德·赫尔米、史蒂夫·迪林、范·雅各布森、C·刘、普尼特·夏尔马、魏黎明、汤姆·普萨特里、托尼·巴拉迪、斯科特·布里姆、乔恩·克劳克罗夫特、保罗·弗朗西斯、乔尔·哈尔彭、霍斯特·霍德尔、波利·黄、斯蒂芬·奥斯特罗夫斯基、张丽霞、,Girish Chandramenon、Pavlin Radoslavov、John Zwiebel、Isidor Kouvelas和Hugh Holbrook。此BSR规范大量使用RFC2362中的文本。

Many members of the PIM Working Group have contributed comments and corrections for this document, including Christopher Thomas Brown, Ardas Cilingiroglu, Murthy Esakonu, Venugopal Hemige, Prashant Jhingran, Rishabh Parekh, and Katta Sambasivarao.

PIM工作组的许多成员为本文件提供了意见和更正,包括克里斯托弗·托马斯·布朗、阿尔达斯·西林吉罗格鲁、穆尔蒂·埃萨科努、维努戈帕尔·海米奇、普拉尚特·杰金兰、里沙布·帕雷赫和卡塔·桑巴西瓦劳。

9. Normative References
9. 规范性引用文件

[1] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, "Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)", RFC 4601, August 2006.

[1] Fenner,B.,Handley,M.,Holbrook,H.,和I.Kouvelas,“协议独立多播-稀疏模式(PIM-SM):协议规范(修订版)”,RFC 4601,2006年8月。

[2] Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano, "Bidirectional Protocol Independent Multicast (BIDIR-PIM)", RFC 5015, October 2007.

[2] Handley,M.,Kouvelas,I.,Speakman,T.,和L.Vicisano,“双向协议独立多播(BIDIR-PIM)”,RFC 50152007年10月。

[3] Meyer, D., "Administratively Scoped IP Multicast", BCP 23, RFC 2365, July 1998.

[3] Meyer,D.,“管理范围的IP多播”,BCP 23,RFC 2365,1998年7月。

[4] Deering, S., Haberman, B., Jinmei, T., Nordmark, E., and B. Zill, "IPv6 Scoped Address Architecture", RFC 4007, March 2005.

[4] Deering,S.,Haberman,B.,Jinmei,T.,Nordmark,E.,和B.Zill,“IPv6作用域地址体系结构”,RFC 4007,2005年3月。

[5] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, February 2006.

[5] Hinden,R.和S.Deering,“IP版本6寻址体系结构”,RFC 42912006年2月。

[6] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[6] Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

10. Informative References
10. 资料性引用

[7] Estrin, D., et al., "Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification", RFC 2362, June 1998.

[7] Estrin,D.等人,“协议独立多播稀疏模式(PIM-SM):协议规范”,RFC 2362,1998年6月。

[8] Kim, D., Meyer, D., Kilmer, H., and D. Farinacci, "Anycast Rendevous Point (RP) mechanism using Protocol Independent Multicast (PIM) and Multicast Source Discovery Protocol (MSDP)", RFC 3446, January 2003.

[8] Kim,D.,Meyer,D.,Kilmer,H.,和D.Farinaci,“使用协议独立多播(PIM)和多播源发现协议(MSDP)的任意广播呈现点(RP)机制”,RFC 3446,2003年1月。

[9] Farinacci, D. and Y. Cai, "Anycast-RP Using Protocol Independent Multicast (PIM)", RFC 4610, August 2006.

[9] Farinaci,D.和Y.Cai,“使用协议独立多播(PIM)的任意广播RP”,RFC4610,2006年8月。

[10] Atwood, W. and S. Islam, "Security Issues in PIM-SM Link-local Messages", Work in Progress, July 2007.

[10] Atwood,W.和S.Islam,“PIM-SM链接本地消息中的安全问题”,进展中的工作,2007年7月。

[11] IANA, "Address Family Numbers", <http://www.iana.org/assignments/address-family-numbers>.

[11] IANA,“地址家庭号码”<http://www.iana.org/assignments/address-family-numbers>.

Authors' Addresses

作者地址

Nidhi Bhaskar Arastra, Inc. P.O. Box 10905 Palo Alto, CA 94303 USA EMail: nidhi@arastra.com

Nidhi Bhaskar Arastra,Inc.美国加利福尼亚州帕洛阿尔托市邮政信箱10905 94303电子邮件:nidhi@arastra.com

Alexander Gall SWITCH P.O. Box CH-8021 Zurich Switzerland EMail: alexander.gall@switch.ch

Alexander Gall SWITCH邮政信箱CH-8021苏黎世瑞士电子邮件:Alexander。gall@switch.ch

James Lingard Arastra, Inc. P.O. Box 10905 Palo Alto, CA 94303 USA EMail: jchl@arastra.com

James Lingard Arastra,Inc.美国加利福尼亚州帕洛阿尔托市邮政信箱10905,邮编94303电子邮件:jchl@arastra.com

Stig Venaas UNINETT NO-7465 Trondheim Norway EMail: venaas@uninett.no

Stig Venaas UNINETT NO-7465挪威特隆赫姆电子邮件:venaas@uninett.no

Full Copyright Statement

完整版权声明

Copyright (C) The IETF Trust (2008).

版权所有(C)IETF信托基金(2008年)。

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件及其包含的信息以“原样”为基础提供,贡献者、他/她所代表或赞助的组织(如有)、互联网协会、IETF信托基金和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Intellectual Property

知识产权

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.