CS356 Agendas, Handouts, Reading and Due Dates
(Note: This document is updated regularly)
(extras of handouts are outside my office TAY 4.136)
Discuss:

Date
Lec #
Topic
Reading for this date
Out
In
8/31 1 Handout #0: Motivation for studying Computer Networks
Handout #1: Operations
Handout #2: Chapter1 slides, part 1
Questionnaire: Getting to know you
Discuss: Introduction and Course Overview
  • Motivation: exploring the network that you use every day... terms, how each protocol works, become a smarter user of networking
  • Class discussion: Survey of Internet Applications that the class commonly uses:
    • Instant messaging
    • Music downloading
    • Multi-user network Games:
    • Web surfing, email:
    • Less common: skype, voip
  • Course Operations: homework & programming assignments, "engaging finds" (see handout), exams, attendance
  • How to interpret the text's figures that depict today's networks, Introductory terminology of basic components: end systems, core systems (routers), protocols
Ch 1.1,
Slides 1-1 to 1-8 and others
   
9/5 2 Handout #3: Ch 1 slides, part 2
?Handout
Discuss: Introductory Concepts, Part 1:
  • REVIEW: Design a protocol for a link that may lose a message
  • SWITCHING
    • Circuit Switching (for the traditional digital telephone network) works well for what kind of data?
    • Packet Switching, which is most effective with what kind of data
    • How do each of these switching techniques support multiple concurrent sources over one "wire"? i.e. Multiplexing. Compare the 3 basic strategies...
    • Pipelining packets
  • DELAY COMPONENTS & PACKET LOSS
    • Definitions, motivations, Applets, and your first "network tool"
    • Time-space diagrams of the impact
Ch 1.1-1.3 & 1.6
Slides 1-9 to 1-25,
1-47 to 1-57
   
9/7 3 Professor Lavender: Substituting
Handout #5: Ch 1 slides, part 3
Discuss: Introductory Concepts, Part 2:
Ch 1.4, 1.5
Slides 1-26 to 1-46,
1-55 to 1-56
   
9/12 4 Professor Gouda: Substituting
Handout #6a: Ch 8 slides
Handout #6: Homework 1
Discuss: Network Security, part 1

Security Definitions, symmetric key cryptography, data encryption standard algorithm (DES)

Ch 8.1, 8.2
Slides 8-1 to 8-17
H1  
9/14 5 Professor Gouda: Substituting
Handout #6a: Ch 8 slides
Discuss: Network Security, part 2

Public key cryptography, RSA algorithm, authentication protocols.

Ch 8.3, 8.4
Slides 8-18 to 8-34
   
9/19 6 Handout #7: Partial Slides
Discuss: Wrapup Chapter 1 with Layering;

Discuss: Application Layer, part 1

Terminology, distinct strategies between 2 parties, services that an application might need), Naming an application's "widget".

Ch 1.7, 2.1, 2.2
Slides 2-3 to 2-21
  H1
(Due: 9/20)
9/21 7 Handout #8: Baran's network architecture designed by 1964
Handout #9: Reading on the OSI 7layer reference model
Handout #10: Reading on Application Layer "State"  at the Server
Discuss: Application Layer, part 2

Application Layer Issues, focusing on HTTP:
  • State stored at the server
  • Non-persistent connection, vs Persistent connection
  2.2 (except 2.2.6),
Slides 2-21 to 2-34
   
9/26 8 Discuss: Application Layer, part 3
  • Continued discussion on HTTP:
    • How to maintain server-state in a stateless protocol
  • The File Transfer Protocol (FTP):
    • Highlights: Control is out-of-band with Data.
    • Analyze it's Application Layer Protocol features
  2.2 (except 2.2.6)
plus 2.3-2.4
    
9/28 9 Handout #11: Application Layer Protocol Design Taxonomy
Discuss:
Application Layer, part 4

Electronic Mail

  • Major components: agents, servers, protocol
  • The SMTP protocol
    • Comparison with HTTP
    • A "push" protocol
    • Mail message format
    • MIME extension for non-ASCII data
  • Mail access protocols
    • Post Office Protocol, ver 3 (POP3)
    • Internet Mail Access Protocol (IMAP)
2.4   H2  
10/3 10 Discuss: Application Layer, part 5

DNS: Domain Name System

  • Services provided by DNS
  • Why the original solution with a "flat" structure doesn't work
  • Distributed, hierarchical database that exploits naming structure
  • Root, top-Level domain (TLD), authoritative and local DNS servers
  • Recursive and iterative querying methods
 2.5
Slides 2-64 to 2-71
   
10/5 11 Handout #12: Solutions to Hmwk 2 (not online)
Handout #13: Exam Objectives
Discuss: Exam Review (focusing on security)
     H2
10/10 12 Exam 1


10/12 13 Handout #14: DNS Article in Communications of the ACM (July 2006):  Explorations in Namespace: white-hat hacking across the Domain Name System.  (the whole issue focuses on the relevance of CS researchers participate in white-hat hacking)
Handout #15: DNS example (reference during class)
Discuss: Application Layer, part 6
  • Domain Name System, continued. 
  • Content Distribution Networks (CDNs)

  • 2.5, 7.5

    DNS Slides
      H3  
    10/17 14 Handout #16: Socket Programming (reference during class)
    Discuss: Application Layer, part 7
    • Content Distribution Networks, continued
      • "push" caching
      • Example scenario connecting from a UT laptop
    • Web caching
      • "pull" caching
      • transparent web cache via intermediate host
      • concepts: hits, misses, what's cacheable?
      • impact on delay due to a near-by cache 
    • Socket programming
      • Motivation, definitions (e.g. socket)
      • Network API (in general)
      • Socket programming with the java.net API
    Ch 7.5, 2.2.6, 2.7 
    Slides 7-68 to 7-71, 2-40 to 2-44, 2-88 to 2-92
       
    10/19 15 Discuss: Network Security, part 3
    • Digital Signatures
      • not possible with symmetric keys
    • Hash Function Algorithms
    • Trusted Intermediaries
      • Key Distribution Centers (KDCs)
      • Certification Authorities
    Ch 8.4, 8.5
    Slides  8-36 to 8-50
      H3
    (Due: 10/20)  
    10/24 16 Handout #17: Introductory Reading for the Pre-Lab (Using Ethereal)
    Handout #18: Introductory Reading for the Pre-Lab (Using IPconfig)
    Handout #19: Analyzing HTTP via Ethereal (with FTP extra credit)
    Handout #20: Analyzing a Content Distribution Network via Ethereal and Traceroute
    Handout #21: LAB Directions and PRE-LAB Questions

    Discuss: Network Security, part 4
    • Firewalls
      • Packet filtering
      • Application gateway
    • Attacks and counter-measures
      • Packet sniffing, spoofing, denial of service etc. 
    • Secure Sockets Layer (SSL) 
    • Transport Layer Security (TLS)
    Ch 8.6, 8.7, 8.8.2, 8.9   Pre-Lab 1  
    10/26 17 Homework #4: Building an FTP User Agent

    Discuss: Transport Layer, part 1

    • Security wrap-up
      • Secure Sockets Lyer (SSL)
      • Firewalls
    • Transport Layer Principles
      • Services for the next layer up
      • TRANSPORT LAYER multiplexing and DEMULTIPLEXING
      • Connectionless and connection-oriented
    Ch 3.1-3.3, 3.4  
    Slides 3-2 to 3-17
    H4   
    10/31 18 Handout #22: Network Performance
    Handout #23: Slides: Motivating Reliable Data Transfer Protocols

    Discuss: Transport Layer, part 2
    • User datagram protocol (UDP)
      • Applications of UDP
      • Error-detection (checksum)
    • Reliable data transfer
      • Motivation for each component of reliable data transfer protocols
      • Alternating Bit protocol
    Ch 3.3, 3.4
    Slides 3-16 to 3-24
       
    11/2 19 Handout #24: Slides (Transport Layer)
    Handout #25: Homework 3 Q2 Solution

    Discuss: Transport Layer, part 3
    • Reliable data transfer continued
      • Sliding window protocol
        • with FIFO channels
        • with lossy FIFO channels
        • with LRD channels
      • Go-Back-N protocol
        • receiver buffer size = 1
      • Selective repeat ACK scheme
    Ch 3.4
    Slides 3a (Handout #24), 3-44 to 3-53 
    H5
    11/5
     
     
    11/7 20 Handout #26 (originally marked as 25): Congestion Control Slides
    Discuss: 
    Transport Layer, part 4

    TCP: header, suite of protocols, dynamic timeout, flow control, connection establishment
      3.5
    (skip 3.5.4)
       
    11/9 21 Handout #27: Solutions to Hmwk 5 (on Blackboard)
    Handout #28:
    Exam #2 Objectives
    Discuss: 
    Transport Layer part 5, Network Layer part 1
    • TCP Congestion Control
      • Additive increase, multiplicative decrease
      • Slow start 
    • Network Layer
      • Forwarding vs. routing
      • Service models
      • IP fragmentation and reassembly

    congestion control
    Ch 3.6.1, 3.6.2,
    3.7 (first 4 pages)


    4.1-4.2
    (skip 306, 308)
      H5
    11/10
    11/14 22 Exam 2


    11/16 23 Discuss: Network Layer, part 2

    • IPv4 Addressing
      • Hierarchical addressing
      • Network Address Translation
      • Dynamic Host Configuration Protocol (DHCP)
    • Internet Control Message Protocol (ICMP)

    Ch 4.4 (thru 344)

    DHCP
    Ch 5.4.3
       
    11/21 24 Handout #29: End-to-End Routing Behavior in the Internet
    Discuss: Network Layer, part 3
    • Routing Algorithms
      • Dijkstra's Algorithm
      • Distance Vector Routing
    • Hierarchical Routing overview
    Routing
    Ch 4.5 (skip 357, 363-364, 369-370),

    RIP
    4.6.1 overview
       
    11/28 25 Handout #30: Pre-Lab for CS356 Lab2: Routing & Firewalls
    Handout #31: CS356 Lab 2: Router Configuration, Routing and Access Lists
    Handout #32: Lecture Slides: P2P Systems

    Discuss: P2P Systems

    Discuss: Data Link Layer Overview (part 1)
    and intro to broadcast topologies
    Ch2.6, Hdt #32

    Ch5.1, 5.2 (thru 5.2.1), 5.3 (skip slotted Aloha, Aloha)
      H6
    11/30 26 Homework 7: FTP User Agent Phase 2

    Discuss: Data Link Layer (part 2)
    • CSMA/CD
    • Wireless 802.11
    Ch 5.5,
    Ch 6.1, 6.2 intro, 6.3 thru 6.3.2
     H7  
    12/5 27 Discuss: Wrap up Data Link Layer (part 3)
    • Interconnection:  hubs and switches
    • Layer 2 Addressing
    • Given a router (or host) which needs to send to a specific IP address:  how does the sender know what the L2 addresss is? 
    • Need a protocol to translate from Layer 3 to Layer 2:  Address Resolution Protocol
    Multimedia, part 1:  Terminology, and 3 distinct applications; virtual circuit packet switching,...
     Ch5.4, 5.6
    Ch 7.1
       
    12/7 28 Handout #33: Routing: comparing the Graph Theory version to the Internet version
    Handout #34: Final Exam Description
    Handout #35: Practice Problems
    (has been emailed to you)
    Discuss:
    • Review: Last 3rd of the Course using UT's network as an example.
    • MMedia, part 2:  Streaming Stored Audio and Video, focusing on terminology, Problems and Application Layer Solutions.
      7.2 (skip 7.2.3)

    Fun topic: 
     UT network, reading:  www.utexas.edu/
    its/utnet/reports/

       
    12/16 EX SATURDAY Final Exam: 2-5pm, CBA 4.328
         

    | UT Austin | UTCS |