📄 pimsm.tex
字号:
parameter value must be the name of an interface that has been configured in the {\stt interfaces} section of the router configuration.\item{\tt vif}: this directive specifies that this {\stt vif} on the specified {\stt interface} is to be used for PIM-SM IPv4 multicast routing. The parameter value must be the name of a vif that has been configured in the {\stt interfaces} section of the router configuration. A special logical interface called {\stt register\_vif} with a special vif called {\stt register\_vif} must be configured if a PIM-SM router is to be able to send Register messages to the RP. In general this should {\it always} be configured if the router is to support the ASM multicast service model. Each {\stt vif} can take the following optional parameters:\begin{description}\item{\tt disable}: this takes the value {\stt true} or {\stt false}, and indicates whether PIM-SM IPv4 multicast routing is currently disabled on this interface/vif~\footnote{Note that prior to XORP Release-1.1, the {\tt enable} flag was used instead of {\tt disable}.}.\item{\tt enable-ip-router-alert-option-check}: this directive specifies whether the router should check that the link-local protocol packets received on this interface/vif have the IP Router Alert option (see RFC-2213) in them~\footnote{Note that the {\tt enable-ip-router-alert-option-check} statement appeared after XORP Release-1.1.}. If it is enabled, all link-local protocol packets that do not contain the IP Router Alert option will be dropped.\item{\tt dr-priority}: this directive takes a non-negative integer as its parameter giving this router's Designated Router (DR) priority for this interface/vif. The default is 1. The PIM router on this subnet with the highest value of DR priority will become the DR for the subnet.\item{\tt hello-period}: this directive specifies the PIM Hello period (in seconds) for this interface/vif~\footnote{Note that the {\tt hello-period} statement appeared after XORP Release-1.1.}. It takes a non-negative integer in the interval [1..18724]. The default is 30. Every {\stt hello-period} seconds the PIM router will transmit a PIM Hello message on the interface/vif. If the receivers of the PIM Hello message do not receive another Hello message for 3.5 * {\stt hello-period} seconds, they will timeout the neighbor state for this router.\item{\tt hello-triggered-delay}: this directive specifies the randomized triggered delay of the PIM Hello messages (in seconds) for this interface/vif~\footnote{Note that the {\tt hello-triggered-delay} statement appeared after XORP Release-1.1.}. It takes a non-negative integer in the interval [1..255]. The default is 5. When PIM is enabled on an interface or a router first starts, the Hello Timer of that interface is set to a random value between 0 and {\tt hello-triggered-delay}. This prevents synchronization of Hello messages if multiple routers are powered on simultaneously.\item{\tt alternative-subnet}: this directive is used to associate additional IP subnets with a network interface. The parameter value is an IPv4 subnet address in the {\it address/prefix-length} format. One use of this directive is to make incoming traffic with a non-local source address appear as it is coming from a local subnet. Typically, this is needed as a work-around solution when uni-directional interfaces such as satellite links are used for receiving traffic. The {\stt alternative-subnet} directive should be used with extreme care, because it is possible to create forwarding loops.\end{description}\item{\tt static-rps}: this delimits the part of the PIM-SM configuration used to manually configure PIM RP router information. A PIM-SM router must either have some RPs configured as static RPs, or it must run the PIM-SM bootstrap mechanism (see the {\stt bootstrap} directive). Under the {\stt static-rps} part of the configuration, one or more RPs can be configured. It is important that all routers in a PIM domain make the same choice of RP for the same multicast group, so generally they should be configured with the same RP information.\begin{description}\item{\tt rp}: this specifies the IPv4 address of a router to be a static RP. For each RP, the following parameters can be configured:\begin{description}\item{\tt group-prefix}: this specifies the range of multicast addresses for which the specified router is willing to be the RP. The value is in the form of an IP address and prefix-length in the {\it address/prefix-length} format.\begin{description}\item{\tt rp-priority}: this specifies the priority of the specified RP router. It takes the form of a non-negative integer in the interval [0, 255]. Smaller value means higher priority. If multiple RP routers are known for a particular multicast group, then the one with the most specific {\stt group-prefix} will be used. If more than one router has the same most specific {\stt group-prefix}, then the one with the highest {\stt rp-priority} is used. See also {\stt hash-mask-len}. The default value is 192.\item{\tt hash-mask-len}: If multiple routers have the most specific {\stt group-prefix} and the same highest {\stt rp-priority}, then to balance load, a hash function is used to choose the RP. However, it is usually desirable for closely associated multicast groups to use the same RP. Thus the hash function is only applied to the first $n$ bits of the group IP address, ensuring that if two groups have the same first $n$ bits, they will hash to the same RP address. The {\stt hash-mask-len} parameter specifies the value of $n$. For IPv4 it must be in the interval [4, 32], and defaults to 30 bits. Typically its value shouldn't be changed. If it is modified then all PIM-SM routers must be configured with the same value.\end{description}\end{description}\end{description}\item{\tt bootstrap}: this delimits the part of the PIM-SM configuration used to configure the automatic bootstrap of PIM RP router information using the PIM {\it BootStrap Router} mechanism. A PIM-SM router must either run the PIM-SM bootstrap mechanism, or have some RPs configured as static RPs (see the {\stt static-rps} directive). Under the {\stt bootstrap} directive, the following additional information can be configured.\begin{description}\item{\tt disable}: this takes the value {\stt true} or {\stt false}, and determines whether or not the router will run the {\stt bootstrap} mechanism~\footnote{Note that prior to XORP Release-1.1, the {\tt enable} flag was used instead of {\tt disable}.}. The default is {\stt false}.\item{\tt cand-bsr}: this directive specifies that this router is to be a candidate to be the BootStrap Router (BSR) for this PIM-SM domain. It will become the BSR only if it wins the BSR election process. One or more {\stt scope-zone}s must be specified for a candidate BSR router:\begin{description}\item{\tt scope-zone}: this directive specifies one multicast group prefix for which this router is willing to be BSR. For each scope zone, the following information can be specified: \begin{description}\item{\tt is-scope-zone}: this directive takes the value {\stt true} or {\stt false}. When the value is {\stt true}, this indicates that this multicast group prefix defines a multicast scope zone. When the value is {\stt false}, this indicates that the group prefix in the {\stt scope-zone} directive merely represents a range of multicast groups for which this router is willing to be BSR. The default is {\stt false}.\item{\tt cand-bsr-by-vif-name}: this specifies the name of the {\stt vif} whose IP address will be used in the PIM bootstrap messages. It is a mandatory parameter.\item{\tt cand-bsr-by-vif-addr}: this specifies the address that will be used in the PIM bootstrap messages. This address must belong to the vif specified by {\tt cand-bsr-by-vif-name}. If it is omitted, a domain-wide address (if exists) that belongs to that interface is chosen by the router itself~\footnote{Note that the {\tt cand-bsr-by-vif-addr} statement appeared after XORP Release-1.1.}.\item{\tt bsr-priority}: this specifies the BSR priority for this router. It takes a positive integer value in the interval [0, 255], which is used in the PIM-SM BSR election process. Larger value means higher priority. For each {\stt scope-zone}, the candidate bootstrap router with the highest BSR priority will be chosen to be BSR. Its default value is 1.\item{\tt hash-mask-len}: The BSR mechanism announces a list of candidate RPs (C-RPs) for each scope zone to the other routers in the scope zone. To balance load, those routers then use a hash function to choose the RP for each multicast group from amongst the C-RPs. However, it is usually desirable for closely associated multicast groups to use the same RP. Thus the hash function is only applied to the first $n$ bits of the group IP address, ensuring that if two groups have the same first $n$ bits, they will hash to the same RP address. Should this router become the BSR for this scope-zone, the {\stt hash-mask-len} parameter gives the value of $n$ that this router will inform other routers they must use. For IPv4 it must be in the interval [4, 32], and defaults to 30 bits. Typically its value shouldn't be changed. If it is modified then all PIM-SM routers must be configured with the same value.\end{description}\end{description}\end{description}\item{\tt cand-rp}: this directive specifies that this router is to be a candidate to be an RP for this PIM-SM domain. It will become an RP only if the BSR chooses it to be. One or more group-prefixes must be specified for this router to function as an RP:\begin{description}\item{\tt group-prefix}: this specifies the range of multicast addresses for which the specified router is willing to be the RP. The value is in the form of an IP address and prefix length in the {\it address/prefix-length} format. For each {\stt group-prefix}, the following parameters can be specified:\begin{description}\item{\tt is-scope-zone}: this directive takes the value {\stt true} or {\stt false}. When the value is {\stt true}, this indicates that this multicast group prefix defines a multicast scope zone. When the value is {\stt false}, this indicates that the group prefix in the {\stt scope-zone} directive merely represents a range of multicast groups for which this router is willing to be RP. The default is {\stt false}.\item{\tt cand-rp-by-vif-name}: this specifies the name of the {\stt vif} whose IP address will be used as the RP address if this router becomes an RP. It is a mandatory parameter.\item{\tt cand-rp-by-vif-addr}: this specifies the address that will be used as the RP address if this router becomes an RP. This address must belong to the vif specified by {\tt cand-rp-by-vif-name}. If it is omitted, a domain-wide address (if exists) that belongs to that interface is chosen by the router itself~\footnote{Note that the {\tt cand-rp-by-vif-addr} statement appeared after XORP Release-1.1.}.\item{\tt rp-priority}: this specifies the RP priority of this router for this {\stt group-prefix}. It takes the form of a non-negative integer in the interval [0, 255]. If multiple RP routers are known for a particular multicast group, then the one with the most specific {\stt group-prefix} will be used. If more than one router has the same most specific {\stt group-prefix}, then the one with the highest {\stt rp-priority} is used. See also {\stt hash-mask-len}. The default value for {\stt rp-priority} is 1.\item{\tt rp-holdtime}: this specifies the holdtime that this router will advertise when talking to the BSR. If the BSR has not heard a Candidate RP Advertisement from this router for {\stt rp-holdtime} seconds, then the BSR will conclude it is dead, and will remove it from the set of possible RPs. It takes the form of a non-negative integer in the interval [0, 65535] and its default value is 150 seconds.\end{description}\end{description}\item{\tt switch-to-spt-threshold}: this directive permits the specification of a bitrate threshold at a last-hop router or RP for switching from the RP Tree to the Shortest-Path Tree. The following parameters can be specified:\begin{description}\item{\tt disable}: this takes the value {\stt true} or {\stt false}, and determines whether bitrate-based switching to the shortest path tree is disabled~\footnote{Note that prior to XORP Release-1.1, the {\tt enable} flag was used instead of {\tt disable}.}. The default is false.\item{\tt interval}: this specifies the measurement interval in seconds for measuring the bitrate of traffic from a multicast sender~\footnote{Note that prior to XORP Release-1.3, the {\tt interval-sec} statement was used instead of {\tt interval}.}. The measurement interval should normally not be set too small - values greater than ten seconds are recommended. It takes the form of a non-negative integer in the interval [3, 2147483647] and its default value is 100 seconds.\item{\tt bytes}: this specifies the maximum number of bytes from a multicast sender that can be received in {\stt interval} seconds. If this threshold is exceeded, the router will attempt to switch to the shortest-path tree from that multicast sender. If the shortest-path switch should happen right after the first packet is forwarded, then {\stt bytes} should be set to 0.\end{description}\item{\tt traceoptions}: this directive delimits the configuration of debugging and tracing options for PIM-SM.\begin{description}\item{\tt flag}: this directive is used to specify which tracing options are enabled. Possible parameters are:\begin{description}\item{\tt all}: this directive specifies that all tracing options should be enabled. Possible parameters are:\begin{description}\item{\tt disable}: this takes the value {\stt true} or {\stt false}, and disables or enables tracing~\footnote{Note that prior to XORP Release-1.1, the {\tt enable} flag was used instead of {\tt disable}.}. The default is {\stt false}.\end{description}\end{description}\end{description}\end{description}Note that in case of PIM-SM for IPv4 each enabled interface must have avalid IPv4 address.The configuration for PIM-SM for IPv6 is identical to PIM-SM for IPv4,except for the following:\begin{itemize}\item The {\stt pimsm6} directive is used in place of the {\stt pimsm4} directive.\item The default value of {\stt targetname} is {\stt ``PIMSM\_6''} instead of {\stt ``PIMSM\_4''}.\item All IP addresses used in the configuration are IPv6 addresses instead of IPv4 addresses.\item The {\stt hash-mask-len} value must be in the interval [8, 128], and defaults to 126.\item Each enabled interface must have a valid link-local and a valid domain-wide IPv6 addresses.\end{itemize}\newpage\subsection{Example Configurations}\vspace{0.1in}\noindent\framebox[\textwidth][l]{\scriptsize\begin{minipage}{4.5in}\begin{alltt}\begin{tabbing}xx\=xx\=xx\=xx\=xx\=\killprotocols \{\\\>pimsm4 \{\\\>\>disable: false\\\>\>interface dc0 \{\\\>\>\>vif dc0 \{\\\>\>\>\>disable: false\\\>\>\>\>/* enable-ip-router-alert-option-check: false */\\\>\>\>\>/* dr-priority: 1 */\\\>\>\>\>/* hello-period: 30 */\\\>\>\>\>/* alternative-subnet 10.40.0.0/16 */\\\>\>\>\}\\\>\>\}\\\>\>interface register\_vif \{\\\>\>\>vif register\_vif \{\\\>\>\>\>/* Note: this vif should be always enabled */\\\>\>\>\>disable: false\\\>\>\>\}\\\>\>\}\\\\\>\>static-rps \{\\\>\>\>rp 10.60.0.1 \{\\\>\>\>\>group-prefix 224.0.0.0/4 \{\\\>\>\>\>\>/* rp-priority: 192 */\\\>\>\>\>\>/* hash-mask-len: 30 */\\\>\>\>\>\}\\\>\>\>\}\\\>\>\}\\\\\>\>bootstrap \{\\\>\>\>disable: false\\\>\>\>cand-bsr \{\\\>\>\>\>scope-zone 224.0.0.0/4 \{\\\>\>\>\>\>/* is-scope-zone: false */\\\>\>\>\>\>cand-bsr-by-vif-name: "dc0"\\\>\>\>\>\>/* cand-bsr-by-vif-addr: 10.10.10.10 */\\\>\>\>\>\>/* bsr-priority: 1 */\\\>\>\>\>\>/* hash-mask-len: 30 */\\\>\>\>\>\}\\\>\>\>\}\\\\\>\>\>cand-rp \{\\\>\>\>\>group-prefix 224.0.0.0/4 \{\\\>\>\>\>\>/* is-scope-zone: false */\\\>\>\>\>\>cand-rp-by-vif-name: "dc0"\\\>\>\>\>\>/* cand-rp-by-vif-addr: 10.10.10.10 */\\\>\>\>\>\>/* rp-priority: 192 */\\\>\>\>\>\>/* rp-holdtime: 150 */\\\>\>\>\>\}\\\>\>\>\}\\\>\>\}\\\\
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -