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/31
-
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), Internet Society Pulse (an Internet Society website with lots of interesting internets stats) - Wednesday, 9/2
-
Assignment 0. Basic Networking Concepts: layered model, OSI 7-layer model, internet layers. Internet protocol "hourglass"
Resources: textbook section 1.5
Week 2
- Monday, 9/7
- Labor Day - UNH closed
- Wednesday, 9/9
-
Common functions of layers. Services of a layer, reliable vs. unreliable, connection-oriented vs. connectionless. Network performance measures. Time-space diagram. Networking Fundamentals: Routed point-to-point networks
Resources: textbook sections 1.4, 1.5 and 1.7, Historical Maps of Computer Networks
Week 3
- Monday, 9/14
- Presentation: Alakbar Askarov
- Wednesday, 9/16
-
Assignment 1 introduction.
Anatomy of a router. Local broadcast-based networks, Address Resolution Protocol
Resources: textbook sections 1.7, 6.4, 4.1, and 4.2, RFC 826 - Address Resolution Protocol
Week 4
- Monday, 9/21
-
Network layer addressing, the concept of a subnet, prefix, netmask. Domain Name Service introduction, Domain Name Service (DNS). DHCP. Hop-by-hop routing
Resources: textbook sections 4.1, 4.2, and 2.4. RFC 1034 - Domain Names - Concepts and Facilities Domain Name System (DNS) Parameters (from Internet Assigned Numbers Authority (IANA)), List of DNS record types (a more readable version from Wikipedia), - Wednesday, 9/23
-
Domain Name Service (DNS). DHCP. Hop-by-hop routing
Resources: textbook sections 2.4. Map and more details of root name servers, https://dns.google (Google's DNS web tool), RFC 2131 - Dynamic Host Configuration Protocol
Week 5
- Monday, 9/28
-
Assignment 2 introduction.
Routing table. Static routing examples. Routing loops. Special use IP addresses. Routing loops. CIDR. Bridging and L2 switching
Resources: textbook sections 4.3 and 6.4. 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 IEEE Std 802.1D - IEEE Standard for Local and Metropolitan Area Networks: Media Access Control (MAC) Bridges - Wednesday, 9/30
-
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.
Week 6
- Monday, 10/5
- Guest lecture: Scott Kitterman Overview of the University of New Hampshire DNS Operation
- Wednesday, 10/7
-
Exam 1
Week 7
- Tuesday, 10/13
-
History of the web. HTTP transaction. Issues with HTTP/1.1. HTTP/2
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), 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 - Wednesday, 10/14
-
Assignment 3 introduction.
QUIC and HTTP/3, Email, SMTP, IMAP, and webmail. MIME
Resources: textbook sections 2.2, 2.3, and 3.8., 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 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.
Week 8
- Monday, 10/19
-
Authentication, message integrity. Man-in-the-middle attack. Cryptographic hash functions
Resources: textbook sections 8.1 - 8.4, History of cryptography from Wikipedia - Wednesday, 10/21
-
Public key certificates. Network management. Transport layer: Functions of the layer
Resources: textbook sections 8.3, 5.7, and 3.1.
Week 9
- Monday, 10/26
-
Principles of reliable transport, ARQ, cumulative ACK numbers. Sliding window protocols. Flow control and network congestion control
Resources: textbook sections 3.5 and 3.6 - Wednesday, 10/28
-
Assignment 4 introduction.
TCP introduction. TCP sequence and acknowledgment numbers.
Resources: textbook sections 3.5-7, and 3.3, RFC 793 - TCP, RFC 4614 outlines followup RFCs to TCP
Week 10
- Monday, 11/2
-
Exam 2 review
Session management principles. TCP connection open and close, TCP protocol state machine
Resources: textbook sections 3.5-7 - Wednesday, 11/5
- Exam 2