This page will be removed on August 6th 2026. Please update your links to refer to https://esb.ics.hawaii.edu/2004spring.ics651/index.html instead.
Computer Networks, ICS 651
This page is
http://www2.ics.hawaii.edu/~esb/2004spring.ics651/index.html
This page is subject to change without notice -- please reload it
in your browser if an item that might affect you may have changed.
Instructor: Edo Biagioni, esb@hawaii.edu. See here for office hours.
This class meets MW 1:30-2:45 in POST 127.
Goals
In this course, students will:
- improve their understanding about computer networking, focusing
on the fundamental design principles of computer networks and
protocols.
- study networks of practical importance, including the Internet,
TCP/IP, ATM, Ethernet and wireless.
- learn to understand and design network protocols.
- write significant network programs.
Organization
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, but must be turned in (and be reasonable) to contribute to
your grade.
All students are required to join the course mailing
list.
Grades are assigned based on your performance on:
- three major projects, each worth 20% of the grade (total 60%)
- 2 midterm exams and a final, each worth 10% of the grade (total 30%)
- two reviews of other students' projects, each worth 3% of
the grade (total 6%)
- your participation on the course-wide mailing list, worth 4% of the grade
Grading will use the (nearly) standard cutoffs of
97% (A+), 93% (A), 90% (A-), 87% (B+), 83% (B), 80% (B-), 77% (C+),
70% (C), 70% (C-), 67% (D+), 63% (D), 60% (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). 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 -- in fact, if you feel able to grade them yourself, that
is the suggested procedure. I do recommend that you do them, and I do
require that you understand the material contained in the homeworks.
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. Other languages might be available -- check with
the instructor before you begin your project.
The textbook is "Computer Networks -- A Systems Approach", by
Peterson and Davie (2nd or 3rd edition). The textbook is available from the
UH bookstore and online sellers. The textbook has a
home page and a
companion page
The course is also based on notes from the instructor that
complement the textbook.
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 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. The outreach college's instructor's manual states, in part:
Plagiarism includes, but is not limited to, submitting, to satisfy an
academic requirement, any document that has been copied in whole or in
part from another individual's work without identifying that
individual.
The UH
law school also has a good definition of plagiarism, including the
following:
The submission or presentation of any work, in any form, that is not a
student's own, without acknowledgment of the source.
If you have any questions, please contact the instructor.
I do re-use material, so I am always grateful when students can
suggest improvements or corrections to any notes. I normally
acknowledge authors of major new material, and do not acknowledge
people who suggest minor improvements.
Schedule
This schedule is subject to change.
Presentation 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 Spring 2003 and Spring 2002. If you wish to look
ahead, please refer to those courses, since the broad outline is very
similar. This year's version of the course does present new material
and de-emphasizes older material.
Section 1 Introduction, APIs, and Applications.
Notes 1.
Assignments (due Jan 21st): Please read the
first section of the notes and the first chapter of the book.
Please also read and/or do Homework 1.
- Jan 12
Course overview. Overview of networking. Classes of applications.
Materials Covered:
- introductions
- course overview
- What is Networking?
- What is interesting about Networks?
- Classes of applications
- Jan 14
Sockets Application Programming Interface. A simple packet network.
Materials Covered:
- Unix Sockets API
- Winsock API
- implementation strategies
- SLIP
- Jan 21.
Internet naming and addressing. DNS and requirements for
a DNS implementation.
Materials Covered:
Project 1 assigned, due February 17th.
Section 2. Internet Protocol. Routing. Protocol Implementation.
Assignments: Please read the second section
of the notes and the fourth chapter of the book.
- Jan 26.
The IP header.
Materials Covered:
- DNS, continued
- IP header
- packet forwarding
- routing function
- IP addressing
- local configuration
- Jan 28.
Packet forwarding, routing, and local configuration.
IP address structure, CIDR.
Packet networks and multiplexing.
Materials Covered:
- IP addressing
- local configuration
- fragmentation and reassembly
- multiplexing
- Feb 2
Fragmentation and Reassembly, Routing: Distance-Vector, Link-State. ICMP.
Guest Lecture by Blanca Polo
- Feb 4.
Routing: RIP, OSPF, BGP, MPLS.
Materials Covered:
- ICMP
- Broadcasting
- Internet Routing: RIP, OSPF, BGP, MPLS
Homework: read the introductions to the RFCs for the routing
protocols in today's lecture (by February 11th): RFC
1388,
1058,
2328,
1771, and
3031
- Feb 9.
Routing implementation: specific protocols, layering, upcalls,
device drivers. Network Adapters.
Materials Covered:
- MPLS
- Routing Protocol Implementation
- Layering
- Architecture
- Network Devices
- Device Drivers
- Feb 11.
IPv6.
Materials Covered:
- IP version 6
- Path MTU discovery
- Internet checksum
Feb 18: Exam 1, covering all the material in Sections 1 and 2.
Section 3. Transport layer, Transmission Control Protocol, Error
Detection and Retransmission, Flow and Congestion Control
Assignments: Please read the third section
of the notes and the fifth and sixth chapters of the book.
- Feb 23.
Path MTU discovery, Internet checksum.
TCP connection management: establishment, close, reset.
ATM connection setup.
Materials Covered:
- Path MTU discovery
- Internet checksum
- Overview of TCP
- TCP connection management.
- TCP 3-way handshake
- TCP close
- TCP reset
- Feb 25.
ATM setup. Reliable Transmission. Sliding windows for Flow
Control. Bandwidth-delay product.
Materials Covered:
- ATM setup
- Reliable Transmission
- Sliding Window for Flow Control
- Bandwidth-Delay product
Project 2 assigned, due March 17th.
- Mar 1.
Streams and TCP. TCP header. Understanding sample tcpdump traces.
Materials Covered:
- Bandwidth-Delay product
- TCP streams and push
- TCP header
- tcpdump
- Mar 3.
Error detection. UDP and datagrams. Demultiplexing and implementation.
Materials Covered:
- error detection
- checksum
- CRC
- UDP
- demultiplexing
- protocol implementation
- Mar 8.
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
- Mar 10.
Detecting and addressing congestion.
Queueing disciplines and fairness. TCP review.
Materials Covered:
- addressing congestion
- router intervention
- packet scheduling
- FIFO queueing
- Fair queueing
- TCP Review
Mar 15: Exam 2, covering all the material in Section 3.
Section 4. Lower layer, Wireless, Ethernet, Learning Bridges, Switches.
Assignments: Please read the fourth section
of the notes and the second and third chapters of the book.
- Mar 17.
Wireless Communications, Aloha, 802.11, wireless
ad-hoc networks, wireless sensor networks.
Materials Covered:
- Wireless Medium: Broadcast
- Aloha
- 802.11
- Ad-Hoc Wireless networks
- Mobile Ad-Hoc networks (MANets)
- Wireless sensor networks
- Week of Mar 22.
Spring Break.
- Mar 29.
Wireless Networks.
Materials Covered:
- Ad-Hoc Wireless networks
- Mobile Ad-Hoc networks (MANets)
- Wireless sensor networks
- Mar 31.
Ethernet, ARP, Ethernet NICs, hubs, switches, learning bridges.
Materials Covered:
- Carrier Sense Multiple Access
- Frame Format
- Ethernet address
- Address Resolution Protocol
- Collision Detection and Random Binary Backoff
- Then and now: coaxial to hubs, 3Mb/s to Gigabit
Project 3 assigned, due April 29th.
- Apr 5.
Designing and managing Ethernet networks.
Materials Covered:
- Network Interface Cards
- Learning Bridge
- Frame Switching
- Learning Bridge
- Frame Switching
- Ethernet Network Design Criteria
- IP and Ethernet network management
Section 5. Public Networks, ATM, Connection-Oriented Networking,
Frame Relay
Assignments: Please read the fifth section
of the notes and section 3.3 of the book.
- Apr 7.
Plain Old Telephone System (POTS).
Materials Covered:
- IP and Ethernet network management (continued)
- Circuit switched voice service
- Historical Background
- Digital Voice Signal
- Voice over IP
- Hierarchical Routing
- Error Handling
- Regulatory Environment
- ISDN, (A)DSL
- Apr 12.
ATM: design principles, virtual circuits, comparison to POTS
and IP.
Materials Covered:
- ISDN, (A)DSL
- ATM design principles
- virtual circuits
- comparison to POTS
- comparison to IP
- virtual LANs (VLANs)
- ATMARP
- ATM signaling protocol
- Apr 14.
Multicast, VLANs and ATMARP, signaling,
ATM QoS, ATM AAL.
Materials Covered:
- ATM multicast
- virtual LANs (VLANs)
- ATMARP
- ATM signaling protocol
- ATM QoS
- ATM AAL-5
- Apr 19.
ATM QoS and AAL 5, SONET, HDLC, Frame Relay. ANCL visit.
Materials Covered:
- ATM QoS
- ATM AAL-5
- SONET
- HDLC
- Frame Relay
Section 6. Protocol Design: Basic Issues, Performance,
Network Architecture, Security, Encoding, Compression.
- Apr 21.
Basic issues: price/performance, reliability, uptime,
portability, real-time, reachability
Materials Covered:
- SONET and HDLC
- price/performance
- reliability
- uptime
- Apr 26.
Performance: latency, throughput. What does the Internet
actually offer us? How do we know? High-Speed Networks.
Internet Performance.
Materials Covered:
- portability
- interoperability
- reachability
- real-time operation
- latency
- throughput
- internet performance
- high speed networks
- Apr 28.
CRCs. Guest lecture by Prof. Wes Peterson.
- May 3.
Network Architectures. OSI, TCP/IP, ATM. Encoding, compression.
Security: encryption, authentication.
Materials Covered:
- networking protocol architectures
- encoding, compression
- multimedia
- encryption
- authentication
- secret and public key encryption and key management
- "the future"
- May 5.
Review of the entire course.
Materials Covered:
- IP, routing, protocol implementation
- network address translation
- 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
Course evaluations, please bring a #2 pencil.
The final exam covers the entire course. The final exam for this
course is on Monday, May 10th at 2:15pm in POST 127.