Computer Networks, ICS 651
This page is
http://www2.ics.hawaii.edu/~esb/2006fall.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 MWF 10:30-11:20 in Kuykendall 303.
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 technologies including 802.11.
- understand the principles behind the design of networking 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), 67% (D+), 63% (D), 60% (D-) (no C- will be assigned, due to
UH not considering a C- a passing grade for many purposes). 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 textbook is "Computer Networks -- A Systems Approach", by
Peterson and Davie (2nd or 3rd edition, though the 3rd edition is
recommended). 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.
I do re-use these course 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.
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 that I
can grade.
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.
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 2005. If you wish to look
ahead, please refer to that courses, since the broad outline is very
similar. This year's version of the course does present some new
material and de-emphasizes some older material.
Section 1 Introduction, APIs, and Applications.
Notes 1.
Assignments (due Aug 28th): Please read the
first section of the notes and the first chapter of the book.
Please also read and/or do Homework 1.
- Aug 21
Course overview. Overview of networking. Classes of applications.
Topics:
- introductions
- course overview
- What is Networking?
- What is interesting about Networks?
- Classes of applications
Homework 1 assigned, "due" September 1st.
- Aug 23
Sockets API (Application Programming Interface).
Topics:
- Unix Sockets API
- Winsock API
- Aug 25
A simple packet network.
Topics:
- implementation strategies
- SLIP
- Aug 28
Internet naming and addressing.
Topics:
Project 1 assigned, due September 22nd.
Section 2. Internet Protocol. Routing. Protocol Implementation.
Assignments: Please read the second section
of the notes and the fourth chapter of the book.
- Aug 30
Project 1. The IP header.
Topics:
- Project 1
- IP header.
- IP packet forwarding.
- IP routing.
- Sep 1
Packet forwarding, routing, and local configuration.
Topics:
- packet forwarding
- routing function
- Sep 6
IP configuration, Routing, distance-vector
Topics:
- IP local configuration
- properties of IP
- distance-vector routing
- Sep 8
Routing: Distance-Vector, Link-State.
Topics:
- distance-vector routing
- link-state routing
- Sep 11
Fragmentation and reassembly.
Topics:
- fragmentation and reassembly
- Sep 13
ICMP
Topics:
- Sep 15
Routing Protocols: RIP, OSPF.
Topics:
- Broadcasting
- Internet Routing Protocols:
Homework: read the introductions to the RFCs for the routing
protocols in today's lecture (by September 22nd)
- Sep 18
IPv6
Topics:
- Sep 20
IPv6, Path MTU discovery, Internet checksum
Topics:
- IPv6 address classes
- Path MTU discovery
- Internet checksum
- Sep 22
Internet checksum, layering, upcalls, device drivers, network adapters.
Topics:
- Internet checksum
- Layering
- Software architecture
- Network devices
- Device drivers
- Sep 25
Device drivers, exam review.
Topics:
Sep 27
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.
- Sep 29
TCP connection management: establishment, close, reset.
Topics:
- Overview of TCP
- TCP connection management.
- TCP 3-way handshake
- TCP close
- TCP reset
- Oct 2
ATM connection setup. Reliable Transmission.
Topics:
- TCP reset
- ATM connection setup.
- Reliable Transmission
- Oct 4
Sliding windows for Flow Control.
Topics:
- Sliding Window for Flow Control
- Nagle algorithm
Project 2 assigned, due October 27th.
- Oct 6
Bandwidth-delay product. Streams and TCP.
Topics:
- Sliding Window for Flow Control
- Nagle algorithm
- Bandwidth-Delay product
- Oct 9
TCP header. Understanding sample tcpdump traces.
Error Detection
Topics:
- TCP streams and push
- TCP header
- tcpdump and Ethereal
- Oct 11
UDP and datagrams. Demultiplexing and implementation.
Topics:
- error detection
- checksum
- CRC
- UDP
- demultiplexing
- microprotocol implementation
- Oct 13
Congestion control: TCP Reno.
Topics:
- congestion collapse
- TCP Reno
- Oct 16
TCP Vegas, other ways (including
router intervention) of detecting and addressing congestion.
Queueing disciplines and fairness. TCP review.
Topics:
- TCP Vegas
- other ways of detecting congestion
- addressing congestion
- router intervention
- internet Explicit Congestion Notification
- packet scheduling
- FIFO queueing
- Fair queueing
- TCP Review
Oct 18
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.
- Oct 20
Wireless Communications, Aloha, 802.11.
Topics:
- Data Link layer
- Wireless Medium: Broadcast
- Aloha
- Oct 23
Wireless ad-hoc networks, wireless sensor networks.
Topics:
- 802.11
- Ad-Hoc Wireless networks
- Mobile Ad-Hoc networks (MANets)
- Wireless sensor networks
- Oct 25
Wireless sensor networks. Shared-Medium Wired Networks.
Topics:
- Wireless sensor networks
- 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
- Oct 27
ARP, Ethernet protocol.
Topics:
- Carrier Sense Multiple Access
- Ethernet Frame Format
- Ethernet address
- IP over Ethernet
- Address Resolution Protocol
- Oct 30
Ethernet hardware, hubs, switches, learning bridges.
Topics:
- Address Resolution Protocol
- Collision Detection and Random Binary Backoff
- Then and now: coaxial to hubs, 3Mb/s to Gigabit
- Network Interface Cards
- Learning Bridge
- Nov 1
Building and managing Ethernet and IP networks.
Topics:
- Learning Bridge
- Frame Switching
- Ethernet Network Design Criteria
- IP and Ethernet network management
- DHCP
- Firewalls
- NAT
Project 3 assigned, due December 6th.
- Nov 3
CRCs. Guest lecture by Prof. Wes Peterson. The instructor has
distributed copies of the original CRC paper (1961). Also review
pages 92-97 in the book before the lecture.
- Nov 6
Building and managing Ethernet and IP networks.
Topics:
- IP and Ethernet network management
- DHCP
- Firewalls
- NAT
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.
- Nov 8
Plain Old Telephone System (POTS).
ATM: design principles, virtual circuits
Topics:
- Circuit switched voice service
- Historical Background
- Digital Voice Signal
- Voice over IP
- Hierarchical Routing
- Error Handling
- Regulatory Environment
- ISDN, (A)DSL
- Nov 13
ATM: comparison to POTS and IP, ATM multicast, network design and management.
Topics:
- ATM design principles
- virtual circuits
- comparison to POTS
- comparison to IP
- ATM multicast
- virtual LANs (VLANs)
- Nov 15
ATM signaling, ATM QoS, ATM AAL.
Topics:
- virtual LANs (VLANs)
- ATMARP
- ATM signaling protocol
- ATM signaling protocol
- ATM QoS
- ATM AAL-5
- Nov 17
Frame Relay, HDLC, SONET.
Topics:
- ATM AAL-5
- Frame Relay and HDLC
- SONET
Section 6. Protocol Design: Basic Issues, Performance,
Network Architecture, Security, Encoding, Compression.
Assignments: Please read the sixth section
of the notes and the seventh, eight, and ninth chapters of the book.
- Nov 20
Basic issues: price/performance, reliability, uptime.
Topics:
- SONET
- price/performance
- reliability
- uptime
- Nov 22
Basic issues: real-time, latency, throughput
Topics:
- real-time operation
- latency
- throughput
- Nov 27
Performance: latency, throughput.
Topics:
- Nov 29
Performance: what does the Internet actually offer us? How do we know?
High-Speed Networks.
Topics:
- internet performance
- high speed networks
- Dec 1
Network Architectures. OSI, TCP/IP, ATM. Encoding, compression.
Topics:
- networking protocol architectures
- encoding, compression
- multimedia
- Dec 4
Security: encryption, authentication.
Topics:
- encryption
- authentication
- secret and public key encryption and key management
- "the future"
Course evaluations, please bring a #2 pencil.
- Dec 6
Review of the entire course.
Topics:
- the future of networking
- 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
The final exam covers the entire course. The final exam for this
course is on Friday Dec 15th at 9:45am in Kuykendall 303. If you wish
to take the final early, please contact the instructor by Thursday
November 30th.