## Homeworks and Projects

Policy: No late homeworks or projects will be accepted. Homework assignments are due in-class on the given due date. Extensions will be given to everyone in the course if necessary, so don't ask us for exceptions.

## Homeworks

 Assignment # Due Date Description 1 9/22 Solve the following problems from the book: 1.5, 1.15, 1.22, 1.32, 2.16, 2.22, 2.24, and 2.36. Each problem is equally weighted except problem 1.32, which is weighted three times the others. 2 10/6 Solve the following problems from the book: 3.3, 3.7, 3.8,3.9, 3.12, 4.2, 4.4, 4.6, 4.8. Each problem is equally weighted except 4.6, which is weighted two times the others. 3 11/3 Solve the following problems from the book: 5.9, 5.19, 5.26,5.29,5,34. All problems are equally weighted 4 11/24 Solve the following problems from the book: 6.6, 6.10, 6.16, 6.22, 6.27, 6.35, 6.38, 6.40, 6.44, 6.47 . All problems have equal weight

## Projects

There are going to be three implementation projects in this class. The projects are going to teach you how to do UNIX Network Programming. No previous knowledge of TCP/IP Programming is required, but you do need to know C/C++ and UNIX application developement (e.g. gcc, makefiles, manpages etc). You should be able to use your department UNIX account for developement but you are also free to use your home machine. The only requirement is that the code will compile on Solaris. You can also write your code on Linux as long as it compiles on Solaris. Non-CS students that do not have a UNIX account and would like to get one, should contact me. These are group projects, so you should team up to groups of 2 people. Mixed teams of CS349 and CS449 students are not allowed.

There are going to be three projects:

• The first two projects are going to introduce you to the concept of client/server programming and how to implement a simple networking protocol.
• For the last project you will actually build a simple software-based router. This router will implement the protocols that we learned in class and you will be able to test it using live traffic. For more information about this project you can look at the Stanford VNS page
 Project # Due Date Description 1 10/15, 5:00PM HiRC: a simple instant messaging service. Specifications: PDF, slides from recitation: PDF, implementation details, etc. 2 11/19, 5:00PM VNS Specifications: [.html], Topologies: [.html] 3 12/13 5:00PM Implementation of OSPF on top of VNS. PWOSPF Spefication, Stanford Page

## How to Submit your Project

Project submissions are going to be done via email. See project specifications for more details.