Introduction to the Internet: Architecture and Protocols
By Peyrin Kao, based on lectures by Sylvia Ratnasamy, Rob Shakir, and others.
These are the course notes for CS 168: Introduction to the Internet at UC Berkeley.
Here is the official course description:
This course is an introduction to the Internet architecture. We will focus on the concepts and fundamental design principles that have contributed to the Internet's scalability and robustness and survey the various protocols and algorithms used within this architecture. Topics include layering, addressing, intradomain routing, interdomain routing, reliable delivery, congestion control, and the core protocols (e.g., TCP, UDP, IP, DNS, and HTTP) and network technologies (e.g., Ethernet, wireless).
Disclaimer: Beta
These notes have not been proofread. They likely contain errors.
If you’re a CS 168 student at Berkeley, in any case of dispute, the official course lectures are the correct source of truth.
Diagrams
Slideshow versions of these notes with diagrams are available here.
PDF Version
These notes are available as a PDF here.
The PDF version is not always up-to-date. It was last updated in November 2024.
Corrections
As of the Fall 2024 semester, this textbook is still being actively maintained and updated.
If you see any parts that needs to be corrected, please open a Github issue here.
Source and Changelog
The source for the textbook and a log of all changes is available on Github.
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.