Problem 2

Question 1 (5 points)
  • 1 point for each of the 3 large subnets.
  • 0.5 points for each of the 4 smaller subnets.
  • If an allocated IP prefix is not minimal (but does not overlap with any other), the student loses half the points for that prefix (so, gains 0.5 or 0.25 points, depending on which IP subnet we are talking about).
  • If an allocated IP prefix overlaps with another one, no points for that prefix.
Question 2 (8 points)
  • 0.5 points per correct entry.
  • No points if an entry has incorrect src/dst MAC/IP or incorrect application/purpose.
  • If an entry has incorrect transport protocol or src/dst port number, half the points.
Question 3 (5 points)
(a)
  • 1 point for correct routing to the 3 big subnets.
  • 1 point for correct routing to the 4 smaller subnets.
  • It is ok if the entries are merged, no points are deducted.
  • No points are awarded if either field of an entry is incorrect.
  • Wrong subnets from Q1 are considered correct as long as they stay consistent.
(b)
  • 1 point for correct routing to the 4 subnets affected by the cut.
(c)
  • 1 point for showing (in any way) that the subnet between R1 and R2 is unreachable.
Question 4 (5 points)
(a)
  • 1/6 point per correct entry.
  • Half the points per entry if they use the same port for UDP and TCP.
  • Unless they explain, no points if the ports from Q2 are the same.
  • No points if there is any mistake in the entry.
(b)
  • 1 point per correct entry.
  • No points for an entry if any field is incorrect.
  • If the student only describes the state (correctly) but shows no entries (or shows wrong entries), then 0.5 points.
Question 5 (2 points):
(a)
  • 0.5 points for saying no.
  • 0.5 points for explaining why.
(b)
  • 1 point or saying yes.
  • 2 points for saying that the number of connections is determined by the size of the port-number field. Any other explanation does not get points.

Problem 3

Question 1:
  • 0.5 points for correctly generating the ACK numbers.
  • 0.5 points for sending the first 4 segments back to back.
  • 1 point for increasing the window correctly when the first 3 ACKs arrive, and sending the next 4 segments correctly.
  • 1 point for timing out at the right moment, resetting the window, and retransmitting segment 3 at the right moment.
  • 0.5 points for setting ssthresh correctly after the timeout. If their window size is incorrect, the points are assigned as long as the ssthresh is correctly computed.
  • 0.5 point for increasing the window correctly when the new ACK arrives and sending segments 9 and 10.
  • 1 point for transitioning to congestion avoidance at the right moment, setting the window correctly, and transmitting segments 11 and 12.
Question 2:
  • 5 points for correctly generating the ACKs and increasing the window only for new ACKs.
  • If they increase the window for ACK 1, -1 point. If they incorrectly increase the window with duplicated ACKs, -1.5 every time.
  • If they incorrectly increased the window but correctly generated the ACKs, 1 point.
Question 3:
  • 1 point for saying that the attack won’t succeed because TCP will reorder the segments.
  • Mitigation: 
  • 4 points for fixing the attack by modifying sequence numbers and checksums.
  • 3 points for modifying the sequence numbers (but not the checksum).
  • 2 points for explaining the mitigation without explicitly mentioning sequence numbers. 
Question 4:
(a)
  • 1 point for saying that the C-D communication will affect the A-B communication.
  • 1 point for stating the reason why it affects: e.g. because they share the same bottleneck, there will be queuing/loss in the left router, etc.
(b)
  • 4 points for using the delay as a way to detect that Alice started sending.
  • 1 point for any solution that requires out-of-band information (i.e. Céline just "knows" that Alice started sending).
  • 0 points for any solution that requires Céline to experience loss before backing off.

Last modified: Monday, 5 June 2023, 15:01