From 6489f129d1fb25ef5d6934d9bef7a728624791d1 Mon Sep 17 00:00:00 2001 From: Tom Marcoen Date: Thu, 16 Nov 2023 21:31:59 +0100 Subject: [PATCH] More review questions --- chapters/applications.tex | 8 ++++ chapters/ethernet.tex | 31 ++++++++++----- chapters/introduction.tex | 19 ++++++++- chapters/ip.tex | 81 +++++++++++++++++++++++++++++++++++++++ chapters/physical.tex | 9 +++++ chapters/transport.tex | 57 ++++++++++++++++++++++++++- tex/abbreviations.tex | 1 + 7 files changed, 194 insertions(+), 12 deletions(-) diff --git a/chapters/applications.tex b/chapters/applications.tex index 32eaadd..41790b5 100644 --- a/chapters/applications.tex +++ b/chapters/applications.tex @@ -202,6 +202,14 @@ \section{Review questions} \item connection-oriented services \item username and password authentication \end{enumerate} +\item + Which of the following protocols uses both \acs{TCP} and \acs{UDP}? + \begin{enumerate} + \item \acs{FTP} + \item \acs{SMTP} + \item Telnet + \item \acs{DNS} + \end{enumerate} \end{enumerate} diff --git a/chapters/ethernet.tex b/chapters/ethernet.tex index 3680d1e..acdf736 100644 --- a/chapters/ethernet.tex +++ b/chapters/ethernet.tex @@ -395,21 +395,32 @@ \section{Review questions} \end{enumerate} \item A switch that uses \acs{MAC} addresses to forward frames operates at which layer of the \acs{OSI} model? + \begin{multicols}{2} \begin{enumerate} - \item layer 1 - \item layer 2 - \item layer 3 - \item layer 4 + \item layer 1 + \item layer 2 + \item layer 3 + \item layer 4 \end{enumerate} + \end{multicols} \item Which of the following best describes the mapping between \acsp{VLAN} and \IP\ subnets in a modern switched network? \begin{enumerate} - \item one \IP\ subnet to many \acsp{VLAN} - \item one \acs{VLAN} to many \IP\ subnets - \item two \IP\ subnets to one \acs{VLAN} - \item two \acsp{VLAN} to one \IP\ subnet - \item one \IP\ subnet to one \acs{VLAN} - \item varies with the brand and model of switch + \item one \IP\ subnet to many \acsp{VLAN} + \item one \acs{VLAN} to many \IP\ subnets + \item two \IP\ subnets to one \acs{VLAN} + \item two \acsp{VLAN} to one \IP\ subnet + \item one \IP\ subnet to one \acs{VLAN} + \item varies with the brand and model of switch + \end{enumerate} +\item + You connect a host to a switch port, but the new host cannot log into the server that is plugged into the same switch. + What could the problem be? + Choose the most likely answer. + \begin{enumerate} + \item The router is not configured for the new host. + \item The host has an invalid \acs{MAC} address. + \item The switch port the host is connected to is not configured to the correct \acs{VLAN} membership. \end{enumerate} \end{enumerate} diff --git a/chapters/introduction.tex b/chapters/introduction.tex index 5f9d510..3eca65b 100644 --- a/chapters/introduction.tex +++ b/chapters/introduction.tex @@ -598,4 +598,21 @@ \section{Network icons} \end{figure} If you want to see visually very pleasing diagrams take a look at \url{https://networkdiagram101.com/}. -He creates diagrams full of technical details yet very pleasing on the eyes. \ No newline at end of file +He creates diagrams full of technical details yet very pleasing on the eyes. + + + +\section{Review questions} +\begin{enumerate} +\item + Which of the following are layers in the \acs{TCP}/\IP\ model? + Choose three options. + \begin{enumerate} + \item application + \item internet + \item session + \item transport + \item data link + \item physical + \end{enumerate} +\end{enumerate} \ No newline at end of file diff --git a/chapters/ip.tex b/chapters/ip.tex index e463527..9ed3e4f 100644 --- a/chapters/ip.tex +++ b/chapters/ip.tex @@ -1016,9 +1016,90 @@ \section{Review questions} Given the network 203.0.113.32/27, give the network address, broadcast address, and the first and last available \IP\ addresses. \item How many available or usable \IP\ addresses are there in the network 192.168.12.128/25? +\item + Which class of \IP\ addresses provides a maximum of only 254 host addresses per network \SC{ID}? + \begin{multicols}{2} + \raggedcolumns + \begin{enumerate} + \item class a + \item class b + \item class c + \item class d + \item class e + \end{enumerate} + \end{multicols} \item Given the \IP\ range 192.0.2.64/26, split this range up into four smaller blocks. Give the network and broadcast address for each of these four subnetworks. +\item + What is the maximum number of \IP\ addresses that can be assigned to hosts on a local subnet that uses the 255.255.255.224 subnet mask? + \begin{multicols}{2} + \begin{enumerate} + \item 14 + \item 15 + \item 16 + \item 30 + \item 31 + \item 62 + \end{enumerate} + \end{multicols} +\item + What is the subnetwork address for a host with the \IP\ address 200.10.5.68/28? + \begin{multicols}{2} + \begin{enumerate} + \item 200.10.5.56 + \item 200.10.5.32 + \item 200.10.5.64 + \item 200.10.5.0 + \end{enumerate} + \end{multicols} +\item + You want to implement a mechanism that automates the \IP\ configuration, including \IP\ address, subnet mask, default gateway, and \acs{DNS} information. + Which protocol will you use to accomplish this? + \begin{multicols}{2} + \begin{enumerate} + \item \acs{SMTP} + \item \acs{ARP} + \item \acs{DHCP} + \item \acs{SNMP} + \end{enumerate} + \end{multicols} +\item + You have an interfaces on a router with the \IP\ address of 192.168.192.10/29. + What is the broadcast address the hosts will use on this \acs{LAN}? + \begin{multicols}{2} + \begin{enumerate} + \item 192.168.192.15 + \item 192.168.192.31 + \item 192.168.192.63 + \item 192.168.192.127 + \item 192.168.192.255 + \item 192.168.255.255 + \end{enumerate} + \end{multicols} +\item + To test the \IP\ stack on your local host, which \IP\ address would you ping? + \begin{multicols}{2} + \begin{enumerate} + \item 127.0.0.0 + \item 1.0.0.127 + \item 127.0.0.1 + \item 127.0.0.255 + \item 255.255.255.255 + \end{enumerate} + \end{multicols} +\item + Which two of the following are private \IP\ addresses? + \begin{multicols}{2} + \begin{enumerate} + \item 25.7.0.1 + \item 172.33.194.4 + \item 169.172.19.93 + \item 172.19.25.54 + \item 192.168.77.12 + \item 203.0.113.7 + \end{enumerate} +\end{multicols} \end{enumerate} \section{Guided exercises} diff --git a/chapters/physical.tex b/chapters/physical.tex index 2665e9b..5bfe0f3 100644 --- a/chapters/physical.tex +++ b/chapters/physical.tex @@ -372,6 +372,15 @@ \section{Review questions} \item \SI{1000}{\mega\bit\per\second} \item \SI{100}{\mega\bit\per\second} \end{enumerate} +\item + You want to implement a network medium that is not susceptible to \acs{EMI}. + Which type of cabling should you use? + \begin{enumerate} + \item thicknet coax + \item thinnet coax + \item category 5 \acs{UTP} cable + \item fibre-optic cable + \end{enumerate} \end{enumerate} \section{Further reading} diff --git a/chapters/transport.tex b/chapters/transport.tex index 6983917..62e7521 100644 --- a/chapters/transport.tex +++ b/chapters/transport.tex @@ -240,6 +240,31 @@ \section{\acl{TCP}} +\section[Other transport protocols]{Other transport protocols\protect\marginsymbol} + +\acs{TCP} and \acs{UDP} are not the only protocols that operate at the transport layer. +The \acf{SCTP} is a protocol used in telecommunications and supports multihoming. + +\SC{QUIC}% + \footnote{The name was initially proposed as the acronym for \emph{quick \acs{UDP} Internet connections} but the \acs{IETF}'s use of the word is not an acronym.} +is a general-purpose transport layer protocol initially designed by Jim Roskind at Google. +\SC{QUIC} aims to be nearly equivalent to a \acs{TCP} connection but with much-reduced latency. +It does this primarily through two changes that rely on the understanding of the behaviour of \acs{HTTP} traffic. + +The first change is to greatly reduce overhead during connection setup. +As most \acs{HTTP} connections will demand \acs{TLS}, \SC{QUIC} makes the exchange of setup keys and supported protocols part of the initial handshake process. +When a client opens a connection, the response packet includes the data needed for future packets to use encryption. +This eliminates the need to set up the \acs{TCP} connection and then negotiate the security protocol via additional packets. +Other protocols can be serviced in the same way, combining multiple steps into a single request-response pair. +This data can then be used both for following requests in the initial setup, as well as future requests that would otherwise be negotiated as separate connections. + +The second change is to use \acs{UDP} rather than \acs{TCP} as its basis, which does not include loss recovery. +Instead, each \SC{QUIC} stream is separately flow controlled and lost data is retransmitted at the level of \SC{QUIC}, not \acs{UDP}. +This means that if an error occurs in one stream the protocol stack can continue servicing other streams independently. +This can be very useful in improving performance on error-prone links, as in most cases considerable additional data may be received before \acs{TCP} notices a packet is missing or broken, and all of this data is blocked or even flushed while the error is corrected. +In \SC{QUIC}, this data is free to be processed while the single multiplexed stream is repaired. + + \section{Load balancing} \fxwarning{Write something about load balancing.} Load balancing is the process of distributing a set of tasks over a set of resources (computing units), with the aim of making their overall processing more efficient. @@ -253,6 +278,31 @@ \section{Review questions} A computer wants to set up a secure \acs{HTTP} connection with a web server. What are the source and destination port numbers? Will this connection use \acs{TCP} or \acs{UDP}? +\item + A receiving host has failed to receive all of the segments that it should acknowledge. + What can the host do to improve the reliability of this communication session? + \begin{enumerate} + \item Send a different source port number. + \item Restart the virtual circuit. + \item Decrease the sequence number. + \item Decrease the window size. + \end{enumerate} +\item What is the purpose of flow control? + \begin{enumerate} + \item To ensure that data is retransmitted if an acknowledgement is not received. + \item To reassemble segments in the correct order at the destination device. + \item To provide a means for the receiver to govern the amount of data sent by the sender. + \item To regulate the size of each segment. + \end{enumerate} +\item + Which layer 4 protocol is used for an \acs{SSH} connection? + \begin{enumerate} + \item \IP + \item \acs{TCP} + \item \acs{TCP}/\acs{IP} + \item \acs{UDP} + \item \acs{ICMP} + \end{enumerate} \end{enumerate} @@ -263,7 +313,12 @@ \section{Guided exercises} \section{Practice questions} \label{sec:transport-practice-qu} - +\begin{enumerate} +\item + Use Wireshark to make a capture of a \acs{TCP} session and observe the three-way handshake. +\item + Capture a few three-way handshakes for different protocols (e.g.~an \acs{HTTP} session, an \acs{SSH} session and an \acs{FTP} session) and compare the different \acs{TCP} options used. +\end{enumerate} diff --git a/tex/abbreviations.tex b/tex/abbreviations.tex index c690789..5c75f51 100644 --- a/tex/abbreviations.tex +++ b/tex/abbreviations.tex @@ -141,6 +141,7 @@ \newabbreviation{RTT}{RTT}{round-trip time} \newabbreviation{SAN}{SAN}{storage-area network} \newabbreviation{SBC}{SBC}{single-board computer} +\newabbreviation{SCTP}{SCTP}{Stream Control Transmission Protocol} \newabbreviation{SFP}{SFP}{Small Form-factor Pluggable} \newabbreviation{SFP+}{SFP+}{Small Form-factor Pluggable Plus} \newabbreviation{SFTP}{SFTP}{\acs{SSH} File Transfer Protocol}