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/26
-
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. Network maps of a top-tier service provider Cogent (nice 3D version) - Wednesday, 8/30
-
Assignment 0. Basic Networking Concepts: layered model, OSI 7-layer model, internet layers. Internet protocol "hourglass", common functions of layers
Resources: textbook section 1.5
Week 2
- Monday, 9/2
- Labor Day - UNH closed
- Wednesday, 9/4
-
Assignment 1 introduction.
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/9
-
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/11
-
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/16
-
Static routing examples. Routing loops. Special use IP addresses. Routing loops. CIDR
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 - Wednesday, 9/18
-
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)
Week 5
- Monday, 9/23
-
History of the web. HTTP GET/POST methods. AJAX.
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) - Wednesday, 9/25
-
Assignment 2 introduction.
Event-driven architecture, node.js. HTTP/2, QUIC and HTTP/3. Principles of email delivery
Resources: textbook sections 2.2 and 3.8. 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. 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 6
- Monday, 9/30
-
Email, SMTP, IMAP, and webmail. MIME. Network Security: basic concepts, encryption, authentication, message integrity, nonrepudiation. Active and passive attacks. Categories of encryption methods
Resources: textbook sections 2.3, 8.1 - 8.4. RFC 5321 - Simple Mail Transfer Protocol, RFC 5322 - Internet Message Format, RFC 3501 - Internet Message Access Protocol, Multipurpose Internet Mail Extensions (MIME): RFC 2045, RFC 2046, RFC 2047, RFC 2048, and RFC 2049. History of cryptography from Wikipedia - Wednesday, 10/2
-
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 and 8.3
Week 7
- Monday, 10/7
-
Domain Name Service - guest lecture given by Scott Kitterman
Resources: textbook section 2.4 - Wednesday, 10/9
- Exam 1
Week 8
- Tuesday, 10/15
-
Exam 1 review.
Network management. Transport layer: Functions of the layer, principles of reliable transport, ARQ
Resources: textbook sections 5.7, 3.1, 3.4 - Wednesday, 10/16
-
Cumulative ACK numbers. Sliding window protocols. Receiver and network congestion control. TCP introduction
Resources: textbook sections 3.4 and 3.6
Week 9
- Monday, 10/21
-
Assignment 3 introduction.
TCP sequence and acknowledgment numbers. TCP connection open and close, TCP protocol state machine. TCP congestion control
Resources: textbook sections 3.5 and 3.6, RFC 793 - TCP, RFC 4614 outlines followup RFCs to TCP - Wednesday, 10/23
-
Principles of TCP network congestion control TCP retransmission timeout management, exponential backoff, congestion window and slow start. TCP variants CUBIC and BBR. TCP fairness. Transport Layer Security (TLS) - introduction. UDP
Resources: textbook sections 3.5-7, 3.3, and 8.6, Building and Rescuing the Information Superhighway, a 1993 article about origins of some of the key techniques in the Internet, including TCP congestion control, Transport Layer Security (TLS) (chapter 4 of High Performance Browser Networking by Ilya Grigorik), RFC 768 - UDP, RFC 8085 - UDP Usage Guidelines
Week 10
- Monday, 10/28
-
Network Layer - basic concepts. IP design goals. IP fragmentation and Internet Control Message Protocol (ICMP). Network Address Translation (NAT)
Resources: textbook sections 4.1, 4.3, and 5.6, RFC 791 (IP), RFC 792 (ICMP) - Wednesday, 10/30
-
IPv6. Principles of network routing. Limited flooding. Distance vector routing
Resources: textbook sections 4.3, 5.1, and 5.2, RFC 8200 (IPv6), IPv6 at the Internet Society, IPv6 Consortium at the UNH-IOL, RFC 4443 (ICMPv6), IPv6 Address Types
Week 11
- Monday, 11/4
-
Exam 2 review session.
Link state routing. Autonomous System. Examples of internet routing protocols - RIP and OSPF
Resources: textbook sections 5.2 and 5.3, RFC 2453 (RIP), RFC 2328 (OSPF) - Wednesday, 11/6
- Exam 2
Week 12
- Monday, 11/11
- Veterans Day (no class)
- Wednesday, 11/13
-
Exam 2 review
Assignment 4 introduction.
BGP-4 Quality of Service (QoS) measures, QoS in IP, Differentiated Services.
Resources: textbook section 6.5, RFC 4271 (BGP), Network Looking Glass tools at Hurricane Electric, BGPview, a tool to gather information about the current state and structure of the internet RFC 2475 (Differentiated Services Architecture)
Week 13
- Monday, 11/18
-
Virtual circuit networks - motivation. Virtual circuit switching, MPLS. Software Defined Networks Link Layer: basic concepts. Shannon's theorem. Multiplexing.
Resources: textbook sections 6.5, 4.4, and 5.5, RFC 3031 (MPLS Architecture) - Wednesday, 11/20
-
Assignment 5 and
Final Exam introduction.
Data Link Control (DLC) and Media Access Control (MAC). Deterministic and stochastic (random) access methods
Resources: textbook sections 6.1-3
Week 14
- Monday, 11/25
- Assignment 5 and
Final Exam discussion.
CSMA/CD, Ethernet/IEEE 802.3, frame format, historical evolution. Ethernet media types
Resources: textbook sections 6.3 and 6.4 - Wednesday, 11/27
- Thanksgiving Break - no class
Week 15
- Monday, 12/2
-
Resilience and scaling of Ethernet networks: spanning tree protocols. VLANs. Wireless networks. Hidden terminal problem, CSMA/CA
Resources: textbook section 6.4. Wikipedia: Spanning Tree Protocol, Worldwide Spectrum Allocations, a poster from Rohde & Schwarz (requires UNH login) - Wednesday, 12/4
-
IEEE 802.11 fundamentals. Multicasting
Resources: textbook chapter 7.