Computer Networks, ICS 651
This page is
http://www2.ics.hawaii.edu/~esb/2014fall.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 2009. 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
Notes 1.
Assignments (due Sep 1st): read the
first section of the notes and the first chapter of the book.
Please also read and/or do Homework 1.
Lecture Notes:
- Mon, Aug 25. Course overview, overview of networking,
classes of applications.
Outline
- introductions
- course overview
- Wed, Aug 27. Sockets API. A simple packet network.
Outline
Outline
- Unix Sockets API
- Winsock API
- implementation strategies
- SLIP
- Wed, Sep 3. Domain Name System.
Outline
Outline
- implementation strategies
- SLIP
- DNS
- Project 1
Section 2. Internet Protocol. Routing. Protocol Implementation.
Assignments: Please read the second section
of the notes and the fourth chapter of the book.
Project 1 assigned, due Tuesday September 30th.
- Mon, Sep 8. The IP header.
Outline
Outline
- IP header
- packet forwarding
- IP forwarding
- IP addressing
- local configuration
- Wed, Sep 10. Routing algorithms
Outline
- IP addresses
- properties of IP
- distance-vector routing
- link-state routing
- flooding
- Mon, Sep 15. IP routing and ICMP.
Outline
- link-state routing
- flooding
- Internet Routing: RIP, OSPF, BGP, MPLS
- ICMP
- Wed, Sep 17. Routing, ICMP, Path MTU discovery, checksums.
Outline
- MPLS
- ICMP
- Path MTU discovery
- Internet checksum
- Mon, Sep 22. layering, architecture, and network devices.
Outline
- Layering and architecture (review)
- Network device design
- Device drivers
- Wed, Sep 24. Network devices and device drivers.
Outline
- Device design
- Device drivers
- Multicasting
- Mon, Sep 29. IP multicast
Outline
- Exam 1 announcement
- multicast algorithms
- IP multicast
- PIM-SM
- PIM-SSM
- Wed, Oct 1. Exam Review.
Outline
- packet networking
- Internet Protocol
- routing and project1
- exam
- Mon, Oct 6. Exam 1
- Wed, Oct 8. Distributed Hash Tables.
Outline
- exam review
- Distributed Hash Tables
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.
Project 2 assigned, due Friday November 7th.
- Mon, Oct 13. Introduction to TCP.
Outline
- Overview of TCP
- TCP connection management
- TCP 3-way handshake
- TCP close
- TCP reset
- Wed, Oct 15. Reliable Transmission and Sliding Windows.
Outline
- Reliable Transmission
- Sliding Window for Flow Control
- Bandwidth-Delay product
- Mon, Oct 20. TCP streams, TCP header, network monitoring tools.
Outline
- Nagle Algorithm
- Bandwidth-Delay product
- TCP streams and push
- TCP header
- tcpdump and wireshark
- Mon, Oct 22. TCP streams, TCP header, network monitoring tools.
Outline
- TCP window scaling
- TCP streams and push
- TCP header
- tcpdump and wireshark
- Mon, Oct 27. Demultiplexing and microprotocols. Congestion Control.
Outline
- demultiplexing
- microprotocol implementation
- congestion collapse
- congestion control: TCP Reno, TCP Vegas
- Wed, Oct 29. Congestion Control. Packet Scheduling.
Outline
- TCP Vegas
- other ways of detecting congestion
- addressing congestion
- router intervention
- Internet Explicit Congestion Notification
- packet scheduling
- FIFO queueing
- fair queueing
- Mon, Nov 3. Discussion of Project 2.
- Mon, Nov 5. TCP Summary. Real Time Protocols.
Outline
- TCP summary
- 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.
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.
- Mon, Nov 10. Data Link Layer.
Outline
- Data Link layer
- Wireless Medium: Broadcast
- Aloha
- 802.11
- Ad-Hoc Wireless networks
- Mobile Ad-Hoc networks (MANets)
- Wireless sensor networks
- Wed, Nov 12. Wireless
Outline
- Data Link layer
- Wireless Medium: Broadcast
- Aloha
- 802.11
- Ad-Hoc Wireless networks
- Mobile Ad-Hoc networks (MANets)
- Wireless sensor networks
- Mon, Nov 17. Ethernet
Outline
- 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, 2Mb/s to Gigabit
- Learning bridges
- Wed, Nov 19. Exam review.
Outline
- TCP basics
- congestion control
- data link layer: wireless and Ethernet
- project 2 and exam
- Mon, Nov 24. Exam 2, emailed to the class list at 4:30pm (HST),
emailed back to the instructor by 5:45pm.
Project 3 assigned, due Thursday December 11th.
- Wed, Nov 26. Designing small networks. Application layer, HTTP and HTTPS.
Outline
- Designing a small network
- application-level protocol issues
- HTTP
- HTTPS (SSL/TLS)
Section 5. Application Layer.
- Mon, Dec 1. Network security.
Outline
- Mon, Dec 3. Anonymous Communication: TOR and Bitcoin
Outline
- Anonymous Communication
- The Onion Router
- Bitcoin
- Limits of anonymity
- Mon, Dec 8. Networking issues, including performance and architecture.
Outline
- Bitcoin
- Limits of Anonymity
- Performance
- Architecture of networking protocols
- The future
- Wed, Dec 10. Final review.
Outline
- 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 Monday Dec 15th, from 4:30pm to 6:30pm HST.
As with the midterm exams, the final is online.