From 86989d796ff012fb0a8b803fe46758b202010194 Mon Sep 17 00:00:00 2001 From: charlie Date: Sat, 14 Nov 2015 20:47:32 +0100 Subject: [PATCH] Expected result en test-case table matchen nu. 11 test-cases totaal nu. Verhaal over transactie iets uitgebreid. --- a2/1cases.tex | 243 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 147 insertions(+), 96 deletions(-) diff --git a/a2/1cases.tex b/a2/1cases.tex index 14900c9..b785956 100644 --- a/a2/1cases.tex +++ b/a2/1cases.tex @@ -170,18 +170,27 @@ either reassemble them when the missing packet has arrived or request them to be resend when the Missing segments should be re-requested (by ACK-ing the correct sequence number). -A single request consists of a number of packets that sent a -to the \emph{echo-server} and back. The TCP specification state that such a +A single request consists of a number of packets that are sent +to the \emph{echo-server} and back. The TCP specification states that such a transaction requires the following messages. -\begin{center} +\begin{flushleft} Script $-$ SYN $A$ $\rightarrow$ SUT \\ Script $\leftarrow$ SYN-ACK $(A+1)$ $B$ $-$ SUT \\ Script $-$ ACK $(A+1)$ $(B+1)$ $\rightarrow$ SUT \\ Script $-$ ACK-PUSH $(A+1)$ $(B+2)$ \emph{msg} $\rightarrow$ SUT \\ Script $\leftarrow$ ACK $(A+2+msg_{length})$ $(B+3)$ $-$ SUT \\ Script $\leftarrow$ ACK-PUSH $(A+2+msg_{length})$ $(B+3)$ \emph{msg} $-$ SUT -\end{center} +\end{flushleft} + +% +% RS ook? FIN? +% + +When the \emph{SUT} has received the ACK containing the message it's passed +trough to the \emph{echo-server}. The \emph{echo-server} will proceed by ordering +the \emph{SUT} to respond by sending the exact same message. When this happens +the \emph{SUT} has to construct the last packet in the transaction listed above. \bigskip @@ -302,28 +311,31 @@ described in Table~\ref{tbl:testpairs}. size of the payload of that segment.\\ \hline \doTCC & An ACK\# of the sequence number of the last send segment + the size of the payload of that segment.\\ \hline + \doTCC & An ACK\# of the sequence number of the swapped packet with the lowest sequence number. \\ \hline \doTCC & The ACK\# for the SEQ\# of the first segments which is corrupted is received for each consecutive segment send.\\ $\vdots$ & \\ - \setcounter{TCC}{14} - \doTCC & The ACK\# for the SEQ\# of the first segments which is - corrupted is received for each consecutive segment send.\\ \hline - \doTCC & The segment is not attributed to the current connection - and therefore no ACK\# is received. \\ \hline - \doTCC & The ACK\# for the SEQ\# of the first segments which is - corrupted is received for each consecutive segment send.\\ \hline - \doTCC & The ACK\# for the SEQ\# of the first segments which is - corrupted is received for each consecutive segment send.\\ \hline - \doTCC & The segment is not attributed to the current connection - and therefore no ACK\# is received. \\ \hline + \setcounter{TCC}{10} \doTCC & The ACK\# for the SEQ\# of the first segments which is corrupted is received for each consecutive segment send.\\ \hline - \doTCC & The ACK\# for the SEQ\# of the first segments which is - corrupted is received for each consecutive segment send.\\ \hline - \doTCC & The ACK\# for the SEQ\# of the first segments which is - corrupted is received for each consecutive segment send.\\ \hline - \doTCC & The ACK\# for the SEQ\# of the first segments which is - corrupted is received for each consecutive segment send.\\ \hline + \doTCC & An ACK\# of the sequence number of the last send segment + the + size of the payload of that segment.\\ \hline +% \doTCC & The segment is not attributed to the current connection +% and therefore no ACK\# is received. \\ \hline +% \doTCC & The ACK\# for the SEQ\# of the first segments which is +% corrupted is received for each consecutive segment send.\\ \hline +% \doTCC & The ACK\# for the SEQ\# of the first segments which is +% corrupted is received for each consecutive segment send.\\ \hline +% \doTCC & The segment is not attributed to the current connection +% and therefore no ACK\# is received. \\ \hline +% \doTCC & The ACK\# for the SEQ\# of the first segments which is +% corrupted is received for each consecutive segment send.\\ \hline +% \doTCC & The ACK\# for the SEQ\# of the first segments which is +% corrupted is received for each consecutive segment send.\\ \hline +% \doTCC & The ACK\# for the SEQ\# of the first segments which is +% corrupted is received for each consecutive segment send.\\ \hline +% \doTCC & The ACK\# for the SEQ\# of the first segments which is +% corrupted is received for each consecutive segment send.\\ \hline \end{tabular} \caption{Expected results of test cases} \label{tbl:testcases} @@ -334,81 +346,120 @@ described in Table~\ref{tbl:testpairs}. % verdieping Mercator -%\begin{longtable}{|p{.2\linewidth}|p{.8\linewidth}|} - %\hline - %Nr & 1 \\\hline - %Title & Single valid request with 1byte payload. \\\hline - %Input & Generated packets. \\\hline - %Expected output & Packets echoed back by Echo-Server. \\\hline - %\multirow{2}{*}{Course of action} - %& 1. Use the steps listed above in order to start the SUT. \\ - %& 2. Execute the script by running \texttt{\# code/client/tests/1.py} \\\hline - %Valid trace & Verify that the script prints 'Success'. \\\hline - %\hline -% - %Nr & 2 \\\hline - %Title & Single valid request with 65495bytes payload. \\\hline - %Input & Generated packets. \\\hline - %Expected output & Packets echoed back by Echo-Server. \\\hline - %\multirow{2}{*}{Course of action} - %& 1. Use the steps listed above in order to start the SUT. \\ - %& 2. Execute the script by running \texttt{\# code/client/tests/2.py} \\\hline - %Valid trace & Verify that the script prints 'Success'. \\\hline - %\hline -% - %Nr & 3 \\\hline - %Title & 5 valid requests with 1byte payload. \\\hline - %Input & Generated packets. \\\hline - %Expected output & Packets echoed back by Echo-Server, in the same order as the client sent them. \\\hline - %\multirow{2}{*}{Course of action} - %& 1. Use the steps listed above in order to start the SUT. \\ - %& 2. Execute the script by running \texttt{\# code/client/tests/3.py} \\\hline - %Valid trace & Verify that the script prints 'Success'. \\\hline - %\hline -% - %Nr & 4 \\\hline - %Title & 5 valid requests with 65495bytes payload. \\\hline - %Input & Generated packets with 65495bytes payload. \\\hline - %Expected output & Packets echoed back by Echo-Server, in the same order as the client sent them. \\\hline - %\multirow{2}{*}{Course of action} - %& 1. Use the steps listed above in order to start the SUT. \\ - %& 2. Execute the script by running \texttt{\# code/client/tests/4.py} \\\hline - %Valid trace & Verify that the script prints 'Success'. \\\hline - %\hline -% - %Nr & 5 \\\hline - %Title & 5 valid requests with 1byte payload sent out of order. \\\hline - %Input & Generated packets with 1byte payload, two packets are swapped in position. \\\hline - %Expected output & All requests sent up to and including - %the swapped packet with the lowest sequence number, the remaining packets are dropped. \\\hline - %\multirow{2}{*}{Course of action} - %& 1. Use the steps listed above in order to start the SUT. \\ - %& 2. Execute the script by running \texttt{\# code/client/tests/5.py} \\\hline - %Valid trace & Verify that the script prints 'Success'. \\\hline - %\hline -% - %Nr & 6 \\\hline - %Title & Request with corrupted source port. \\\hline - %Input & Generated packets with 1byte payload, in these packets the source port number is increased by one. \\\hline - %Expected output & - \\\hline - %\multirow{2}{*}{Course of action} - %& 1. Use the steps listed above in order to start the SUT. \\ - %& 2. Execute the script by running \texttt{\# code/client/tests/6.py} \\\hline - %Valid trace & Verify that the script prints 'Success'. \\\hline - %\hline -% -% - %Nr & 6 \\\hline - %Title & Request with corrupted destination port. \\\hline - %Input & Generated packets with 1byte payload, in these packets the destination port number is increased by one. \\\hline - %Expected output & - \\\hline - %\multirow{2}{*}{Course of action} - %& 1. Use the steps listed above in order to start the SUT. \\ - %& 2. Execute the script by running \texttt{\# code/client/tests/6.py} \\\hline - %Valid trace & Verify that the script prints 'Success'. \\\hline - %\hline -% -%\end{longtable} +\begin{longtable}{|p{.2\linewidth}|p{.8\linewidth}|} + \hline + Nr & 1 \\\hline + Title & Single valid request with 1byte payload. \\\hline + Input & Generated packets. \\\hline + Expected output & Packets echoed back by Echo-Server. \\\hline + \multirow{2}{*}{Course of action} + & 1. Use the steps listed above in order to start the SUT. \\ + & 2. Execute the script by running \texttt{\# code/client/tests/1.py} \\\hline + Valid trace & Verify that the script prints 'Success'. \\\hline + \hline + + Nr & 2 \\\hline + Title & Single valid request with 65495bytes payload. \\\hline + Input & Generated packets. \\\hline + Expected output & Packets echoed back by Echo-Server. \\\hline + \multirow{2}{*}{Course of action} + & 1. Use the steps listed above in order to start the SUT. \\ + & 2. Execute the script by running \texttt{\# code/client/tests/2.py} \\\hline + Valid trace & Verify that the script prints 'Success'. \\\hline + \hline + + Nr & 3 \\\hline + Title & 5 valid requests with 1byte payload. \\\hline + Input & Generated packets. \\\hline + Expected output & Packets echoed back by Echo-Server, in the same order as the client sent them. \\\hline + \multirow{2}{*}{Course of action} + & 1. Use the steps listed above in order to start the SUT. \\ + & 2. Execute the script by running \texttt{\# code/client/tests/3.py} \\\hline + Valid trace & Verify that the script prints 'Success'. \\\hline + \hline + + Nr & 4 \\\hline + Title & 5 valid requests with 65495bytes payload. \\\hline + Input & Generated packets with 65495bytes payload. \\\hline + Expected output & Packets echoed back by Echo-Server, in the same order as the client sent them. \\\hline + \multirow{2}{*}{Course of action} + & 1. Use the steps listed above in order to start the SUT. \\ + & 2. Execute the script by running \texttt{\# code/client/tests/4.py} \\\hline + Valid trace & Verify that the script prints 'Success'. \\\hline + \hline + + Nr & 5 \\\hline + Title & 5 valid requests with 1byte payload sent out of order. \\\hline + Input & Generated packets with 1byte payload, two packets are swapped in position. \\\hline + Expected output & All requests sent up to and including + the swapped packet with the lowest sequence number, the remaining packets are ropped. \\\hline + \multirow{2}{*}{Course of action} + & 1. Use the steps listed above in order to start the SUT. \\ + & 2. Execute the script by running \texttt{\# code/client/tests/5.py} \\\hline + Valid trace & Verify that the script prints 'Success'. \\\hline + \hline + + Nr & 6 \\\hline + Title & Request with corrupted source port. \\\hline + Input & Generated packets with 1byte payload, in these packets the source port Number is increased by one. \\\hline + Expected output & The Echo server will receive the packet but is not able to respond with a ACK, this will result in a connection time out. \\\hline + \multirow{2}{*}{Course of action} + & 1. Use the steps listed above in order to start the SUT. \\ + & 2. Execute the script by running \texttt{\# code/client/tests/6.py} \\\hline + Valid trace & Verify that the script prints 'Success'. \\\hline + \hline + + + Nr & 7 \\\hline + Title & Request with corrupted destination port. \\\hline + Input & Generated packets with 1byte payload, in these packets the destination port number is increased by one. \\\hline + Expected output & The packets will never reach the Echo-server resulting in a connection time-out. \\\hline + \multirow{2}{*}{Course of action} + & 1. Use the steps listed above in order to start the SUT. \\ + & 2. Execute the script by running \texttt{\# code/client/tests/7.py} \\\hline + Valid trace & Verify that the script prints 'Success'. \\\hline + \hline + + Nr & 8 \\\hline + Title & Request with corrupted source address. \\\hline + Input & Generated packets with 1byte payload, in these packets the source address is replaced with 255.255.255.255. \\\hline + Expected output & The Echo-server will receive packet and is unable to respond with a ACK resulting in a connection time-out. \\\hline + \multirow{2}{*}{Course of action} + & 1. Use the steps listed above in order to start the SUT. \\ + & 2. Execute the script by running \texttt{\# code/client/tests/8.py} \\\hline + Valid trace & Verify that the script prints 'Success'. \\\hline + \hline + + Nr & 9 \\\hline + Title & Request with corrupted destination address. \\\hline + Input & Generated packets with 1byte payload, in these packets the destination address is replaced with 255.255.255.255. \\\hline + Expected output & The packets will never reach the Echo-server resulting in a connection time-out. \\\hline + \multirow{2}{*}{Course of action} + & 1. Use the steps listed above in order to start the SUT. \\ + & 2. Execute the script by running \texttt{\# code/client/tests/9.py} \\\hline + Valid trace & Verify that the script prints 'Success'. \\\hline + \hline + + Nr & 10 \\\hline + Title & Request with corrupted payload detectable by checksum. \\\hline + Input & Generated packets with 1byte payload, in these packets one byte is increased by 1 after the checksum has been calculated. \\\hline + Expected output & The \emph{SUT} will drop packets before sending them resulting in a runtime error of the test script. \\\hline + \multirow{2}{*}{Course of action} + & 1. Use the steps listed above in order to start the SUT. \\ + & 2. Execute the script by running \texttt{\# code/client/tests/10.py} \\\hline + Valid trace & Verify that the script prints 'Success'. \\\hline + \hline + + Nr & 11 \\\hline + Title & Request with corrupted payload undetectable by checksum. \\\hline + Input & Generated packets with 1byte payload, in these packets one 16bit word is increased by 1 and an other 16bit word is decreased by 1, after the checksum has been calculated. \\\hline + Expected output & Echo-server receives the corrupted segment. \\\hline + \multirow{2}{*}{Course of action} + & 1. Use the steps listed above in order to start the SUT. \\ + & 2. Execute the script by running \texttt{\# code/client/tests/11.py} \\\hline + Valid trace & Verify that the script prints 'Success'. \\\hline + +\end{longtable} %\begin{tabularx}{\linewidth}{| l | X|} %\hline -- 2.20.1