CS 725/825 Computer Networks, IT 725 Network Technology
Assignment 5
Due: Wednesday, December 3, 2025, 2:10 pm (start of the class)
Problems:
- (30 points) Consider the network in the figure below consisting of routers (R1 - R5) and L2 subnets. Router interfaces are labeled with uppercase letters, thick lines labeled with a prefix denote the L2 networks. All links have an equal weight/cost. Assume that router R5 is initially down.
- The network runs a distance vector routing protocol and that has converged (all routers have correct routes for the reachable subnets). Fill the routing tables of each router so that every subnet as well as the default gateway are reachable from any place on the network. Do it with the smallest number of entries in the routing tables. For simplicity, assume that a routing table entry consists of a prefix and the local interface on which the packet needs to leave the router (e.g., in R1 you will have entry 132.177.3.0/24 -> B, meaning any packet routed by R1 and destined to subnet 132.177.3.0/24 will be sent out on R1's interface B).
- R5 is then brought up. Show the stages of the distance vector routing protocol by which R5 populates its routing tables and steps by which other routers learn about R5 and the L2 network connected to it.
- (20 points)
- Outline the format of a QUIC packet.
- Describe the steps involved in establishing a QUIC connection between a client and a server. Highlight the differences between QUIC and TCP+TLS handshake.
Programming assignment:
- (50 points)
- (50 extra credit points)
Redo the programming part of the previous assignment. Especially focus on the experiments that you conduct and the conclusions that you make. If you are content with your Assignment 4 submission, just note that in the submission of this assignment and you will receive the same grade.
The goal of the extra credit programming project is to experiment with network throughput testing under varying network conditions. To this end, you are asked to design a simple tool to measure the sustained throughput of a TCP connection running over a given network. You are free to design the tool in any way you want; however, it must not be implemented as a simple wrapper over an existing tool. You will need to write both the client and the server side of the tool.
Use the four links that connect network interfaces enp2s0fx, with IP addresses 10.2.x.1 on rb1 and 10.2.x.2 on rb2, where x=0...3). Each of the links is configured so that the traffic experiences different impairments and, therefore, different TCP throughput.
Use the industry-standard utilities (netperf/netserver, iperf, or iperf3) to compare and verify the results obtained from your tool. The comparison of measurements obtained using those and your tool is one of the key deliverables of this assignment.
Submission instructions:
Upload your submission as a single PDF file using myCourses (mycourses.unh.edu). Any source code used in the assignment must be committed to the course Git repository. More details can be found in the standard assignment submission instructions.