CS249i: The Modern Internet1
Stanford Computer Science
1 Yes, the "i" stands for Internet. Thanks, Mehran.
CS249i vs. CS144 vs. CS244
CS144: Introduction to Networking ← prerequisite!
- Basic networking concepts (e.g., Ethernet, IP, TCP/UDP)
- Laboratory projects (e.g., implement TCP)
CS244: Advanced Topics in Networking ← more research-y
- Discuss recent research and some advanced topics
- Programming assignments + big research project
CS249: The Modern Internet ← more real-world
- How does the Internet actually work today?
- Investigative (Internet Measurement) projects
- Industry guest speakers
tl;dr: CS144 is a prerequisite. CS244 has only a little bit of overlap.
Example: Topology and Routing
CS144 CS249i CS244
Topics: Topics:
• What is routing? • What do peerings look
What types of routing is there? like in 2024?
• BGP vs. RIP vs. IGRP • How does IP peering differ
• What is an autonomous from IP transit?
system? • How do you peer with an ISP?
• What is a Tier-1 ISP? • How much does Internet cost?
• Where do you peer? Not discussed. 😬
Project:
• Implement IP router in an Project:
isolated environment • Peer onto the public Internet
• Analyze global routing table
• You tell me who the Tier-1s
are using graph analysis
Course Administrivia
Bad News:
- Room doesn't support video capture. You have to show up.
- Some guest lectures will be remote over Zoom. Watch from home!
Good News:
- Dig Deeper in 2024 Projects! Guest Speakers should be fun!
- Class Size 70. Folks on waitlist may get in depending on drops
Grading:
- 3 Investigative Projects + Final Exam (25% each)
Other Notes:
- 🏡 https://cs249i.stanford.edu/. 📥 Gradescope. 📣 Ed. 🤨 Ed. 🙅 Canvas.
- 🧑💼 Office Hours in Gates 432 after class on M and F — find and walk with me! 🚶
- 🧵 Waitlist is FIFO — Please don’t email for an exception
🧑🏫 Who am I?
Assistant Professor of Computer Science
I research how the Internet and security work
in practice. I like to measure the Internet.
How do you measure real-world networks
and organizations? Highly distributed.
More information: esrg.stanford.edu
I've had the unfortunate task privilege of
buying IP ranges, maintaining ASes,
negotiating ISP contracts, racking router
hardware in Internet Exchange Points, and
having my BGP routes hijacked
🚏 Routing Review
☎ Internet Transit
(Connecting to the Edge)
Basic Internet Access
Let's suppose you start a business and want Internet access...
(Unfortunate) Reality: If you're small, there's zero incentive for any
large network to peer with you. (Costs them money, nothing in return)
Solution: You need to pay someone to advertise your routes to the rest
of the Internet and to provide you with a route to everyone else.
Known as Internet Transit or IP Transit. IP Transit is a commodity.
You buy IP Transit ("Internet") from a Transit Provider, which are
colloquially referred to as Internet Service Providers (ISP)
Conventionally….*
Companies pay small, regional
ISPs for Internet transit
Small ISPs pay medium sized
ISPs for Internet transit
Medium ISPs pay large ISPs
for Internet transit
* We’ll talk about how this
isn’t actually the case later
Copyright UC Regents 2020 | https://www.caida.org/projects/cartography/as-core/pics/2020/ascore-2020-ipv4-standalone.png
Quick Terminology Note
⚠ The word "peering" can mean multiple things
IP/Internet Transit: Customer pays Provider for Internet access
IP/Internet Peering: Two "peers" (i.e., equals) agree to exchange
traffic with one another with no transit costs (in either direction)
BGP Peering: Protocol-level BGP connection between two
autonomous systems. Happens for both IP Transit and Peering.
Assume we mean Internet Peering unless we say BGP Peering