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

📄 pim_testsuite.tex

📁 xorp源码hg
💻 TEX
📖 第 1 页 / 共 5 页
字号:
\begin{figure}[htbp]  \begin{center}    \includegraphics[scale=0.8]{figs/pim_test_1_1_basic_interoperability}    \caption{Basic interoperability test setup}    \label{fig:pim_test_1_1_basic_interoperability}  \end{center}\end{figure}\para{Procedure:}\subpara{Part A: The RUT is the RP, TN1 is the receiver, and TN2 is thesender.}Configure both the RUT and TR1 such that the RUT is the RP for group224.0.1.20. This configuration can be either manual, or implicit through theBootstrap mechanism. Configure TN1 and TN2 such that TN1 is the receiver, andTN2 is the sender, both for group 224.0.1.20.\begin{enumerate}  \item Start both the RUT and TR1. If necessary, wait until the RP-set in the        RUT and TR1 converges.  \item Start the receiver and the sender.  \item Observe the data packets received by the receiver.\end{enumerate}\subpara{Part B: TR1 is the RP, TN1 is the receiver, and TN2 is the sender.}Configure both the RUT and TR1 such that TR1 is the RP for group224.0.1.20. This configuration can be either manual, or implicit through theBootstrap mechanism. Configure TN1 and TN2 such that TN1 is the receiver, andTN2 is the sender, both for group 224.0.1.20. The rest of the procedure issame as in Part A.\subpara{Part C: The RUT is the RP, TN2 is the receiver, and TN1 is thesender.}Configure both the RUT and TR1 such that the RUT is the RP for group224.0.1.20. This configuration can be either manual, or implicit through the Bootstrap mechanism. Configure TN1 and TN2 such that TN2 is the receiver, andTN1 is the sender, both for group 224.0.1.20. The rest of the procedure issame as in Part A.\subpara{Part D: TR1 is the RP, TN2 is the receiver, and TN1 is the sender.}Configure both the RUT and TR1 such that TR1 is the RP for group224.0.1.20. This configuration can be either manual, or implicit through theBootstrap mechanism. Configure TN1 and TN2 such that TN2 is the receiver, andTN1 is the sender, both for group 224.0.1.20. The rest of the procedure issame as in Part A.\para{Observable Results:}In all cases the data packets by the sender should be received by thereceiver.In Part A, the data packets from TN2 should be encapsulated in PIM Registersby TR1, unicast to the RUT (the RP), decapsulated by RUT, and then forwarded(using native multicast) to TN1.In Part B, the data packets from TN2 should be forwarded by TR1 to the RUT(using native multicast, because TR1 does not need to encapsulate PIM Registersto itself), and then forwarded to TN1.In Part C, the data packets from TN1 should be forwarded (using nativemulticast) by the RUT to TR1, and then to TN2.In Part D, the data packets from TN1 should be encapsulated in PIM Registersby the RUT, unicast to TN (the RP), decapsulated by TN, and then forwarded(using native multicast) to TN2.\para{Possible Problems:}If the RP-set is empty, or is not same forthe RUT and TR1, no multicast packets will be received by the receiver.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\chapter{Designated Routers (DR) and Hello Messages}\para{Scope:}Test PIM router neighbor discovery, option exchange, and DR election.\para{Overview:}PIM Hello messages are send periodically on eachPIM-enabled interface. They are used to discover neighboring PIM routers,to exchange various options, and to elect a Designated Router (DR) per LAN.Hello messages are also used to provide a keep-alive function to detect aneighbor loss.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\newpage\section{Hello Transmission}\para{Purpose:}Verify that a router properly sends Hello messages.\para{References:}\begin{itemize}  \item draft-ietf-pim-sm-v2-new-05 -- Section 4.3.1\end{itemize}\para{Discussion:}Neighbor discovery of PIM capable routers is accomplished by sending Hellomessages to the ALL-PIM-ROUTERS multicast address (224.0.0.13 for IPv4,and ``ff02::d'' for IPv6). These Hello messages must contain the following:\begin{itemize}  \item The IP TTL MUST be set to one.  \item The Type field must be set to 0, this designates a PIM Hello message.\end{itemize}The router should transmit the Hello messages at an interval of\verb=Hello_Period= ({\PimsmHelloPeriod}).\para{Test Setup:}Connect the RUT according to Figure~\ref{fig:pim_test_2_1_hello_transmission}.Enable PIM-SM on the RUT.\begin{figure}[htbp]  \begin{center}    \includegraphics[scale=0.8]{figs/pim_test_2_1_hello_transmission}    \caption{Hello transmission test setup}    \label{fig:pim_test_2_1_hello_transmission}  \end{center}\end{figure}\para{Procedure:}\begin{enumerate}  \item Start the RUT.  \item Observe the messages transmitted by the RUT.\end{enumerate}\para{Observable Results:}\begin{itemize}  \item The RUT should send properly formatted PIM Hello messages to the        ALL-PIM-ROUTERS multicast address at \verb=Hello_Period=        ({\PimsmHelloPeriod}) interval.  \item The first Hello message only should be send after a random        interval between 0 and \verb=Triggered_Hello_Delay=        ({\PimsmTriggeredHelloDelay}).  \item The PIM Hello messages should meet all the requirements in the        discussion section.\end{itemize}\para{Possible Problems:}None.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\newpage\section{Two-Way Neighbor Adjacency}\para{Purpose:}Verify that a router accepts Hello messages and forms a two-way neighboradjacency.\para{References:}\begin{itemize}  \item draft-ietf-pim-sm-v2-new-05 -- Section 4.3.1\end{itemize}\para{Discussion:}Neighbor discovery of PIM capable routers is accomplished by sending Hellomessages to the ALL-PIM-ROUTERS address (224.0.0.13 for IPv4,and ``ff02::d'' for IPv6). As a PIM router receives Hello messages from itsPIM neighbors, it records the neighbor addresses on each interface.\para{Test Setup:}Connect the RUT and TR1 according toFigure~\ref{fig:pim_test_2_2_two_way_neighbor_adjacency}.Enable PIM-SM on both the RUT and TR1.\begin{figure}[htbp]  \begin{center}    \includegraphics[scale=0.8]{figs/pim_test_2_2_two_way_neighbor_adjacency}    \caption{Two-way neighbor adjacency test setup}    \label{fig:pim_test_2_2_two_way_neighbor_adjacency}  \end{center}\end{figure}\para{Procedure:}\subpara{Part A: Neighbor adjacency when there is network connectivityfailure.}\begin{enumerate}  \item Start the RUT.  \item Observe the neighbor state information in the RUT for at least        \verb=Triggered_Hello_Delay= ({\PimsmTriggeredHelloDelay}).  \item Start TR1.  \item Observe the neighbor state information in the RUT for at least        \verb=Triggered_Hello_Delay= ({\PimsmTriggeredHelloDelay}).  \item Disconnect TR1 from LAN1.  \item Observe the neighbor state information in the RUT for at least        \verb=Hello_Holdtime= ({\PimsmHelloHoldtime}).\end{enumerate}\subpara{Part B: Neighbor adjacency when a neighbor gracefully goes down.}The procedure is same as in Part A, except that TR1 is gracefully shut-downinstead of disconnected from LAN1.\subpara{Part C: Neighbor adjacency when the RUT is gracefully shut-down.}\begin{enumerate}  \item Start the RUT and TR1.  \item Observe the neighbor state information in the RUT.  \item Observe the messages transmitted by the RUT on LAN1.  \item Gracefully shut-down the RUT.\end{enumerate}\para{Observable Results:}\subpara{Part A:}\begin{itemize}  \item Before TR1 is started, the neighbor state information in the RUT should        show no PIM neighbors:\begin{verbatim}Xorp> show pim neighbors Interface        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:\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 After TR1 is disconnected from LAN1, and after up to        \verb=Hello_Holdtime= ({\PimsmHelloHoldtime}), the neighbor state        information in the RUT should show no PIM neighbors:\begin{verbatim}Xorp> show pim neighbors Interface        DRpriority NeighborAddr     V Mode    Holdtime Timeout\end{verbatim}\end{itemize}\subpara{Part B:}The observed results should be same as in Part A, except that after TR1 isgracefully shut-down, it would send a Hello message with zero \verb=HoldTime=.After the RUT receives this Hello message, it should immediately timeout TR1,instead of up to  \verb=Hello_Holdtime= ({\PimsmHelloHoldtime}).\subpara{Part C:}\begin{itemize}  \item 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 Right after the RUT is gracefully shut-down, it should send        a Hello message with zero \verb=HoldTime=.\end{itemize}\para{Possible Problems:}None.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\newpage\section{Hello Reception}\para{Purpose:}Verify that a router properly receives Hello messages.\para{References:}\begin{itemize}  \item draft-ietf-pim-sm-v2-new-05 -- Sections 4.3.1, 4.10, and 4.10.2\end{itemize}\para{Discussion:}Neighbor discovery of PIM capable routers is accomplished by sending Hellomessages to the ALL-PIM-ROUTERS address (224.0.0.13 for IPv4,and ``ff02::d'' for IPv6). As a PIM router receives Hello messages from itsPIM neighbors, it records the neighbor addresses on each interface.The checksum is 16-bit one's complement of the one's complement sum of the PIMmessages. The checksum MUST be validated on reception of the message.The unused and reserved bits MUST be ignored upon reception.\para{Test Setup:}Connect the RUT and TR1 according to Figure~\ref{fig:pim_test_2_3_hello_reception}.Enable PIM-SM on both the RUT and TR1.\begin{figure}[htbp]  \begin{center}    \includegraphics[scale=0.8]{figs/pim_test_2_3_hello_reception}    \caption{Hello reception test setup}    \label{fig:pim_test_2_3_hello_reception}  \end{center}\end{figure}\para{Procedure:}\subpara{Part A: Reception of a PIM Hello message containing an invalidchecksum.}\begin{enumerate}  \item TR1 transmits a Hello message with an invalid checksum.  \item Observe the neighbor state information in the RUT.\end{enumerate}\subpara{Part B: Reception of a PIM Hello message containing a Reserved fieldof 0xFF.}\begin{enumerate}  \item TR1 transmits a Hello message containing a Reserved field of 0xFF.  \item Observe the neighbor state information in the RUT.\end{enumerate}\subpara{Part C: Reception of a PIM Hello message containing a Version fieldof 0xF.}\begin{enumerate}  \item TR1 transmits a Hello message containing a Version field of 0xF.  \item Observe the neighbor state information in the RUT.\end{enumerate}\subpara{Part D: Reception of a PIM message containing an unrecognizedType field of 0xF.}\begin{enumerate}  \item TR1 transmits a PIM message containing a Type field of 0xF.  \item Observe the warning log messages in the RUT.\end{enumerate}\para{Observable Results:}\begin{itemize}  \item In Part A, the Hello messages with invalid checksum should be ignored,        and the neighbor state information in the RUT should show no PIM        neighbors:\begin{verbatim}Xorp> show pim neighbors Interface        DRpriority NeighborAddr     V Mode    Holdtime Timeout

⌨️ 快捷键说明

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