CSCI 434/534: Network Systems and Design
Spring 2008
Meetings: Small 102, TH 2-3:20
Instructor: Prof. Bruce Lowekamp (lowekamp@cs.wm.edu)
Office: McGlothlin-Street 134
Office Hours: T 3:30-5:30 H 12-2 or send email or IM
TA: TBA
TA Office: TBA
TA Office hours: TBA
TA and Professor Email: cs434@cs.wm.edu
Final Exam: Wednesday, April 30, 1:30PM
Web Page: http://www.cs.wm.edu/~lowekamp/classes/434-S08
Catalog Description
The Internet; principles and design of network applications,
including web servers and multimedia; transport, network, and data
link layers; network security; network performance evaluation and
capacity planning
More Information
This course provides an introduction to the fundamental computer
science issues in the design and operation of computer networks.
Topics will include network applications, end-to-end transport
protocols, network routing, and link-layer protocols. Security will
be emphasized throughout the course. As the driving forces in the
evolution of networking, web and multimedia examples will be used to
evaluate network designs. We will cover P2P and web
services, two of the new concepts driving networking development today.
This course is designed to provide a
balance between theory and practice. Although the goal of this course
is not to teach network programming, significant programming projects
will be required.
Texts
Computer Networking: A Top-Down Approach Featuring the Internet,
3rd or 4th ed, Kurose and Ross.
Course slides will be distributed with the lectures.
Optional Texts
Learning Java, 3rd ed, Niemeyer and Niemeyer
Professor Noonan also maintains
a Java
tutorial and reference locally.
Homework Assignments
Homework 1
Homework 2
Homework 3
Homework 4
Homework 5
Homework 6
Homework 8
Homework 9
Homework 10
Exam Review
There will be four projects during the semester. The first two will
be relatively short-term projects designed to provide an introduction
to networking protocols and applications. The final two projects will
involve implementing a significant portion of the an Internet
protocol. All projects will be implemented in Java. 434 students
will be able to work in pairs for the projects. 534 students will
work individually.
Homework
Short weekly homework assignments will be given
and graded. The intention of the homework is to provide a 30 minute
practice reviewing the important concepts covered during the week's
lectures.
Grading
- Homework: 10%
- Programming Projects (4): (7.5%, 7.5%, 15%, 15%): 45%
- Midterm: 20%
- Final: 25%
The above weights and assignments are subject to change.
The course projects and exams are designed to be challenging, but
fair. Final grades are "curved" to reflect the difficulty
of the assignments. The grades will be assigned separately for 434
and 534 students.
For projects submitted late, 20% will be deducted from the grade
per day. (The number of days
will be from the initial due
date, rounded up.)
Honor Code
The usual Honor Code rules apply to this course. Assignments for this
course are individual or pair assignments, unless specified otherwise. You
may discuss your general approach toward a problem with other
students, as well as general programming or Linux questions, but the
design and implementation of your project must be your own work.
The Honor Code is taken seriously in this course. In particular,
programming assignments are checked both manually and automatically
for evidence of cheating. ALL cases of cheating will be dealt with
according to the Honor Code.
Topics
- Introduction
- What is a network?
- Protocols and standards
- Network protocol stack/Reference models
- Application Layer
- Delivery vs content
- Socket Programming in Java
- Application Protocols
- Application design principles
- HTTP/DNS/RPC/P2P/multimedia
- Real-world web caching: Akamai
- Security (K&R Chapter 8)
- What is security?
- Private keys, public keys
- Securing email and the web
- Practical security
- Distributed Systems (no text)
- Web Services
- Peer to Peer
- Transport Layer
- Services from transport layer
- Connectionless transport
- UDP
- Designing reliable protocols
- TCP
- RPC - non TCP protocols
- Network Layer
- Forwarding and Routing
- Routers
- Transport redux: Vegas, RED, and rate-based TCP
- IP structure
- CIDR and Hierarchical routing
- Routing algorithms
- IPv6
- Multimedia
- Requirements, QOS
- Multicast
- Admission control
- Differentiated services
- SIP, SDP, and VoIP
- Link Layer
- Link technologies
- Error control
- Access
- Ethernet, hubs, bridges, and switches
- Wireless
- Hidden terminals
- 802.11
- Mobile IP
- WEP