This page will be removed on August 6th 2026. Please update your links to refer to https://esb.ics.hawaii.edu/2002spring.ics651/index.html instead.
Computer Networks, ICS 651
This page is
http://www2.ics.hawaii.edu/~esb/2002spring.ics651/index.html
Note: This is the 2002 page. The 2003 page is
here
This is subject to change without notice -- please reload it in your
browser if there is an item that might affect you that may have changed.
Office is in POST 311B, telephone (808)956-3891, e-mail esb@hawaii.edu. Office hours
are:
- Monday and Thursday 11am-12noon in my office, POST 311B, phone
956-3891. If I have to travel or otherwise miss a scheduled office
hour, I will send mail to the mailing list. There are no office hours
on holidays.
- I will do my best to reply to email within 24 hours except
on Fridays and weekends.
- Send me email or call me to arrange an appointment. If you send
email, please suggest a time to meet on each of at least two different
dates.
- If you can find me in my office, ask me if I am busy, and I will
let you know if I am available to talk at that time.
todo
Goals
In this course, students will:
- learn about computer networking, focusing on the fundamental
design principles of computer networks and protocols.
- study networks of practical importance, including ATM,
the Internet, and TCP/IP.
- learn to understand and design network protocols.
Organization
Lectures are Tuesdays and Thursdays, 1:30-2:45 in Kuykendall 209.
This course has homework assignments, projects, reviews, and exams.
The homeworks are not graded, though you may turn them in if you
wish to have them checked or if you have questions. Reviews are also
not graded.
All students are required to join the course mailing list -- to
join, send email to listproc@hawaii.edu, with
no subject (and no .signature!), and as contents:
subscribe ics651-l@hawaii.edu your name
where you should use your actual name (up to 4 words) in place of
"your name". Please only send email FROM your
hawaii.edu account -- the account from which you send the
subscribe request is the account that will be subscribed. I will
review the list and remove anyone who is subscribed from outside the
hawaii.edu domain or who is not registered for the class.
See here if
you need help accessing your email on your hawaii.edu
account.
I send email to the mailing list with announcements and such. The
mailing list may also be used for class-wide discussion on topics
relevant to the course. You should feel free to initiate such
discussion.
Grades are assigned based on your performance on:
- three major projects, each worth 20% of the grade (total 60%)
- 3 exams and one final, each worth 10% of the grade (total 40%)
A cumulative score of 90% will guarantee an A in the course, 80% a
B, 60% a C, and 50% a D. Depending on the performance of the class as
a whole, I may or may not grade more generously (i.e. grade on a
curve). However, I expect to assign grades based on your performance
on projects and exams. In grading, I will be looking for evidence of
understanding of the material and evidence of your ability to do work
in the field. Projects must be turned in on time. You must do well
in the projects to do well in this class. Exams may be taken early,
if requested at least two weeks before the scheduled time.
Any homeworks will not affect the final grade, so turning them in
is optional. I do, however, recommend that you do them.
Participation (electronic and in class) is likewise highly recommended
but does not affect your grade.
The first and second project must be done individually. The third
project may be done individually or in teams of your choosing, up to a
maximum of three students. For the first two projects you must
use the C language, the third project may be in any language supported
by uhunix2.
The textbook is "Computer Networks -- A Systems Approach", by
Peterson and Davie (2nd edition). The textbook is available from the
UH bookstore.
I may also make notes available during the course.
Cheating Policy: any cheating will result in a grade of 0
for the assignment or exam the first time it is detected, and a grade
of F for the course for any subsequent instance. There is to be no
collaboration whatsoever on homeworks, projects, or exams (you may
study together, but anything you turn in, must be entirely your own
intellectual contribution). This applies to the entire group in the
case of group projects.
Tentative Schedule
This schedule is subject to change.
Lectures notes are in HTML. I usually post notes no later than the
day before the lecture.
This schedule is loosely based on the same course taught in the Fall 2000.
If you wish to look ahead, please refer to that course, since the broad
outline of the two courses is very similar.
- Introduction, APIs, and Applications.
Notes for this section.
- Jan 15.
Course overview. Overview of networking. Classes of applications.
Materials Covered:
- introductions
- course overview
- What is Networking?
- What is interesting about Networks?
- Classes of applications
- Homework 1 assigned, due January 22nd
- Jan 17.
Sockets Application Programming Interface. A simple
packet network.
Materials Covered:
- Unix Sockets API
- Winsock API
- implementation strategies
- SLIP
- Jan 22.
Internet naming and addressing. DNS and requirements for
a DNS implementation.
Materials Covered:
Project 1 assigned, due February 12th.
- Internet Protocol, Routing, Protocol Implementation.
Notes for this section.
- Jan 24.
The IP header.
Materials Covered:
- Jan 29.
Packet forwarding, routing, and local configuration.
IP address structure, CIDR.
Fragmentation and reassembly. Packet networks and multiplexing.
Materials Covered:
- IP packet forwarding
- routing function
- IP addressing
- local configuration
- fragmentation
- Jan 31.
Reassembly, Routing: Distance-Vector, Link-State, ICMP.
Materials Covered:
- reassembly
- Routing:
- Distance Vector
- Link State
- ICMP
- Feb 5.
Routing: RIP, OSPF, BGP, MPLS, routing implementation.
Materials Covered:
- ICMP
- Broadcasting
- Internet Routing:
- Routing Protocol Implementation
- Feb 7.
Implementation: routing protocols, layering, upcalls,
device drivers. Network Adapters.
Materials Covered:
- Internet Routing:
- BGP (RFC 1771)
- MPLS (RFC 3031)
- Routing Protocol Implementation
- Layering
- Architecture
- Network Devices
- Device Drivers
- Feb 12.
Device Drivers, IPv6.
Materials Covered:
- Device Drivers
- IP version 6
- Path MTU discovery
- Internet checksum
Feb 14.
Exam 1, covering all the material up to now.
- Transport layer, Transmission Control Protocol, Error Detection and
Retransmission, Flow and Congestion Control
- Feb 19.
TCP connection management: establishment, close, reset. ATM
connection setup.
Materials Covered:
- Overview of TCP
- TCP connection management.
- TCP 3-way handshake
- TCP close
- TCP reset
- ATM setup
- Feb 21.
Reliable Transmission. Sliding windows for Flow Control.
Bandwidth-delay product.
Materials Covered:
- TCP reset
- ATM setup
- Reliable Transmission
- Sliding Window for Flow Control
- Bandwidth-Delay product
Project 2 assigned, due March 24th.
- Feb 26.
Streams and TCP. TCP header. Understanding sample
tcpdump traces.
Materials Covered:
- Sliding Window for Flow Control
- Bandwidth-Delay product
- TCP streams and push
- TCP header
- tcpdump
- Feb 28.
Demultiplexing and error detection. UDP and datagrams.
Materials Covered:
- TCP header
- tcpdump
- Error Detection
- User Datagram Protocol
- Demultiplexing
- Mar 5.
CRCs -- guest lecture by Wes Peterson.
Copies of the original CRC paper (1961) are available from the instructor,
please pick up before the lecture if possible. Also review pages 92-101
in the book, preferably before the lecture.
- Mar 7.
Congestion control: TCP Reno, TCP Vegas, other ways
(including router intervention) of detecting and addressing
congestion.
Queueing disciplines and fairness.
Materials Covered:
- Demultiplexing
- congestion collapse
- TCP Reno
- TCP Vegas
- other ways of detecting congestion
- addressing congestion
- router intervention
- packet scheduling
- FIFO queueing
- Fair queueing
Mar 12.
Exam 2, covering all the material since Exam 1.
- Lower layer, Wireless, Ethernet, Learning Bridges, Switches
- Mar 14.
Wireless Communications, Aloha, 802.11, wireless sensor networks.
Materials Covered:
- packet scheduling
- FIFO queueing
- Fair queueing
- Wireless Medium: Broadcast
- Aloha
- 802.11
- Wireless sensor networks
- Mar 19.
Ethernet and ARP.
Materials Covered:
- 802.11
- Wireless sensor networks
- Carrier Sense Multiple Access
- Frame Format
- Ethernet address
- Address Resolution Protocol (if time permits)
- Mar 21.
Ethernet NICs, hubs, switches, learning bridges.
Materials Covered:
- Ethernet Frame Format
- Ethernet address
- Address Resolution Protocol
- Collision Detection and Random Binary Backoff
- Then and now: coaxial to hubs, 3Mb/s to Gigabit
- Network Interface Cards
- Learning Bridge
- Frame Switching
- Apr 2.
Designing and managing Ethernet networks.
Materials Covered:
- Learning Bridge
- Frame Switching
- Ethernet Network Design Criteria
- IP and Ethernet network management
Project 3 assigned, due April 28th.
- Public Networks, ATM, Connection-Oriented Networking, Frame Relay
- Apr 4.
Plain Old Telephone System (POTS).
Materials Covered:
- Circuit switched voice service
- Historical Background
- Digital Voice Signal
- Voice over IP
- Hierarchical Routing
- Error Handling
- Regulatory Environment
- ISDN, (A)DSL
- Apr 9.
ATM: design principles, virtual circuits, comparison to POTS
and IP. VLANs and ATMARP, signaling.
Materials Covered:
- design principles
- virtual circuits
- comparison to POTS
- comparison to IP
- virtual LANs (VLANs)
- ATMARP
- ATM signaling protocol
- Apr 11.
ATM QoS, ATM AAL. Guest lecture by Blanca Polo.
Materials Covered:
- AALs, especially AAL-5
- QoS
- Traffic Descriptors
- Leaky Bucket
- CLP
- Real-world ATM
- Sonet
- HDLC
Please note that the April 11th office hours are
cancelled due to instructor travel.
- Apr 16.
Materials Covered:
ATM Signaling, SONET, HDLC, Frame Relay.
- ATM signaling protocol:
- connection establishment
- signaling PVCs
- creating VCs in VP
- SONET
- HDLC
- Frame Relay
Apr 18.
Exam 3, covering all the material since Exam 2.
- Protocol Design: Basic Issues, Performance, Network Architecture,
Security, Encoding, Compression.
- Apr 23.
Basic issues: price/performance, reliability, uptime,
portability, real-time, reachability
Materials Covered:
- price/performance
- reliability
- uptime
- portability
- interoperability
- reachability
- real-time operation
- Apr 25.
Performance: latency, throughput. What does the Internet
actually offer us? How do we know? High-Speed Networks.
Materials Covered:
- Latency
- Throughput
- Internet Performance
- High Speed Networks
- Apr 30.
Internet Performance. Security: encryption, authentication. Public key and the
problems of secure exchange with strangers.
Materials Covered:
- Internet Performance
- High Speed Networks
- encryption
- authentication
- secret key encryption and key management
- public key encryption and key management
- discussion
- May 2.
Network Architectures. OSI, TCP/IP, ATM. Other issues:
encoding, compression.
Materials Covered:
- networking protocol architectures:
- encoding
- compression
- multimedia
- "the future"
- course evaluations (please bring a number 2 pencil)
- May 7.
Review.
Materials Covered:
- multimedia (from previous lecture)
- IP, routing, protocol implementation
- transport layer, TCP, reliable transmission, flow and congestion control
- lower layers, including wireless and Aloha, Ethernet, learning
bridges, switches
- ATM and public networks
- basic issues
- "the future"
The final exam for this course is Tuesday May 14, 12:00-2:00pm. The
final covers the entire course.