CSS 432: Network Design - Assignments
Language
We use C/C++ for all programming assignments.
Operating Systems
The operating system used for all assignments is Linux
(UW1-320).
By the first lecture of this course, your Linux account will be set up
to use. You should also be able to enter UW1-320 Linux Laboratory with
your student ID card. The following contact points are available if
you have any problems on your Linux account:
- Meryll Larkin
<MLarkin@uwb.edu>, the UWB Linux administrator sets up your
Linux account if it has not yet been created. If you have an account
but have forgotten your password, you should visit him in the IS
office or UW1-337.
- Dina
Meske<dinam@u.washington.edu>, our CSS counseling services
coordinator helps you enter UW1-320 with your ID card if it does not
unlock the laboratory entrance.
Here is a procedure to log on one of the Linux machines and upload
your files:
- To log on any of LAB320 machines, use ssh and establish a
connection to one of uw1-320-00.bothell.washington.edu ~
uw1-320-31.bothell.washington.edu.
Note that
uw1-320-00 ~ uw1-320-15 are connected to a 100Mbps
network, while uw1-320-16 ~ uw1-320-31 connected to a
1Gbps switch.
- To transfer files to the LAB320 file server
- Use sftp and establish a connection to
metis.bothell.washington.edu, or
- Use scp at a LAB machine, so that files are copied from the
outside to the LAB320 machine. The following example copies a file
"file.java" from goodall to a LAB machine.
scp mfukuda@goodall.u.washington.edu:file.java .
Socket Ports
As your own socket port, you should use the last five digits of your
student ID. Do not use other ports than your own port.
Assignments
- Program 1: exercises basic TCP
communication and evaluates its performance over 1Gbps networks.
- Program 2: implements the sliding window
algorithm and evaluates its performance improvement over 100Mbps and
1Gbps networks.
- Program 3: analyzes several TCP aspects
such as state transition, Nagle's algorithm, additive increment, and
slow start, using tcpdump, ttcp, netstat, and strace.
- Program 4: analyzes the hostent data
structure that is related to DNS.
- Final project: builds an ftp client
program.
Submissions
- Each assignment sheet specifies what to turn in. Programming
assignments 1, 2, 3, and 4 requires only a hard copy to be turned in,
while the final project needs both a hard copy and a soft copy.
- Assignments are due at midnight on the assigned due date. No matter the
circumstances, it is always best to turn in something.
Grading
Your report will be graded based on the grading criteria shown
in each assignment sheet.