The Modern Internet

Stanford CS 249i, Fall 2021

CS249i is an advanced networking course that covers how the Internet has evolved and operates today. Topics include modern Internet topology and routing practices, recently introduced network protocols, popular content delivery strategies, and pressing privacy, security, and abuse challenges. The course consists of a mixture of lecture, guest talks, and investigative projects where students will analyze how Internet operates in practice.

Course Information

Lecture: Mon/Wed 1:30–2:50 PM. Hewlett Teaching Center 103.

Instructor: Zakir Durumeric
Office Hours: Monday 3:00–4:00 PM, or by appointment. Outside at Bytes Cafe.

Course Assistant: Liz Izhikevich. Office hours by appointment.

Prerequisites: This course assumes a basic understanding of networking topics, including protocols like Ethernet, IP, and TCP, as well as routing concepts and socket programming. This is not an introductory networking course and students should first take Stanford CS 144, EE 284, or equivalent. For a refresher, consider "Computer Networking: A Top-Down Approach" by J. Kurose and K. Ross or "Computer Networks: A Systems Approach" by L. Peterson and B. Davie. Projects will be implemented in Go.

Communication: We use Ed for announcements and discussion. Students can submit anonymous feedback at any time.

Submissions: All course assignments should be submitted through Gradescope. Enrollment code: WYZVB8.

Schedule

The tentative schedule and readings for the class are below:

9/20  Introduction and Internet Players [slides]

[ZD] Course introduction. Quick BGP, ASN refresher. Tier 1 Definition. Who are the Tier 1s? IXPs. Transit vs. Peering. Peering Policies, transit costs.

9/22  Internet Topology Evolution [slides]

[ZD] Evolution of Internet Topology, increased role of cloud and last mile providers. Submarine links. Netflix–Comcast dispute. Content Centralization.

9/27  Modern Routing Practices [slides]

[ZD] BGP, ASNs, MPLS, Private Peerings, RPKI, BGP hijacking, Blackholing, BGP Communities

9/29  Host and Network Addressing [slides]

[ZD] IPv4 vs. IPv6. Deep dive on IPv6. IP Allocation Patterns, MAC rotation. L3-L4 Privacy.

10/4  Internet Governance [slides]

[ZD] IANA, RIRs, ICANN. IPv4 Open Market, Pricing, and Sales. .org dispute.

10/6  Last-Mile Internet Access [slides]

[DK] Mobile, Satellite, Last-mile Residential technology. Internet access/inequity.

10/11  Modern DNS [slides]

[GA] DNS, DNSSEC, Load Balancing, DNS Failure Modes. EDNS. Problems.

10/13  Registration and Naming Ecosystem [slides]

[GA] Ecosytem Players (Registrars, Registrant, Registry). Security. Attacks.

10/18  Content Delivery Strategies [slides]

[LI] Mechanics of CDN: multicast, anycast, POPs, protocols

10/20   Alternate Internet Architectures [slides]

Guest (Zoom) Lecture by David Clark.

10/25  Modern Content Delivery

Guest Speaker: Marwan Fayed, Cloudflare.

10/27  Modern Web Protocols [slides]

[DK] HTTP/2, QUIC, HTTP/3.

11/1  Websites, Content, and Ads

[DK] GDPR, Third-party assets, Ads, Real time bidding. SPA, Server Push, WASM, WebAuthn.

11/3  Security, eCrime, Spam, Attacks

[LI] What Internet security problems still plague us? Where do attacks originate?

11/8 TLS and Modern Cryptogrphy

Guest Speaker: David Adrian. HTTPS, Lessons from TLS 1.0–1.2, TLS 1.3, HPKP, and HSTS.

11/10  WebPKI and Trust

Guest Speaker: Zane Ma. WebPKI. Certificates. Certificate Transparency. Let’s Encrypt and ACME Protocol

11/15  Middleboxes and Death of End-to-End

TBA

11/17  Online Censorship

Guest Speaker TBA.

11/29  Messaging and Privacy

[ZD] Snowden Revelations. Ubiquitous Encryption. Signal + MPLS. imessage attacks.

12/1  Final Exam

Course Structure

This course is composed of lecture and discussion, several empirical projects, and a final exam. Grading will be based on the following components. Students should submit all reports through Gradescope by 11:59PM on the day of each deadline.

Project 1: Routing and Topology (25%)

Students will BGP peer onto the public-Internet using a software-router (GoBGP). From there, students will analyze the routing table they receive to understand real-world peering relationships, determine the Tier-1 providers on the Internet, and understand where BGP/MPLS is used.

Project 2: Web and Content Delivery (25%)

Students will orchestrate a headless web browser to visit the top websites on the Internet. From there, students will document the services and resources that make up popular websites, ultimately uncovering the technology providers that make up the modern web.

Project 3: Security, Privacy, and Abuse (25%)

The third project will consist of three parts: (1) analyzing data from a series of honeypots and a large passive network telescope to uncover DDoS attacks and real-world scanning behavior, (2) analyze Censys Internet scan data to understand real-world service deployment, and (3) analyze certificate authorities found in Public Certificate Transparency servers to understand what organizations we trust to sign certificates for websites.

Final Exam (25%)

There will be a short final exam that covers material taught in the class, guest speakers, and techniques from the three course projects.