- co-instructor: Madhusudhan Govindaraju, firstname.lastname@example.org
- Associate Instructor
- Jue Qian
Ashraf Khalil email: email@example.com
Instructor: Tues 3:00-4:00
- B538: Ashraf Khalil: M,W 10-11, LH 120
- B538: Ying Liu: Tues 9:30-11:30, LH 201H
- B438: Jue Qian: Monday 10:30am-11:30am and 2:30pm-3:30pm
This course is about Networks. Two thirds of the course will be devoted to
basic Network technology including the TCP/IP protocol stack, the associated
protocols used in internet routing and security protocols. The remaining third
will cover assorted advanced topics. We will follow the excellent text by
Peterson and Davie for the networking component of the course. Assignments
will include problems from the end of the chapters as will as several programming
projects. For the last part of the course we will work with other software
systems and the readings will be from an assortment of papers.
- Network Hardware technology: ethernet, fddi, sonnet, atm, wireless
- Network Protocols including link level, IP, ARP, TCP, UDP, etc.
- Wide Area Networks: Internet routing - IPV6, RIP, OSFP, BGP, etc
- Data compression and security.
- Overlay and Peer-to-Peer Networks.
For an interesting look at the history of the internet, go
. To see the current state of Abilene look at the NOC
. The interactive
is also very interesting. Also see the campus
pages. the "advanced networks" section has some good stuff in it about switches
and dhcp you should read.
- Larry Peterson and Bruce Davie Computer Networks:
A Systems Approach Morgan Kaufmann, Second Edition
I will be posting addition materials in this section.
Week 1-2 Course Introduction and Basics
Week 3-4 Direct Link Networks & Packet Switching
Week 5-6 Reliable Streams and TCP
Week 7-8 Internetworking and Routing Architecture
Week 9 IP Basics
Week 10-11 Router Design and more on IP, DHCP, VPN, Nats & Firewalls
Week 12-13 Wide-area Internet Routing
Week 14 Data Compression and Security Basics
Week 15 Authorization and Authentication
Week 16 Additional APIs for java.
This course will have both programming projects and
homework assignments from the text.
For B538 there will be four programming
projects. Please use the following link to
get to vincent in order to submit your assignments.
This link above for all student, graduate and
undergraduate. If you are undergraduate student please
choose "assign1-B438" as the
assignment to submit. If you are graduate student
please choose "assign1-B538" as the assignment to
Please send only One .tar.gz file for every assignment.
For example, if you have file1.java and file2.java, the
unix commands below will result in
a file named assignment1.tar.gz
tar cvf assignment1.tar file1 file2
The programming projects are:
1. Simple Client-Server. Complete specifications
2. A TCP-like file transfer program.
- The project description for the first part can be found
- The project description for the second part can be found
3. A simple push-pull news client and server.
Material!) A revision of the news client to support basic
security. The preliminary tar file with the security demos can be
This will be replaced by other, more
tools will follow in the next few weeks.
The basic description of the project requirements are
B438 students will do 3 projects: project 1 and their choice of 2
out of the remaining 3.
Project 1 will be done by each student individually. Students can work on
projects 2, 3 and 4 individually or in teams of two people. Projects done be two person teams will be
expected to be twice
as good as projects done by an individual. For example, they will
have better documentation and user interface. Each project will be
graded by one of the teaching assistants and will involve a demo and
In addition there will be homework assignments from problems at the
end of the book chapters.
The lecture notes are based on Larry Peterson's lectures from Princeton
and Arizona and material that I have added here and there. The modified
notes presented in class will be presented here. Do not expect them to
be there sooner than two weeks after the lecture.
The course newsgroup,
, will be used to post announcements about assignments, exams, and any exceptions
to our usual office hours. You are also encouraged to use it to post questions
related to the course or share related information with the class. Make a
habit of looking for new notes a few times each week.
On individual matters, please feel free
to contact your instructor or associate instructor via email.
- 70% -- Homework and Projects
- 30% -- Exams (closed book, in-class final),
An incomplete (I) final grade will be given only by prior arrangement in exceptional
circumstances conforming to university and departmental policy in which the
bulk of course work has been completed in passing fashion.
With the exception of projects 2, 3 and 4, all work must be an
individual effort. This includes homework assignments.
Failure to follow this rule will results in a failure for the