CS 725/825 Computer Networks, IT 725 Network Technology
Notes
Slides and sketches drawn on the document camera in class are posted here after each lecture. These are intended as supplementary materials, you are expected to take notes during the class. You will be tested on points covered in class but not necessarily reflected here. Additionally, you will find reading materials and additional resources for each topic. Reading assignments refer to the eighth edition of the textbook.
Week 1
- Monday, 8/28
-
Course introduction, internet structure, content delivery networks (CDNs), categories of networks
Resources: textbook sections 1.1 and 1.2, A Brief History of the Internet a 2009 ACM SIGCOMM Computer Communication Review paper by some of the key contributors to the development of the internet - Wednesday, 8/30
-
Basic Networking Concepts: layered model, OSI 7-layer model, internet layers. Internet protocol "hourglass"
Resources: textbook section 1.5
Week 2
- Monday, 9/5
- Labor Day - UNH closed
- Wednesday, 9/7
-
Assignment 1 introduction.
Common functions of layers. Services of a layer, reliable vs. unreliable, connection-oriented vs. connectionless. Network performance measures. Time-space diagram
Resources: textbook sections 1.4, 1.5 and 1.7
Week 3
- Monday, 9/11
-
Assignment 0 introduction (see Teams for details).
Networking Fundamentals: Routed point-to-point networks. Anatomy of a router. Local broadcast-based networks. Network layer addressing, the concept of a subnet, prefix, netmask. Domain Name Service introduction
Resources: textbook sections 1.7, 6.4, 4.1, and 4.2, Historical Maps of Computer Networks, RFC 826 - Address Resolution Protocol - Wednesday, 9/13
-
Domain Name Service (DNS). DHCP. Hop-by-hop routing. Routing table
Resources: textbook sections 6.4 and 2.4. RFC 1034 - Domain Names - Concepts and Facilities DNS Terminology (from Dyn, Inc.), Domain Name System (DNS) Parameters (from Internet Assigned Numbers Authority (IANA)), List of DNS record types (a more readable version from Wikipedia), Map and more details of root name servers, RFC 2131 - Dynamic Host Configuration Protocol
Week 4
- Monday, 9/18
-
Domain Name Service - guest lecture given by Scott Kitterman
Resources: textbook section 2.4 - Wednesday, 9/20
-
Static routing examples. Routing loops. Special use IP addresses. Routing loops. CIDR - guest lecture given by Abhinav Gupta
Resources: textbook section 4.3. RFC 4632 - Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan, RFC 1918 - Address Allocation for Private Internets, RFC 6890 - Special-Purpose IP Address Registries
Week 5
- Monday, 9/25
-
Bridging and L2 switching. Network standardization: players, documents, processes. Application Layer: basics, client and server, ports, well-known and ephemeral ports. Client and server perspectives. Socket API
Resources: textbook sections 6.4, 2.1, and 2.7. IEEE Std 802.1D - IEEE Standard for Local and Metropolitan Area Networks: Media Access Control (MAC) Bridges (you have to be on the UNH network or use UNH VPN to access the document) - Wednesday, 9/27
-
Socket API. History of the web
Resources: textbook section 2.2. HTTP Documentation (list HTTP-related standards), HTTP Media Types (from IANA), HTTP Made Really Easy - A Practical Guide to Writing Clients and Servers (this is a fairly old document that could use some updating but well written)
Week 6
- Monday, 10/2
-
Assignment 2 introduction.
HTTP GET/POST methods. AJAX. Event-driven architecture, node.js
Resources: textbook section 2.2. Node.js HTTP Module (from w3schools.com), Virtual threads: Are futures a thing of the past? a Java Magazine article by Prof. Charpentier that outlines the recent developments in handling parallel requests. - Wednesday, 10/4
-
HTTP/2, QUIC and HTTP/3
Resources: textbook section 2.2. RFC 9113 - HTTP/2, online book High Performance Browser Networking, HTTP/3: the past, the present, and the future a blog post from Cloudflare, IETF QUIC workgroup, RFC 9000 - QUIC: A UDP-Based Multiplexed and Secure Transport, RFC 9114 - HTTP/3.
Week 7
- Monday, 10/9
- No class - Midsemester Break
- Wednesday, 10/11
- Exam 1
Week 8
- Monday, 10/16
-
Exam 1 review.
Email, SMTP, IMAP, and webmail
Resources: textbook section 2.3. RFC 5321 - Simple Mail Transfer Protocol, RFC 5322 - Internet Message Format, RFC 3501 - Internet Message Access Protocol - Wednesday, 10/18
-
Assignment 3 introduction.
MIME. Network Security: basic concepts, encryption, authentication, message integrity, nonrepudiation. Active and passive attacks. Categories of encryption methods
Resources: textbook sections 8.1 - 8.4 Multipurpose Internet Mail Extensions (MIME): RFC 2045, RFC 2046, RFC 2047, RFC 2048, and RFC 2049. History of cryptography from Wikipedia
Week 9
- Monday, 10/24
-
Examples of symmetric and asymmetric encryption methods. Authentication, message integrity. Man-in-the-middle attack. Cryptographic hash functions, public key certificates.
Resources: textbook sections 8.2, 8.3 - Wednesday, 10/26
-
Network management. Transport layer: Functions of the layer, principles of reliable transport, ARQ. Cumulative ACK numbers.
Resources: textbook sections 5.7, 3.1, and 3.4
Week 10
- Monday, 10/30
-
Sliding window protocols. Receiver and network congestion control. TCP introduction
Resources: textbook sections 3.5 and 3.6, RFC 793 - TCP, RFC 4614 outlines followup RFCs to TCP - Wednesday, 11/1
-
TCP sequence and acknowledgment numbers, TCP receiver congestion control. TCP connection open
Resources: textbook section 3.5, Building and Rescuing the Information Superhighway, a 1993 article about origins of some of the key techniques in the Internet, including TCP congestion control
Week 11
- Monday, 11/6
-
Assignment 4 introduction.
TCP connection close. TCP protocol state machine. Principles of TCP network congestion control TCP retransmission timeout management, exponential backoff, congestion window and slow start
Resources: textbook sections 3.5, 3.6, and 3.7 - Wednesday, 11/8
- Exam 2
Week 12
- Monday, 11/13
-
TCP Fast Retransmission, TCP variants CUBIC and BBR. TCP fairness. Transport Layer Security (TLS) - introduction. UDP
Resources: textbook sections 8.6, Transport Layer Security (TLS) (chapter 4 of High Performance Browser Networking by Ilya Grigorik), RFC 768 - UDP, RFC 8085 - UDP Usage Guidelines, - Wednesday, 11/15
-
Network Layer - basic concepts. IP design goals. IP fragmentation and Internet Control Message Protocol (ICMP)
Resources: textbook sections 4.1, 4.3, 5.1 and 5.2, RFC 791 (IP), RFC 792 (ICMP)
Week 13
- Monday, 11/20
-
IPv6. Principles of network routing. Limited flooding. Distance vector routing
Resources: textbook sections 5.2 - 5.5. RFC 2740 (IPv6), IPv6 at the Internet Society, IPv6 Consortium at the UNH-IOL, RFC 4443 (ICMPv6) - Wednesday, 11/22
- Thanksgiving Break - no class
Week 14
- Monday, 11/27
-
Assignment 5 introduction.
Link state routing. Autonomous System. Examples of internet routing protocols - RIP, OSPF, BGP-4 Quality of Service (QoS) measures, QoS in IP, Differentiated Services. Virtual circuit networks - motivation. Virtual circuit switching, MPLS
Resources: textbook section 6.5. IPv6 Address Types BGPview, a tool to gather information about the current state and structure of the internet, RFC 2453 (RIP), RFC 2328 (OSPF), RFC 4271 (BGP), Network Looking Glass tools at Hurricane Electric RFC 2475 (Differentiated Services Architecture) RFC 3031 (MPLS Architecture) - Wednesday, 11/29
-
Link Layer: basic concepts. Shannon's theorem. Multiplexing. Data Link Control (DLC) and Media Access Control (MAC). Deterministic and stochastic (random) access methods, CSMA/CD
Resources: textbook sections 6.1 and 6.3
Week 15
- Monday, 12/4
-
Final Exam introduction.
Ethernet/IEEE 802.3, frame format, historical evolution. Ethernet media types. Resilience and scaling of bridged networks: spanning tree protocols. VLANs
Resources: textbook section 6.4. Wikipedia: Spanning Tree Protocol - Wednesday, 12/6
-
Wireless networks. Hidden terminal problem, CSMA/CA
Resources: textbook chapter 7. Worldwide Spectrum Allocations, a poster from Rohde & Schwarz (requires UNH login)
Week 16
- Monday, 12/11
-
IEEE 802.11 - basic concepts. Multicasting. Course wrap up
Resources: textbook section 7.3