Computer Networks, ICS 651
This page is
http://www2.hawaii.edu/~esb/2020fall.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.
Covid-19 notice:
In-person attendance at this semester's ICS 651 is entirely voluntary.
Also, the beginning of the semester (until further notice) is online
only, for everyone. Once in-person classes resume, they resume only for
students wishing to attend in person, all other students are welcome
to continue to attend online for as long as they wish, including the
entire semester. Students attending in person can only attend some of
the lectures, and specifically,
- students whose UH student ID ends with 0-4 may come
to class only on Mondays, and
- students whose UH student ID ends with 5-9 may come
to lab only on Wednesdays
Instructor: Edo Biagioni, esb@hawaii.edu. See here for office hours.
The administrative information for this course is here.
If you have any questions, please contact the instructor.
Schedule
This schedule is subject to change.
Lectures will take place on zoom and will be recorded. Details about
connecting to zoom will be posted to Laulima. Synchronous student
attendance, in person or remotely, is highly recommended.
Presentation outlines are in pdf. I usually post these
no later than the day before the lecture. Course notes are in HTML.
This schedule is loosely based on the same course taught in the Fall 2018. If you wish to look ahead,
please refer to that courses, since the broad outline is likely to be
similar. Note that some of the projects will be different, and this
year's version of the course does present new material and de-emphasizes
or removes material that is no longer relevant.
Section 1
Introduction, APIs, and Applications
Assignment (due Aug 31st): read the
first section of the notes.
- Mon, Aug 24. Course overview, overview of networking,
classes of applications.
Presentation
- introductions
- client-server networking
- course overview
Read and do Homework 1.
- Wed, Aug 26. Sockets API.
Presentation
- Sockets API
- reading stream sockets
- Mon, Aug 31. Conclusion of the Sockets API (Presentation continued from Aug 26).
A simple packet network.
Presentation
- implementation strategies
- a simple packet network
- SLIP
- DNS
- homework 2
Read and do Homework 2.
Section 2
Internet Protocol. Routing. Protocol Implementation.
Assignments: Please read the second section
of the notes.
Project 1 assigned, due
Wednesday September 30th.
- Wed, Sep 2. Domain Name System.
Presentation
- a simple packet network
- DNS
- homework 2
- Internet Protocol
Mon Sep 7 is a holiday, Labor Day
- Wed, Sep 9. The Internet Protocol.
Presentation
- a simple packet network
- DNS
- Internet Protocol
- Mon, Sep 14. The Internet Protocol.
Presentation
- Internet Protocol
- packet forwarding
- IP routing tables
- IP addressing
- local configuration
- Project 1
- Wed, Sep 16. Routing.
Presentation
- IP addressing
- local configuration
- Project 1
- multiplexed packet networks
- distance-vector routing
- Mon, Sep 21. IP routing, ICMP.
Presentation
- distance-vector routing
- RIP
- BGP
- link-state routing
- OSPF
- Internet Control Message Protocol, ICMP
Links:
- Wed, Sep 23. IP routing, ICMP.
Presentation
- MPLS, IS-IS, EIGRP
- Internet Control Message Protocol, ICMP
- IP fragmentation
- Path MTU discovery
- Internet checksum
- Mon, Sep 28. Layering, architecture, network devices and device drivers, multicasting
Presentation
- IP fragmentation
- Path MTU discovery
- Internet checksum
- Layering and Architecture
- Network Device Design
- Device Drivers
- Multicasting Algorithms
- IP Multicasting
- Wed, Sep 30. Exam Review.
Presentation
- packet networking
- Internet Protocol
- routing and project1
- exam
- Mon, Oct 5. Exam 1
Section 3
Transport layer, Transmission Control Protocol, Error
Detection and Retransmission, Flow and Congestion Control
Assignments: Please read the third section
of the notes.
- Wed, Oct 7. Introduction to TCP.
Presentation
- Network Device Design
- Device Drivers
- Multicasting Algorithms
- IP Multicasting
- Overview of TCP
- TCP connection management
Links: RFC 793.
- Mon, Oct 12. TCP connections, Reliable Transmission, Sliding Windows,
Nagle algorithm.
Presentation
- TCP 3-way handshake
- TCP close
- TCP reset
- Reliable Transmission
- Sliding Window for Flow Control
Project 2 assigned, due
Wednesday October 28th.
- Wed, Oct 14. Bandwidth-Delay product, TCP header,
network monitoring tools.
Presentation
- TCP delayed acks
- Bandwidth-Delay product
- TCP streams and push
- TCP header
- TCP options
- tcpdump and wireshark
Links: RFC 1323.
- Mon, Oct 19. Congestion Control.
Presentation
- congestion collapse
- congestion control: TCP Reno
- congestion control: TCP Vegas
- congestion control: TCP Cubic
- other ways of detecting congestion
- addressing congestion
- router intervention for congestion
Links: RFC 1122,
RFC 2001,
RFC 3168,
and the TCP cubic paper
- Wed, Oct 21. Internet Explicit Congestion Notification. Fair Queueing,
UDP.
Presentation
- router intervention for congestion
- Internet Explicit Congestion Notification
- FIFO queueing
- fair queueing
- TCP review
- UDP
- Wed, Oct 26. Fair Queueing, UDP. Discussion of project 2.
Presentation
- FIFO queueing
- fair queueing
- TCP review
- UDP
- Stream Control Transmission Protocol (SCTP)
- Real Time Protocol (RTP) and RTP Control Protocol (RTCP)
Links:
- Wed, Oct 28. P2P protocols
Presentation
- peer-to-peer (P2P) networks
- bittorrent
- Distributed Hash Tables, DHTs
- bitcoin
- allnet
Links:
- Mon, Nov 2. P2P protocols
Presentation
- Distributed Hash Tables, DHTs
- bitcoin
- allnet
- Wed, Nov 4. In-class discussion of network security.
- Mon, Nov 9. Exam review.
Presentation
- transport layer
- TCP basics
- congestion control
- p2p technology
- project 2
Wed Nov 11 is a holiday, Veterans' Day
- Mon, Nov 16. Exam 2
Section 4
Lower Layer, Wireless, Ethernet, Learning Bridges, Switches.
Assignments: Please read the fourth section
of the notes.
Project 3 assigned, due
Wednesday December 9th.
- Wed, Nov 18. Aloha net.
Presentation
- Data Link Layer
- Wireless Medium
- Aloha Net
- 802.11
- Mon, Nov 23. Wireless networks.
Presentation
- 802.11
- Ad-Hoc Wireless networks
- Mobile Ad-Hoc networks (MANets)
- Wireless sensor networks
- Wed, Nov 25. Ethernet
Presentation
- 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 and 10G
The optional Project 4 assigned.
- Mon, Nov 30. Ethernet Switching. Designing small networks.
Presentation
- Address Resolution Protocol
- Collision Detection and Random Binary Backoff
- Then and now: coaxial to hubs, 3Mb/s to Gigabit and 10G
- Ethernet and IP
- Ethernet NIC
- Hubs
- Learning Bridges and Ethernet Switches
- Wed, Dec 2. Ethernet and Application Layer, HTTP and HTTPS.
Presentation
- Layers and Device Names
- NAT and Firewall
- DHCP
- IPv6 autoconfiguration
- home network design
- larger Ethernet network design
- Mon, Dec 7. Application layer, HTTP and HTTPS. Network security.
Presentation
- Ethernet summary
- HTTP
- HTTPS
- HTTP authentication
- network security
- Wed, Dec 9. Final Review.
Overview
- IP, routing, protocol implementation
- transport layer, TCP, reliable transmission, flow and congestion control
- lower layers, including wireless and Aloha, Ethernet, learning bridges, switches
- basic issues
The final exam for this class is
scheduled for Friday December 18th, from 9:45am to 11:45am HST.
The early final exam is scheduled for 10:30am-12:30pm on Monday December
14th. This exam is only available to those who have signed up for it.