⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pimsm.tex

📁 xorp源码hg
💻 TEX
📖 第 1 页 / 共 5 页
字号:
  \item Apply additional system configuration (if necessary):  \begin{itemize}    \item {\tt DragonFlyBSD}:    IPv4: Enable IPv4 unicast forwarding:\begin{verbatim}sysctl net.inet.ip.forwarding=1\end{verbatim}    IPv6: Enable IPv6 unicast forwarding:\begin{verbatim}sysctl net.inet6.ip6.forwarding=1\end{verbatim}    \item {\tt FreeBSD}:    IPv4: Enable IPv4 unicast forwarding:\begin{verbatim}sysctl net.inet.ip.forwarding=1\end{verbatim}    IPv6: Enable IPv6 unicast forwarding:\begin{verbatim}sysctl net.inet6.ip6.forwarding=1\end{verbatim}    \item {\tt Linux}:    IPv4: Enable IPv4 unicast forwarding:\begin{verbatim}echo 1 > /proc/sys/net/ipv4/ip_forward\end{verbatim}    If the unicast Reverse Path Forwarding information is different from the    multicast Reverse Path Forwarding information, the Return Path Filtering    should be disabled:\begin{verbatim}echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter\end{verbatim}    OR\begin{verbatim}echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filterecho 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter...\end{verbatim}    IPv6: unknown    \item {\tt NetBSD}: none.    \item {\tt OpenBSD}: Add the following lines to {\stt /etc/rc.conf.local}    and reboot:\begin{verbatim}# Enable multicast routing (see netstart(8) for details).multicast_host=NOmulticast_router=YES\end{verbatim}  \end{itemize}\end{itemize}\subsection{Configuring Multicast Tunnels on UNIX Systems}All PIM routers need to be directly connected so they can exchangecontrol messages. Occasionally this might not be possible (\eg ifsomeone wants to forward multicast traffic to a remote host, and therouters in the middle are not running PIM).In that case a tunnel between two remote routers can be used to createan artificial adjacency.\begin{itemize}  \item Creating a GRE tunnel.  The GRE (Generic Routing Encapsulation) mechanism is described in RFC  1701 and RFC 1702. It is implemented on a variety of systems and is  widely used for routing tunnels.  Below is an example how to configure a GRE tunnel between two Linux  systems.\begin{verbatim}# GRE tunnel between two machines (host 11.11.11.11 and 33.33.33.33)## Physical interfaces:    [11.11.11.11]         [33.33.33.33]# GRE tunnel:              22.22.22.11<--------->22.22.22.33## ==== host 11.11.11.11 (GRE interface 22.22.22.11)ip link set gre1 downip tunnel del gre1ip tunnel add gre1 mode gre remote 33.33.33.33 local 11.11.11.11 ttl 127ip addr add 22.22.22.11/24 peer 22.22.22.33/24 dev gre1ip link set gre1 up multicast on# ==== host 33.33.33.33 (GRE interface 22.22.22.33)ip link set gre1 downip tunnel del gre1ip tunnel add gre1 mode gre remote 11.11.11.11 local 33.33.33.33 ttl 127ip addr add 22.22.22.33/24 peer 22.22.22.11/24 dev gre1ip link set gre1 up multicast on\end{verbatim}  \item Creating an OpenVPN tunnel.  OpenVPN (http://openvpn.net/) is free software to create a VPN tunnel.  It is very popular and works on a variety of systems.  One of the advantages of OpenVPN is that it is over TCP or UDP,  hence unlike GRE it does not require special support from NAT devices  that might be in the middle.  Below is an example how to configure an OpenVPN tunnel.\begin{verbatim}# OpenVPN tunnel between two machines (host 11.11.11.11 and 33.33.33.33)## Physical interfaces:    [11.11.11.11]         [33.33.33.33]# OpenVPN tunnel:          22.22.22.11<--------->22.22.22.33## ==== host 11.11.11.11 (OpenVPN interface 22.22.22.11)openvpn --local 11.11.11.11 --remote 33.33.33.33 --ifconfig 22.22.22.11    22.22.22.33 --dev tun0# ==== host 33.33.33.33 (OpenVPN interface 22.22.22.33)openvpn --local 33.33.33.33 --remote 11.11.11.11 --ifconfig 22.22.22.33    22.22.22.11 --dev tun0\end{verbatim}  \item Reverse Path Forwarding (RPF) information setup.  It is important that the Reverse Path Forwarding (RPF) information  is set to consider the tunnel for PIM-SM to operate properly.  On Linux systems the following UNIX command needs to be used to  disable the Return Path filtering:\begin{verbatim}echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter\end{verbatim}  In addition, the RPF information must be set appropriately for all  systems that are suppose to be reached via the tunnel (\eg RPs and  remote sources). This can be achieved by adding MRIB-specific static  routing entries in the XORP configuration. For example, if the IP  address of the other side of the tunnel is 22.22.22.33, then the  following XORP configuration can be used to specify that the tunnel is  the default route for all destinations:\begin{verbatim}protocols {    static {        mrib-route 0.0.0.0/0 {            next-hop 22.22.22.33        }    }}\end{verbatim}\end{itemize}\newpage\subsection{Configuration Syntax}\vspace{0.1in}\noindent\framebox[\textwidth][l]{\scriptsize\begin{minipage}{4.5in}\begin{alltt}\begin{tabbing}xx\=xx\=xx\=xx\=xx\=\killprotocols \{\\\>pimsm4 \{\\\>\>targetname: {\it text}\\\>\>disable: {\it bool}\\\>\>interface {\it text} \{\\\>\>\>vif {\it text} \{\\\>\>\>\>disable: {\it bool}\\\>\>\>\>enable-ip-router-alert-option-check: {\it bool}\\\>\>\>\>dr-priority: {\it uint}\\\>\>\>\>hello-period: {\it uint(1..18724)}\\\>\>\>\>hello-triggered-delay: {\it uint(1..255)}\\\>\>\>\>alternative-subnet {\it IPv4}/{\it int(0..32)}\\\>\>\>\}\\\>\>\}\\\>\>interface register\_vif \{\\\>\>\>vif register\_vif \{\\\>\>\>\>disable: {\it bool}\\\>\>\>\}\\\>\>\}\\\\\>\>static-rps \{\\\>\>\>rp {\it IPv4} \{\\\>\>\>\>group-prefix {\it IPv4Mcast}/{\it int(4..32)} \{\\\>\>\>\>\>rp-priority: {\it uint(0..255)}\\\>\>\>\>\>hash-mask-len: {\it uint(4..32)}\\\>\>\>\>\}\\\>\>\>\}\\\>\>\}\\\\\>\>bootstrap \{\\\>\>\>disable: {\it bool}\\\>\>\>cand-bsr \{\\\>\>\>\>scope-zone  {\it IPv4Mcast}/{\it int(4..32)} \{\\\>\>\>\>\>is-scope-zone: {\it bool}\\\>\>\>\>\>cand-bsr-by-vif-name: {\it text}\\\>\>\>\>\>cand-bsr-by-vif-addr: {\it IPv4}\\\>\>\>\>\>bsr-priority: {\it uint(0..255)}\\\>\>\>\>\>hash-mask-len: {\it uint(4..32)}\\\>\>\>\>\}\\\>\>\>\}\\\\\>\>\>cand-rp \{\\\>\>\>\>group-prefix  {\it IPv4Mcast}/{\it int(4..32)} \{\\\>\>\>\>\>is-scope-zone: {\it bool}\\\>\>\>\>\>cand-rp-by-vif-name: {\it text}\\\>\>\>\>\>cand-rp-by-vif-addr: {\it IPv4}\\\>\>\>\>\>rp-priority: {\it uint(0..255)}\\\>\>\>\>\>rp-holdtime: {\it uint(0..65535)}\\\>\>\>\>\}\\\>\>\>\}\\\>\>\}\\\\\>\>switch-to-spt-threshold \{\\\>\>\>disable: {\it bool}\\\>\>\>interval: {\it uint(3..2147483647)}\\\>\>\>bytes: {\it uint}\\\>\>\}\\\\{\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\>\>traceoptions \{\\\>\>\>flag all \{\\\>\>\>\>disable: {\it bool}\\\>\>\>\}\\\>\>\}\\\>\}\\\}\\\\protocols \{\\\>pimsm6 \{\\\>\>disable: {\it bool}\\\>\>interface {\it text} \{\\\>\>\>vif {\it text} \{\\\>\>\>\>disable: {\it bool}\\\>\>\>\>enable-ip-router-alert-option-check: {\it bool}\\\>\>\>\>dr-priority: {\it uint}\\\>\>\>\>hello-period: {\it uint(1..18724)}\\\>\>\>\>hello-triggered-delay: {\it uint(1..255)}\\\>\>\>\>alternative-subnet  {\it IPv6}/{\it int(0..128)}\\\>\>\>\}\\\>\>\}\\\>\>interface register\_vif \{\\\>\>\>vif register\_vif \{\\\>\>\>\>disable: {\it bool}\\\>\>\>\}\\\>\>\}\\\\\>\>static-rps \{\\\>\>\>rp {\it IPv6} \{\\\>\>\>\>group-prefix  {\it IPv6Mcast}/{\it int(8..128)} \{\\\>\>\>\>\>rp-priority: {\it uint(0..255)}\\\>\>\>\>\>hash-mask-len: {\it uint(8..128)}\\\>\>\>\>\}\\\>\>\>\}\\\>\>\}\\\\\>\>bootstrap \{\\\>\>\>disable: {\it bool}\\\>\>\>cand-bsr \{\\\>\>\>\>scope-zone {\it IPv6Mcast}/{\it int(8..128)} \{\\\>\>\>\>\>is-scope-zone: {\it bool}\\\>\>\>\>\>cand-bsr-by-vif-name: {\it text}\\\>\>\>\>\>cand-bsr-by-vif-addr: {\it IPv6}\\\>\>\>\>\>bsr-priority: {\it uint(0..255)}\\\>\>\>\>\>hash-mask-len: {\it uint(8..128)}\\\>\>\>\>\}\\\>\>\>\}\\\\\>\>\>cand-rp \{\\\>\>\>\>group-prefix {\it IPv6Mcast}/{\it int(8..128)} \{\\\>\>\>\>\>is-scope-zone: {\it bool}\\\>\>\>\>\>cand-rp-by-vif-name: {\it text}\\\>\>\>\>\>cand-rp-by-vif-addr: {\it IPv6}\\\>\>\>\>\>rp-priority: {\it uint(0..255)}\\\>\>\>\>\>rp-holdtime: {\it uint(0..65535)}\\\>\>\>\>\}\\\>\>\>\}\\\>\>\}\\\\\>\>switch-to-spt-threshold \{\\\>\>\>disable: {\it bool}\\\>\>\>interval: {\it uint(3..2147483647)}\\\>\>\>bytes: {\it uint}\\\>\>\}\\\\\>\>traceoptions \{\\\>\>\>flag all \{\\\>\>\>\>disable: {\it bool}\\\>\>\>\}\\\>\>\}\\\>\}\\\}\end{tabbing}\end{alltt}\end{minipage}}\vspace{0.1in}\begin{description}\item{\tt protocols}: this delimits the configuration for all routing  protocols in the XORP router configuration.  It is mandatory that  PIM-SM configuration is under the {\stt protocols} node in the  configuration.\item{\tt pimsm4}: this delimits the PIM-SM configuration part of the XORP  router configuration related to IPv4 multicast.\item{\tt targetname}: this is the name for this instance of PIM-SM for  IPv4.  It defaults to ``{\stt PIMSM\_4}'', and it is not recommended  that this default is overridden under normal usage scenarios.\item{\tt disable}: this takes the value {\stt true} or {\stt false},  and indicates whether PIM-SM IPv4 multicast routing is currently  disabled~\footnote{Note  that prior to XORP Release-1.1, the {\tt enable} flag was used instead of  {\tt disable}.}.  This allows multicast to be taken down temporarily without  removing the configuration.\item{\tt interface}: this directive specifies that this {\stt  interface} is to be used for PIM-SM IPv4 multicast routing.  The

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -