Computer Networks, ICS 651
This page is
http://www2.ics.hawaii.edu/~esb/2016spring.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.
The administrative information for this course is here.
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. Lecture notes are also in HTML.
This schedule is loosely based on the same course taught in the Fall 2014. If you wish to look
ahead, please refer to that courses, since the broad outline is likely to
be similar. 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
Assignments (due Jan 19th): read the
first section of the notes.
Please also read and do Homework 1.
Lecture Notes:
- Tue, Jan 12. Course overview, overview of networking,
classes of applications.
Outline
- introductions
- course overview
- Thu, Jan 14. Sockets API.
Outline
- Unix Sockets API
- Winsock API
- implementation strategies
- SLIP
- Tue, Jan 19. A simple packet network. Domain Name System.
Outline
- implementation strategies
- SLIP
- DNS
- Project 1
Section 2
Internet Protocol. Routing. Protocol Implementation.
Assignments: Please read the second section
of the notes.
Project 1 assigned, due Tuesday February 9th.
- Thu, Jan 21. DNS. The IP header.
Outline
- Tue, Jan 26. The Internet Protocol.
Outline
- Project 1
- IP header
- packet forwarding
- routing function
- IP addressing
- local configuration
- Thu, Jan 28. IP addresses and routing.
Outline
- IP forwarding and IP configuration
- IP addresses
- properties of IP
- distance-vector routing
- link-state routing
- flooding
- Tue, Feb 2. Routing.
Outline
- link-state routing
- flooding
- Internet Routing:
- ICMP
- Path MTU discovery
- Internet checksum
- Thu, Feb 4. IP routing, ICMP.
Outline
- Internet Routing, continued:
- ICMP
- Path MTU discovery
- Internet checksum
- Layering and architecture (review)
- Network device design
- Device drivers
- Tue, Feb 9. Layering, architecture, network devices and device drivers.
Outline
- Path MTU discovery
- Internet checksum
- Layering and architecture (review)
- Network device design
- Device drivers
- Thu, Feb 11. Layering, architecture, network devices and device drivers, multicast
Outline
- Path MTU discovery
- Layering and architecture (partly review)
- Network device design
- Device drivers
- Multicasting
- Tue, Feb 16. Exam Review.
Outline
- packet networking
- Internet Protocol
- routing and project1
- exam
- Thu, Feb 18. 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.
Project 2 assigned, due Tuesday March 29th.
- Tue, Feb 23. Introduction to TCP.
Overview
- Overview of TCP
- TCP connection management
- TCP 3-way handshake
- TCP close
- TCP reset
- Thu, Feb 25. Reliable Transmission and Sliding Windows.
Overview
- Reliable Transmission
- Sliding Window for Flow Control
- Bandwidth-Delay product
- TCP streams and push
- TCP header
- tcpdump and wireshark
- Tue, Mar 1. Nagle algorithm and Bandwidth-Delay product
Overview
- Nagle Algorithm
- Bandwidth-Delay product
- TCP streams and push
- TCP header
- tcpdump and wireshark
- Thu, Mar 3. TCP streams, TCP header, network monitoring tools.
Overview
- TCP streams and push
- TCP header
- tcpdump and wireshark
- Tue, Mar 8. Demultiplexing and microprotocols. Congestion Control.
Overview
- demultiplexing
- microprotocol implementation
- congestion collapse
- congestion control: TCP Reno
- Thu, Mar 10. Congestion Control. Packet Scheduling.
Overview
- TCP Vegas
- other ways of detecting congestion
- addressing congestion
- router intervention
- Internet Explicit Congestion Notification
- packet scheduling
- FIFO queueing
- fair queueing
- Tue, Mar 15. Fair Queueing, SCTP, RTP
Overview
- Fair queueing
- TCP review
- Stream Control Transmission Protocol (SCTP)
- Real Time Protocol (RTP) and RTP Control Protocol (RTCP)
- Real Time Streaming Protocol (RTSP)
- Thu, Mar 17. Discussion of Project 2. Other internet transport
protocols.
Overview
- Stream Control Transmission Protocol (SCTP)
- Real Time Protocol (RTP) and RTP Control Protocol (RTCP)
- Real Time Streaming Protocol (RTSP)
See also this article
on programming for SCTP.
- Tue, Mar 29. P2P protocols
Overview
- bittorrent
- Distributed Hash Tables, DHTs
- bitcoin
- allnet
- Thu, Mar 31. Exam review.
Overview
- transport layer
- TCP basics
- congestion control
- project 2
- Tue, Apr 5. 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 May 4th.
- Thu, Apr 7. Data Link Layer.
Overview
- Data Link layer
- Wireless Medium: Broadcast
- Aloha
- Tue, Apr 12. Wireless
Overview
- Aloha
- 802.11
- Ad-Hoc Wireless networks
- Mobile Ad-Hoc networks (MANets)
- Wireless sensor networks
- Thu, Apr 14. Wireless Networks. Ethernet
Overview
- 802.11
- Ad-Hoc Wireless networks
- Mobile Ad-Hoc networks (MANets)
- Wireless sensor networks
- Ethernet
- Tue, Apr 19. Ethernet. Designing small networks.
Overview
- 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
- Learning bridges
- Designing a small network
- Tue, Apr 21. Ethernet and Application Layer, HTTP and HTTPS.
Overview
- Learning bridges
- Designing a small network
- application-level protocol issues
- HTTP
- HTTPS (SSL/TLS)
Section 5
Application Layer.
- Tue, Apr 26. Application layer, HTTP and HTTPS. Network security.
Overview
- HTTP
- HTTPS (SSL/TLS)
- Network Security
- details about TLS
- Thu, Apr 28. Anonymous Communication: TOR and Bitcoin
Networking issues, including performance and architecture.
Overview
- details about TLS
- Anonymous Communications
- Tue, May 3. 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 Thursday May 12th, from 2:15pm to 4:15pm HST.