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

📄 pim_testsuite.tex

📁 xorp源码hg
💻 TEX
📖 第 1 页 / 共 5 页
字号:
\end{verbatim}  \item In Part B, after TR1 is started, and after up to        \verb=Triggered_Hello_Delay=        ({\PimsmTriggeredHelloDelay}), the neighbor state information in the        RUT must contain TR1:\begin{verbatim}Xorp> show pim neighbors Interface        DRpriority NeighborAddr     V Mode    Holdtime Timeoutdc1                       1 10.2.0.2         2 Sparse       105     103\end{verbatim}  \item In Part C, after TR1 is started, and after up to        \verb=Triggered_Hello_Delay=        ({\PimsmTriggeredHelloDelay}), the neighbor state information in the        RUT must contain TR1 with protocol version of 15 (0xF).\begin{verbatim}Xorp> show pim neighbors Interface        DRpriority NeighborAddr     V Mode    Holdtime Timeoutdc2                       1 10.3.0.1        15 Sparse       105     103\end{verbatim}  \item In Part D, after TR1 is started and after it sends PIM messages        containing a Type field of 0xF, the RUT should log the messages with        this unrecognized Type field:\begin{verbatim}[ 2002/08/17 22:45:20 WARNING test_pim.rut PIM ] RX PIM_type_unknown from10.3.0.2 to 224.0.0.13: message type (15) is unknown\end{verbatim}\end{itemize}\para{Possible Problems:}\begin{itemize}  \item Earlier protocol specification (RFC 2117), have ``Addr length''        field in place of the ``Reserved'' field. Therefore, the test in Part        B may not be appropriate for such implementations.  \item At the moment of writing, the lastest        PIM-SM specification does not describe the behavior if a PIM message is        received with protocol version that is larger than the implemented        one.        (TODO: if the specification later is modified to include that behavior,        remove this bullet).        Hence, in Part C, it is possible that an implementation may        silently ignore all messages with protocol version larger than        \verb=PIM_SM_version_default= ({\PimsmVersionDefault}).        As a result, the RUT will not see TR1 as a neighbor.  \item In Part D, the RUT may not log events such as receiving of a message        with unrecognized Type field, because the logging is not described        in the spec.\end{itemize}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\newpage\section{Holdtime Option}\para{Purpose:}Verify that a router properly sends and receives Hello messages with Holdtimeoption.\para{References:}\begin{itemize}  \item draft-ietf-pim-sm-v2-new-05 -- Sections 4.3.1 and 4.10.2\end{itemize}\para{Discussion:}PIM capable routers periodically send Hello messagesmessages to the ALL-PIM-ROUTERS address (224.0.0.13 for IPv4,and ``ff02::d'' for IPv6). If a PIM router does not receive a Hello messagefrom a neighbor for some amount of time, it is assumed that the neighbor (orthe connectivity to it) is not operational, therefore the neighbor istimed-out. A Hello message may contain a Holdtime option that specifies theamount of time (in seconds) a router must keep the neighbor reachable.If a Hello message does not contain a Holdtime option, the default valueof \verb=Default_Hello_Holdtime= ({\PimsmDefaultHelloHoldtime})is assumed. If a Hello message contains a Holdtime option with value of0xFFFF, then only one Hello message should be sent, and the router-recipientof the message should not time-out the router-originator.\para{Test Setup:}Connect the RUT and TR1 according to Figure~\ref{fig:pim_test_2_4_holdtime_option}.Enable PIM-SM on both the RUT and TR1.\begin{figure}[htbp]  \begin{center}    \includegraphics[scale=0.8]{figs/pim_test_2_4_holdtime_option}    \caption{Holdtime option test setup}    \label{fig:pim_test_2_4_holdtime_option}  \end{center}\end{figure}\para{Procedure:}\subpara{Part A: Transmission of a PIM Hello message containing a Holdtimeoption.}\begin{enumerate}  \item Start the RUT.  \item Observe the messages transmitted by the RUT for at least        \verb=Triggered_Hello_Delay= + 3 * \verb=Hello_Holdtime=        (\ie ({\PimsmTriggeredHelloDelay}) + 3 * ({\PimsmHelloHoldtime})).  \item Stop the RUT.  \item Observe the messages transmitted by the RUT for at least        \verb=Triggered_Hello_Delay= + 3 * \verb=Hello_Holdtime=        (\ie ({\PimsmTriggeredHelloDelay}) + 3 * ({\PimsmHelloHoldtime})).  \item Change the configuration value of \verb=Hello_Holdtime= and repeat.\end{enumerate}\subpara{Part B: Transmission of a PIM Hello message containing a Holdtimeoption with value of 0xFFFF.}The procedure is same as in Part A, except that the RUT is configured withHoldtime option value of 0xFFFF. Note that the amount of time to observe thetransmitted messages should be same as in Part A.\subpara{Part C: Reception of a PIM Hello message containing a Holdtimeoption.}\begin{enumerate}  \item Start the RUT.  \item Observe the neighbor state information in the RUT for at least        \verb=Triggered_Hello_Delay= ({\PimsmTriggeredHelloDelay}).  \item Configure TR1 such that its Hello messages would contain a Holdtime        option with the default value of \verb=Hello_Holdtime=        ({\PimsmHelloHoldtime}).  \item Start TR1.  \item Observe the neighbor state information in the RUT for at least        \verb=Triggered_Hello_Delay= ({\PimsmTriggeredHelloDelay}).  \item Stop TR1.  \item Observe the neighbor state information in the RUT for at least        \verb=Hello_Holdtime= ({\PimsmHelloHoldtime}).  \item Change the configuration value of \verb=Hello_Holdtime= in TR1 and        repeat.\end{enumerate}\subpara{Part D: Reception of a PIM Hello message containing a Holdtime optionwith value of 0xFFFF.}The procedure is same as in Part C, except that in Step 3 the Hello messageoriginated by TR1 must be configured contain a Holdtime option with value of0xFFFF.\subpara{Part E: Reception of a PIM Hello message that does not contain aHoldtime option.}The procedure is same as in Part C, except that in Step 3 the the Hello messageoriginated by TR1 must be configured to exclude the Holdtime option.\para{Observable Results:}\subpara{Part A:}\begin{itemize}  \item After the RUT is started, the first Hello message should be        transmitted no later than \verb=Triggered_Hello_Delay=        ({\PimsmTriggeredHelloDelay}).  \item After the first Hello message, there should be one Hello message        transmitted each \verb=Hello_Period= ({\PimsmHelloPeriod}). Each Hello        message should contain a Holdtime option with default value of        \verb=Hello_Holdtime= ({\PimsmHelloHoldtime}).  \item Right after the RUT is stopped, there should be        a Hello message transmitted with Holdtime option value of 0.  \item After the Hello message with Holdtime option value of 0,        no other Hello messages should be transmitted.  \item The results of repeating the test with different value of        \verb=Hello_Holdtime= should be similar, except that the        Hello messages should be transmitted every 1/3th of        the new \verb=Hello_Holdtime=, and the Holdtime Option value        in the Hello messages should be the new \verb=Hello_Holdtime=.\end{itemize}\subpara{Part B:}\begin{itemize}  \item After the RUT is started, the first Hello message should be        transmitted no later than \verb=Triggered_Hello_Delay=        ({\PimsmTriggeredHelloDelay}). This message should contain        a Holdtime option with value of 0xFFFF.  \item After the first Hello message, there should be no one Hello messages        transmitted before the RUT is stopped.  \item Right after the RUT is stopped, there should be        a Hello message transmitted with Holdtime option value of 0.  \item After the Hello message with Holdtime option value of 0,        no other Hello messages should be transmitted.\end{itemize}\subpara{Part C:}\begin{itemize}  \item Before TR1 is started, the neighbor state information in the RUT  should show no PIM neighbors:\begin{verbatim}Xorp> show pim neighborsInterface        DRpriority NeighborAddr    V Mode    Holdtime Timeout\end{verbatim}  \item After TR1 is started, and after up to \verb=Triggered_Hello_Delay=        ({\PimsmTriggeredHelloDelay}), the neighbor state information in the        RUT must contain TR1. The Holdtime information about TR1 must match        the Holdtime value in the Hello messages by TR1:\begin{verbatim}Xorp> show pim neighborsInterface        DRpriority NeighborAddr     V Mode    Holdtime Timeoutdc1                       1 10.2.0.2         2 Sparse       105     103\end{verbatim}  \item After TR1 is stopped, and after it sends a Hello message with Holdtime        option value of 0, the RUT must immediately expire it.        The neighbor state information in the RUT should show no PIM        neighbors:\begin{verbatim}Xorp> show pim neighborsInterface        DRpriority NeighborAddr     V Mode    Holdtime Timeout\end{verbatim}  \item The results of repeating the test with different value of        \verb=Hello_Holdtime= should be similar, except that the        Holdtime value in the state information in the RUT about TR1 should        match the chosen value of the \verb=Hello_Holdtime=.\end{itemize}\subpara{Part D:}The observed results should be same as in Part C, except thatafter the first Hello message from TR1 is received, the neighbor stateinformation in the RUT must show that the TR1 would never be expired:\begin{verbatim}Xorp> show pim neighbors Interface        DRpriority NeighborAddr     V Mode    Holdtime Timeoutdc1                       1 10.3.0.2         2 Sparse     65535    None\end{verbatim}\subpara{Part E:}The observed results should be same as in Part C, except thatthe RUT assumes that the Holdtime value about TR1 is always equal to thedefault value of \verb=Hello_Holdtime= ({\PimsmHelloHoldtime}).\para{Possible Problems:}None.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\newpage\section{DR Priority Option}\para{Purpose:}Verify that a router properly sends and receives Hello messages with DRPriority option.\para{References:}\begin{itemize}  \item draft-ietf-pim-sm-v2-new-05 -- Sections 4.3.1, 4.3.2, and 4.10.2\end{itemize}\para{Discussion:}One of the PIM routers on each LAN, the Designated Router (DR), needs to acton behalf of the rest of the routers and directly connected hosts with respectto the PIM protocol. The DR election considers the DR priority of eachPIM router and its IP address: numerically larger DR priority is alwaysbetter, with a numerically larger IP address used as a tie-break. Each PIMrouter includes its DR priority in the DR Priority option of the Hellomessages it originates. If there is at least one PIM router on a LAN that doesnot include the DR Priority option in its Hello messages, then the DR electionprocess considers only the IP addresses of the routers.\para{Test Setup:}Connect the RUT and TR1 according to Figure~\ref{fig:pim_test_2_5_dr_priority_option}.Enable PIM-SM on both the RUT and TR1.\begin{figure}[htbp]  \begin{center}    \includegraphics[scale=0.8]{figs/pim_test_2_5_dr_priority_option}    \caption{DR priority option test setup}    \label{fig:pim_test_2_5_dr_priority_option}  \end{center}\end{figure}\para{Procedure:}\subpara{Part A: The RUT has a numerically larger IP address than TR1.}\begin{enumerate}  \item Start the RUT with default DR priority of 1, and        observe the DR state information in the RUT.  \item Start TR1 with default DR priority of 1, and        observe the DR state information in the RUT.  \item Change the DR priority of TR1 to 2, and        observe the DR state information in the RUT.  \item Change the DR priority of TR1 to 0, and        observe the DR state information in the RUT.  \item Change the DR priority of TR1 to 1, and        observe the DR state information in the RUT.  \item Change the DR priority of the RUT to 2, and        observe the DR state information in the RUT.  \item Change the DR priority of the RUT to 0, and        observe the DR state information in the RUT.  \item Change the DR priority of the RUT to 1, and        observe the DR state information in the RUT.\end{enumerate}\subpara{Part B: The RUT has a numerically smaller IP address than TR1.}The procedure is same as in Part A, except that TR1 has a numerically smallerIP address than TR1.\para{Observable Results:}\subpara{Part A:}\begin{enumerate}  \item After the RUT is started with default DR priority of 1, it should        be the DR for LAN1:\begin{verbatim}Xorp> show pim interface dc2Interface       State    Mode    V PIMstate  Priority DRaddr      Neighborsdc2             UP       Sparse  2 DR               1 10.2.0.2            0\end{verbatim}  \item After TR1 is started with default DR priority of 1, the RUT should be        still the DR for LAN1:\begin{verbatim}Xorp> show pim interface dc2Interface       State    Mode    V PIMstate  Priority DRaddr      Neighborsdc2             UP       Sparse  2 DR               1 10.2.0.2            1\end{verbatim}  \item After the DR priority of TR1 is increased to 2, TR1 should become the  DR for LAN1. The DR state information in the RUT should show that the RUT is  not the DR anymore:

⌨️ 快捷键说明

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