Skip to content

Commit

Permalink
More review questions
Browse files Browse the repository at this point in the history
  • Loading branch information
Tom Marcoen committed Nov 16, 2023
1 parent ce016dd commit 6489f12
Show file tree
Hide file tree
Showing 7 changed files with 194 additions and 12 deletions.
8 changes: 8 additions & 0 deletions chapters/applications.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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}


Expand Down
31 changes: 21 additions & 10 deletions chapters/ethernet.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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}

Expand Down
19 changes: 18 additions & 1 deletion chapters/introduction.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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.
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}
81 changes: 81 additions & 0 deletions chapters/ip.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
9 changes: 9 additions & 0 deletions chapters/physical.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
57 changes: 56 additions & 1 deletion chapters/transport.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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}


Expand All @@ -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}



Expand Down
1 change: 1 addition & 0 deletions tex/abbreviations.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down

0 comments on commit 6489f12

Please sign in to comment.