Stanford CS144: Introduction to Computer Networking
Learn how the internet works, from the application layer down to the physical link.
About This Course
Stanford CS144 teaches the principles and practice of computer networking. The course covers the design of the internet from a top-down perspective, starting with applications and working down through transport, network, and link layers.
Students build a working TCP/IP implementation through a series of labs, gaining hands-on experience with networking concepts.
What You Will Learn
- Internet Architecture: Layered model, encapsulation, end-to-end principle
- Application Layer: HTTP, DNS, peer-to-peer systems, content distribution
- Transport Layer: Reliable delivery, TCP, UDP, congestion control
- Network Layer: IP addressing, routing algorithms, BGP, OSPF
- Link Layer: Ethernet, switching, ARP, wireless networks
- Network Security: Firewalls, NAT, VPNs, TLS/SSL basics
- Hands-On Labs: Build a TCP implementation from scratch
Prerequisites
Systems programming experience (C or C++). Operating systems basics helpful.
External Links
Course content belongs to Stanford University.