Course Syllabus
Spring 2007
This course is an introduction to Computer Networking covering basic networking architectures, algorithms, and protocols. In particular, it will focus on the 7-layer OSI model and the TCP/IP reference model. This course will discusss, with respect to these models, how data is transferred across a network, how networking protocols allow for open networks and which piece of the model is responsible for each bit of functionality.
Network libraries (BSD Socket Interface) | Security |
OSI Model | Internetworking |
TCP/IP Model | Application Protocols (HTTP/SMTP/DNS/DHCP) |
TCP Protocol | Internet Protocol (IP) |
Routing Algorithms | User Datagram Protocol (UDP) |
Congestion Control | The End-to-end Principle |
Grade Breakdown |
Percent Breakdown |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
This course will contain a set of significant programming projects to allow students to gain experience using the networking libraries and to understand how the TCP/IP protocol works. Most of the later programming assignments in this course will build on functionality implemented in previous assignments. Quality solutions to the early assignments are the key to success.
All programming assignments must work on zeus to receive any credit. I will not accept any Visual Studio projects. You may program on Windows using a Unix compatibility suite (see Cygwin below). The last project of the semester will use the CISCO routing equipment to explore what can be done on the network router. All projects are individual projects, do not allow any other student see your source code.
The cheating policy is defined in Pacific Stuff & the Pacific Catalog as well as the Academic Policy that each of you signed upon entering Pacific University. Be sure you read or reread this policy carefully. All code written for our course is to be an original design and an original implementation. The Web, textbooks, and any other references are simply references for you. Copying source code from any source is prohibited.
Further, source code is not to exchange hands in any form or by any medium except when sending your solutions to the instructor. It is OK to share high level ideas during the design phase, share information dealing with OS issues, debugger issues, in general, development issues that do not involve code writing.
Specific solutions to homework problems should not be discussed with any other students. The solutions should be an individual effort unless otherwise specified on the assignment. As with coding, high level concepts can be discussed. However, do not discuss specific homework problems or solutions.
If you have any question as to whether or not what you are about to do constitutes cheating, ask the instructor.
Computer Networks, 4th Edition, Tanenbaum, online resources (http://authors.phptr.com/tanenbaumcn4/)
RFC Editor (http://www.rfc-editor.org/)
HTTP/1.1 (http://www.ietf.org/rfc/rfc2616.txt)
Web Sniffer (http://web-sniffer.net/)
"A protocol for packet network intercommunication", Cerf, Kahn (http://portal.acm.org/citation.cfm?id=1064423)
A TCP/IP Tutorial - RFC 1180 (ftp://ftp.rfc-editor.org/in-notes/rfc1180.txt)
User Datagram Protocol - RFC 768 (http://www.ietf.org/rfc/rfc0768.txt)
Computing the Internet Checksum - RFC 1071 (http://www.ietf.org/rfc/rfc1071.txt)
The Secure Shell Protocol Architecture (ftp://ftp.rfc-editor.org/in-notes/rfc4251.txt)
IP QOS (http://www.ciscopress.com/content/images/chap01_1578701163/elementLinks/1578701163.pdf)
IEEE 802 (http://www.ieee802.org/)
TCP/IP (http://en.wikipedia.org/wiki/Tcp/ip)
Smashing The Stack For Fun And Profit (http://insecure.org/stf/smashstack.html)
End-to-end Arguments in System Design (http://web.mit.edu/Saltzer/www/publications/endtoend/endtoend.pdf)
JFLAP (http://www.jflap.org)
Subversion (http://svnbook.red-bean.com/nightly/en/svn-book.html)
SSH (http://kimmo.suominen.com/docs/ssh/)
TCP SYN Flooding Attacks and Remedies (http://www.networkcomputing.com/unixworld/security/004/004.txt.html)
Cygwin (http://www.cygwin.com)
Pthread Support in Microsoft Windows Services for UNIX (http://www.microsoft.com/technet/interopmigration/unix/sfu/pthreads0.mspx)
Pthreads-WIN32 (http://sourceware.org/pthreads-win32/)
CVS (http://www.cvshome.org)
Where Wizards Stay Up Late: The Origins of the Internet, Hafner, (ISBN13: 9780684832678)
TCP/IP Illustrated, Volume 1: The Protocols, Stevens, (ISBN13: 9780201633467)
The Cathedral and the Bazaar (http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/)
Instructor Details |
Course Basics |
||
Professor | Chadd Williams | Course Title | CS360 Special Topics: Computer Networking |
chadd@pacificu.edu | Meeting Times | TTH 1:00 - 2:15 pm | |
Office | Strain 202 | Location | PT 204 |
Phone | (503) 352-3041 | Textbook | Computer Networks, 4th Edition, Tanenbaum |
Office Hours | Monday 11:00 - Noon | Website | http://zeus.cs.pacificu.edu/chadd/cs360s07 |
Tues 3:00 -4:00 PM | Official Clock | http://time.gov/timezone.cgi?Pacific/d/-8/java | |
Fri 10:00 - Noon | Final Exam | Monday, May 14 3:00 PM to 5:30 PM | |
and by appointment |
Midterm | March 8 |
Midterm | April 17 |
Final | May 14 |
This class has benefited from networking classes taught at other universities: