📄 config_overview.tex
字号:
Note that the interface/vif named {\tt register\_vif} is special.If PIM-SM is configured, then \linebreak{\tt register\_vif} must be enabledin the MFEA.\newpage\subsection{Internet Group Management Protocol/Multicast Listener Discovery}\label{sec:protocols:mld6igmp}IGMP/MLD should be configured if the XORP router is to be used for multicastrouting and if we want to track multicast group membership for directlyconnected subnets. Typically this is the case for a multicast router,therefore it should be enabled. IGMP and MLD are configured separately:IGMP is used for tracking IPv4 multicast members; MLD is used for trackingIPv6 multicast members.In the configuration we must explicitly configure each entity andeach {\tt vif}. The {\tt traceoptions} section is used to explicitlyenable log information that can be used for debugging purpose~\footnote{Notethat prior to XORP Release-1.1, the {\tt enable} flag was used instead of{\tt disable} to enable or disable each part of the configuration.}.\vspace{0.1in}\noindent\framebox[\textwidth][l]{\scriptsize\begin{minipage}{6in}\begin{alltt}\begin{tabbing}xx\=xx\=xx\=xx\=xx\=\killprotocols \{\\\>igmp \{\\\>\>disable: false\\\>\>interface dc0 \{\\\>\>\>vif dc0 \{\\\>\>\>\>disable: false\\\>\>\>\>/* version: 2 */\\\>\>\>\>/* enable-ip-router-alert-option-check: false */\\\>\>\>\>/* query-interval: 125 */\\\>\>\>\>/* query-last-member-interval: 1 */\\\>\>\>\>/* query-response-interval: 10 */\\\>\>\>\>/* robust-count: 2 */\\\>\>\>\}\\\>\>\}\\\>\>traceoptions \{\\\>\>\>flag all \{\\\>\>\>\>disable: false\\\>\>\>\}\\\>\>\}\\\>\}\\\}\\\\protocols \{\\\>mld \{\\\>\>disable: false\\\>\>interface dc0 \{\\\>\>\>vif dc0 \{\\\>\>\>\>disable: false\\\>\>\>\>/* version: 1 */\\\>\>\>\>/* enable-ip-router-alert-option-check: false */\\\>\>\>\>/* query-interval: 125 */\\\>\>\>\>/* query-last-member-interval: 1 */\\\>\>\>\>/* query-response-interval: 10 */\\\>\>\>\>/* robust-count: 2 */\\\>\>\>\}\\\>\>\}\\\>\>traceoptions \{\\\>\>\>flag all \{\\\>\>\>\>disable: false\\\>\>\>\}\\\>\>\}\\\>\}\\\}\end{tabbing}\end{alltt}\end{minipage}}\vspace{0.1in}A number of parameters have default values, thereforethey don't have to be configured (those parameters are commented-outin the above sample configuration).The {\tt version} parameter is used to configure the MLD/IGMP protocolversion per virtual interface~\footnote{Note that the {\tt version}statement appeared after XORP Release-1.1.}.The {\tt enable-ip-router-alert-option-check} parameter is used toenable the IP Router Alert option check per virtual interface~\footnote{Notethat the {\tt enable-ip-router-alert-option-check} statement appeared afterXORP Release-1.1.}.The {\tt query-interval} parameter is used to configure (per virtualinterface) the interval (in seconds) between general queries sent by thequerier~\footnote{Note that the {\tt query-interval} statement appearedafter XORP Release-1.1.}.The {\tt query-last-member-interval} parameter is used to configure (pervirtual interface) the maximum response time (in seconds) inserted intogroup-specific queries sent in response to leave group messages. It isalso the interval between group-specific query messages~\footnote{Notethat the {\tt query-last-member-interval} statement appeared after XORPRelease-1.1.}.The {\tt query-response-interval} parameter is used to configure (pervirtual interface) the maximum response time (in seconds) inserted intothe periodic general queries~\footnote{Note that the {\ttquery-response-interval} statement appeared after XORP Release-1.1.}.The {\tt robust-count} parameter is used to configure the robustnessvariable count that allows tuning for the expected packet loss on asubnet~\footnote{Note that the {\tt robust-count} statement appearedafter XORP Release-1.1.}.Note that in case of IGMP each enabled interface must have a valid IPv4address. In case of MLD each enabled interface must have a validlink-local IPv6 address.\newpage\subsection{Protocol Independent Multicast - Sparse Mode}\label{sec:protocols:pim}PIM-SM should be configured if the XORP router is to be used formulticast routing in PIM-SM domain. PIM-SM for IPv4 and IPv6 areconfigured separately. At minimum, the entity itself and thevirtual interfaces should be enabled, and the mechanism for obtainingthe Candidate-RP set (either the Bootstrap mechanism, or a static-RPset)~\footnote{Note that prior to XORP Release-1.1, the {\tt enable} flagwas used instead of {\tt disable} to enable or disable each part of theconfiguration.}.\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 */\\\>\>\>\>/* hello-triggered-delay: 5 */\\\>\>\>\>/* 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 */\\\>\>\>\>\}\\\>\>\>\}\\\>\>\}\\\\{\rm continued overleaf....}\end{tabbing}\end{alltt}\end{minipage}}\newpage\vspace{0.1in}\noindent\framebox[\textwidth][l]{\scriptsize\begin{minipage}{4.5in}\begin{alltt}\begin{tabbing}xx\=xx\=xx\=xx\=xx\=\kill\>\>switch-to-spt-threshold \{\\\>\>\>/* approx. 1K bytes/s (10Kbps) threshold */\\\>\>\>disable: false\\\>\>\>interval: 100\\\>\>\>bytes: 102400\\\>\>\}\\\\\>\>traceoptions \{\\\>\>\>flag all \{\\\>\>\>\>disable: false\\\>\>\>\}\\\>\>\}\\\>\}\\\}\\\\protocols \{\\\>pimsm6 \{\\\>\>disable: false\\\>\>interface dc0 \{\\\>\>\>vif dc0 \{\\\>\>\>\>disable: false\\\>\>\>\>/* enable-ip-router-alert-option-check: false */\\\>\>\>\>/* dr-priority: 1 */\\\>\>\>\>/* hello-period: 30 */\\\>\>\>\>/* hello-triggered-delay: 5 */\\\>\>\>\>/* alternative-subnet 40:40:40:40::/64 */\\\>\>\>\}\\\>\>\}\\\>\>interface register\_vif \{\\\>\>\>vif register\_vif \{\\\>\>\>\>/* Note: this vif should be always enabled */\\\>\>\>\>disable: false\\\>\>\>\}\\\>\>\}\\\\\>\>static-rps \{\\\>\>\>rp 50:50:50:50:50:50:50:50 \{\\\>\>\>\>group-prefix ff00::/8 \{\\\>\>\>\>\>/* rp-priority: 192 */\\\>\>\>\>\>/* hash-mask-len: 126 */\\\>\>\>\>\}\\\>\>\>\}\\\>\>\}\\\\\>\>bootstrap \{\\\>\>\>disable: false\\\>\>\>cand-bsr \{\\\>\>\>\>scope-zone ff00::/8 \{\\\>\>\>\>\>/* is-scope-zone: false */\\\>\>\>\>\>cand-bsr-by-vif-name: "dc0"\\\>\>\>\>\>/* cand-bsr-by-vif-addr: 10:10:10:10:10:10:10:10 */\\\>\>\>\>\>/* bsr-priority: 1 */\\\>\>\>\>\>/* hash-mask-len: 126 */\\\>\>\>\>\}\\\>\>\>\}\\\\\>\>\>cand-rp \{\\\>\>\>\>group-prefix ff00::/8 \{\\\>\>\>\>\>/* is-scope-zone: false */\\\>\>\>\>\>cand-rp-by-vif-name: "dc0"\\\>\>\>\>\>/* cand-rp-by-vif-addr: 10:10:10:10:10:10:10:10 */\\\>\>\>\>\>/* rp-priority: 192 */\\\>\>\>\>\>/* rp-holdtime: 150 */\\\>\>\>\>\}\\\>\>\>\}\\\>\>\}\\\\{\rm continued overleaf....}\end{tabbing}\end{alltt}\end{minipage}}\newpage\vspace{0.1in}\noindent\framebox[\textwidth][l]{\scriptsize\begin{minipage}{4.5in}\begin{alltt}\begin{tabbing}xx\=xx\=xx\=xx\=xx\=\kill\>\>switch-to-spt-threshold \{\\\>\>\>/* approx. 1K bytes/s (10Kbps) threshold */\\\>\>\>disable: false\\\>\>\>interval: 100\\\>\>\>bytes: 102400\\\>\>\}\\\\\>\>traceoptions \{\\\>\>\>flag all \{\\\>\>\>\>disable: false\\\>\>\>\}\\\>\>\}\\\>\}\\\}\end{tabbing}\end{alltt}\end{minipage}}\vspace{0.1in}A number of parameters have default values, thereforethey don't have to be configured (those parameters are commented-outin the above sample configuration).Note that the interface/vif named {\tt register\_vif} is special.If PIM-SM is configured, then {\tt register\_vif} must be enabled.The {\tt enable-ip-router-alert-option-check} parameter is used toenable the IP Router Alert option check per virtual interface~\footnote{Notethat the {\tt enable-ip-router-alert-option-check} statement appeared afterXORP Release-1.1.}.The {\tt dr-priority} parameter is used to configure the Designated Routerpriority per virtual interface (note that in case of {\tt register\_vif}it is not used).The {\tt hello-period} parameter is used to configure the PIM Hellomessages period (in seconds) per virtual interface~\footnote{Note that the{\tt hello-period} statement appeared after XORP Release-1.1.}. It mustbe an integer between 1 and 18724.The {\tt hello-triggered-delay} parameter is used to configure therandomized triggered delay of the PIM Hello messages (inseconds) per virtual interface~\footnote{Note that the{\tt hello-triggered-delay} statement appeared after XORPRelease-1.1.}. It must be an integer between 1 and 255.The {\tt alternative-subnet} statement is used to associate additionalsubnets with a network interface. For example, if you want to makeincoming traffic with a non-local source address appear as it iscoming from a local subnet, then {\tt alternative-subnet} can beused. Typically, this is needed as a work-around solution when we useuni-directional interfaces for receiving traffic (e.g., satellitelinks). Note: use {\tt alternative-subnet} with extreme care, only ifyou know what you are really doing!If PIM-SM uses static RPs, those can be configured within the{\tt static-rps} section. For each RP, an {\tt rp} section is needed, and eachsection should contain the multicast prefix address the static RP isconfigured with. The RP priority can be modified with the {\tt rp-priority}parameter.If PIM-SM uses the Bootstrap mechanism to obtain the Candidate-RP set,this can be configured in the {\tt bootstrap} section.If the XORP router is to be used as a Candidate-BSR, this should bespecified in the {\tt cand-bsr} section.For a router to be a Candidate-BSR it must advertise foreach zone (scoped or non-scoped) the associated multicast prefix address.The {\tt cand-bsr} section should contain {\tt scope-zone} statements for eachmulticast prefix address.The vif name with the address that is to be used as the Candidate-BSRis specified by the {\tt cand-bsr-by-vif-name} statement.The particular vif's address can be specified by the{\tt cand-bsr-by-vif-addr} statement. If the{\tt cand-bsr-by-vif-addr} statement is omitted, a domain-wideaddress (if exists) that belongs to that interface is chosen by the routeritself~\footnote{Note that the {\tt cand-bsr-by-vif-addr} statementappeared after XORP Release-1.1.}.The Candidate-BSR priority can be modified with the {\tt bsr-priority}parameter.If the XORP router is to be a Candidate-RP, this should be specifiedin the {\tt cand-rp} section.For a router to be a Candidate-RP it must advertise foreach zone (scoped or non-scoped) the associated multicast prefix address.The {\tt cand-rp} section should contain {\tt group-prefix} statementsfor each multicast prefix address.The vif name with the address that is to be used as the Candidate-RPis specified by the {\tt cand-rp-by-vif-name} statement.The particular vif's address can be specified by the{\tt cand-rp-by-vif-addr} statement. If the{\tt cand-rp-by-vif-addr} statement is omitted, a domain-wideaddress (if exists) that belongs to that interface is chosen by the routeritself~\footnote{Note that the {\tt cand-rp-by-vif-addr} statementappeared after XORP Release-1.1.}.The Candidate-RP priority can be modified with the{\tt rp-priority} parameter; the Candidate-RP holdtime can be modifiedwith the {\tt rp-holdtime} parameter.The {\tt is-scope-zone} parameter is used to specify whether aCandidate-BSR {\tt scope-zone} or a Candidate-RP {\tt group-prefix} isscoped. Currently, scoped zones are not well tested, hence it is recommended {\tt scope-zone}is always set to {\tt false}.Note that typically the {\tt hash-mask-len} should not be modified; if youdon't know what {\tt hash-mask-len} is used for, don't modify it!The {\tt switch-to-spt-threshold} section can be used to specify themulticast data bandwidth threshold used by the last-hop PIM-SM routersand the RPs to initiate shortest-path switch toward the multicast source.Parameter {\tt interval} is used to specify the periodic measurementinterval~\footnote{Note that prior to XORP Release-1.3, the{\tt interval-sec} statement was used instead of {\tt interval}.};parameter {\tt bytes} is used to specify the threshold in number of byteswithin the measurement interval. It is recommended that the measurementinterval is not too small, and should be on the order of tens of seconds.The {\tt traceoptions} section is used to explicitly enable log informationthat can be used for debugging purpose.Note that in case of PIM-SM for IPv4 each enabled interface must have avalid IPv4 address. In case of PIM-SM for IPv6 each enabled interfacemust have a valid link-local and a valid domain-wide IPv6 addresses.\newpage\subsection{FIB2MRIB}\label{sec:protocols:fib2mrib}The FIB2MRIB module is used to obtain the Forwarding Information Baseinformation from the underlying system (via the FEA), and to propagateit to the MRIB, so it can be used by multicast routing protocolssuch as PIM-SM. Typically, it is needed only if the unicast routingprotocols (if any) on that router do not inject routes into theMRIB~\footnote{Note that prior to XORP Release-1.1, the {\tt enable} flagwas used instead of {\tt disable} to enable or disable each part of theconfiguration.}.\vspace{0.1in}\noindent\framebox[\textwidth][l]{\scriptsize\begin{minipage}{6in}\begin{alltt}\begin{tabbing}xx\=xx\=xx\=xx\=xx\=\killprotocols \{\\\>fib2mrib \{\\\>\>disable: false\\\>\}\\\}\end{tabbing}\end{alltt}\end{minipage}}\vspace{0.1in}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -