Assignments

Sort by:

Homework 2: DNS resolution

Due date: Feb. 8, 2019 start of class

In this homework, we talk to the global domain name system to resolve domain names into IP addresses. Some good domain names to try, which you definitely will be tested on. Additional domains…

Homework 3: a relay chat server

Due date: Mar. 1, 2019

Given an existing chat node program (this was the topic of a cs450 homework in an earlier year), your job is to extend it to support multiple nodes. Clients connect to a nearby…

Homework 4: a reliable transport protocol (part one)

Due date: Mar. 15, 2019 start of class

In this homework, we implement a reliable transport protocol over an unreliable link. Setting Up Network Emulation We’ll use the netem facility of Linux traffic control to create an artificially high-latency, slow, lossy…

Homework 5: a reliable transport protocol (part 2)

Due date: Apr. 8, 2019 start of class

Starting with either your Homework 4 solution, or the student-provided Homework 4 solution provided (here), this assignment extends the solution to improve throughput (by implementing a transmission window, rather than a single outstanding…

Homework 6: A raw socket ping tool

Due date: Apr. 29, 2019

In this homework, we use Linux raw sockets to implement a network diagnostics tool similar to ping. You may use any language that compiles to a binary file. You may use this resource as…

Bonus Homework: A Network Snarf Tool

Due date: May. 6, 2019 8 am

This is a bonus homework for extra credit. It counts toward the 50% homework course credit, as much as other homeworks. However if you already completed the previous 6 assignments successfully, doing this…