Computer Networks, ICS 651
This page is
http://www2.ics.hawaii.edu/~esb/2005spring.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 9-10:15 in Kuykendall 401.
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), 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 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.
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 2004. 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 new material
and de-emphasizes some 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 10
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 12
Sockets API (Application Programming Interface). A simple packet network.
Materials Covered:
- Unix Sockets API
- Winsock API
- implementation strategies
- SLIP
- Jan 19
SLIP, Internet naming and addressing. DNS and requirements for
a DNS implementation.
Materials Covered:
audio recording
of the lecture (MP3).
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 24
The IP header.
Packet forwarding, routing, and local configuration.
IP address structure, CIDR.
Materials Covered:
- DNS requirements
- IP header
- packet forwarding
- routing function
- IP addressing
- local configuration
audio recording
of the lecture (MP3).
- Jan 26
Fragmentation and Reassembly.
Materials Covered:
- local configuration
- fragmentation and reassembly
- Jan 31
Routing: Distance-Vector, Link-State. ICMP.
Topics:
audio recording
of the lecture (MP3).
- Feb 2
Routing: Link-state, RIP, OSPF, BGP, MPLS. ICMP
Topics:
- Link State Routing
- Broadcasting
- Internet Routing:
- ICMP
Homework: read the introductions to the RFCs for the routing
protocols in today's lecture (by February 11th): RFC
1388,
2328,
1771, and
3031
audio recording
of the lecture (MP3).
- Feb 7
Routing implementation: specific protocols, layering, upcalls,
device drivers. Network Adapters.
Materials Covered:
audio recording
of the lecture (MP3).
- Feb 9
IPv6.
Materials Covered:
- IP version 6
- Path MTU discovery
- Internet checksum
audio recording
of the lecture (MP3).
- Feb 14
Layering, architecture, network devices and drivers.
Materials Covered:
- Layering
- Architecture
- Network Devices
- Device Drivers
audio recording
of the lecture (MP3).
Feb 14
Exam 1, covering all the material in Sections 1 and 2. The exam is
mailed out at 5pm HST and is due 24 hours later.
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 16
Path MTU discovery, Internet checksum.
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
audio recording
of the lecture (MP3) and two diagrams:
the TCP connection state machine,
and the corresponding
timing diagram, starting with the 3-way handshake.
- Feb 23
Reliable Transmission. Sliding windows for Flow
Control.
Materials Covered:
- Reliable Transmission
- Sliding Window for Flow Control
audio recording
of the lecture (MP3) and two diagrams:
a sample data transmission and acknowledgement, and
the TCP sequence number space.
Project 2 assigned, due March 17th.
- Feb 28
Bandwidth-delay product. Streams and TCP.
TCP header. Understanding sample tcpdump traces.
Materials Covered:
- Nagle algorightm
- Bandwidth-Delay product
- TCP streams and push
- TCP header
- tcpdump
audio recording
of the lecture (MP3).
- Mar 2
Error detection. UDP and datagrams. Demultiplexing and implementation.
Materials Covered:
- error detection
- checksum
- CRC
- UDP
- demultiplexing
- protocol implementation
audio recording
of the lecture (MP3).
- Mar 7
Congestion control: TCP Reno, TCP Vegas, other ways (including
router intervention) of detecting and addressing congestion.
Queueing disciplines and fairness.
Materials Covered:
- congestion collapse
- TCP Reno
- TCP Vegas
- other ways of detecting congestion
- addressing congestion
audio recording
of the lecture (MP3).
- Mar 9
Queueing disciplines and fairness. TCP review.
Materials Covered:
- packet scheduling
- FIFO queueing
- Fair queueing
- TCP Review
audio recording
of the lecture (MP3).
Mar 14
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 16
Wireless Communications, Aloha, 802.11, wireless
ad-hoc networks, wireless sensor networks.
Materials Covered:
- Data Link layer
- Wireless Medium: Broadcast
- Aloha
- 802.11
- Ad-Hoc Wireless networks
- Mobile Ad-Hoc networks (MANets)
- Wireless sensor networks
audio recording
of the lecture (MP3).
- Mar 28
Wireless Networks.
Materials Covered:
- 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
audio recording
of the lecture (MP3).
- Mar 30
Ethernet, ARP, Ethernet NICs, hubs, switches, learning bridges.
Materials Covered:
- Address Resolution Protocol
- Collision Detection and Random Binary Backoff
- Then and now: coaxial to hubs, 3Mb/s to Gigabit
- Network Interface Cards
audio recording
of the lecture (MP3).
Project 3 assigned, due May 4th.
- Apr 4
Designing and managing Ethernet networks.
Materials Covered:
- Learning Bridge
- Frame Switching
- Ethernet Network Design Criteria
- IP and Ethernet network management
audio recording
of the lecture (MP3).
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 6
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
audio recording
of the lecture (MP3).
- Apr 11
ATM: design principles, virtual circuits, comparison to POTS
and IP.
Materials Covered:
- Regulatory Environment
- ISDN, (A)DSL
- ATM design principles
- virtual circuits
- comparison to POTS
- comparison to IP
- virtual LANs (VLANs)
- ATMARP
- ATM signaling protocol
audio recording
of the lecture (MP3).
- Apr 13
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
audio recording
of the lecture (MP3).
- Apr 18
ATM QoS and AAL 5, SONET, HDLC, Frame Relay. ANCL visit.
Materials Covered:
- ATM QoS
- ATM AAL-5
- SONET
- Frame Relay and HDLC
audio recording
of the lecture (MP3).
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.
- Apr 20
Basic issues: price/performance, reliability, uptime,
portability, real-time, reachability
Materials Covered:
- SONET
- price/performance
- reliability
- uptime
audio recording
of the lecture (MP3).
- Apr 25
More basic issues: uptime, portability, real-time, reachability.
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
audio recording
of the lecture (MP3).
- Apr 27
Performance: latency, throughput. What does the Internet
actually offer us? How do we know? High-Speed Networks.
Internet Performance.
Network Architectures. OSI, TCP/IP, ATM. Encoding, compression.
Security: encryption, authentication.
Materials Covered:
- throughput
- internet performance
- high speed networks
audio recording
of the lecture (MP3).
- May 2
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"
audio recording
of the lecture (MP3).
- May 4
Review of the entire course.
Materials Covered:
- 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
Course evaluations, please bring a #2 pencil (if you are
going to come to class).
audio recording
of the lecture (MP3).
The final exam covers the entire course. The final exam for this
course is either (a) if you are interested in qualifier credit and
have signed up with Dr. Suthers, on Monday, May 9th at 7:30am in POST
302 (I apologize for the earlier misleading statement on this page
that said the exam was on Friday), or (b) for everyone else, assigned
electronically on Friday May 6th at 9am, due on Monday May 9th at 9pm.